Андрей [We..ez]
Умник
Добрый день, Уважаемые жители форума Pawno-Info!
В этом уроке, я решил вас научить написанию команды /veh.
Писать ее будем на движке DC_CMD.
Данной темы я еще не находил, если такова имеется - удалю свою.
Всем "про" скриптерам просьба идти стороной.
Итак, приступим!
К переменным добавляем:
В паблик OnPlayerConnect добавляем:
В конец мода:
Теперь выясним, что за что отвечает:
На этом мой урок подходит к концу.
Это мой первый урок, так-что... Жду самую жесткую критику)
Если вам понравилось, ставим плюсик на мою мотивацию. И я начинаю пилить новый урок)
В этом уроке, я решил вас научить написанию команды /veh.
Писать ее будем на движке DC_CMD.
Данной темы я еще не находил, если такова имеется - удалю свою.
Всем "про" скриптерам просьба идти стороной.
Итак, приступим!
К переменным добавляем:
new admveh;
new admvehs[MAX_PLAYERS];
Переменные будут отвечать за весь созданный тс на сервере.
new admvehs[MAX_PLAYERS];
Переменные будут отвечать за весь созданный тс на сервере.
admvehs[playerid] = 0; // При коннекте, приравниваем к 0
CMD:veh(playerid,params[])
{
if(PlayerInfo[playerid][pAdmin] > 1)
{
new Float:x,Float:y,Float:z,Float:angle; new string[120];
if(sscanf(params,"iii",params[0],params[1],params[2]))return SCM(playerid, COLOR_GREY,"Совет: /veh [id][Цвет 1][Цвет 2]");
if(params[0] < 400 || params[0] > 611)return SCM(playerid,COLOR_Copy,"ID авто от 400 до 611");
if(params[1] < 0 || params[1] > 255)return SCM(playerid,COLOR_Copy,"Неверный ID цвета(от 0 до 255)");
if(params[2] < 0 || params[2] > 255)return SCM(playerid,COLOR_Copy,"Неверный ID цвета(от 0 до 255)");
if(admveh == 15)return SCM(playerid,COLOR_Copy,"Создано максимальное кол-во авто(15 штук)");
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid,angle);
new car = CreateVehicle(params[0],x+3,y,z+1,angle,params[1],params[2],6000);
admvehs[admveh] = car;
admveh ++;
format(string, sizeof(string), "Вы создали автомобиль: ID: {FFFFFF}%d",car);
SCM(playerid,COLOR_YELLOW,string);
SetPVarInt(playerid,"ID",car);
PutPlayerInVehicle(playerid,car,0);
}
return 1;
}
{
if(PlayerInfo[playerid][pAdmin] > 1)
{
new Float:x,Float:y,Float:z,Float:angle; new string[120];
if(sscanf(params,"iii",params[0],params[1],params[2]))return SCM(playerid, COLOR_GREY,"Совет: /veh [id][Цвет 1][Цвет 2]");
if(params[0] < 400 || params[0] > 611)return SCM(playerid,COLOR_Copy,"ID авто от 400 до 611");
if(params[1] < 0 || params[1] > 255)return SCM(playerid,COLOR_Copy,"Неверный ID цвета(от 0 до 255)");
if(params[2] < 0 || params[2] > 255)return SCM(playerid,COLOR_Copy,"Неверный ID цвета(от 0 до 255)");
if(admveh == 15)return SCM(playerid,COLOR_Copy,"Создано максимальное кол-во авто(15 штук)");
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid,angle);
new car = CreateVehicle(params[0],x+3,y,z+1,angle,params[1],params[2],6000);
admvehs[admveh] = car;
admveh ++;
format(string, sizeof(string), "Вы создали автомобиль: ID: {FFFFFF}%d",car);
SCM(playerid,COLOR_YELLOW,string);
SetPVarInt(playerid,"ID",car);
PutPlayerInVehicle(playerid,car,0);
}
return 1;
}
Теперь выясним, что за что отвечает:
CMD:veh(playerid,params[]) //Название команды, строка
{
if(PlayerInfo[playerid][pAdmin] > 1) //Если игрок админ - выполняем код
{
new Float:x,Float:y,Float:z,Float:angle; new string[120]; //Объявляем переменные координат игрока, транспорта. Обьявляем строку
if(sscanf(params,"iii",params[0],params[1],params[2]))return SCM(playerid, COLOR_GREY,"Совет: /veh [id][Цвет 1][Цвет 2]"); //Создаем строки, в которые будут заноситься данные. Если что-то введено не верно - выдает текст.
if(params[0] < 400 || params[0] > 611)return SCM(playerid,COLOR_Copy,"ID авто от 400 до 611"); //Проверка на введенный id транспорта
if(params[1] < 0 || params[1] > 255)return SCM(playerid,COLOR_Copy,"Неверный ID цвета(от 0 до 255)"); // Проверка на введенный цвет [#1]
if(params[2] < 0 || params[2] > 255)return SCM(playerid,COLOR_Copy,"Неверный ID цвета(от 0 до 255)"); // Проверка на введенный цвет [#2]
if(admveh == 15)return SCM(playerid,COLOR_Copy,"Создано максимальное кол-во авто(15 штук)"); //Проверка на все тс, какие были созданы. Дабы не нагружали сервере, мы ввели 15. Это максимальное кол-во создание тс (по желанию, можете полностью убрать строку)
GetPlayerPos(playerid,x,y,z); // Узнаем координаты игрока
GetPlayerFacingAngle(playerid,angle); //Узнаем поворот камеры
new car = CreateVehicle(params[0],x+3,y,z+1,angle,params[1],params[2],6000); //Создаем тс по координатам игрока, при этом прибавляем 3,1
admvehs[car] = 1; // Опять идет проверка на созданный транспорт. Мы приравниваем переменную car к созданному тс.
admveh ++; // С каждым разом, выполняем прибавление к созданному тс.
format(string, sizeof(string), "Вы создали автомобиль: ID: {FFFFFF}%d",car); // Выводим текст, при создании
SCM(playerid,COLOR_YELLOW,string); // Продолжаем строку
SetPVarInt(playerid,"ID",car); //Создадим пвар с переменной car, под названием "ID"
PutPlayerInVehicle(playerid,car,0); //Поворот камеры
}
return 1;
}
{
if(PlayerInfo[playerid][pAdmin] > 1) //Если игрок админ - выполняем код
{
new Float:x,Float:y,Float:z,Float:angle; new string[120]; //Объявляем переменные координат игрока, транспорта. Обьявляем строку
if(sscanf(params,"iii",params[0],params[1],params[2]))return SCM(playerid, COLOR_GREY,"Совет: /veh [id][Цвет 1][Цвет 2]"); //Создаем строки, в которые будут заноситься данные. Если что-то введено не верно - выдает текст.
if(params[0] < 400 || params[0] > 611)return SCM(playerid,COLOR_Copy,"ID авто от 400 до 611"); //Проверка на введенный id транспорта
if(params[1] < 0 || params[1] > 255)return SCM(playerid,COLOR_Copy,"Неверный ID цвета(от 0 до 255)"); // Проверка на введенный цвет [#1]
if(params[2] < 0 || params[2] > 255)return SCM(playerid,COLOR_Copy,"Неверный ID цвета(от 0 до 255)"); // Проверка на введенный цвет [#2]
if(admveh == 15)return SCM(playerid,COLOR_Copy,"Создано максимальное кол-во авто(15 штук)"); //Проверка на все тс, какие были созданы. Дабы не нагружали сервере, мы ввели 15. Это максимальное кол-во создание тс (по желанию, можете полностью убрать строку)
GetPlayerPos(playerid,x,y,z); // Узнаем координаты игрока
GetPlayerFacingAngle(playerid,angle); //Узнаем поворот камеры
new car = CreateVehicle(params[0],x+3,y,z+1,angle,params[1],params[2],6000); //Создаем тс по координатам игрока, при этом прибавляем 3,1
admvehs[car] = 1; // Опять идет проверка на созданный транспорт. Мы приравниваем переменную car к созданному тс.
admveh ++; // С каждым разом, выполняем прибавление к созданному тс.
format(string, sizeof(string), "Вы создали автомобиль: ID: {FFFFFF}%d",car); // Выводим текст, при создании
SCM(playerid,COLOR_YELLOW,string); // Продолжаем строку
SetPVarInt(playerid,"ID",car); //Создадим пвар с переменной car, под названием "ID"
PutPlayerInVehicle(playerid,car,0); //Поворот камеры
}
return 1;
}
Это мой первый урок, так-что... Жду самую жесткую критику)
Если вам понравилось, ставим плюсик на мою мотивацию. И я начинаю пилить новый урок)
Последнее редактирование:
