pozitiv4eg
Специалист
Здравствуйте дорогие форумчане. Сегодня хочу научить вас создавать многоуровневые команды. Начнем пожалуй с того что любая команда будет начинаться со строк
Конечно в каждом случее есть свое исключение, но это тема посвящена другому.
Начнем по порядку
Где /dropmoney Ваша команда.
Далее мы открываем фигурные скобки т.к Далее интерпретатору нужно показать что начинается какое либо действие.
То есть код у нас выглядит уже так
Далее нам нужно точно знать как команда работает, чтобы определить проверят ли нам онлайн игрок или же нет, если да то следует код
Далее нам потребуется З\знать хотя бы основные функции pawn языка(о них можно почитать тут ) Далее мы делаем проверку на то есть ли деньги у человека
Идем далее Теперь нам нужно показать что в команде будет пробел после чего будет введено число или символ
Так же если strok будет выдавать ошибку добавляем фукцию
Ну а далее думаю все наглядно и просто. Если будут вопросы/исправления прошу оставлять комментарии в теме
PHP:
if(strcmp(cmd, "/dropmoney", true) == 0)
Начнем по порядку
PHP:
if(strcmp(cmd, "/dropmoney", true) == 0)
Далее мы открываем фигурные скобки т.к Далее интерпретатору нужно показать что начинается какое либо действие.
То есть код у нас выглядит уже так
PHP:
(strcmp(cmd, "/dropmoney", true) == 0)
{
PHP:
if(strcmp(cmd, "/dropmoney", true) == 0)
{
if(IsPlayerConnected(playerid))
{
PHP:
if(strcmp(cmd, "/dropmoney", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(GetPlayerMoney(playerid) < 1) // ссылка на описания функции выше(Проверяет кол-во денег, если 0 то выводит "Тебе нечего выкинуть!"
{
SendClientMessage(playerid,COLOR_RED,"Тебе нечего выкинуть!");
return 1; // Возвращает в исходный вид.
}
PHP:
if(strcmp(cmd, "/dropmoney", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(GetPlayerMoney(playerid) < 1)
{
SendClientMessage(playerid,COLOR_RED,"Тебе нечего выкинуть!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) // То о чем идет речь tmp теперь равно числу веденному после команды к примеру /dropmoney 25 tmp будет равно теперь 25
{
SendClientMessage(playerid, COLOR_ISPOLZUY, "Используйте: /dropmoney [кол-во]");
return 1;
}
PHP:
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
Последнее редактирование:
