ZiPoNz

ZiPoNz-AdminMode

Feb 25th, 2012
308
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 34.07 KB | None | 0 0
  1. #include "a_samp"
  2. #include "dini"
  3.  
  4. new bool:Chat = true;
  5. new CD[MAX_PLAYERS], CoD[MAX_PLAYERS], bool:CDS = false;
  6.  
  7. enum aInfo
  8. {
  9.     AdminLevel,
  10.     bool:Hide,
  11.     bool:Muted
  12. }
  13. new AdminSystem[MAX_PLAYERS][aInfo];
  14.  
  15. new RandomColors[200] = {
  16. 0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,0xF4A460FF,
  17. 0xEE82EEFF,0xFFD720FF,0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,0x10DC29FF,
  18. 0x534081FF,0x0495CDFF,0xEF6CE8FF,0xBD34DAFF,0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,0x65ADEBFF,
  19. 0x5C1ACCFF,0xF2F853FF,0x11F891FF,0x7B39AAFF,0x53EB10FF,0x54137DFF,0x275222FF,0xF09F5BFF,0x3D0A4FFF,
  20. 0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,0x057F94FF,
  21. 0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,0x93AB1CFF,0x95BAF0FF,0x369976FF,0x18F71FFF,
  22. 0x4B8987FF,0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,0x2D74FDFF,0x3C1C0DFF,0x12D6D4FF,
  23. 0x48C000FF,0x2A51E2FF,0xE3AC12FF,0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,0x42ACF5FF,0x2FD9DEFF,
  24. 0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,0x3214AAFF,
  25. 0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,0x9F945CFF,0xDCDE3DFF,
  26. 0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,0xD8C762FF,
  27. 0xD8C762FF,0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,
  28. 0xF4A460FF,0xEE82EEFF,0xFFD720FF,0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,
  29. 0x10DC29FF,0x534081FF,0x0495CDFF,0xEF6CE8FF,0xBD34DAFF,0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,
  30. 0x65ADEBFF,0x5C1ACCFF,0xF2F853FF,0x11F891FF,0x7B39AAFF,0x53EB10FF,0x54137DFF,0x275222FF,0xF09F5BFF,
  31. 0x3D0A4FFF,0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,
  32. 0x057F94FF,0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,0x93AB1CFF,0x95BAF0FF,0x369976FF,
  33. 0x18F71FFF,0x4B8987FF,0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,0x2D74FDFF,0x3C1C0DFF,
  34. 0x12D6D4FF,0x48C000FF,0x2A51E2FF,0xE3AC12FF,0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,0x42ACF5FF,
  35. 0x2FD9DEFF,0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,
  36. 0x3214AAFF,0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,0x9F945CFF,
  37. 0xDCDE3DFF,0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,
  38. 0xD8C762FF,0xD8C762FF
  39. };
  40.  
  41. main() print("Admin mode loaded by ZiPoNz.");
  42.  
  43. public OnPlayerConnect(playerid)
  44. {
  45.     AdminSystem[playerid][Muted] = false;
  46.     AdminSystem[playerid][Hide] = false;
  47.     if(dini_Exists(CheckFile(playerid))) AdminSystem[playerid][AdminLevel] = dini_Int(CheckFile(playerid), "AdminLevel");
  48.     else AdminSystem[playerid][AdminLevel] = 0;
  49.     return true;
  50. }
  51.  
  52. public OnPlayerDisconnect(playerid, reason)
  53. {
  54.     KillTimer(CoD[playerid]);
  55.    
  56.     switch(AdminSystem[playerid][AdminLevel])
  57.     {
  58.         case 0: if(dini_Exists(CheckFile(playerid))) dini_Remove(CheckFile(playerid));
  59.         case 1..10:
  60.         {
  61.             if(dini_Exists(CheckFile(playerid))) dini_IntSet(CheckFile(playerid), "AdminLevel", AdminSystem[playerid][AdminLevel]);
  62.             if(!dini_Exists(CheckFile(playerid))) dini_Create(CheckFile(playerid)), dini_IntSet(CheckFile(playerid), "AdminLevel", AdminSystem[playerid][AdminLevel]);
  63.         }
  64.     }
  65.     return true;
  66. }
  67.  
  68. public OnPlayerText(playerid, text[])
  69. {
  70.     if(!Chat || AdminSystem[playerid][Muted]) return SendClientMessage(playerid, 0xFFFFFF00, "{F2000C}[Error]{FFFFFF} You can't to write in this chat right now."), 0;
  71.     return true;
  72. }
  73.  
  74. public OnPlayerCommandText(playerid, cmdtext[])
  75. {
  76.     new cmd[256], string[256], idx;
  77.     cmd = strtok(cmdtext, idx);
  78.    
  79.     if(!strcmp(cmd, "/chat", true))
  80.     {
  81.         if(AdminSystem[playerid][AdminLevel] < 5) return AdminError(playerid);
  82.         Chat = Chat == true ? false : true;
  83.         format(string, 256, Chat == true ? ("{FF9500}[Server]{FFFFFF} The administrator %s opened the chat.") : ("{FF9500}[Server]{FFFFFF} The administrator %s closed the chat."), CheckName(playerid));
  84.         return SendClientMessageToAll(0xFFFFFF00, string);
  85.     }
  86.     if(!strcmp(cmd, "/hideme", true))
  87.     {
  88.         if(AdminSystem[playerid][AdminLevel] < 5) return AdminError(playerid);
  89.         AdminSystem[playerid][Hide] = AdminSystem[playerid][Hide] == true ? false : true;
  90.         format(string, 256, AdminSystem[playerid][Hide] == true ? ("{005EFF}[System]{FFFFFF} You are now hidden from the admin list.") : ("{005EFF}[System]{FFFFFF} You are not anymore hidden from the admin list."), CheckName(playerid));
  91.         return SendClientMessageToAll(0xFFFFFF00, string);
  92.     }
  93.     if(!strcmp(cmd, "/admins", true))
  94.     {
  95.         new count = 0;
  96.         SendClientMessage(playerid, 0xFFA20000, "Administrators online in the server:");
  97.         for(new p = 0; p < MAX_PLAYERS; p++) if(IsPlayerConnected(p) && AdminSystem[p][AdminLevel] != 0 && AdminSystem[p][Hide] == false) count++, format(string, 256, "%d. Name: %s - Level: %d.", count, CheckName(p), AdminSystem[p][AdminLevel]);
  98.         return SendClientMessage(playerid, 0xFFFFFF00, count == 0 ? ("None.") : string);
  99.     }
  100.     if(!strcmp(cmd, "/clearchat", true))
  101.     {
  102.         if(AdminSystem[playerid][AdminLevel] < 3) return AdminError(playerid);
  103.         for(new c = 0; c < 101; c++) SendClientMessageToAll(0xFFFFFF00, " ");
  104.         format(string, 256, "{FF9500}[Server]{FFFFFF} The administrator %s cleared the chat.", CheckName(playerid));
  105.         return SendClientMessageToAll(0xFFFFFF00, string);
  106.     }
  107.     if(!strcmp(cmd, "/setadmin", true))
  108.     {
  109.         if(!IsPlayerAdmin(playerid) && AdminSystem[playerid][AdminLevel] != 5) return SendClientMessage(playerid, 0xFFFFFF00, "{F2000C}[Error]{FFFFFF} You are not administrator(/rcon) to use it.");
  110.         new cmd2[256];
  111.         cmd = strtok(cmdtext, idx);
  112.         cmd2 = strtok(cmdtext, idx);
  113.         if(!strlen(cmd) || !strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setadmin [PlayerID] [Admin level 1-5]");
  114.         if(strval(cmd2) < 0 || strval(cmd2) > 5 || !IsNumeric(cmd) || !IsNumeric(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "{F2000C}[Error]{FFFFFF} Please write the currect admin level.");
  115.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  116.         AdminSystem[strval(cmd)][AdminLevel] = strval(cmd2);
  117.         format(string, 256, "{005EFF}[System]{FFFFFF} You invited the player %s to the admins team as admin level %d.", CheckName(strval(cmd)), strval(cmd2));
  118.         SendClientMessage(playerid, 0xFFFFFF00, string);
  119.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s invited you to the admins team as admin level %d.", CheckName(playerid), strval(cmd2));
  120.         return SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  121.     }
  122.     if(!strcmp(cmd, "/respawnvehicles", true))
  123.     {
  124.         if(AdminSystem[playerid][AdminLevel] < 5) return AdminError(playerid);
  125.         new bool:unused[MAX_VEHICLES];
  126.         for(new player=0; player<MAX_PLAYERS; player++) if(IsPlayerInAnyVehicle(player)) unused[GetPlayerVehicleID(player)]=true;
  127.         for(new car = 1; car <= 268; car++) if(!unused[car]) SetVehicleToRespawn(car);
  128.         format(string, 256, "{FF9500}[Server]{FFFFFF} The administrator %s respawned all vehicles in the server.", CheckName(playerid));
  129.         return SendClientMessageToAll(0xFFFFFF00, string);
  130.     }
  131.     if(!strcmp(cmd, "/say", true))
  132.     {
  133.         new text[256];
  134.         if(AdminSystem[playerid][AdminLevel] < 1) return AdminError(playerid);
  135.         text = strrest(cmdtext, idx);
  136.         if(!strlen(text)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /say [Text for all players]");
  137.         format(string, 256, "Administrator %s: %s", CheckName(playerid), text);
  138.         return SendClientMessageToAll(0x006BFFFF, string);
  139.     }
  140.     if(!strcmp(cmd, "/report", true))
  141.     {
  142.         new reason[256];
  143.         cmd = strtok(cmdtext, idx);
  144.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /report [PlayerID] [Reason]");
  145.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  146.         reason = strrest(cmdtext,idx);
  147.         if(!strlen(reason)) return SendClientMessage(playerid,0xFFFFFF00,"[Command] /report [PlayerID] [Reason]");
  148.  
  149.         format(string,sizeof(string),"[Reports] %s[%d] reported the player %s[%d], reason: %s.", CheckName(playerid),playerid,CheckName(strval(cmd)),strval(cmd),reason);
  150.         for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && AdminSystem[i][AdminLevel] != 0) SendClientMessage(i,0xFFFFFF00,string);
  151.         return SendClientMessage(playerid, 0xFFFFFF00, "{005EFF}[System]{FFFFFF} Please wait, your report sent to the online admins.");
  152.     }
  153.     if(!strcmp(cmd, "//", true))
  154.     {
  155.         new text[256];
  156.         if(!AdminSystem[playerid][AdminLevel]) return AdminError(playerid);
  157.         text = strrest(cmdtext,idx);
  158.         if(!strlen(text)) return SendClientMessage(playerid,0xFFFFFF00,"[Command] // [Admin chat]");
  159.  
  160.         format(string,sizeof(string),"[Admin chat] %s[%d]: %s.", CheckName(playerid),playerid, text);
  161.         for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && AdminSystem[i][AdminLevel] != 0) SendClientMessage(i,0xFFA200FF,string);
  162.         return true;
  163.     }
  164.     if(!strcmp(cmd, "/flip", true))
  165.     {
  166.         if(AdminSystem[playerid][AdminLevel] < 3) return AdminError(playerid);
  167.         cmd = strtok(cmdtext, idx);
  168.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /flip [PlayerID]");
  169.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  170.         format(string, 256, "{005EFF}[System]{FFFFFF} You flipped the vehicle of the player %s.", CheckName(strval(cmd)));
  171.         SendClientMessage(playerid, 0xFFFFFF00, string);
  172.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s flipped your vehicle.", CheckName(playerid));
  173.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  174.         new Float:Angle;
  175.         GetVehicleZAngle(GetPlayerVehicleID(strval(cmd)), Angle);
  176.         return SetVehicleZAngle(GetPlayerVehicleID(strval(cmd)), Angle);
  177.     }
  178.     if(!strcmp(cmd, "/respawn", true))
  179.     {
  180.         if(AdminSystem[playerid][AdminLevel] < 2) return AdminError(playerid);
  181.         cmd = strtok(cmdtext, idx);
  182.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /respawn [PlayerID]");
  183.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  184.         format(string, 256, "{005EFF}[System]{FFFFFF} You respawned the player %s.", CheckName(strval(cmd)));
  185.         SendClientMessage(playerid, 0xFFFFFF00, string);
  186.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s respawned your character.", CheckName(playerid));
  187.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  188.         return SpawnPlayer(strval(cmd));
  189.     }
  190.     if(!strcmp(cmd, "/mute", true))
  191.     {
  192.         if(AdminSystem[playerid][AdminLevel] < 1) return AdminError(playerid);
  193.         cmd = strtok(cmdtext, idx);
  194.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /mute [PlayerID]");
  195.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  196.         format(string, 256, "{005EFF}[System]{FFFFFF} You muted the player %s.", CheckName(strval(cmd)));
  197.         SendClientMessage(playerid, 0xFFFFFF00, string);
  198.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s muted your character.", CheckName(playerid));
  199.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  200.         return AdminSystem[strval(cmd)][Muted] = true;
  201.     }
  202.     if(!strcmp(cmd, "/unmute", true))
  203.     {
  204.         if(AdminSystem[playerid][AdminLevel] < 1) return AdminError(playerid);
  205.         cmd = strtok(cmdtext, idx);
  206.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /unmute [PlayerID]");
  207.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  208.         format(string, 256, "{005EFF}[System]{FFFFFF} You unmuted the player %s.", CheckName(strval(cmd)));
  209.         SendClientMessage(playerid, 0xFFFFFF00, string);
  210.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s unmuted your character.", CheckName(playerid));
  211.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  212.         AdminSystem[strval(cmd)][Muted] = false;
  213.         return true;
  214.     }
  215.     if(!strcmp(cmd, "/settime", true))
  216.     {
  217.         if(AdminSystem[playerid][AdminLevel] < 4) return AdminError(playerid);
  218.         cmd = strtok(cmdtext, idx);
  219.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /settime [Hour]");
  220.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s changed the time of the server to %d.", CheckName(playerid), strval(cmd));
  221.         SendClientMessageToAll(0xFFFFFF00, string);
  222.         for(new p = 0; p < MAX_PLAYERS; p++) if(IsPlayerConnected(p)) SetPlayerTime(p, strval(cmd), 30);
  223.         return true;
  224.     }
  225.     if(!strcmp(cmd, "/setweather", true))
  226.     {
  227.         if(AdminSystem[playerid][AdminLevel] < 4) return AdminError(playerid);
  228.         cmd = strtok(cmdtext, idx);
  229.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setweather [Weather 0-45]");
  230.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s changed the weather of the server to %d.", CheckName(playerid), strval(cmd));
  231.         SendClientMessageToAll(0xFFFFFF00, string);
  232.         SetWeather(strval(cmd));
  233.         return true;
  234.     }
  235.     if(!strcmp(cmd, "/resetweapons", true))
  236.     {
  237.         if(AdminSystem[playerid][AdminLevel] < 4) return AdminError(playerid);
  238.         cmd = strtok(cmdtext, idx);
  239.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /resetweapons [PlayerID]");
  240.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  241.         format(string, 256, "{005EFF}[System]{FFFFFF} You reset the weapons of the player %s.", CheckName(strval(cmd)));
  242.         SendClientMessage(playerid, 0xFFFFFF00, string);
  243.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s reset the weapons of your character.", CheckName(playerid));
  244.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  245.         return ResetPlayerWeapons(strval(cmd));
  246.     }
  247.     if(!strcmp(cmd, "/cd", true))
  248.     {
  249.         if(AdminSystem[playerid][AdminLevel] < 1) return AdminError(playerid);
  250.         if(CDS) return SendClientMessage(playerid, 0xFFFFFF00, "{F2000C}[Error]{FFFFFF} The countdown already turned on, please wait.");
  251.         cmd = strtok(cmdtext, idx);
  252.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /cd [PlayerID]");
  253.         for(new i = 0; i < MAX_PLAYERS; i++)
  254.         {
  255.             if(!IsPlayerConnected(i)) continue;
  256.             CD[i] = strval(cmd)+1;
  257.             CoD[i] = SetTimerEx("CountDown", 1000, true, "%i", i);
  258.         }
  259.         CDS = true;
  260.         return true;
  261.     }
  262.     if(!strcmp(cmd, "/inv", true))
  263.     {
  264.         if(AdminSystem[playerid][AdminLevel] < 1) return AdminError(playerid);
  265.         SendClientMessage(strval(cmd), 0xFFFFFF00, "{005EFF}[System]{FFFFFF} You are now invisible on the map.");
  266.         return SetPlayerColor(playerid, 0xFFFFFFAA);
  267.     }
  268.     if(!strcmp(cmd, "/uninv", true))
  269.     {
  270.         if(AdminSystem[playerid][AdminLevel] < 1) return AdminError(playerid);
  271.         SendClientMessage(strval(cmd), 0xFFFFFF00, "{005EFF}[System]{FFFFFF} You are now invisible on the map.");
  272.         new randcolor = random(sizeof(RandomColors));
  273.         return SetPlayerColor(playerid, RandomColors[randcolor]);
  274.     }
  275.     if(!strcmp(cmd, "/checkip", true))
  276.     {
  277.         if(AdminSystem[playerid][AdminLevel] < 3) return AdminError(playerid);
  278.         cmd = strtok(cmdtext, idx);
  279.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /checkip [PlayerID]");
  280.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  281.         new IP[16];
  282.         GetPlayerIp(strval(cmd), IP, 16);
  283.         format(string, 256, "{005EFF}[System]{FFFFFF} The player %s's IP is: %s.", CheckName(strval(cmd)), IP);
  284.         return SendClientMessage(playerid, 0xFFFFFF00, string);
  285.     }
  286.     if(!strcmp(cmd, "/freeze", true))
  287.     {
  288.         if(AdminSystem[playerid][AdminLevel] < 1) return AdminError(playerid);
  289.         cmd = strtok(cmdtext, idx);
  290.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /freeze [PlayerID]");
  291.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  292.         format(string, 256, "{005EFF}[System]{FFFFFF} You frozen the player %s.", CheckName(strval(cmd)));
  293.         SendClientMessage(playerid, 0xFFFFFF00, string);
  294.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s frozen your character.", CheckName(playerid));
  295.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  296.         return TogglePlayerControllable(strval(cmd), false);
  297.     }
  298.     if(!strcmp(cmd, "/unfreeze", true))
  299.     {
  300.         if(AdminSystem[playerid][AdminLevel] < 1) return AdminError(playerid);
  301.         cmd = strtok(cmdtext, idx);
  302.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /unfreeze [PlayerID]");
  303.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  304.         format(string, 256, "{005EFF}[System]{FFFFFF} You unfrozen the player %s.", CheckName(strval(cmd)));
  305.         SendClientMessage(playerid, 0xFFFFFF00, string);
  306.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s unfrozen your character.", CheckName(playerid));
  307.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  308.         return TogglePlayerControllable(strval(cmd), true);
  309.     }
  310.     if(!strcmp(cmd, "/ban", true))
  311.     {
  312.         new reason[256];
  313.         if(AdminSystem[playerid][AdminLevel] < 2) return AdminError(playerid);
  314.         cmd = strtok(cmdtext, idx);
  315.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /ban [PlayerID] [Reason]");
  316.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  317.         reason = strrest(cmdtext, idx);
  318.         if(!strlen(reason)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /ban [PlayerID] [Reason]");
  319.        
  320.         format(string, 256, "{FF9500}[Server]{FFFFFF} The administrator %s banned the player %s, reason: %s.", CheckName(playerid), CheckName(strval(cmd)), reason);
  321.         SendClientMessageToAll(0xFFFFFF00, string);
  322.         return BanEx(strval(cmd), reason);
  323.     }
  324.     if(!strcmp(cmd, "/kick", true))
  325.     {
  326.         new reason[256];
  327.         if(AdminSystem[playerid][AdminLevel] < 1) return AdminError(playerid);
  328.         cmd = strtok(cmdtext, idx);
  329.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /kick [PlayerID] [Reason]");
  330.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  331.         reason = strrest(cmdtext, idx);
  332.         if(!strlen(reason)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /kick [PlayerID] [Reason]");
  333.  
  334.         format(string, 256, "{FF9500}[Server]{FFFFFF} The administrator %s kicked the player %s, reason: %s.", CheckName(playerid), CheckName(strval(cmd)), reason);
  335.         SendClientMessageToAll(0xFFFFFF00, string);
  336.         return Kick(strval(cmd));
  337.     }
  338.     if(!strcmp(cmd, "/repair", true))
  339.     {
  340.         if(AdminSystem[playerid][AdminLevel] < 2) return AdminError(playerid);
  341.         cmd = strtok(cmdtext, idx);
  342.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /repair [PlayerID]");
  343.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  344.         if(!IsPlayerInAnyVehicle(playerid)) return NotIV(playerid);
  345.         format(string, 256, "{005EFF}[System]{FFFFFF} You repaired the vehicle of the player %s.", CheckName(strval(cmd)));
  346.         SendClientMessage(playerid, 0xFFFFFF00, string);
  347.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s repaired your vehicle.", CheckName(playerid));
  348.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  349.         RepairVehicle(GetPlayerVehicleID(strval(cmd)));
  350.         return true;
  351.     }
  352.     if(!strcmp(cmd, "/setworld", true))
  353.     {
  354.         new cmd2[256];
  355.         if(AdminSystem[playerid][AdminLevel] < 2) return AdminError(playerid);
  356.         cmd = strtok(cmdtext, idx);
  357.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setworld [PlayerID] [World]");
  358.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  359.         cmd2 = strtok(cmdtext, idx);
  360.         if(!strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setworld [PlayerID] [Virtual World ID]");
  361.         format(string, 256, "{005EFF}[System]{FFFFFF} You changed for the player %s his virtual world to %d.", CheckName(strval(cmd)), strval(cmd2));
  362.         SendClientMessage(playerid, 0xFFFFFF00, string);
  363.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s changed your virtual world to %d.", CheckName(playerid), strval(cmd2));
  364.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  365.         return SetPlayerVirtualWorld(strval(cmd), strval(cmd2));
  366.     }
  367.     if(!strcmp(cmd, "/setskin", true))
  368.     {
  369.         new cmd2[256];
  370.         if(AdminSystem[playerid][AdminLevel] < 2) return AdminError(playerid);
  371.         cmd = strtok(cmdtext, idx);
  372.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setskin [PlayerID] [Skin]");
  373.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  374.         cmd2 = strtok(cmdtext, idx);
  375.         if(!strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setskin [PlayerID] [Skin ID]");
  376.         format(string, 256, "{005EFF}[System]{FFFFFF} You changed for the player %s his skin to %d.", CheckName(strval(cmd)), strval(cmd2));
  377.         SendClientMessage(playerid, 0xFFFFFF00, string);
  378.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s changed your skin to %d.", CheckName(playerid), strval(cmd2));
  379.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  380.         return SetPlayerSkin(strval(cmd), strval(cmd2));
  381.     }
  382.     if(!strcmp(cmd, "/sethealth", true))
  383.     {
  384.         new cmd2[256];
  385.         if(AdminSystem[playerid][AdminLevel] < 3) return AdminError(playerid);
  386.         cmd = strtok(cmdtext, idx);
  387.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /sethealth [PlayerID] [Health]");
  388.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  389.         cmd2 = strtok(cmdtext, idx);
  390.         if(!strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /sethealth [PlayerID] [Health amount]");
  391.         format(string, 256, "{005EFF}[System]{FFFFFF} You changed for the player %s his health to %d.", CheckName(strval(cmd)), strval(cmd2));
  392.         SendClientMessage(playerid, 0xFFFFFF00, string);
  393.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s changed your health to %d.", CheckName(playerid), strval(cmd2));
  394.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  395.         return SetPlayerHealth(strval(cmd), strval(cmd2));
  396.     }
  397.     if(!strcmp(cmd, "/setarmour", true))
  398.     {
  399.         new cmd2[256];
  400.         if(AdminSystem[playerid][AdminLevel] < 3) return AdminError(playerid);
  401.         cmd = strtok(cmdtext, idx);
  402.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setarmour [PlayerID] [Armour]");
  403.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  404.         cmd2 = strtok(cmdtext, idx);
  405.         if(!strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setarmour [PlayerID] [Armour]");
  406.         format(string, 256, "{005EFF}[System]{FFFFFF} You changed for the player %s his armour to %d.", CheckName(strval(cmd)), strval(cmd2));
  407.         SendClientMessage(playerid, 0xFFFFFF00, string);
  408.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s changed your armour to %d.", CheckName(playerid), strval(cmd2));
  409.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  410.         return SetPlayerArmour(strval(cmd), strval(cmd2));
  411.     }
  412.     if(!strcmp(cmd, "/unbanip", true))
  413.     {
  414.         if(AdminSystem[playerid][AdminLevel] < 3) return AdminError(playerid);
  415.         cmd = strtok(cmdtext, idx);
  416.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /unbanip [IP]");
  417.         format(string,sizeof(string),"unbanip %s", cmd);
  418.         SendRconCommand(string);
  419.         SendRconCommand("reloadbans");
  420.         format(string, 256, "{005EFF}[System]{FFFFFF} You unbanned the ip: %s.", cmd);
  421.         return SendClientMessage(playerid, 0xFFFFFF00, string);
  422.     }
  423.     if(!strcmp(cmd, "/setmoney", true))
  424.     {
  425.         new cmd2[256];
  426.         if(AdminSystem[playerid][AdminLevel] < 5) return AdminError(playerid);
  427.         cmd = strtok(cmdtext, idx);
  428.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setmoney [PlayerID] [Money]");
  429.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  430.         cmd2 = strtok(cmdtext, idx);
  431.         if(!strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setmoney [PlayerID] [Money amount]");
  432.         format(string, 256, "{005EFF}[System]{FFFFFF} You changed for the player %s his money amount to %d.", CheckName(strval(cmd)), strval(cmd2));
  433.         SendClientMessage(playerid, 0xFFFFFF00, string);
  434.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s changed your money amount to %d.", CheckName(playerid), strval(cmd2));
  435.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  436.         ResetPlayerMoney(strval(cmd));
  437.         return GivePlayerMoney(strval(cmd), strval(cmd2));
  438.     }
  439.     if(!strcmp(cmd, "/givemoney", true))
  440.     {
  441.         new cmd2[256];
  442.         if(AdminSystem[playerid][AdminLevel] < 5) return AdminError(playerid);
  443.         cmd = strtok(cmdtext, idx);
  444.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /givemoney [PlayerID] [Money]");
  445.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  446.         cmd2 = strtok(cmdtext, idx);
  447.         if(!strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /give money [PlayerID] [Money amount]");
  448.         format(string, 256, "{005EFF}[System]{FFFFFF} You gave to the player %s amount of money(%d).", CheckName(strval(cmd)), strval(cmd2));
  449.         SendClientMessage(playerid, 0xFFFFFF00, string);
  450.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s gave to you amount of money(%d).", CheckName(playerid), strval(cmd2));
  451.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  452.         return GivePlayerMoney(strval(cmd), strval(cmd2));
  453.     }
  454.     if(!strcmp(cmd, "/giveweapon", true))
  455.     {
  456.         new cmd2[256], cmd3[256], wname[64];
  457.         if(AdminSystem[playerid][AdminLevel] < 4) return AdminError(playerid);
  458.         cmd = strtok(cmdtext, idx);
  459.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /giveweapon [PlayerID] [Weapon ID] [Ammo]");
  460.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  461.         cmd2 = strtok(cmdtext, idx);
  462.         if(!strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /giveweapon [PlayerID] [Weapon ID] [Ammo]");
  463.         cmd3 = strtok(cmdtext, idx);
  464.         if(!strlen(cmd3)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /giveweapon [PlayerID] [Weapon ID] [Ammo]");
  465.         GetWeaponName(strval(cmd2), wname, 64);
  466.         format(string, 256, "{005EFF}[System]{FFFFFF} You gave to the player %s the weapon %s with %d bullets.", CheckName(strval(cmd)), wname, strval(cmd3));
  467.         SendClientMessage(playerid, 0xFFFFFF00, string);
  468.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s gave you the weapon %s with %d bullets.", CheckName(playerid), wname, strval(cmd3));
  469.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  470.         return GivePlayerWeapon(strval(cmd), strval(cmd2), strval(cmd3));
  471.     }
  472.     if(!strcmp(cmd, "/takemoney", true))
  473.     {
  474.         new cmd2[256];
  475.         if(AdminSystem[playerid][AdminLevel] < 4) return AdminError(playerid);
  476.         cmd = strtok(cmdtext, idx);
  477.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /takemoney [PlayerID] [Money]");
  478.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  479.         cmd2 = strtok(cmdtext, idx);
  480.         if(!strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /take money [PlayerID] [Money amount]");
  481.         format(string, 256, "{005EFF}[System]{FFFFFF} You took from the player %s amount of money(%d).", CheckName(strval(cmd)), strval(cmd2));
  482.         SendClientMessage(playerid, 0xFFFFFF00, string);
  483.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s took from you amount of money(%d).", CheckName(playerid), strval(cmd2));
  484.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  485.         return GivePlayerMoney(strval(cmd), -strval(cmd2));
  486.     }
  487.     if(!strcmp(cmd, "/setinterior", true))
  488.     {
  489.         new cmd2[256];
  490.         if(AdminSystem[playerid][AdminLevel] < 2) return AdminError(playerid);
  491.         cmd = strtok(cmdtext, idx);
  492.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setinterior [PlayerID] [Interior]");
  493.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  494.         cmd2 = strtok(cmdtext, idx);
  495.         if(!strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setinterior [PlayerID] [Interior ID]");
  496.         format(string, 256, "{005EFF}[System]{FFFFFF} You changed for the player %s his interior to %d.", CheckName(strval(cmd)), strval(cmd2));
  497.         SendClientMessage(playerid, 0xFFFFFF00, string);
  498.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s changed your interior to %d.", CheckName(playerid), strval(cmd2));
  499.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  500.         return SetPlayerInterior(strval(cmd), strval(cmd2));
  501.     }
  502.     if(!strcmp(cmd, "/spec", true))
  503.     {
  504.         if(AdminSystem[playerid][AdminLevel] < 1) return AdminError(playerid);
  505.         cmd = strtok(cmdtext, idx);
  506.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /spec [PlayerID/Off]");
  507.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  508.         if(!strcmp(cmd, "off", true)) return TogglePlayerSpectating(playerid, 0), SpawnPlayer(playerid);
  509.         format(string, 256, "{005EFF}[System]{FFFFFF} You are now watching on the player %s.", CheckName(strval(cmd)));
  510.         SendClientMessage(playerid, 0xFFFFFF00, string);
  511.         TogglePlayerSpectating(playerid,1);
  512.         return PlayerSpectatePlayer(playerid,strval(cmd));
  513.     }
  514.     if(!strcmp(cmd, "/goto", true))
  515.     {
  516.         if(AdminSystem[playerid][AdminLevel] < 1) return AdminError(playerid);
  517.         cmd = strtok(cmdtext, idx);
  518.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /goto [PlayerID]");
  519.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  520.         format(string, 256, "{005EFF}[System]{FFFFFF} You teleported to the player %s.", CheckName(strval(cmd)));
  521.         SendClientMessage(playerid, 0xFFFFFF00, string);
  522.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s teleported to you.", CheckName(playerid));
  523.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  524.         new Float:Pos[3];
  525.         GetPlayerPos(strval(cmd), Pos[0], Pos[1], Pos[2]);
  526.         if(GetPlayerState(playerid) != 2) SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  527.         else SetVehiclePos(GetPlayerVehicleID(playerid), Pos[0], Pos[1], Pos[2]);
  528.         return true;
  529.     }
  530.     if(!strcmp(cmd, "/get", true))
  531.     {
  532.         if(AdminSystem[playerid][AdminLevel] < 1) return AdminError(playerid);
  533.         cmd = strtok(cmdtext, idx);
  534.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /get [PlayerID]");
  535.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  536.         format(string, 256, "{005EFF}[System]{FFFFFF} You teleported the player %s to you.", CheckName(strval(cmd)));
  537.         SendClientMessage(playerid, 0xFFFFFF00, string);
  538.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s teleported you to his position.", CheckName(playerid));
  539.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  540.         new Float:Pos[3];
  541.         GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  542.         if(GetPlayerState(strval(cmd)) != 2) SetPlayerPos(strval(cmd), Pos[0], Pos[1], Pos[2]);
  543.         else SetVehiclePos(GetPlayerVehicleID(strval(cmd)), Pos[0], Pos[1], Pos[2]);
  544.         return true;
  545.     }
  546.     if(!strcmp(cmd, "/slap", true))
  547.     {
  548.         if(AdminSystem[playerid][AdminLevel] < 3) return AdminError(playerid);
  549.         cmd = strtok(cmdtext, idx);
  550.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /slap [PlayerID]");
  551.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  552.         format(string, 256, "{005EFF}[System]{FFFFFF} You teleported to the player %s.", CheckName(strval(cmd)));
  553.         SendClientMessage(playerid, 0xFFFFFF00, string);
  554.         format(string, 256, "{005EFF}[System]{FFFFFF} The administrator %s teleported to you.", CheckName(playerid));
  555.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  556.         new Float:Pos[3];
  557.         GetPlayerPos(strval(cmd), Pos[0], Pos[1], Pos[2]);
  558.         return SetPlayerPos(strval(cmd), Pos[0], Pos[1], Pos[2]+3);
  559.     }
  560.     if(!strcmp(cmd, "/adminhelp", true))
  561.     {
  562.         if(!AdminSystem[playerid][AdminLevel]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] You aren't administrator.");
  563.  
  564.         if(AdminSystem[playerid][AdminLevel] >= 1) SendClientMessage(playerid, 0xFFFFFF00, "[Admin level 1] mute, unmute, inv, uninv, freeze, unfreeze, kick, cd, spec (off), say, goto, get, //.");
  565.         if(AdminSystem[playerid][AdminLevel] >= 2) SendClientMessage(playerid, 0xFFFFFF00, "[Admin level 2] ban, repair, setskin, setinterior, setworld, respawn.");
  566.         if(AdminSystem[playerid][AdminLevel] >= 3) SendClientMessage(playerid, 0xFFFFFF00, "[Admin level 3] checkip, unbanip, clearchat, slap, flip,  sethealth, setarmour.");
  567.         if(AdminSystem[playerid][AdminLevel] >= 4) SendClientMessage(playerid, 0xFFFFFF00, "[Admin level 4] settime, setweather, resetweapons, giveweapon, takemoney.");
  568.         if(AdminSystem[playerid][AdminLevel] >= 5) SendClientMessage(playerid, 0xFFFFFF00, "[Admin level 5] setadmin, setmoney, givemoney, hideme,  chat, respawnvehicles.");
  569.         return true;
  570.     }
  571.     if(!strcmp(cmd, "/credit", true) || !strcmp(cmd, "/credits", true)) SendClientMessage(playerid, 0xFFFFFF00, "Admin mode by: {FF0000}ZiPoNz{FFFFFF}.");
  572.     return false;
  573. }
  574.  
  575. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  576. {
  577.     return true;
  578. }
  579.  
  580. stock CheckName(playerid)
  581. {
  582.     new PName[24];
  583.     GetPlayerName(playerid, PName, 24);
  584.     return PName;
  585. }
  586.  
  587. stock CheckFile(playerid)
  588. {
  589.     new file[64];
  590.     format(file, 64, "/Z-AdminMode/%s.ini", CheckName(playerid));
  591.     return file;
  592. }
  593.  
  594. stock NotIV(playerid) return SendClientMessage(playerid, 0xFFFFFF00, "{F2000C}[Error]{FFFFFF} The player isn't in a vehicle.");
  595. stock InvalidID(playerid) return SendClientMessage(playerid, 0xFFFFFF00, "{F2000C}[Error]{FFFFFF} The player isn't connected.");
  596. stock AdminError(playerid) return SendClientMessage(playerid, 0xFFFFFF00, "{F2000C}[Error]{FFFFFF} You don't have the permissions to use this command.");
  597.  
  598. IsNumeric(const string[])
  599. {
  600.     for (new i = 0, j = strlen(string); i < j; i++)
  601.     {
  602.         if (string[i] > '9' || string[i] < '0') return false;
  603.     }
  604.     return true;
  605. }
  606. stock strrest(const string[], &index)
  607. {
  608.     new length = strlen(string);
  609.     while ((index < length) && (string[index] <= ' ')) index++;
  610.     new offset = index;
  611.     new result[128];
  612.     while ((index < length) && ((index - offset) < (sizeof(result) - 1))) result[index - offset] = string[index], index++;
  613.     result[index - offset] = EOS;
  614.     return result;
  615. }
  616. stock NoneVehicle(vehicleid)
  617. {
  618.     for(new i=0;i<MAX_PLAYERS;i++) if(IsPlayerInVehicle(i,vehicleid)) return true;
  619.     return false;
  620. }
  621.  
  622. forward CountDown(playerid);
  623. public CountDown(playerid)
  624. {
  625.     new string[256];
  626.     CD[playerid]--;
  627.     if(!CD[playerid]) GameTextForPlayer(playerid, "~g~GO!", 1000, 4), KillTimer(CoD[playerid]), CDS = false;
  628.     else format(string, 64, "~y~%d", CD[playerid]), GameTextForPlayer(playerid, string, 1000, 4);
  629.     return true;
  630. }
Advertisement
Add Comment
Please, Sign In to add comment