Advertisement
Sufyan

Rank System v1.0

Jul 29th, 2011
2,826
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 10.16 KB | None | 0 0
  1. /*
  2.     Rank System(C) 2011 , All Rights Reseverd.
  3.     By Sufyan
  4.        
  5.     i am releasing this script on my birthday :))
  6.     D : 29/07 xD Enjoy !!!
  7. */
  8. #include <a_samp>
  9. #include <dini>
  10.  
  11. #include <dcmd>
  12. new Text:R_1[MAX_PLAYERS],Text:Stats[MAX_PLAYERS];
  13.  
  14. #define COLOR_YELLOW            0xFFFF00AA
  15. #define COLOR_PINK              0xFF66FFAA
  16. #define COLOR_AQUA              0x7CFC00AA
  17. #define COLOR_WHITE             0xFFFFFFAA
  18. #define Ranks                   353
  19. new Kills[MAX_PLAYERS],Deaths[MAX_PLAYERS];
  20.  
  21. public OnFilterScriptInit()
  22. {
  23.     print("\n--------------------------------------");
  24.     print(" Rank System Version 1 By Sufyan ");
  25.     print("--------------------------------------\n");
  26.    
  27.     if(!dini_Exists("Deaths.cfg"))
  28.     {
  29.       dini_Create("Deaths.cfg");
  30.     }
  31.  
  32.     if(!dini_Exists("Kills.cfg"))
  33.     {
  34.       dini_Create("Kills.cfg");
  35.     }
  36.  
  37.    
  38.     return 1;
  39. }
  40.  
  41. public OnFilterScriptExit()
  42. {
  43.     printf("*** Rank System Unloaded *** ");
  44.    
  45.     return 1;
  46. }
  47.  
  48.  
  49.  
  50.  
  51. public OnPlayerRequestClass(playerid, classid)
  52. {
  53.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  54.     SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  55.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  56.     return 1;
  57. }
  58.  
  59. public OnPlayerConnect(playerid)
  60. {
  61.  
  62.     new Pname[MAX_PLAYER_NAME];
  63.     GetPlayerName(playerid, Pname, MAX_PLAYER_NAME);
  64.     Deaths[playerid] = dini_Int("Deaths.cfg", Pname);
  65.     Kills[playerid] = dini_Int("Kills.cfg", Pname);
  66.     new Name[MAX_PLAYER_NAME];
  67.     GetPlayerName(playerid,Name,sizeof(Name));
  68.     new str[256];
  69.     format(str,sizeof(str),"-> Welcome %s to the Server ! Enjoy Your Stay !!!",Name);
  70.     SendClientMessage(playerid,COLOR_AQUA,"This Server Using Rank System V.1 By Sufyan");
  71.     SendClientMessage(playerid,COLOR_YELLOW,str);
  72.     R_1[playerid] = TextDrawCreate(498.000000, 100.000000, " ");
  73.     TextDrawBackgroundColor(R_1[playerid], 255);
  74.     TextDrawFont(R_1[playerid], 2);
  75.     TextDrawLetterSize(R_1[playerid], 0.250000, 0.899999);
  76.     TextDrawColor(R_1[playerid], -1);
  77.     TextDrawSetOutline(R_1[playerid], 0);
  78.     TextDrawSetProportional(R_1[playerid], 1);
  79.     TextDrawSetShadow(R_1[playerid], 1);
  80.  
  81.     Stats[playerid] = TextDrawCreate(499.000000, 110.000000, "~r~Kills: ~w~0 ~g~Deaths: ~w~0");
  82.     TextDrawBackgroundColor(Stats[playerid], 255);
  83.     TextDrawFont(Stats[playerid], 2);
  84.     TextDrawLetterSize(Stats[playerid], 0.159999, 1.000000);
  85.     TextDrawColor(Stats[playerid], -1);
  86.     TextDrawSetOutline(Stats[playerid], 0);
  87.     TextDrawSetProportional(Stats[playerid], 1);
  88.     TextDrawSetShadow(Stats[playerid], 1);
  89.    
  90.    
  91.  
  92.     return 1;
  93. }
  94.  
  95. public OnPlayerDisconnect(playerid, reason)
  96. {
  97.  
  98.     new Pname[MAX_PLAYER_NAME];
  99.     GetPlayerName(playerid, Pname, MAX_PLAYER_NAME);
  100.     dini_IntSet("Deaths.cfg", Pname, Deaths[playerid]);
  101.     dini_IntSet("Kills.cfg", Pname, Kills[playerid]);
  102.     return 1;
  103. }
  104.  
  105. public OnPlayerSpawn(playerid)
  106. {
  107.     TextDrawShowForPlayer(playerid,Text:Stats[playerid]);
  108.     TextDrawShowForPlayer(playerid,Text:R_1[playerid]);
  109.     return 1;
  110. }
  111.  
  112. public OnPlayerDeath(playerid, killerid, reason)
  113. {
  114.     Kills[killerid]++;
  115.     Deaths[playerid]++;
  116.     return 1;
  117. }
  118.  
  119. dcmd_rank( playerid, params[] )
  120. {
  121.     new id;
  122.     if (strlen(params))
  123.     {
  124.         id = strval(params);
  125.         if(IsPlayerConnected(id))
  126.         {
  127.             new str[256];
  128.            
  129.             SendClientMessage(playerid,COLOR_YELLOW,"Current Rank:");
  130.             GetPlayerRank(playerid);
  131.             format(str,sizeof(str)," Kills: %d  Deaths: %d ",GetPlayerKills(playerid),GetPlayerDeaths(playerid));
  132.             SendClientMessage(playerid,0x00FF00AA,str);
  133.            
  134.        
  135.         }
  136.         else
  137.         {
  138.             SendClientMessage(playerid,0x00FF00AA, "Player Not Found !");
  139.         }
  140.     }
  141.     else
  142.     {
  143.     SendClientMessage(playerid,0x00FF00AA, "Usage: \"/rank <playerid>\"");
  144.    
  145.     }
  146.     return 1;
  147. }
  148. dcmd_ranks( playerid, params[])
  149. {
  150.     #pragma unused params
  151.     ShowPlayerDialog(playerid,Ranks,DIALOG_STYLE_MSGBOX,"Ranks By Sufyan","0-10 Newbie Shooter\n10-75 Killer Shooter\n25-75 Master Shooter\n150-300 Pro Shooter\n300-450 Striker Shooter\n450-675 Freekill Shooter\n675-1000 Psycho Shooter\n\
  152.      1000-1500 Fatal Shooter\n1500-2250 Havoc Shooter\n2250-3375 Extreme Shooter\n3375-5100 Wild Shooter\n5100-7650 Hazardous Shooter\n7650-11475 IGI Shooter\n11475-17500 Tactical Shooter\n17500-26250 Dedicated Shooter\n26250-39375 Insane Shooter",">>","Close");
  153.     return 1;
  154. }
  155. public OnPlayerText(playerid, text[])
  156. {
  157.     return 1;
  158. }
  159.  
  160. public OnPlayerCommandText(playerid, cmdtext[])
  161. {
  162.     dcmd(rank,4,cmdtext);
  163.     dcmd(ranks,5,cmdtext);
  164.    
  165.     return 0;
  166. }
  167.  
  168.  
  169. GetPlayerRank(playerid)
  170. {
  171.  
  172.     if(Kills[playerid]<10)
  173.     {
  174.     SendClientMessage(playerid,COLOR_WHITE,"Newbie Shooter");
  175.     }
  176.     else if(Kills[playerid]<25 && Kills[playerid]>=10)
  177.     {
  178.     SendClientMessage(playerid,COLOR_WHITE,"Killer Shooter");
  179.     }
  180.     else if(Kills[playerid]<75 && Kills[playerid]>=25)
  181.     {
  182.     SendClientMessage(playerid,COLOR_WHITE,"Master Shooter");
  183.     }
  184.     else if(Kills[playerid]<150 && Kills[playerid]>=300)
  185.     {
  186.     SendClientMessage(playerid,COLOR_WHITE,"Pro Shooter");
  187.     }
  188.     else if(Kills[playerid]<300 && Kills[playerid]>=450)
  189.     {
  190.     SendClientMessage(playerid,COLOR_WHITE,"Striker Shooter");
  191.     }
  192.     else if(Kills[playerid]<450 && Kills[playerid]>= 675)
  193.     {
  194.     SendClientMessage(playerid,COLOR_WHITE,"Freekill Shooter");
  195.     }
  196.     else if(Kills[playerid]<675 && Kills[playerid]>= 1000)
  197.     {
  198.     SendClientMessage(playerid,COLOR_WHITE,"Psycho Shooter");
  199.     }
  200.     else if(Kills[playerid]<1000 && Kills[playerid]>= 1500)
  201.     {
  202.     SendClientMessage(playerid,COLOR_WHITE,"Fatal Shooter");
  203.     }
  204.     else if(Kills[playerid]<1500 && Kills[playerid]>= 2250)
  205.     {
  206.     SendClientMessage(playerid,COLOR_WHITE,"Havoc Shooter");
  207.     }
  208.     else if(Kills[playerid]<2250 && Kills[playerid]>= 3375)
  209.     {
  210.     SendClientMessage(playerid,COLOR_WHITE,"Extreme Shooter");
  211.     }
  212.     else if(Kills[playerid]<3375 && Kills[playerid]>= 5100)
  213.     {
  214.     SendClientMessage(playerid,COLOR_WHITE,"Wild Shooter");
  215.     }
  216.     else if(Kills[playerid]<5100 && Kills[playerid]>= 7650)
  217.     {
  218.     SendClientMessage(playerid,COLOR_WHITE,"Hazardous Shooter");
  219.     }
  220.     else if(Kills[playerid]<7650 && Kills[playerid]>= 11475)
  221.     {
  222.     SendClientMessage(playerid,COLOR_WHITE,"IGI Shooter");
  223.     }
  224.     else if(Kills[playerid]<11475 && Kills[playerid]>= 17500)
  225.     {
  226.     SendClientMessage(playerid,COLOR_WHITE,"Tactical Shooter");
  227.     }
  228.     else if(Kills[playerid]<17500 && Kills[playerid]>= 26250)
  229.     {
  230.     SendClientMessage(playerid,COLOR_WHITE,"Dedicated Shooter");
  231.     }
  232.     else if(Kills[playerid]<26250 && Kills[playerid]>= 39375)
  233.     {
  234.     SendClientMessage(playerid,COLOR_WHITE,"Insane Shooter");
  235.     }
  236.     else if(Kills[playerid]<39375 && Kills[playerid]>= 60000)
  237.     {
  238.     SendClientMessage(playerid,COLOR_WHITE,"The Real Shooter");
  239.     }
  240.     else if(Kills[playerid]<60000 && Kills[playerid]>= 100000)
  241.     {
  242.     SendClientMessage(playerid,COLOR_WHITE,"Professional Shooter");
  243.     }
  244.     else if(Kills[playerid]> 100000)
  245.     {
  246.     SendClientMessage(playerid,COLOR_WHITE,"Rockstar Shooter");
  247.     }
  248.     return 1;
  249. }
  250. stock GetPlayerKills(playerid)
  251. {
  252.     return Kills[playerid];
  253. }
  254. stock GetPlayerDeaths(playerid)
  255. {
  256.     return Deaths[playerid];
  257. }
  258. public OnPlayerUpdate(playerid)
  259. {
  260.     new str[256];
  261.     format(str,sizeof(str),"~r~Kills: ~w~%d ~g~Deaths: ~w~%d",Kills[playerid],Deaths[playerid]);
  262.     TextDrawSetString(Text:Stats[playerid],str);
  263.     if(Kills[playerid]<10)
  264.     {
  265.     TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Newbie Shooter");
  266.     }
  267.     else if(Kills[playerid]<25 && Kills[playerid]>=10)
  268.     {
  269.     TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Killer Shooter");
  270.     }
  271.     else if(Kills[playerid]<75 && Kills[playerid]>=25)
  272.     {
  273.     TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Master Shooter");
  274.     }
  275.     else if(Kills[playerid]<150 && Kills[playerid]>=300)
  276.     {
  277.     TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Pro Shooter");
  278.     }
  279.     else if(Kills[playerid]<300 && Kills[playerid]>=450)
  280.     {
  281.     TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Striker Shooter");
  282.     }
  283.     else if(Kills[playerid]<450 && Kills[playerid]>= 675)
  284.     {
  285.     TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Freekill Shooter");
  286.     }
  287.     else if(Kills[playerid]<675 && Kills[playerid]>= 1000)
  288.     {
  289.     TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Psycho Shooter");
  290.     }
  291.     else if(Kills[playerid]<1000 && Kills[playerid]>= 1500)
  292.     {
  293.     TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Fatal Shooter");
  294.     }
  295.     else if(Kills[playerid]<1500 && Kills[playerid]>= 2250)
  296.     {
  297.     TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Havoc Shooter");
  298.     }
  299.     else if(Kills[playerid]<2250 && Kills[playerid]>= 3375)
  300.     {
  301.     TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Extreme Shooter");
  302.     }
  303.     else if(Kills[playerid]<3375 && Kills[playerid]>= 5100)
  304.     {
  305.     TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Wild Shooter");
  306.     }
  307.     else if(Kills[playerid]<5100 && Kills[playerid]>= 7650)
  308.     {
  309.     TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Hazardous Shooter");
  310.     }
  311.     else if(Kills[playerid]<7650 && Kills[playerid]>= 11475)
  312.     {
  313.     TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~IGI Shooter");                                                                                                                                                                 /*Scripted By Sufyan*/
  314.     }
  315.     else if(Kills[playerid]<11475 && Kills[playerid]>= 17500)
  316.     {
  317.     TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Tactical Shooter");
  318.     }
  319.     else if(Kills[playerid]<17500 && Kills[playerid]>= 26250)
  320.     {
  321.     TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Dedicated Shooter");
  322.     }
  323.     else if(Kills[playerid]<26250 && Kills[playerid]>= 39375)
  324.     {
  325.     TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Insane Shooter");
  326.     }
  327.     else if(Kills[playerid]<39375 && Kills[playerid]>= 60000)
  328.     {
  329.     TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~The Real Shooter");
  330.     }
  331.     else if(Kills[playerid]<60000 && Kills[playerid]>= 100000)
  332.     {
  333.     TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Professional Shooter");
  334.     }
  335.     else if(Kills[playerid]> 100000)
  336.     {
  337.     TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Rockstar Shooter");
  338.     }
  339.     return 1;
  340. }
  341.  
  342.  
  343. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  344. {
  345.     if(dialogid == Ranks)
  346.     {
  347.     if(!response) return SendClientMessage(playerid, 0xFFFFFFFF, "You canceled!");
  348.     ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX,"Ranks By Sufyan","33975-60000 The Real Shooter\n60000-100000 Professional Shooter\n100000 + Rockstar Shooter","Close","");
  349.     }
  350.     return 1;
  351. }
  352. /*
  353. Thanks to Sufyan for make this script for you.
  354. Thanks to Knight_Rider and Venice for testing This Script.
  355.  
  356. Enjoy !!!
  357. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement