[*]Колбэки OnPlayerCommandReceived и OnPlayerCommandPerformed:
Описание - OnPlayerCommandReceived:
PHP код:
OnPlayerCommandReceived(playerid, cmdtext[])
Вызывается перед обработкой команды. В ней можно указать условия выполнения команды.
При этом с помощью return 1/0 можно разрешить/запретить выполнение команды.
Пример:
PHP код:
public OnPlayerCommandReceived(playerid, cmdtext[])
{
if(PlayerInfo[playerid][pMute] == 1) // если у игрока затычка (/mute)
{
SendClientMessage(playerid, -1, "Дождитесь окончания действия заглушки!");
return 0; // передать плагину, чтобы он не выполнял команду
}
return 1; // разрешить выполнение команды
}
- OnPlayerCommandPerformed:
PHP код:
OnPlayerCommandPerformed(playerid, cmdtext[], success);
Вызывается после выполнения команды.
При этом если success = 1 - команда выполнилась успешно, success = 0 - с ошибкой, success = -1 - команда не найдена.
Таким образом можно самостоятельно сделать поддержку стандартных команд:
PHP код:
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
if(success == -1) // если команда не найдена
{
return OnPlayerCommandText(playerid, cmdtext);
}
return 1; // разрешить выполнение команды
}
Либо можно сделать сообщение о несуществующей команде:
PHP код:
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
if(success == -1) // если команда не найдена
{
return SendClientMessage(playerid, -1, "Несуществующая команда. Используйте /help, чтобы узнать список команд сервера.");
}
return 1;
}