Advertisement
D1maz

anti_re-action.

Jun 30th, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.51 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dc_cmd>
  3.  
  4. main(){
  5.     SetSVarInt("svar__kick__for__re_action",true);//Приравниваем значение
  6.     return false;
  7. }
  8.  
  9. anti__re_action(playerid){
  10.     if(gettime()-GetPVarInt(playerid,"arc_time")<60){// У настоящего времени отнимаем записанное в переменную, и если оно меньше 60, то...
  11.         SetPVarInt(playerid,"arc_warnings",GetPVarInt(playerid,"arc_warnings")+1);// Выдаём предупреждение
  12.     }
  13.     else{// Но если отнятое время больше 60, то...
  14.         DeletePVar(playerid,"arc_warnings");// Обнуляем предупреждения
  15.         SetPVarInt(playerid,"arc_time",gettime());// Записываем время
  16.     }
  17.     if(GetPVarInt(playerid,"arc_warnings")>=4){// Но если всё-таки набираются предупреждения...
  18.         return true;//Возвращаем истинное значение
  19.     }
  20.     return false;//Возвращаем ложное значение
  21. }
  22.  
  23. @__kick_player(playerid);
  24. @__kick_player(playerid){
  25.     Kick(playerid);
  26. }
  27.  
  28. CMD:testcmd(playerid){
  29.     if(anti__re_action(playerid)){//Если функция возвратила истинное значение, то...
  30.         if(GetSVarInt("svar__kick__for__re_action")){//Если значение переменной равно истинне, то..ё
  31.             SendClientMessage(playerid,-1,"Вы были кикнуты сервером. Причина: AntiReAction");
  32.             SetTimerEx("@__kick_player",250,false,"i",playerid); // Кикаем игрока
  33.         }
  34.         else{//Если значение переменной равно лжи, то..
  35.             new string[72];
  36.             format(string,sizeof(string),"Ваши полномочия на использование команд будут доступны через %d секунд.",GetPVarInt(playerid,"arc_time")-gettime()+60);
  37.             SendClientMessage(playerid,-1,string);
  38.             // Выводим сообщение с текстом
  39.         }
  40.         return true;//Выходим из функции
  41.     }
  42.     SendClientMessage(playerid,-1,"mzfk");
  43.     return true;
  44. }
  45.  
  46. CMD:kek(playerid){
  47.     SetSVarInt("svar__kick__for__re_action",GetSVarInt("svar__kick__for__re_action")?false:true);//Присвоим значение переменной через тернарный оператор
  48.     SendClientMessage(playerid,-1,GetSVarInt("svar__kick__for__re_action")?"Будет кикать игрока.":"Будет выводиться сообщение.");//Выведем текст с помощью тернарного оператора
  49.     // Можно использовать альтернативные способы...
  50.     /*
  51.     if(!GetSVarInt("svar__kick__for__re_action")){
  52.         SetSVarInt("svar__kick__for__re_action",true);
  53.         SendClientMessage(playerid,-1,"Будет кикать игрока.");
  54.     }
  55.     else{
  56.         SetSVarInt("svar__kick__for__re_action",false);
  57.         SendClientMessage(playerid,-1,"Будет выводиться сообщение.");
  58.     }
  59.     */
  60.  
  61.     /*
  62.     switch(GetSVarInt("svar__kick__for__re_action")){
  63.         case 1:{
  64.             SetSVarInt("svar__kick__for__re_action",false);
  65.             SendClientMessage(playerid,-1,"Будет выводиться сообщение.");
  66.         }
  67.         case 0:{
  68.             SetSVarInt("svar__kick__for__re_action",true);
  69.             SendClientMessage(playerid,-1,"Будет кикать игрока.");
  70.         }
  71.         default:{
  72.             return true;
  73.         }
  74.     }
  75.     */
  76.     return true;
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement