Advertisement
TiiP

[FS] Anti-CJ - www.homehots.net

Nov 26th, 2015
566
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.77 KB | None | 0 0
  1. /*
  2. Creditos:
  3.  
  4. - Sitema criado por _EO
  5. - Ideia de: Gazz
  6.  
  7. versão: 1.0
  8.  
  9. */
  10. #define FILTERSCRIPT
  11. #define maxAvisosACJ    3 //numero maximo de avisos por anti-CJ
  12.  
  13. #define semperm SendClientMessage(playerid,0xFF0000FF,"Sem permissao para usar este comando!") //mensagem para quando o jogador nao tiver permissao para usar o comando
  14.  
  15. #include <a_samp>
  16.  
  17. #if defined FILTERSCRIPT
  18.  
  19. new anticj = false,antiCj[MAX_PLAYERS],avisoACJ[MAX_PLAYERS];
  20.  
  21. public OnFilterScriptInit()
  22. {
  23.         printf("-\nAnti-CJ by _EO\nIdeia de: Gazz\n-");
  24.         return 1;
  25. }
  26. #else
  27.  
  28. main()
  29. {
  30. }
  31. #endif
  32.  
  33. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  34. {
  35.         for(new c = 0;c <= GetPlayerPoolSize();c++){
  36.             if(IsPlayerConnected(c) && IsPlayerInVehicle(c,vehicleid) && GetPlayerState(c) == PLAYER_STATE_DRIVER && !ispassenger){
  37.                 if(anticj || antiCj[c]){
  38.                     avisoACJ[playerid]++;
  39.                     if(avisoACJ[playerid] >= maxAvisosACJ){
  40.                         avisoACJ[playerid] = 0;new nmp[MAX_PLAYER_NAME],str[256];
  41.                         GetPlayerName(playerid,nmp,sizeof(nmp));
  42.                         format(str,sizeof(str),"[Anti-CJ] O jogador {FFFFFF} %s{FF0000}foi kickado por receber {FFFFFF}3 {FF0000}avisos de Anti-CJ.",nmp);
  43.                         SendClientMessageToAll(0xFF0000FF,str);
  44.                         Kick(playerid);
  45.                     }
  46.                         new Float:x,Float:y,Float:z;
  47.                         GetPlayerPos(playerid,x,y,z);
  48.                         SetPlayerPos(playerid,x,y,z);
  49.                         GameTextForPlayer(playerid,"~r~Anti-CJ\n~w~+1 ~r~aviso",3000,1);
  50.                         TogglePlayerControllable(playerid,0);
  51.                         SetTimerEx("desconp",3000,0,"d",playerid);
  52.                         }
  53.                 break;
  54.             }
  55.         }
  56.         return 1;
  57. }
  58.  
  59. public OnPlayerCommandText(playerid, cmdtext[]){
  60.         new cm[256],ixdasd;
  61.         cm = strtok(cmdtext,ixdasd);
  62.         if(!strcmp("/anticj",cmdtext,true)){
  63.             if(IsPlayerAdmin(playerid)){
  64.                         anticj = !anticj;
  65.                         if(anticj)
  66.                             SendClientMessageToAll(0x00FF00FF,"[Anti-CJ] {00FF00}ativado.");
  67.                         else
  68.                             SendClientMessageToAll(0xFF0000FF,"[Anti-CJ] {FF0000}desativado.");
  69.                 }else{
  70.                     semperm;
  71.                 }
  72.             return 1;
  73.         }
  74.        
  75.         if(!strcmp("/anticjp",cm,true)){
  76.             if(IsPlayerAdmin(playerid)){
  77.                     new tmp[256],plid;
  78.                     tmp = strtok(cmdtext,ixdasd);
  79.                     if(!strlen(tmp)) return SendClientMessage(playerid,0xFF0000FF,"Use /anticjp [id]");
  80.                     plid = strval(tmp);
  81.                     if(!IsPlayerConnected(plid)) return SendClientMessage(playerid,0xFF0000FF,"Jogador offline.");
  82.                         antiCj[plid] = !antiCj[plid];
  83.                         new str[256];
  84.                         if(antiCj[plid]){
  85.                             format(str,sizeof(str),"[Anti-CJ] O admisntrador RCON ativou o seu Anti-CJ. Agora ninguem rouba teus carro, mlk.");
  86.                             SendClientMessage(plid,0x00FF00FF,str);
  87.                             format(str,sizeof(str),"[Anti-CJ] Voce ativou o Anti-Cj do jogador com ID: {FFFFFF}%d",plid);
  88.                             SendClientMessage(playerid,0x00FF00FF,str);
  89.                         }else{
  90.                             format(str,sizeof(str),"[Anti-CJ] O admisntrador RCON desativou o seu Anti-CJ.");
  91.                             SendClientMessage(plid,0xFF0000FF,str);
  92.                             format(str,sizeof(str),"[Anti-CJ] Voce desativou o Anti-Cj do jogador com ID: {FFFFFF}%d",plid);
  93.                             SendClientMessage(playerid,0xFF0000FF,str);
  94.                         }
  95.                 }else{
  96.                     semperm;
  97.                 }
  98.             return 1;
  99.         }
  100.        
  101.         return 1;
  102. }
  103. public OnPlayerConnect(playerid){antiCj[playerid] = false;avisoACJ[playerid] = 0;return 1;}
  104. public OnPlayerDisconnect(playerid){antiCj[playerid] = false;avisoACJ[playerid] = 0;return 1;}
  105.  
  106. stock desconp(playerid) TogglePlayerControllable(playerid,1);
  107.  
  108. strtok(const string[], &index)
  109. {
  110.         new length = strlen(string);
  111.         while ((index < length) && (string[index] <= ' '))
  112.         {
  113.                 index++;
  114.         }
  115.  
  116.         new offset = index;
  117.         new result[20];
  118.         while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  119.         {
  120.                 result[index - offset] = string[index];
  121.                 index++;
  122.         }
  123.         result[index - offset] = EOS;
  124.         return result;
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement