Всё о сервере, форум!
Основы программирования
ИНФОРМАЦИОННО-РАЗВЛЕКАТЕЛЬНЫЙ ПОРТАЛ

PrR[ Проект SAMP - Romashka [0.3e] ™18+™

Pawn :: Основы скриптинга
Создание простейшей команды

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

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


strcmp – имеет четыре аргумента.
  • Первый аргумент имя строки, которая будет сравниваться с другой строкой,
  • второй аргумент – имя строки, с которой будет сравниваться предыдущая строка.
  • Третий аргумент логический аргумент. Если указать true – то при сравнении строк регистр букв не учитывается, по умолчанию, если даже его не указать регистр учитываться будет.
Если не указали третий аргумент, то и четвертый аргумент уже указать не получится, поскольку пустой аргумент оставлять нельзя.

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

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

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

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

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



Логин: Пароль:
Забыли пароль?Регистрация
При копировании материала с сайта активная ссылка обязательна!
Сайт управляется SiNG cms © 2010-2015