5 posts in this topic

🛠 Все здраствуйте чисто по приколу решил замутить CMD:prays🛠 

🛠 работа не пригодилась!🛠 

🛠 Cама CAMANDA🛠 

Спойлер

CMD:prays(playerid, text[])
{
     if(GetPVarInt(playerid,"antiflood") > gettime()) return SendClientMessage(playerid,-1,"Вы недавно использовали команду."); // в начало коанды
    if(antiflood[playerid] > 0) return SendClientMessage(playerid, COLOR_WARNING,"Не флуди!");
    antiflood[playerid]++;
    if(PLAYER_DATA[playerid][data_LOGGED] == false) return SendClientMessage(playerid,COLOR_WARNING,"Вы не авторизованы на сервере!");
    if(PLAYER_DATA[playerid][data_MUTE] == 1) return SendClientMessage(playerid,COLOR_WARNING,"Ваш чат временно заблокирован!");
    if(IsPlayerInRangeOfPoint(playerid, 15.0, 593.2775,580.0898,12.0000))
    {
        SendClientMessage(playerid, COLOR_WARNING,"Господи помилуй этоту область Aincrad RP аминь!");
        SendClientMessage(playerid, COLOR_WARNING,"Вы помолились за сервер да благословит вас Game Master!");
        give_player_money(playerid, 10000,"#255");
        SetPVarInt(playerid,"antiflood",gettime()+180000); // после использования команды.
    }
    else
    {
        SendClientMessage(playerid,-1, "Вы далеко от места молитвы");
    }
    return true;
}

 

 

Edited by Jawn
Причина: убрал нерабочую ссылку.

Share this post


Link to post
Share on other sites

Немного не понял данный момент:

if(GetPVarInt(playerid,"antiflood") > gettime()) return SendClientMessage(playerid,-1,"Вы недавно использовали команду.");
if(antiflood[playerid] > 0) return SendClientMessage(playerid, COLOR_WARNING,"Не флуди!");
antiflood[playerid]++;

К чему двойная проверка?
Используйте что-то одно.

Если предоставляете команду на общее обозрение, то сделайте это нормально.
Покажите обнуление той же, допустим, переменной antiflood[playerid].

Share this post


Link to post
Share on other sites
В 12.07.2021 в 19:00, glvde. сказал:

К чему двойная проверка?
Используйте что-то одно.
Если предоставляете команду на общее обозрение, то сделайте это нормально.
Покажите обнуление той же, допустим, переменной antiflood[playerid].

Хз почему так но мне так удобней делать CMD я всегда почти делаю 2 проверку 

if(GetPVarInt(playerid,"antiflood") > gettime()) return SendClientMessage(playerid,-1,"Вы недавно использовали команду."); // в начало команды

и  

SetPVarInt(playerid,"antiflood",gettime()+180000); // после использования команды. 

это отвечает за таймер использование данной cmd 

 if(antiflood[playerid] > 0) return SendClientMessage(playerid, COLOR_WARNING,"Не флуди!");

ну а это отвечает за анти флуд при частом спаме у меня в моде выдаться mute на 5 минут

 

Share this post


Link to post
Share on other sites

@DRA GON, раз уж на то пошло. После использования любой команды значение antiflood[playerid] = 1;
Твоя проверка: if(antiflood[playerid] > 0) return SendClientMessage(playerid, 0xFFFFFFFF, "Не флудите!"); //пример.
При данной проверке после использования второй команды игроку будет выдаваться мут на 5 минут.

Share this post


Link to post
Share on other sites

Почему бы для антифлуда командами не использовать OnPlayerCommandReceived и OnPlayerCommandPerformed, а не срать в каждой команде?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Kutuzov
      By Kutuzov
      Всем привет, хотелось бы спросить у тех, кто разбирается в PluginSDK.
      Какие есть источники, руководства, документации о PluginSDK?
      Я пока что ничего нормального не нахожу.
      Заранее спасибо 
    • Danila_Fazz
      By Danila_Fazz
      Добрый день вписал систему 3д номеров все запустилось, но когда создаю номера пишет что они записаны в бд но они не записываются в бд  когда еще раз отпровляю команду пишет опять что все записано, но не чо не записываеться когда компелирую мод показывает только варнинги 202 на разные строки
       
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23135) : warning 202: number of arguments does not match definition
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23162) : warning 202: number of arguments does not match definition
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23199) : warning 202: number of arguments does not match definition
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23288) : warning 202: number of arguments does not match definition
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23335) : warning 202: number of arguments does not match definition
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23388) : warning 202: number of arguments does not match definition
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23397) : warning 202: number of arguments does not match definition
      Pawn compiler 3.10.20150531              Copyright (c) 1997-2006, ITB CompuPhase
      Header size:          18160 bytes
      Code size:          8734120 bytes
      Data size:          3641416 bytes
      Stack/heap size:      16384 bytes; estimated max. usage=6660 cells (26640 bytes)
      Total requirements:12410080 bytes
      7 Warnings.
      на каждой этой страке находиться   if(IsPlayerAdmin(playerid, 7)) return 1;