http://laska-samp.biz/articles/pawn-book/osnovy-skripttting/sozdanie-komandy
°•°•° Проект SAMP - Romashka [0.3e] ™18+™ °•°•° :: Теория :: Pawn :: Основы скриптинга

Создание простейшей команды

Функция OnPlayerCommandText, выполняется, в том случае если игрок введет команду в чат. Первый параметр функции, это ID игрока, который ввел команду, второй параметр, это строка, которая хранит введённую игроком команду. Чтобы создать простейшую команду, нам нужно проверить правильно ли ввел ее игрок. Для этого нам надо сравнить введенную игроком команду с ее оригиналом.
Для сравнивания строк существует функция strcmp.

public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp("/mycommand", cmdtext, true, 10) == 0)
{
//код команды
return 1;
}
}


strcmp – имеет четыре аргумента. Если не указали третий аргумент, то и четвертый аргумент уже указать не получится, поскольку пустой аргумент оставлять нельзя.

Также если третий аргумент не обязательный для указания, а четвёртый аргумент обязательный, то третий аргумент, так или иначе, придется указать, пропускать  аргументы нельзя.

Так как у функции strcmp два последних аргумента не обязательны, их можно не указывать, поскольку они последние.

Сама функция возвращает 0 – если совпадение 100%, в противном случае возвратит 1.

Если условие по сравнению команд выполняется, команда обязательно должна возвратить true (return 1;), потому что функция OnPlayerCommandText всегда возвращает false.

Если функция возвратит false, в чат будет выведено сообщение «Неизвестная команда», а сама команда сработает.




Опубликовано 09 December 2013