gta6287

[Updated]Login/Register

Jun 18th, 2012
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 28.69 KB | None | 0 0
  1. #define FILTERSCRIPT
  2. #include <a_samp>
  3. #include <YSI\y_ini>
  4. #include <zcmd>
  5. #include <sscanf2>
  6. #include <foreach>
  7. #define upath "cStunting/Accounts/%s.ini"
  8. #define green 0x00FF00C8
  9. #define red 0xFF0000C8
  10. #define kickban 0x00FFFFC8
  11. #define COLOR_YELLOW 0xFFFF00C8
  12. #define dlogin 796
  13. #define dregister 467
  14. #define acmds 567
  15. #define chat 0xFF8040C8
  16. new PlayerIP[MAX_PLAYERS][16];
  17. new freeze[MAX_PLAYERS];
  18. new jail[MAX_PLAYERS];
  19. new spectate[MAX_PLAYERS];
  20. new muted[MAX_PLAYERS];
  21. native WP_Hash(buffer[],len,const str[]);
  22. enum PlayerInfo
  23. {
  24.     Pass[129],
  25.     Adminlvl,
  26.     VIP,
  27.     Cash,
  28.     Scores,
  29.     Kills,
  30.     Deaths
  31. }
  32. new pInfo[MAX_PLAYERS][PlayerInfo];
  33.  
  34. stock Path(playerid)
  35. {
  36.     new str[128],name[MAX_PLAYER_NAME];
  37.     GetPlayerName(playerid,name,sizeof(name));
  38.     format(str,sizeof(str),upath,name);
  39.     return str;
  40. }
  41.  
  42. forward loadaccount_data(playerid,name[],value[]);
  43. public loadaccount_data(playerid,name[],value[])
  44. {
  45.     INI_String("Password", pInfo[playerid][Pass],129);
  46.     INI_Int("AdminLevel",pInfo[playerid][Adminlvl]);
  47.     INI_Int("VIPLevel",pInfo[playerid][VIP]);
  48.     INI_Int("Cash",pInfo[playerid][Cash]);
  49.     INI_Int("Scores",pInfo[playerid][Scores]);
  50.     INI_Int("Kills",pInfo[playerid][Kills]);
  51.     INI_Int("Deaths",pInfo[playerid][Deaths]);
  52.     return 1;
  53. }
  54.  
  55.  
  56. #if defined FILTERSCRIPT
  57.  
  58. public OnFilterScriptInit()
  59. {
  60.     print("\n--------------------------------------");
  61.     print(" Registration loaded");
  62.     print("--------------------------------------\n");
  63.     return 1;
  64. }
  65.  
  66. public OnFilterScriptExit()
  67. {
  68.     return 1;
  69. }
  70.  
  71. #else
  72.  
  73. main()
  74. {
  75.     print("\n----------------------------------");
  76.     print(" Blank Gamemode by your name here");
  77.     print("----------------------------------\n");
  78. }
  79.  
  80. #endif
  81.  
  82.  
  83. public OnPlayerConnect(playerid)
  84. {
  85.     new str[200], name[MAX_PLAYER_NAME];
  86.     GetPlayerName(playerid,name,sizeof(name));
  87.     if(fexist(Path(playerid)))
  88.     {
  89.         INI_ParseFile(Path(playerid),"loadaccount_data", .bExtra = true, .extra = playerid);
  90.         format(str,sizeof(str),"{80FF00}Welcome to {80FFFF}Carbon Stunting {80FF00}Server \n{80FF00}Name: {FF0000}%s \n{80FF00}This account is registered. Please enter your password to login.",name);
  91.         ShowPlayerDialog(playerid,dlogin,DIALOG_STYLE_INPUT,"{0080FF}Login",str,"Login","Quit");
  92.     }
  93.     else
  94.     {
  95.         format(str,sizeof(str),"{80FF00}Welcome to {80FFFF}Carbon Stunting {80FF00}server. \n{80FF00}Name: {FF0000}%s \n{80FF00}This account is not registered. Please register by entering your own password below",name);
  96.         ShowPlayerDialog(playerid,dregister,DIALOG_STYLE_INPUT,"{0080FF}Register",str,"Register","Quit");
  97.     }
  98.     return 1;
  99. }
  100.  
  101. public OnPlayerDisconnect(playerid, reason)
  102. {
  103.     if(fexist(Path(playerid)))
  104.     {
  105.         new INI:file = INI_Open(Path(playerid));
  106.         INI_SetTag(file,"Data");
  107.         INI_WriteInt(file,"AdminLevel",pInfo[playerid][Adminlvl]);
  108.         INI_WriteInt(file,"VIPLevel",pInfo[playerid][VIP]);
  109.         INI_WriteInt(file,"Cash",GetPlayerMoney(playerid));
  110.         INI_WriteInt(file,"Scores",GetPlayerScore(playerid));
  111.         INI_WriteInt(file,"Kills",pInfo[playerid][Kills]);
  112.         INI_WriteInt(file,"Deaths",pInfo[playerid][Deaths]);
  113.         INI_Close(file);
  114.         return 1;
  115.     }
  116.     return 1;
  117. }
  118.  
  119.  
  120. public OnPlayerDeath(playerid, killerid, reason)
  121. {
  122.     pInfo[killerid][Kills]++;
  123.     pInfo[playerid][Deaths]++;
  124.     return 1;
  125. }
  126.  
  127.  
  128.  
  129. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  130. {
  131.     switch(dialogid)
  132.     {
  133.         case dregister:
  134.         {
  135.             if(!response) return Kick(playerid);
  136.             if(response)
  137.             {
  138.                 new hpass[129],name[MAX_PLAYER_NAME],str[50];
  139.                 WP_Hash(hpass,sizeof(hpass),inputtext);
  140.                 new INI:file = INI_Open(Path(playerid));
  141.                 INI_SetTag(file,"Data");
  142.                 INI_WriteString(file,"Password",hpass);
  143.                 GetPlayerIp(playerid,PlayerIP[playerid],16);
  144.                 INI_WriteString(file,"IP",PlayerIP[playerid]);
  145.                 INI_WriteInt(file,"AdminLevel",0);
  146.                 INI_WriteInt(file,"VIP",0);
  147.                 INI_WriteInt(file,"Cash",0);
  148.                 INI_WriteInt(file,"Scores",0);
  149.                 INI_WriteInt(file,"Kills",0);
  150.                 INI_WriteInt(file,"Deaths",0);
  151.                 INI_Close(file);
  152.                 GetPlayerName(playerid,name,sizeof(name));
  153.                 SendClientMessage(playerid,green,"You have been successfully registered!");
  154.                 format(str,sizeof(str),"{FF8000}Name: {00FF00}%s",name);
  155.                 SendClientMessage(playerid,-1,str);
  156.                 format(str,sizeof(str),"{FF8000}Password: {00FF00}%s",inputtext);
  157.                 SendClientMessage(playerid,-1,str);
  158.                 if(!strlen(inputtext))
  159.                 {
  160.                     GetPlayerName(playerid,name,sizeof(name));
  161.                     format(str,sizeof(str),"{80FF00}Welcome to {80FFFF}Carbon Stunting {80FF00}server. \n{80FF00}Name: {FF0000}%s \n{80FF00}This account is not registered. Please register by entering your own password below. \n{FF0000}Please enter the password to register!",name);
  162.                     ShowPlayerDialog(playerid,dregister,DIALOG_STYLE_INPUT,"{0080FF}Register",str,"Register","Quit");
  163.                     return 1;
  164.                 }
  165.  
  166.             }
  167.             return 1;
  168.         }
  169.         case dlogin:
  170.         {
  171.             if(!response) return Kick(playerid);
  172.             if(response)
  173.             {
  174.                 new hpass[129];
  175.                 WP_Hash(hpass,sizeof(hpass),inputtext);
  176.                 if(!strcmp(hpass,pInfo[playerid][Pass]))
  177.                 {
  178.                     INI_ParseFile(Path(playerid),"loadaccount_data",.bExtra = true, .extra = playerid);
  179.                     SetPlayerScore(playerid,pInfo[playerid][Scores]);
  180.                     GivePlayerMoney(playerid,pInfo[playerid][Cash]);
  181.                     SendClientMessage(playerid,green,"Welcome back! You have successfully logged in");
  182.                 }
  183.                 else
  184.                 {
  185.                     new name[MAX_PLAYER_NAME],str[200];
  186.                     GetPlayerName(playerid,name,sizeof(name));
  187.                     format(str,sizeof(str),"{80FF00}Welcome to {80FFFF}Carbon Stunting {80FF00}Server \n{80FF00}Name: {FF0000}%s \n{80FF00}This account is registered. Please enter your password to login. \n{FF0000}Incorrect password!",name);
  188.                     ShowPlayerDialog(playerid,dlogin,DIALOG_STYLE_INPUT,"{0080FF}Login",str,"Login","Quit");
  189.                     SendClientMessage(playerid,green,"You have successfully logged in !");
  190.                     return 1;
  191.                 }
  192.             }
  193.             return 1;
  194.         }
  195.     }
  196.     return 1;
  197. }
  198.  
  199. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  200. {
  201.     if(GetPlayerVehicleID(playerid) == 520)
  202.     {
  203.         if(pInfo[playerid][VIP] == 0)
  204.         {
  205.             new Float:x,Float:y,Float:z;
  206.             GetPlayerPos(playerid,x,y,z);
  207.             SetPlayerPos(playerid,x,y,z);
  208.             SendClientMessage(playerid,red,"[ERROR] You must be VIP to use this vehicle");
  209.         }
  210.         return 1;
  211.     }
  212.     return 1;
  213. }
  214.  
  215. public OnPlayerText(playerid, text[])
  216. {
  217.     if(text[0] == '#')
  218.     {
  219.         if(pInfo[playerid][Adminlvl] >=1)
  220.         {
  221.             foreach(Player,i)
  222.             {
  223.                 new str[128],name[MAX_PLAYER_NAME];
  224.                 GetPlayerName(playerid,name,sizeof(name));
  225.                 format(str,sizeof(str),"[ADMIN CHAT] %s(%d):%s",name,playerid,text[1]);
  226.                 SendClientMessage(playerid,chat,str);
  227.                 return 0;
  228.             }
  229.         }
  230.     }
  231.     if(muted[playerid] == 1)
  232.     {
  233.         SendClientMessage(playerid,red,"You are muted, so you can't chat!");
  234.         return 0;
  235.     }
  236.     return 1;
  237. }
  238.  
  239. public OnPlayerSpawn(playerid)
  240. {
  241.     GivePlayerMoney(playerid,pInfo[playerid][Cash]);
  242.     SetPlayerScore(playerid,pInfo[playerid][Scores]);
  243.     if(jail[playerid] ==1)
  244.     {
  245.         SetPlayerPos(playerid, 264.4176, 77.8930, 1001.0391);
  246.         SetPlayerInterior(playerid,6);
  247.         SetPlayerVirtualWorld(playerid,100);
  248.         return 1;
  249.     }
  250.     return 1;
  251. }
  252.  
  253. public OnPlayerUpdate(playerid)
  254. {
  255.     new weaps = GetPlayerWeapon(playerid);
  256.     new str[128],name[MAX_PLAYER_NAME];
  257.     if(weaps == 35 || weaps == 36 || weaps == 37 || weaps == 38 || weaps == 39)
  258.     {
  259.         GetPlayerName(playerid,name,sizeof(name));
  260.         format(str,sizeof(str),"* %s(%d) has been kicked from the server (Reason: Weapon Cheat)",name,playerid);
  261.         SendClientMessageToAll(kickban,str);
  262.         Kick(playerid);
  263.         return 1;
  264.     }
  265.     return 1;
  266. }
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275. //=============== COMMANDS
  276.  
  277. CMD:acmds(playerid,params[])
  278. {
  279.     if(pInfo[playerid][Adminlvl] >= 1)
  280.     {
  281.         new str[1600];
  282.         strcat(str,"{00FF00}Junior Mod [Level 1] \n");
  283.         strcat(str,"{FFFF80}/Slap - Set player's position above 10 meter from the ground \n");
  284.         strcat(str,"{FFFF80}/Sethealth - Set player's health to 100 \n");
  285.         strcat(str,"{FFFF80}/Setarmour - Set player's armour to 100 \n");
  286.         strcat(str,"{FFFF80}/Akill - Set player's health to 0 (kill them) \n");
  287.         strcat(str,"{FFFF80}/Spec - Spectate another player \n");
  288.         strcat(str,"{FFFF80}/Unspec - Exit Spectate mode \n");
  289.         strcat(str,"{FFFF80}/Mute - Mute player so they can't chat \n");
  290.         strcat(str,"{FFFF80}/Unmute - Unmute a player so the can chat again \n");
  291.         strcat(str,"{FFFF80}/Ann - Make an announcement \n");
  292.         strcat(str,"{FFFF80}/Jail - Put player in jail \n");
  293.         strcat(str,"{FFFF80}/Unjail - Unjail player \n");
  294.         strcat(str,"{FFFF80}/Abase - Go to Admin Base \n");
  295.         strcat(str,"{FFFF80}/Agateo - To Open the Admin Base Gate \n");
  296.         strcat(str,"{FFFF80}/Agatec - To close the Admin Base Gate \n\n");
  297.         strcat(str,"{00FF00}Moderator [Level 2] \n");
  298.         strcat(str,"{FFFF80}All level 1 commands\n");
  299.         strcat(str,"{FFFF80}/Explode - Explode other player \n");
  300.         strcat(str,"{FFFF80}/Freeze - Freeze other player \n");
  301.         strcat(str,"{FFFF80}/Unfreeze - Unfreeze freezed player \n");
  302.         strcat(str,"{FFFF80}/Kick - Kick a player from server \n\n");
  303.         strcat(str,"{00FF00}Administrator [Level 3] \n");
  304.         strcat(str,"{FFFF80}All level 1 and 2 commands \n");
  305.         strcat(str,"{FFFF80}/Ban - Ban a player from server \n\n");
  306.         strcat(str,"{00FF00}Head Admin [Level 4] \n");
  307.         strcat(str,"{FFFF80}/Healall - Set all player's health to 100 \n");
  308.         strcat(str,"{FFFF80}/Armourall - Set all player's armour to 100 \n");
  309.         strcat(str,"{FFFF80}/Setweather - Set all player's weather \n");
  310.         strcat(str,"{FFFF80}/Settime - Set all player's time \n");
  311.         strcat(str,"{00FF00}Owner [Level 5] \n\n");
  312.         strcat(str,"{FFFF80}All commands \n");
  313.         strcat(str,"{FFFF80}/Setlevel - Set admin's level \n");
  314.         strcat(str,"{FFFF80}/Setvip - Make someone as a VIP \n");
  315.         strcat(str,"{FFFF80}/Demotevip - Make a VIP as a normal player \n");
  316.         strcat(str,"{FFFF80}/Restart - Restart the server \n");
  317.         strcat(str,"{FFFF80}/Exit - Close down the server \n\n");
  318.         strcat(str,"{FF8000}NOTE: Put #[text] to use admin chat");
  319.         ShowPlayerDialog(playerid,acmds,DIALOG_STYLE_MSGBOX,"Admin Commands",str,"Ok","");
  320.         return 1;
  321.     }
  322.     return 1;
  323. }
  324.  
  325. CMD:vweapons(playerid,params[])
  326. {
  327.     if(pInfo[playerid][VIP] == 1)
  328.     {
  329.         GivePlayerWeapon(playerid,30,500);
  330.         GivePlayerWeapon(playerid,16,500);
  331.         GivePlayerWeapon(playerid,10,500);
  332.         SendClientMessage(playerid,green,"You have spawn VIP Weapons !");
  333.     }
  334.     return 1;
  335. }
  336.  
  337. CMD:abase(playerid,params[])
  338. {
  339.     if(pInfo[playerid][VIP] == 1)
  340.     {
  341.         SetPlayerPos(playerid, 2864.3562,1817.7245,10.8280);
  342.         SetPlayerFacingAngle(playerid, 359.9784);
  343.         SendClientMessage(playerid,green,"You have teleported to Admin Base !");
  344.     }
  345.     return 1;
  346. }
  347.  
  348. CMD:vplane(playerid,params[])
  349. {
  350.     new Float:x,Float:y,Float:z,Float:a;
  351.     if(pInfo[playerid][VIP] == 1)
  352.     {
  353.         GetPlayerPos(playerid,x,y,z);
  354.         GetPlayerFacingAngle(playerid,a);
  355.         new veh = CreateVehicle(520,x,y,z,a,-1,-1,-1);
  356.         PutPlayerInVehicle(playerid,veh,0);
  357.         SendClientMessage(playerid,green,"You have teleported VIP Plane !");
  358.     }
  359.     return 1;
  360. }
  361.  
  362. CMD:vcar(playerid,params[])
  363. {
  364.     new Float:x,Float:y,Float:z,Float:a;
  365.     if(pInfo[playerid][VIP] == 1)
  366.     {
  367.         GetPlayerPos(playerid,x,y,z);
  368.         GetPlayerFacingAngle(playerid,a);
  369.         new veh = CreateVehicle(411,x,y,z,a,-1,-1,-1);
  370.         PutPlayerInVehicle(playerid,veh,0);
  371.         SendClientMessage(playerid,green,"You have teleported VIP Car !");
  372.     }
  373.     return 1;
  374. }
  375.  
  376.  
  377. CMD:vheal(playerid,params[])
  378. {
  379.     if(pInfo[playerid][VIP] == 1)
  380.     {
  381.         SetPlayerHealth(playerid,100);
  382.         SendClientMessage(playerid,green,"You have Healed Yourself !");
  383.     }
  384.     return 1;
  385. }
  386.  
  387.  
  388. CMD:settime(playerid,params[])
  389. {
  390.     new hour;
  391.     if(pInfo[playerid][Adminlvl] >= 4)
  392.     {
  393.         if(sscanf(params,"i",hour)) return SendClientMessage(playerid,red,"[USAGE] /settime [0 - 24]");
  394.         if(hour > 24 || hour < 0) return SendClientMessage(playerid,red,"[ERROR] 0 - 24 only!");
  395.         SetWorldTime(hour);
  396.         return 1;
  397.     }
  398.     return 1;
  399. }
  400.  
  401. CMD:report(playerid,params[])
  402. {
  403.     new reportedid, reporter[MAX_PLAYER_NAME],reportedname[MAX_PLAYER_NAME],str1[128],str2[128], reason[128];
  404.     if(sscanf(params,"us[128]",reportedid,reason)) return SendClientMessage(playerid,red,"[USAGE] /Report [ID] [Reason]");
  405.     if(reportedid == playerid) return SendClientMessage(playerid,red,"You can't report yourself!");
  406.     if(reportedid == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"Player is not online!");
  407.     else{
  408.     GetPlayerName(playerid,reporter,sizeof(reporter));
  409.     GetPlayerName(reportedid,reportedname,sizeof(reportedname));
  410.     format(str1,sizeof(str1),"* %s(%d) has reported %s(%d) (Reason: %s)",reporter,playerid,reportedname,reportedid,reason);
  411.     format(str2,sizeof(str2),"* You have reported %s(%d) (Reason: %s)",reportedname,reportedid,reason);
  412.     SendClientMessage(playerid,COLOR_YELLOW,str2);
  413.     for(new i = 0; i < MAX_PLAYERS; i++)
  414.     {
  415.         if(pInfo[i][Adminlvl] >= 1){
  416.         SendClientMessage(i,red,str1);
  417.         return 1;}
  418.     }}
  419.     return 1;
  420. }
  421.  
  422. CMD:setweather(playerid,params[])
  423. {
  424.     new weatherid;
  425.     if(pInfo[playerid][Adminlvl] >= 4)
  426.     {
  427.         if(sscanf(params,"i",weatherid)) return SendClientMessage(playerid,red,"[USAGE] /setWeather [weather id]");
  428.         if(weatherid > 2009 || weatherid < 0) return SendClientMessage(playerid,red,"[ERROR] 0 - 2009 only!");
  429.         SetWeather(weatherid);
  430.         return 1;
  431.     }
  432.     return 1;
  433. }
  434.  
  435. CMD:setarmour(playerid,params[])
  436. {
  437.     new healid,str[128],healname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME];
  438.     GetPlayerName(healid,healname,sizeof(healname));
  439.     if(pInfo[playerid][Adminlvl] >= 1)
  440.     {
  441.         if(sscanf(params,"i",healid)) return SendClientMessage(playerid,red,"[USAGE] /sethealth [ID]");
  442.         if(healid == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"[USAGE]* Player is not online!");
  443.         SetPlayerArmour(healid,100);
  444.         format(str,sizeof(str),"* You have set %s's armour to 100",healname);
  445.         SendClientMessage(playerid,green,str);
  446.         format(str,sizeof(str),"* Admin %s has set your armour to 100",name);
  447.         SendClientMessage(healid,green,str);
  448.     }
  449.     return 1;
  450. }
  451.  
  452.  
  453. CMD:sethealth(playerid,params[])
  454. {
  455.     new healid,str[128],healname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME];
  456.     GetPlayerName(healid,healname,sizeof(healname));
  457.     GetPlayerName(playerid,name,sizeof(name));
  458.     if(pInfo[playerid][Adminlvl] >= 1)
  459.     {
  460.         if(sscanf(params,"i",healid)) return SendClientMessage(playerid,red,"[USAGE] /sethealth [ID]");
  461.         if(healid == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"[USAGE]* Player is not online!");
  462.         SetPlayerHealth(healid,100);
  463.         format(str,sizeof(str),"* You have set %s's health to 100",healname);
  464.         SendClientMessage(playerid,green,str);
  465.         format(str,sizeof(str),"* Admin %s has set your health to 100",name);
  466.         SendClientMessage(healid,green,str);
  467.     }
  468.     return 1;
  469. }
  470.  
  471. CMD:slap(playerid,params[])
  472. {
  473.     new sid, str[128], sname[MAX_PLAYER_NAME], Float:x,Float:y,Float:z;
  474.     if(pInfo[playerid][Adminlvl] >= 1)
  475.     {
  476.         if(sscanf(params,"d",sid)) return SendClientMessage(playerid,red,"[USAGE] /Slap [ID]");
  477.         if(!IsPlayerConnected(sid)) return SendClientMessage(playerid,red,"Player is not online");
  478.         GetPlayerName(sid,sname,sizeof(sname));
  479.         GetPlayerPos(sid,x,y,z);
  480.         SetPlayerPos(sid,x,y,z+10);
  481.         format(str,sizeof(str),"You have slapped %s(%d)",sname,sid);
  482.         SendClientMessage(playerid,red,str);
  483.         return 1;
  484.     }
  485.     return 1;
  486. }
  487.  
  488. CMD:ann(playerid,params[])
  489. {
  490.     if(pInfo[playerid][Adminlvl] >= 1)
  491.     {
  492.         new str[128],msg[128];
  493.         if(sscanf(params,"s[128]",msg)) return SendClientMessage(playerid,red,"[USAGE] /ann [message]");
  494.         format(str,sizeof(str),"~r~%s",msg);
  495.         foreach(Player,i)
  496.         {
  497.             GameTextForPlayer(i,str,3000,5);
  498.         }
  499.     }
  500.     return 1;
  501. }
  502.  
  503. CMD:kick(playerid,params[])
  504. {
  505.     if(pInfo[playerid][Adminlvl] >= 2)
  506.     {
  507.         new kid,kname[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME],str[128], reason[128];
  508.         if(sscanf(params,"us[128]",kid,reason)) return SendClientMessage(playerid,red,"[USAGE] /Kick [ID] [Reason]");
  509.         if(kid == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"Player is not online!");
  510.         GetPlayerName(kid,kname,sizeof(kname));
  511.         GetPlayerName(playerid,pname,sizeof(pname));
  512.         format(str,sizeof(str),"`` Admin %s has kicked %s(%d) (Reason: %s)",pname,kname,kid,reason);
  513.         SendClientMessageToAll(kickban,str);
  514.         Kick(kid);
  515.     }
  516.     return 1;
  517. }
  518.  
  519. CMD:ban(playerid,params[])
  520. {
  521.     if(pInfo[playerid][Adminlvl] >= 3)
  522.     {
  523.         new kid,kname[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME],str[128], reason[128];
  524.         if(sscanf(params,"us[128]",kid,reason)) return SendClientMessage(playerid,red,"[USAGE] /Ban [ID] [Reason]");
  525.         if(kid == playerid) return SendClientMessage(playerid,red,"You can't ban yourself!");
  526.         if(kid == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"Player is not online!");
  527.         GetPlayerName(kid,kname,sizeof(kname));
  528.         GetPlayerName(playerid,pname,sizeof(pname));
  529.         format(str,sizeof(str),"`` Admin %s has banned %s(%d) (Reason: %s)",pname,kname,kid,reason);
  530.         SendClientMessageToAll(kickban,str);
  531.         Ban(kid);
  532.     }
  533.     return 1;
  534. }
  535.  
  536. CMD:explode(playerid,params[])
  537. {
  538.     if(pInfo[playerid][Adminlvl] >= 2)
  539.     {
  540.         new eid, ename[MAX_PLAYER_NAME], str[128], Float:x,Float:y,Float:z;
  541.         if(sscanf(params,"u",eid)) return SendClientMessage(playerid,red,"[USAGE] /Explode [ID]");
  542.         if(eid == playerid) return SendClientMessage(playerid,red,"You can't explode yourself!");
  543.         if(eid == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"Player is not online!");
  544.         GetPlayerPos(eid,x,y,z);
  545.         CreateExplosion(x,y,z,8,5);
  546.         GetPlayerName(eid,ename,sizeof(ename));
  547.         format(str,sizeof(str),"You have exploded %s(%d)",ename,eid);
  548.         SendClientMessage(playerid,red,str);
  549.     }
  550.     return 1;
  551. }
  552.  
  553. CMD:akill(playerid,params[])
  554. {
  555.     if(pInfo[playerid][Adminlvl] >= 1)
  556.     {
  557.         new str[128], kid, kname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME];
  558.         if(sscanf(params,"d",kid)) return SendClientMessage(playerid,red,"[USAGE] /Akill [ID]");
  559.         if(kid == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"Player is not online!");
  560.         if(kid == playerid) return SendClientMessage(playerid,red,"You can't akill yourself, use /kill instead");
  561.         GetPlayerName(kid,kname,sizeof(kname));
  562.         GetPlayerName(playerid,name,sizeof(name));
  563.         format(str,sizeof(str),"`` Admin %s has killed %s(%d)",name,kname,kid);
  564.         SendClientMessageToAll(kickban,str);
  565.         SetPlayerHealth(kid,0);
  566.     }
  567.     return 1;
  568. }
  569.  
  570. CMD:restart(playerid,params[])
  571. {
  572.     if(pInfo[playerid][Adminlvl] >= 5)
  573.     {
  574.         new name[MAX_PLAYER_NAME],str[128];
  575.         GetPlayerName(playerid,name,sizeof(name));
  576.         format(str,sizeof(str),"~r~Admin %s has restarted the server!",name);
  577.         GameTextForAll(str,10000,5);
  578.         SendRconCommand("gmx");
  579.     }
  580.     return 1;
  581. }
  582.  
  583. CMD:freeze(playerid,params[])
  584. {
  585.     if(pInfo[playerid][Adminlvl] >= 2)
  586.     {
  587.         new fid,fname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME],str[128];
  588.         if(sscanf(params,"u",fid)) return SendClientMessage(playerid,red,"[USAGE] /Freeze [ID]");
  589.         if(fid == playerid) return SendClientMessage(playerid,red,"You can't freeze yourself!");
  590.         if(fid == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"Player is not online!");
  591.         if(freeze[fid] == 1)
  592.         {
  593.             SendClientMessage(playerid,red,"Player is already freezed!");
  594.             return 1;
  595.         }
  596.         GetPlayerName(playerid,name,sizeof(name));
  597.         GetPlayerName(fid,fname,sizeof(fname));
  598.         format(str,sizeof(str),"`` Admin %s has freezed %s(%d)",name,fname,fid);
  599.         SendClientMessageToAll(kickban,str);
  600.         TogglePlayerControllable(fid,0);
  601.         freeze[playerid] = 1;
  602.     }
  603.     return 1;
  604. }
  605.  
  606. CMD:unfreeze(playerid,params[])
  607. {
  608.     if(pInfo[playerid][Adminlvl] >= 2)
  609.     {
  610.         new fid,fname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME],str[128];
  611.         if(sscanf(params,"u",fid)) return SendClientMessage(playerid,red,"[USAGE] /unfreeze [ID]");
  612.         if(fid == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"Player is not online!");
  613.         if(freeze[playerid] == 0)
  614.         {
  615.             SendClientMessage(playerid,red,"Player is not freezed!");
  616.             return 1;
  617.         }
  618.         GetPlayerName(playerid,name,sizeof(name));
  619.         GetPlayerName(fid,fname,sizeof(fname));
  620.         format(str,sizeof(str),"`` Admin %s has unfreezed %s(%d)",name,fname,fid);
  621.         SendClientMessageToAll(kickban,str);
  622.         TogglePlayerControllable(fid,1);
  623.         freeze[playerid] = 0;
  624.     }
  625.     return 1;
  626. }
  627.  
  628. CMD:jail(playerid,params[])
  629. {
  630.     new jid, jname[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], str[128], reason[128];
  631.     if(pInfo[playerid][Adminlvl] >= 1)
  632.     {
  633.         if(sscanf(params,"us[128]",jid,reason)) return SendClientMessage(playerid,red,"[USAGE] /Jail [ID] [Reason]");
  634.         if(jid == playerid) return SendClientMessage(playerid,red,"You can't jail yourself!");
  635.         if(jid == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"Player is not online!");
  636.         if(jail[jid] == 1)
  637.         {
  638.             SendClientMessage(playerid,red,"Player is already jailed!");
  639.             return 1;
  640.         }
  641.         GetPlayerName(playerid,name,sizeof(name));
  642.         GetPlayerName(jid,jname,sizeof(jname));
  643.         format(str,sizeof(str),"`` Admin %s has jailed %s(%d) (Reason: %s)",name,jname,jid,reason);
  644.         SendClientMessageToAll(kickban,str);
  645.         SetPlayerHealth(playerid,0);
  646.         SetPlayerPos(jid, 264.4176, 77.8930, 1001.0391);
  647.         SetPlayerFacingAngle(jid,177.3992);
  648.         SetPlayerInterior(playerid, 6);
  649.         SetPlayerVirtualWorld(jid,100);
  650.         jail[jid] = 1;
  651.     }
  652.     return 1;
  653. }
  654.  
  655. CMD:unjail(playerid,params[])
  656. {
  657.     new jid, jname[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], str[128];
  658.     if(pInfo[playerid][Adminlvl] >= 1)
  659.     {
  660.         if(sscanf(params,"u",jid)) return SendClientMessage(playerid,red,"[USAGE] /unjail [ID]");
  661.         if(jid == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"Player is not online!");
  662.         if(jail[jid] == 0)
  663.         {
  664.             SendClientMessage(playerid,red,"Player is not jailed!");
  665.             return 1;
  666.         }
  667.         GetPlayerName(playerid,name,sizeof(name));
  668.         GetPlayerName(jid,jname,sizeof(jname));
  669.         format(str,sizeof(str),"`` Admin %s has unjailed %s(%d)",name,jname,jid);
  670.         SendClientMessageToAll(kickban,str);
  671.         SetPlayerHealth(jid,0);
  672.         SetPlayerVirtualWorld(jid,0);
  673.         jail[jid] = 0;
  674.     }
  675.     return 1;
  676. }
  677.  
  678. CMD:healall(playerid,params[])
  679. {
  680.     new str[128], name[MAX_PLAYER_NAME];
  681.     if(pInfo[playerid][Adminlvl] >= 4)
  682.     {
  683.         foreach(Player, i)
  684.         {
  685.             SetPlayerHealth(i,100);
  686.             GetPlayerName(playerid,name,sizeof(name));
  687.             format(str,sizeof(str),"`` Admin %s has healed all the players",name);
  688.             SendClientMessage(i,kickban,str);
  689.         }
  690.     }
  691.     return 1;
  692.  
  693. }
  694.  
  695. CMD:armourall(playerid,params[])
  696. {
  697.     new str[128], name[MAX_PLAYER_NAME];
  698.     if(pInfo[playerid][Adminlvl] >= 4)
  699.     {
  700.         foreach(Player, i)
  701.         {
  702.             SetPlayerArmour(i,100);
  703.             GetPlayerName(playerid,name,sizeof(name));
  704.             format(str,sizeof(str),"`` Admin %s has given an armour to all players",name);
  705.             SendClientMessage(i,kickban,str);
  706.         }
  707.     }
  708.     return 1;
  709.  
  710. }
  711.  
  712. CMD:get(playerid,params[])
  713. {
  714.     if(pInfo[playerid][Adminlvl] >= 3)
  715.     {
  716.         new gid, gname[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], str[128],str1[128], Float:x,Float:y,Float:z;
  717.         if(sscanf(params,"u",gid)) return SendClientMessage(playerid,red,"[USAGE] /Get [ID]");
  718.         if(gid == playerid) return 1;
  719.         if(gid == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"Player is not online");
  720.         if(jail[gid] == 1)
  721.         {
  722.             SendClientMessage(playerid,red,"Player is jailed!");
  723.             return 1;
  724.         }
  725.         GetPlayerPos(playerid,x,y,z);
  726.         SetPlayerPos(gid,x+1,y,z+1);
  727.         GetPlayerName(gid,gname,sizeof(gname));
  728.         GetPlayerName(playerid,name,sizeof(name));
  729.         format(str,sizeof(str),"`` Admin %s has teleported you to his/her position",name);
  730.         format(str1,sizeof(str1),"You have teleported %s(%d) to your location",gname,gid);
  731.         SendClientMessage(gid,COLOR_YELLOW,str);
  732.         SendClientMessage(playerid,COLOR_YELLOW,str1);
  733.         return 1;
  734.     }
  735.     return 1;
  736. }
  737.  
  738. CMD:spec(playerid,params[])
  739. {
  740.     new sid, sname[MAX_PLAYER_NAME],str[128];
  741.     if(pInfo[playerid][Adminlvl] >= 1)
  742.     {
  743.         if(sscanf(params,"u",sid)) return SendClientMessage(playerid,red,"[USAGE] /Spec [ID]");
  744.         if(sid == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"Player is not online!");
  745.         if(sid == playerid) return SendClientMessage(playerid,red, "You can't spectate yourself!");
  746.         if(spectate[playerid] == 1)
  747.         {
  748.             SendClientMessage(playerid,red,"You have already spectate someone");
  749.             return 1;
  750.         }
  751.         if(GetPlayerState(sid) == PLAYER_STATE_DRIVER || PLAYER_STATE_PASSENGER)
  752.         {
  753.             TogglePlayerSpectating(playerid,1);
  754.             PlayerSpectateVehicle(playerid,GetPlayerVehicleID(sid));
  755.             GetPlayerVirtualWorld(sid);
  756.             GetPlayerName(sid,sname,sizeof(sname));
  757.             format(str,sizeof(str),"You are now spectating %s(%d)",sname,sid);
  758.             SendClientMessage(playerid,COLOR_YELLOW,str);
  759.             spectate[playerid] = 1;
  760.         }
  761.         else if(GetPlayerState(sid) == PLAYER_STATE_ONFOOT)
  762.         {
  763.             TogglePlayerSpectating(playerid,1);
  764.             PlayerSpectatePlayer(playerid,sid);
  765.             GetPlayerVirtualWorld(sid);
  766.             GetPlayerName(sid,sname,sizeof(sname));
  767.             format(str,sizeof(str),"You are now spectating %s(%d)",sname,sid);
  768.             SendClientMessage(playerid,COLOR_YELLOW,str);
  769.             spectate[playerid] = 1;
  770.         }
  771.         return 1;
  772.     }
  773.     return 1;
  774. }
  775.  
  776. CMD:unspec(playerid,params[])
  777. {
  778.     if(pInfo[playerid][Adminlvl] >= 1)
  779.     {
  780.         TogglePlayerSpectating(playerid,0);
  781.         spectate[playerid] = 0;
  782.         return 1;
  783.     }
  784.     return 1;
  785. }
  786.  
  787. CMD:exit(playerid,params[])
  788. {
  789.     new name[MAX_PLAYER_NAME], str[128];
  790.     if(pInfo[playerid][Adminlvl] >= 5)
  791.     {
  792.         GetPlayerName(playerid,name,sizeof(name));
  793.         format(str,sizeof(str),"~r~Admin %s ~n~has closed down the server",name);
  794.         GameTextForAll(str,30000,5);
  795.         SendRconCommand("exit");
  796.         return 1;
  797.     }
  798.     return 1;
  799. }
  800.  
  801. CMD:mute(playerid,params[])
  802. {
  803.     new mid,mname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME], str[128],reason[128];
  804.     if(pInfo[playerid][Adminlvl] >= 1)
  805.     {
  806.         if(sscanf(params,"us[128]",mid,reason)) return SendClientMessage(playerid,red,"[USAGE] /Mute [ID] [Reason]");
  807.         if(mid == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"Player is not online!");
  808.         if(muted[mid] == 1)
  809.         {
  810.             SendClientMessage(playerid,red,"Player is already muted!");
  811.             return 1;
  812.         }
  813.         GetPlayerName(mid,mname,sizeof(mname));
  814.         GetPlayerName(playerid,name,sizeof(name));
  815.         format(str,sizeof(str),"`` Admin %s has muted %s(%d) (Reason: %s)",name,mname,mid,reason);
  816.         SendClientMessageToAll(kickban,str);
  817.         muted[mid] = 1;
  818.     }
  819.     return 1;
  820. }
  821.  
  822. CMD:unmute(playerid,params[])
  823. {
  824.     new mid, str[128], mname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME];
  825.     if(pInfo[playerid][Adminlvl] >= 1)
  826.     {
  827.         if(sscanf(params,"u",mid)) return SendClientMessage(playerid,red,"[USAGE] /Unmute [ID]");
  828.         if(mid == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"Player is not online!");
  829.         if(muted[mid] == 0)
  830.         {
  831.             SendClientMessage(playerid,red,"Player is not muted!");
  832.             return 1;
  833.         }
  834.         GetPlayerName(mid,mname,sizeof(mname));
  835.         GetPlayerName(playerid,name,sizeof(name));
  836.         format(str,sizeof(str),"`` Admin %s has unmuted %s(%d)",name,mname,mid);
  837.         SendClientMessageToAll(kickban,str);
  838.         muted[mid] = 0;
  839.     }
  840.     return 1;
  841. }
  842.  
  843. CMD:setlevel(playerid,params[])
  844. {
  845.     if(IsPlayerAdmin(playerid) || pInfo[playerid][Adminlvl] >= 5)
  846.     {
  847.         new tid, tname[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], str[128], level;
  848.         if(sscanf(params,"ui",tid,level)) return SendClientMessage(playerid,red,"[USAGE] /Setlevel [ID] [1 - 5]");
  849.         if(tid == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"Player is not online!");
  850.         if(level > 5) return SendClientMessage(playerid,red,"Only level 1 - 5 only");
  851.         GetPlayerName(playerid,name,sizeof(name));
  852.         GetPlayerName(tid,tname,sizeof(tname));
  853.         format(str,sizeof(str),"`` Admin %s has set %s(%d) to level %i",name,tname,tid,level);
  854.         pInfo[tid][Adminlvl] = level;
  855.         SendClientMessageToAll(kickban,str);
  856.         return 1;
  857.     }
  858.     return 1;
  859. }
  860.  
  861. CMD:setvip(playerid,params[])
  862. {
  863.     if(IsPlayerAdmin(playerid) || pInfo[playerid][Adminlvl] >= 5)
  864.     {
  865.         new tid, tname[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], str[128];
  866.         if(sscanf(params,"i",tid)) return SendClientMessage(playerid,red,"[USAGE] /Setvip [ID]");
  867.         if(tid == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"Player is not online!");
  868.         GetPlayerName(playerid,name,sizeof(name));
  869.         GetPlayerName(tid,tname,sizeof(tname));
  870.         format(str,sizeof(str),"`` Admin %s has made %s(%d) as a VIP",name,tname,tid);
  871.         pInfo[tid][VIP] = 1;
  872.         SendClientMessageToAll(kickban,str);
  873.         return 1;
  874.     }
  875.     return 1;
  876. }
  877.  
  878.  
  879. CMD:demotevip(playerid,params[])
  880. {
  881.     if(IsPlayerAdmin(playerid) || pInfo[playerid][Adminlvl] >= 5)
  882.     {
  883.         new tid, tname[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], str[128];
  884.         if(sscanf(params,"i",tid)) return SendClientMessage(playerid,red,"[USAGE] /Demotevip [ID]");
  885.         if(tid == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"Player is not online!");
  886.         GetPlayerName(playerid,name,sizeof(name));
  887.         GetPlayerName(tid,tname,sizeof(tname));
  888.         format(str,sizeof(str),"`` Admin %s has made %s(%d) as a normal player",name,tname,tid);
  889.         pInfo[tid][VIP] = 0;
  890.         SendClientMessageToAll(kickban,str);
  891.         return 1;
  892.     }
  893.     return 1;
  894. }
Advertisement
Add Comment
Please, Sign In to add comment