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

Командный процессор ZCMD + sscanf

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

Max_Maslov

Всем доброго времени суток. Сегодня я попробую помочь людям которые не понимают этот командный процессор.

 

ZCMD - это быстрый и простой командный процессор сделанный Zeex поэтому я научу Вас, ребята, которые не знают как с ним работать.

sscanf - является строкой расщепления рутинной сделанный Y_Less.

 

Что нам нужно?

1) Нам необходим include ZCMD. Скачать - http://rghost.ru/48159848

2) Нам необходим include Sscanf. Скачать - http://rghost.ru/48159900

Ok, Вы скачали? Good. Теперь идем в папку pawno, открываем папку include и вставляем туда то, что Вы скачали.

 

Шаг №1.

Если Вы используете Windows Server, то Вам необходим plugins sscanf.dll - есть в архиве.

Ok, Вы скачали? Good. Теперь идём в папку с Вашим сервером, открываем папку plugins и вставляем туда то, что скачали. Потом нажимаем стрелочку "Назад" и находим файл server.cfg и в самый конец вставляем строку: plugins sscanf.

 

Если Вы используете Linux Server, то тогда Вам необходим plugins sscanf.so - есть в архиве.

Ok, Вы скачали? Good. Теперь идём в папку с Вашим сервером, открываем папку plugins и вставляем туда то, что скачали. Потом нажимаем стрелочку "Назад" и находим файл server.cfg и в самый конец вставляем строку: plugins sscanf.so.

 

Шаг №2. Использование. Последний шаг.

Итак, все нужные файлы мы скачали. Перейдем к их использованию.

Открываем свой мод, и в самое начало мода вставляем (ко всем include):

 

#include <sscanf2>
#include <zcmd>

Ok, Вставили? Good.

Идем дальше, команды не нужно делать в:

 

public OnPlayerCommandText(playerid, cmdtext[])

Команды, мы будем делать не в начале, не в середине, а в конце мода!

И вообще, если Вы решили перейти на ZCMD, отключите его, в местo:

 

return 1;

поставьте:

 

return 0;

Так он нам больше не понадобится.

 

Итак, давайте начнем делать основную команду, вставляем в конец мода:

 

CMD:pawno(playerid, params[])
{
// Здесь будет наш код.
return 1;
}

 

 

Что такое playerid? И params[]?

playerid - это игрок который будет использовать нашу команду, а params[] - это действие, которое будет выполняться при вводе команды.

 

Давайте попробуем добавить сообщение в команду? Итак:

 

CMD:pawno(playerid, params[])
{
SendClientMessage(playerid, 0xFFFFFFF, "Пацаны, у меня команда работает! Yeah!");
return 1;
}

Компилируем... Good. Заходим, тестим. Отлично!

Примечание: я добавил цвет "0xFFFFFFF" по умолчанию, можно добавить туда цвет какой вы хотите.

 

Теперь, давайте использовать sscanf, команда будет посложнее...

 

 

CMD:heal(playerid, params[])
{
if(sscanf(params, "u", params[0])) return SendClientMessage(playerid, 0xFFFFFFF, "Используй: /heal [id/name]");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, 0xFFFFFFF, "Игрок не найден!");
SetPlayerHealth(params[0], 100);
return 1;
}

"u" - спецификатор, который выступает за Ник / ID игрока. А также, sscanf будет проверять, если отправитель использует не правильное использование команды, выведет сообщение: Используй: /heal [id/name]

Другие спецификаторы: i, d - используются при целых числах.

!IsPlayerConnected - проверка на подключение игрока, если игрока нет на сервере, то Вам выведет сообщение: Игрок не найден!

SetPlayerHealth - и собственно самa функция выдачи здоровья, 100 - это кол-во жизней.

Компилируем... Good. Заходим, тестим. Отлично!

 

На этом я думаю закончить свой урок. Всем спасибо за внимание.

 

Автор урока: lovely

  • Like 2

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


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

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

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

×

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

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