Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

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

Статус
В этой теме нельзя размещать новые ответы.

Smash

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

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


Что нам нужно?
1) Нам необходим include ZCMD. Скачать -
2) Нам необходим include Sscanf. Скачать -

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):

PHP:
#include <sscanf2>
#include <zcmd>
Ok, Вставили? Good.
Идём дальше, команды не нужно делать в:
PHP:
public OnPlayerCommandText(playerid, cmdtext[])
Команды, мы будем делать не в начале, не в середине, а в конце мода!
И вообще, если Вы решили перейти на ZCMD, отключите его, в местo:
PHP:
return 1;
поставьте:
PHP:
return 0;
Т.к. он нам больше не понадобится.

Итак, давайте начнем делать основную команду, вставляем в конец мода:
PHP:
CMD:info(playerid, params[])
{
    // Здесь будет наш код.
    return 1;
}
Что такое playerid? И params[]?
playerid - это игрок который будет использовать нашу команду, а params[] - это действие, которое будет выполняться при вводе команды.

Давайте попробуем добавить сообщение в команду? Итак:
PHP:
CMD:info(playerid, params[])
{
    SendClientMessage(playerid, 0xFFFFFFF, "Пацаны, у меня команда работает! Yeah!");
    return 1;
}
Компилируем... Good. Заходим, тестим. Отлично!
Примечание: я добавил цвет "0xFFFFFFF" по умолчанию, можно добавить туда цвет какой вы хотите.

Теперь, давайте использовать sscanf, команда будет посложнее...
PHP:
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
P.S Извините если было......
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу