Перейти к содержанию
Авторизация  
CRMPEN

Учимся писать кмд на [DC_CMD + SSCANF]

Рекомендуемые сообщения

CRMPEN

Много я на форуме тут просил дабы мне перевели кмд,с простого командного процессора на zcmd или еще какие нибудь,но недавно наткнулся на урок,из которого я хоть чуть-чуть,но все же понял,как это делается,и хочу с вами им поделиться..дабы вы не задавали таких же глупых вопросов как я. 

ПРИСТУПИМ :

(!)Команды построены на проверках.

Обучимся на одной из готовых команд,выдачи жизней 

CMD:sethp(playerid, params[])
{
new str[24];
if(sscanf(params,"ui",params[0],params[1])) return SendClientMessage(playerid, COLOR_WHITE,"Используйте: /sethp [id] [кол-во жизней]");
if(params[1] < 0 || params[1] > 100) return SendClientMessage(playerid, COLOR_GREY, "Нельзя дать менее 0 и более 100 жизней.");
SetHealth(params[0],params[1]);
format(str,sizeof(str), "%s установил вам жизней %d",PlayerInfo[params[0]][pName],params[1]);
SendClientMessage(params[0],COLOR_WHITE, str);
return true;

Разберем код подробней...

if(sscanf(params,"ui",params[0],params[1]))
/* Это даем значения, если u - ид/имя игрока если i - число, и даем им значение params[0], params[1] все по порядку*/  
SetHealth(params[0],params[1]);
/*Опять же, params[0] - это ид игрока или имя которое мы ввели в команде, а params[1] это наше числовое значение i которое мы ввели когда прописывали команду.*/  
if(params[1] < 0 || params[1] > 100) 

/*Это действие выводится когда вы ввели значение i - то есть params[1] меньше нуля либо больше 100*/  
format(str,sizeof(str), "%s установил вам жизней %d",PlayerInfo[playerid][pName],params[1]);
/* PlayerInfo[playerid][pName] где playerid - ид или имя игрока который прописал команду, params[1] - это опять же наше значение i  
SendClientMessage(params[0],COLOR_WHITE, str);
/* Функция показывает сообщение в чат, а кому??? опять же params[0] ( то есть кому дали вы жизни - u )  

Ну вот и все,благодаря данному мануалу я научился на половину переводить команды,и думаю вы тоже научитесь,удачи вам в ваших начинаниях 

 

Автор урока : DmX (Siman aka DmX)

 

И еще если указывайте значение "S" то указывайте его вот так "S[24]"то есть добавляйте стринг,так как у многих новичков бывают проблемы,потом сервер выдает варнинги..

 

Всем спасибо,за то что прочитали данный мануал..

Вопросы задавайте попытаюсь ответить..

 

  • Like 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.