fenix05 | Дата: Воскресенье, 24.03.2013, 17:16 | Сообщение # 1 |
.::Offline::.
Гангстер
Сообщений: 151
[ 62 ]
Награды: 4
Статус
отсутствует
| Для примера сделаем команду создания машины по её id.
[1] Ко всем new: Код new Cars[MAX_PLAYERS]; Эта переменная будет хранит созданную машину.
[2] В public OnPlayerCommandText: Код new idx; // Для хранения параметра команды. new cmd[256]; // Для хранения всего текста команды. cmd = strtok(cmdtext, idx); // определяем пробел между командой и параметром
[3] Далее здесь же: Код if(strcmp(cmd, "/cars", true) == 0) // сама команда { new tmp[256]; // для хранения текста после пробела tmp = strtok(cmdtext, idx); // определяем пробел между командой и параметром if(!strlen(tmp)) // если введена команда без параметра { SendClientMessage(playerid, 0xFFFFFFAA, "Введите: /cars [id машины]"); return 1; } new idCar = strval(tmp); // записываем параметр в переменную, в нашем случае это id кара /* Далее указываем действия */ new Float:ax,Float:ay,Float:az,Float:az_angle; GetPlayerPos(playerid, ax, ay, az);//Узнаём координаты игрока, и записываем эти данные в переменные ax,ay,az; GetPlayerFacingAngle(playerid, az_angle);//Узнаём угол поворота игрока DestroyVehicle(Cars[playerid]);//Убиваем машину Cars[playerid] = CreateVehicle(idCar, ax, ay, az, az_angle, -1, -1, 60000);//создаём машину PutPlayerInVehicle(playerid, Cars[playerid], 0);//сажаем игрока в машину return 1; } [4] Если ошибки с strtok, то в конец мода добавьте: Код strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; }
Alien Brickman [vk.com/alien_brickman]Обложка:
|
|
| |