James_Braga
Компетентный
Видел тему как некий ChIp* использует Zcmd+sscanf вот его тема ССЫЛКА
Скажу вам так без обид ChIp*, но так пишут или новички или те кто ни знает как правильно использовать слияние zcmd sscanf.
как он пишет:
И так научимся делать команды с одним параметром <--- он сказал с параметром а сам пишет переменную
Например :/skin [id]
Эта команда даст нам скин который мы введем
как пишу я:
и теперь вопрос,зачем нам нужны переменные new если мы пользуемся sscanf zcmd? все переменные можно в команде заменить параметром то есть params[]
если вам нужна одна переменная то можно использовать так как я указал выше params[0]
если же более одного то params[0],params[1],params[2] итд...
пример как показал ChIp* :
мой пример:
Думаю всем ясно что на zcmd если вводишь параметр то можно обойтись и без new blablabla; то есть переменных.
Скажу вам так без обид ChIp*, но так пишут или новички или те кто ни знает как правильно использовать слияние zcmd sscanf.
как он пишет:
И так научимся делать команды с одним параметром <--- он сказал с параметром а сам пишет переменную
Например :/skin [id]
Эта команда даст нам скин который мы введем
PHP:
COMMAND:skin(playerid, params[]){//команды надо вводить без "/"
new skinid;//переменая куда занесется значение которое введет игрок
if(sscanf(params,"d", skinid))//занесем значение которе ввел игрок в переменую skinid
return SendClientMessage(playerid, 0xFF0000AA, "Используй: /buyskin [id]");//если игрок не ввел значение то выдаем собщение
SetPlayerSkin(playerid,skinid);//меняем игроку скин на который он выбрал
return 1;}
как пишу я:
PHP:
CMD:skin(playerid, params[])
{
if(sscanf(params,"d", params[0])) return SendClientMessage(playerid, 0xFF0000AA, "Используй: /buyskin [id]");
SetPlayerSkin(playerid,params[0]);
return true;
}
если вам нужна одна переменная то можно использовать так как я указал выше params[0]
если же более одного то params[0],params[1],params[2] итд...
пример как показал ChIp* :
PHP:
COMMAND:car(playerid, params[]){
new id,color1,color2;//переменные
if(sscanf(params,"ddd",id,color1,color2))//ну это понятно
return SendClientMessage(playerid, 0xFF0000AA, "Используй: /veh [id] [color1] [color2]");
new Float:pos[4];//перемные куда занесем кординаты игрокаи его угол поворота
GetPlayerPos(playerid,pos[0],pos[1],pos[2]);//узнаем кординаты игрока
GetPlayerFacingAngle(playerid,pos[3]);//узнаем угол поворота игрока
CreateVehicle(id,pos[0],pos[1],pos[2],pos[3],color1,color2,600000);
//создаем машину с id(который ввел игрок) на тех кординатах где он стоит
//с цветами которыми ввел игрок
ret
PHP:
CMD:veh(playerid, params[]){
if(sscanf(params,"iii",params[0],params[1],params[2])) return SendClientMessage(playerid, 0xF81414FF,"Введите /veh [id car] [цвет 1] [цвет 1]");
if(params[0] < 400 || params[0] > 611)return SendClientMessage(playerid, COLOR_GREY, "Номер машины не может быть меньше 400 и больше чем 611!");
if((params[1] < 0 || params[1] > 126)||(params[2] < 0 || params[2] > 126))return SendClientMessage(playerid, COLOR_GREY, "Номер цвета не может быть меньше 0 и больше 126!");
new Float:mesto[3];
GetPlayerPos(playerid, mesto[0], mesto[1], mesto[2]);
CreateVehicle(params[0], mesto[0]+2, mesto[1], mesto[2], 0.0, params[1], params[2], 60000);
return true;
}
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Последнее редактирование:
