Nike_
Умник
Этот урок я сделал специально для новичков
Опытным скриптером он будет мало чем полезен
И так начнём
Что же такое проверка?
Это то что даёт определённому игроку/действию доступ к чему либо (( команде или другому действию ))
Как поставить эту самую проверку и какой от неё толк?
Рассмотрим всё на примерах!
Дана команды /hp (( я её немного сократил! ))
Поставим на неё проверку администратора
И количества ХП
Я вам опишу 2 способа проверки
Первый способ
Попробуем вшить эту проверку в нашу команду
Как это работает?
Второй способ
Пример
Точно так же и с количеством ХП
Пример первый
Если у игрока 100 хп
и больше
(( Функция >= 100 ))
То команда не срабатывает так как игрок здоров
И ему в чат выводится сообщение Вы здоровы!
А если у игрока 99 хп и меньше то команда срабатывает так как ХП игрока не прошло проверку
И первая функция
return 1; } пропускается
Что идёт после надписи Вы здоровы!
Пример второй
Если у игрока 99 хп
и меньше
(( Функция <= 99 ))
То команда срабатывает и у игрока становится 100 ХП
А если у игрока 100 хп и выше то команда не срабатывает так как ХП игрока не прошло проверку
Вот так та
В 1 случаи чтобы команда сработала проверку нужно обойти
А во 2 случаи чтобы команда сработала проверку нужно пройти
:de::de::de:
Автор: Nike_
Опытным скриптером он будет мало чем полезен
И так начнём
Вкратце
Что же такое проверка?
Это то что даёт определённому игроку/действию доступ к чему либо (( команде или другому действию ))
Как поставить эту самую проверку и какой от неё толк?
Рассмотрим всё на примерах!
Дана команды /hp (( я её немного сократил! ))
HTML:
else if(strcmp(cmdtext, "/hp", true) == 0)
{
SetPlayerHealthAC(playerid, 100.0);
PlayerInfo[playerid][pHP] = 100;
return 1;
}
И количества ХП
Я вам опишу 2 способа проверки
Первый способ
HTML:
if(Тут ваша проверка) { SendClientMessage(playerid, COLOR_GREY, "Тут текст который будет выводится в чат если игрок не прошёл проверку!"); return 1; }
//Вот пример
if(PlayerInfo[playerid][pAdmin] == 1) { SendClientMessage(playerid, COLOR_GREY, "Вы не администратор 1 ЛВЛ и выше!"); return 1; }
HTML:
else if(strcmp(cmdtext, "/hp", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] == 1) { SendClientMessage(playerid, COLOR_GREY, "Вы не администратор 1 ЛВЛ и выше!"); return 1; }
SetPlayerHealthAC(playerid, 100.0);
PlayerInfo[playerid][pHP] = 100;
return 1;
}
HTML:
//там где
if(PlayerInfo[playerid][pAdmin] == 1)//Идёт проверка на администратора 1 лвл (( в моде rls!!! PlayerInfo ))
//там где
SendClientMessage(playerid, COLOR_GREY, "Вы не администратор 1 ЛВЛ и выше!");// что будет происходить если игрок не прошёл проверку
//и в конце return 1; возвращает ос о том что функция выполнились
//и он не даёт сделать своё дело команде /hp
HTML:
if(Тут ваша проверка)
{
Тут ваша команда
}
HTML:
else if(strcmp(cmdtext, "/hp", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] == 1)
{
SetPlayerHealthAC(playerid, 100.0);
PlayerInfo[playerid][pHP] = 100;
}
return 1;
}
HTML:
Тут получается так
Если игрок прошёл проверку то всё что заключено в скобки
{
Тут команда
}
Будет выполнено
А если игрок проверку не проходит то
Просто срабатывает функция
return 1;
Которая не заключена в скобки
Заметьте функция
return 1;
Сработает если игрок прошёл проверку
и если игрок не прошёл проверку
То есть в обоих случаях
Пример первый
HTML:
else if(strcmp(cmdtext, "/hp", true) == 0)
{
if(PlayerInfo[playerid][pHp] >= 100) { SendClientMessage(playerid, COLOR_GREY, "Вы здоровы!"); return 1; }
SetPlayerHealthAC(playerid, 100.0);
PlayerInfo[playerid][pHP] = 100;
return 1;
}
и больше
(( Функция >= 100 ))
То команда не срабатывает так как игрок здоров
И ему в чат выводится сообщение Вы здоровы!
А если у игрока 99 хп и меньше то команда срабатывает так как ХП игрока не прошло проверку
И первая функция
return 1; } пропускается
Что идёт после надписи Вы здоровы!
Пример второй
HTML:
else if(strcmp(cmdtext, "/hp", true) == 0)
{
if(PlayerInfo[playerid][pHp] <= 99)
{
SetPlayerHealthAC(playerid, 100.0);
PlayerInfo[playerid][pHP] = 100;
}
return 1;
}
и меньше
(( Функция <= 99 ))
То команда срабатывает и у игрока становится 100 ХП
А если у игрока 100 хп и выше то команда не срабатывает так как ХП игрока не прошло проверку
Вот так та
В 1 случаи чтобы команда сработала проверку нужно обойти
А во 2 случаи чтобы команда сработала проверку нужно пройти
:de::de::de:
Автор: Nike_
Последнее редактирование:
