Guest User

Dialog Admin by Jakku

a guest
Mar 7th, 2010
539
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 12.30 KB | None | 0 0
  1. //Jakku's Dialog Admin System || Copyright(C) 2010
  2. //Do not remove the credits
  3. //Do NOT claim this as your own
  4. /*
  5.     ||  |-----| |  /  |   /  |    |
  6.     ||  |     | |/    | /    |    |
  7.     ||  |-----| |\    |\     |    |
  8. ----||  |     | | \   |  \   |----|
  9. */
  10.  
  11. #pragma tabsize 0
  12. #include <a_samp>
  13. #include <core>
  14. #include <float>
  15.  
  16. #define COLOR_ORED 0xFF0000FF
  17. #define COLOR_YELLOW 0xFFFF00AA
  18. #define COLOR_WHITE 0xFFFFFFAA
  19.  
  20. new PossibleToControlNPCs;
  21. new CmdsBlockedWhenMuted;
  22.  
  23.  
  24. new CfgPlayer[MAX_PLAYERS];
  25. new Muted[MAX_PLAYERS];
  26.  
  27. //-------------------------------------------------
  28.  
  29. strtok(const string[], &index)
  30. {
  31.     new length = strlen(string);
  32.     while ((index < length) && (string[index] <= ' '))
  33.     {
  34.         index++;
  35.     }
  36.  
  37.     new offset = index;
  38.     new result[20];
  39.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  40.     {
  41.         result[index - offset] = string[index];
  42.         index++;
  43.     }
  44.     result[index - offset] = EOS;
  45.     return result;
  46. }
  47.  
  48. //-------------------------------------------------
  49. public OnPlayerText(playerid, text[])
  50. {
  51. if (Muted[playerid] == 1) {
  52. SendClientMessage(playerid, COLOR_ORED,"You can't talk while you are muted!");
  53. return 0;
  54. }
  55. return 1;
  56. }
  57.  
  58. public OnFilterScriptInit()
  59. {
  60. print("Jakku's Dialog Admin (C) 2010");
  61. print("Loaded Successfully!");
  62. PossibleToControlNPCs = 0;
  63. // Set the variable above to 1 if you want to control NPCs
  64. CmdsBlockedWhenMuted = 1;
  65. // Set the variable above to 0 if you want to use commands when muted
  66.  
  67. }
  68. public OnPlayerConnect(playerid)
  69. {
  70. CfgPlayer[playerid] = 0;
  71. Muted[playerid] = 0;
  72. }
  73.  
  74. public OnPlayerCommandText(playerid, cmdtext[])
  75. {
  76.     new cmd[256];
  77.     new idx;
  78.     cmd = strtok(cmdtext, idx);
  79.    
  80.     if (CmdsBlockedWhenMuted == 1) {
  81.     if (Muted[playerid] == 1) return SendClientMessage(playerid, COLOR_ORED, "You cannot use commands while you are muted!");
  82.     }
  83.    
  84.     if(!strcmp(cmdtext, "/cfg", true, 4))
  85. {
  86.     if(!strlen(cmdtext[5]))
  87.     {
  88.         SendClientMessage(playerid, COLOR_ORED, "Usage: /cfg [playerid]");
  89.         return 1;
  90.     }
  91.     new ID = strval(cmdtext[5]);
  92.     new receivername[24], stri[120];
  93.     GetPlayerName(ID,receivername, 24);
  94.     if (!IsPlayerConnected(ID)) return SendClientMessage(playerid, COLOR_ORED,"You entered an invalid ID!");
  95.     if(IsPlayerConnected(ID))
  96.     {
  97.     if (!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_ORED,"You must be logged into the RCON to use player configure!");
  98.     //if (IsPlayerAdmin(ID)) return SendClientMessage(playerid, COLOR_ORED,"You cannot configure an other admin!");
  99.     if (PossibleToControlNPCs == 0) {
  100.     if (IsPlayerNPC(ID)) return SendClientMessage(playerid, COLOR_ORED,"You cannot configure NPC players!");
  101.     }
  102.     //if (ID == playerid) return SendClientMessage(playerid, COLOR_ORED,"You are not able to configure yourself!");
  103.     ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Player Configure by Jakku", "Kick\nBan\nFreeze\nUnfreeze\nMute\nUnmute\nSlap\nKill\nTeleport\nTeleport Here\nExplode\nHeal\nArmour\nEject From Vehicle\nReset Weapons", "Ok", "Cancel");
  104.     format(stri, sizeof(stri), "Configuring %s..",receivername);
  105.     SendClientMessage(playerid,COLOR_YELLOW,stri);
  106.     CfgPlayer[playerid] = ID;
  107.     }
  108.     return 1;
  109.  
  110.     }
  111.  
  112.  
  113.  
  114.     return 0;
  115. }
  116.  
  117. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  118. {
  119. new string[256];
  120. new sendername[24];
  121. new receivername[24];
  122. GetPlayerName(playerid, sendername,24);
  123. GetPlayerName(CfgPlayer[playerid], receivername,24);
  124.  
  125. if(dialogid == 1 && response)
  126.             {
  127.             switch(listitem)
  128.             {
  129.             case 0:
  130.             {
  131.             format(string, sizeof(string), "You have been kicked by an admin %s",sendername);
  132.             SendClientMessage(CfgPlayer[playerid],COLOR_WHITE,string);
  133.             SendClientMessage(playerid, COLOR_YELLOW,"Kick successful");
  134.             Kick(CfgPlayer[playerid]);
  135.             printf("Dialog Admin Alert: %s has kicked %s",sendername,receivername);
  136.             }
  137.             case 1:
  138.             {
  139.             format(string, sizeof(string), "You have been banned by an admin %s",sendername);
  140.             SendClientMessage(CfgPlayer[playerid],COLOR_WHITE,string);
  141.             SendClientMessage(playerid, COLOR_YELLOW,"Ban successful");
  142.             Ban(CfgPlayer[playerid]);
  143.             printf("Dialog Admin Alert: %s has banned %s",sendername,receivername);
  144.             }
  145.             case 2:
  146.             {
  147.             format(string, sizeof(string), "You have been frozen by an admin %s",sendername);
  148.             SendClientMessage(CfgPlayer[playerid],COLOR_WHITE,string);
  149.             SendClientMessage(playerid, COLOR_YELLOW,"Freeze successful");
  150.             TogglePlayerControllable(CfgPlayer[playerid],0);
  151.             printf("Dialog Admin Alert: %s has freezed %s",sendername,receivername);
  152.             }
  153.             case 3:
  154.             {
  155.             format(string, sizeof(string), "You have been unfrozen by an admin %s",sendername);
  156.             SendClientMessage(CfgPlayer[playerid],COLOR_WHITE,string);
  157.             SendClientMessage(playerid, COLOR_YELLOW,"Unfreeze successful");
  158.             TogglePlayerControllable(CfgPlayer[playerid],1);
  159.             printf("Dialog Admin Alert: %s has unfreezed %s",sendername,receivername);
  160.             }
  161.             case 4:
  162.             {
  163.             if (Muted[CfgPlayer[playerid]] == 1) return SendClientMessage(playerid, COLOR_ORED,"That player is already muted!");
  164.             format(string, sizeof(string), "You have been muted by an admin %s",sendername);
  165.             SendClientMessage(CfgPlayer[playerid],COLOR_WHITE,string);
  166.             SendClientMessage(playerid, COLOR_YELLOW,"Mute successful");
  167.             Muted[CfgPlayer[playerid]] = 1;
  168.             printf("Dialog Admin Alert: %s has muted %s",sendername,receivername);
  169.             }
  170.             case 5:
  171.             {
  172.             if (Muted[CfgPlayer[playerid]] == 0) return SendClientMessage(playerid, COLOR_ORED,"That player is not muted!");
  173.             format(string, sizeof(string), "You have been unmuted by an admin %s",sendername);
  174.             SendClientMessage(CfgPlayer[playerid],COLOR_WHITE,string);
  175.             SendClientMessage(playerid, COLOR_YELLOW,"Unmute successful");
  176.             Muted[CfgPlayer[playerid]] = 0;
  177.             printf("Dialog Admin Alert: %s has unmuted %s",sendername,receivername);
  178.             }
  179.             case 6:
  180.             {
  181.             new Float:hp;
  182.             GetPlayerHealth(CfgPlayer[playerid],hp);
  183.             format(string, sizeof(string), "You have been slapped by an admin %s",sendername);
  184.             SendClientMessage(CfgPlayer[playerid],COLOR_WHITE,string);
  185.             SendClientMessage(playerid, COLOR_YELLOW,"Slap successful");
  186.             printf("Dialog Admin Alert: %s has slapped %s",sendername,receivername);
  187.             SetPlayerHealth(CfgPlayer[playerid],hp-20);
  188.             }
  189.             case 7:
  190.             {
  191.             format(string, sizeof(string), "You have been killed by an admin %s",sendername);
  192.             SendClientMessage(CfgPlayer[playerid],COLOR_WHITE,string);
  193.             SendClientMessage(playerid, COLOR_YELLOW,"Kill successful");
  194.             printf("Dialog Admin Alert: %s has killed %s",sendername,receivername);
  195.             SetPlayerHealth(CfgPlayer[playerid],0);
  196.             }
  197.             case 8:
  198.             {
  199.             new Float:X,Float:Y,Float:Z;
  200.             GetPlayerPos(CfgPlayer[playerid],X,Y,Z);
  201.             new interior = GetPlayerInterior(CfgPlayer[playerid]);
  202.  
  203.             if (IsPlayerInAnyVehicle(playerid)) {
  204.             new playerveh = GetPlayerVehicleID(playerid);
  205.             SetVehiclePos(playerveh,X+3,Y,Z);
  206.             LinkVehicleToInterior(playerveh,interior);
  207.             format(string, sizeof(string), "An admin %s has teleported to your position",sendername);
  208.             SendClientMessage(CfgPlayer[playerid],COLOR_WHITE,string);
  209.             SendClientMessage(playerid, COLOR_YELLOW,"Teleport successful (Vehicle)");
  210.             printf("Dialog Admin Alert: %s has teleported to %s with a vehicle",sendername,receivername);
  211.             return 1;
  212.             }
  213.             SetPlayerPos(playerid, X+3,Y,Z);
  214.             SetPlayerInterior(playerid, interior);
  215.             format(string, sizeof(string), "An admin %s has teleported to your position",sendername);
  216.             SendClientMessage(CfgPlayer[playerid],COLOR_WHITE,string);
  217.             SendClientMessage(playerid, COLOR_YELLOW,"Teleport successful");
  218.             printf("Dialog Admin Alert: %s has teleported to %s",sendername,receivername);
  219.             }
  220.             case 9:
  221.             {
  222.             new Float:X,Float:Y,Float:Z;
  223.             GetPlayerPos(playerid,X,Y,Z);
  224.             new interior = GetPlayerInterior(playerid);
  225.  
  226.             if (IsPlayerInAnyVehicle(CfgPlayer[playerid])) {
  227.             new playerveh = GetPlayerVehicleID(CfgPlayer[playerid]);
  228.             SetVehiclePos(playerveh,X+3,Y,Z);
  229.             LinkVehicleToInterior(playerveh,interior);
  230.             format(string, sizeof(string), "An admin %s has teleported to your position",sendername);
  231.             SendClientMessage(CfgPlayer[playerid],COLOR_WHITE,string);
  232.             SendClientMessage(playerid, COLOR_YELLOW,"Teleport successful (Vehicle)");
  233.             printf("Dialog Admin Alert: %s has teleported %s to him with a vehicle",sendername,receivername);
  234.             return 1;
  235.             }
  236.             SetPlayerPos(CfgPlayer[playerid], X+3,Y,Z);
  237.             SetPlayerInterior(CfgPlayer[playerid], interior);
  238.             format(string, sizeof(string), "An admin %s has teleported you to his position",sendername);
  239.             SendClientMessage(CfgPlayer[playerid],COLOR_WHITE,string);
  240.             SendClientMessage(playerid, COLOR_YELLOW,"Teleport successful");
  241.             printf("Dialog Admin Alert: %s has teleported %s to him",sendername,receivername);
  242.             }
  243.             case 10:
  244.             {
  245.             new Float:X,Float:Y,Float:Z;
  246.             GetPlayerPos(CfgPlayer[playerid],X,Y,Z);
  247.             format(string, sizeof(string), "You have been exploded by an admin %s",sendername);
  248.             SendClientMessage(CfgPlayer[playerid],COLOR_WHITE,string);
  249.             SendClientMessage(playerid, COLOR_YELLOW,"Explode successful");
  250.             printf("Dialog Admin Alert: %s has exploded %s",sendername,receivername);
  251.             CreateExplosion(X,Y,Z,0,10.0);
  252.             }
  253.             case 11:
  254.             {
  255.             format(string, sizeof(string), "You have been healed by an admin %s",sendername);
  256.             SendClientMessage(CfgPlayer[playerid],COLOR_WHITE,string);
  257.             SendClientMessage(playerid, COLOR_YELLOW,"Heal successful");
  258.             printf("Dialog Admin Alert: %s has healed %s",sendername,receivername);
  259.             SetPlayerHealth(CfgPlayer[playerid],100);
  260.             }
  261.             case 12:
  262.             {
  263.             format(string, sizeof(string), "You have been armoured by an admin %s",sendername);
  264.             SendClientMessage(CfgPlayer[playerid],COLOR_WHITE,string);
  265.             SendClientMessage(playerid, COLOR_YELLOW,"Armour successful");
  266.             printf("Dialog Admin Alert: %s has armoured %s",sendername,receivername);
  267.             SetPlayerArmour(CfgPlayer[playerid],100);
  268.             }
  269.             case 13:
  270.             {
  271.             format(string, sizeof(string), "You have been ejected from your vehicle by an admin %s",sendername);
  272.             SendClientMessage(CfgPlayer[playerid],COLOR_WHITE,string);
  273.             SendClientMessage(playerid, COLOR_YELLOW,"Ejected successfully");
  274.             printf("Dialog Admin Alert: %s has ejected %s from his vehicle",sendername,receivername);
  275.             RemovePlayerFromVehicle(CfgPlayer[playerid]);
  276.             }
  277.             case 14:
  278.             {
  279.             format(string, sizeof(string), "Your weapons has been reseted by an admin %s",sendername);
  280.             SendClientMessage(CfgPlayer[playerid],COLOR_WHITE,string);
  281.             SendClientMessage(playerid, COLOR_YELLOW,"Weapons reseted successfully");
  282.             printf("Dialog Admin Alert: %s has reseted the weapons of %s",sendername,receivername);
  283.             ResetPlayerWeapons(CfgPlayer[playerid]);
  284.             }
  285.  
  286.         }
  287.     }
  288. return 1;
  289. }
  290.  
  291.  
  292. //Jakku's Dialog Admin System || Copyright(C) 2010
  293. //Do not remove the credits
  294. //Do NOT claim this as your own
  295. /*
  296.     ||  |-----| |  /  |   /  |    |
  297.     ||  |     | |/    | /    |    |
  298.     ||  |-----| |\    |\     |    |
  299. ----||  |     | | \   |  \   |----|
  300. */
Advertisement
Add Comment
Please, Sign In to add comment