Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Rank System(C) 2011 , All Rights Reseverd.
- By Sufyan
- i am releasing this script on my birthday :))
- D : 29/07 xD Enjoy !!!
- */
- #include <a_samp>
- #include <dini>
- #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 // Top of Script put this
- new Text:R_1[MAX_PLAYERS],Text:Stats[MAX_PLAYERS];
- new Text:spree;
- new st[128];
- new name[24];
- new Killername[24];
- new Text:Textdraw0;
- new Text:Textdraw1;
- new Text:Textdraw2;
- new Text:Textdraw3;
- new Text:Textdraw4;
- new Text:Textdraw5;
- #define COLOR_YELLOW 0xFFFF00AA
- #define COLOR_PINK 0xFF66FFAA
- #define COLOR_AQUA 0x7CFC00AA
- #define COLOR_WHITE 0xFFFFFFAA
- #define Ranks 353
- new Kills[MAX_PLAYERS],Deaths[MAX_PLAYERS];
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Rank System Version 1 By Sufyan ");
- print("--------------------------------------\n");
- if(!dini_Exists("Deaths.cfg"))
- {
- dini_Create("Deaths.cfg");
- }
- if(!dini_Exists("Kills.cfg"))
- {
- dini_Create("Kills.cfg");
- }
- Textdraw0 = TextDrawCreate(24.000000,137.000000,"Top5Killers");
- Textdraw1 = TextDrawCreate(1.000000,155.000000,"1. Player Kills Rank");
- Textdraw2 = TextDrawCreate(1.000000,167.000000,"2. Player Kills Rank");
- Textdraw3 = TextDrawCreate(1.000000,179.000000,"3, Player Kills Rank");
- Textdraw4 = TextDrawCreate(1.000000,193.000000,"4. Player Kills Rank");
- Textdraw5 = TextDrawCreate(1.000000,206.000000,"5. Player Kills Rank");
- TextDrawAlignment(Textdraw0,0);
- TextDrawAlignment(Textdraw1,0);
- TextDrawAlignment(Textdraw2,0);
- TextDrawAlignment(Textdraw3,0);
- TextDrawAlignment(Textdraw4,0);
- TextDrawAlignment(Textdraw5,0);
- TextDrawBackgroundColor(Textdraw0,0x000000ff);
- TextDrawBackgroundColor(Textdraw1,0x000000ff);
- TextDrawBackgroundColor(Textdraw2,0x000000ff);
- TextDrawBackgroundColor(Textdraw3,0x000000ff);
- TextDrawBackgroundColor(Textdraw4,0x000000ff);
- TextDrawBackgroundColor(Textdraw5,0x000000ff);
- TextDrawFont(Textdraw0,0);
- TextDrawLetterSize(Textdraw0,0.399999,1.000000);
- TextDrawFont(Textdraw1,3);
- TextDrawLetterSize(Textdraw1,0.399999,1.000000);
- TextDrawFont(Textdraw2,3);
- TextDrawLetterSize(Textdraw2,0.399999,1.000000);
- TextDrawFont(Textdraw3,3);
- TextDrawLetterSize(Textdraw3,0.400000,1.000000);
- TextDrawFont(Textdraw4,3);
- TextDrawLetterSize(Textdraw4,0.399999,1.000000);
- TextDrawFont(Textdraw5,3);
- TextDrawLetterSize(Textdraw5,0.399999,1.000000);
- TextDrawColor(Textdraw0,0xff0000ff);
- TextDrawColor(Textdraw1,0xffffffff);
- TextDrawColor(Textdraw2,0xffffffff);
- TextDrawColor(Textdraw3,0xffffffff);
- TextDrawColor(Textdraw4,0xffffffff);
- TextDrawColor(Textdraw5,0xffffffff);
- TextDrawSetOutline(Textdraw0,1);
- TextDrawSetOutline(Textdraw1,1);
- TextDrawSetOutline(Textdraw2,1);
- TextDrawSetOutline(Textdraw3,1);
- TextDrawSetOutline(Textdraw4,1);
- TextDrawSetOutline(Textdraw5,1);
- TextDrawSetProportional(Textdraw0,1);
- TextDrawSetProportional(Textdraw1,1);
- TextDrawSetProportional(Textdraw2,1);
- TextDrawSetProportional(Textdraw3,1);
- TextDrawSetProportional(Textdraw4,1);
- TextDrawSetProportional(Textdraw5,1);
- TextDrawSetShadow(Textdraw0,1);
- TextDrawSetShadow(Textdraw2,1);
- TextDrawSetShadow(Textdraw3,1);
- TextDrawSetShadow(Textdraw4,1);
- TextDrawSetShadow(Textdraw5,1);
- return 1;
- }
- public OnFilterScriptExit()
- {
- printf("*** Rank System Unloaded *** ");
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new Pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, Pname, MAX_PLAYER_NAME);
- Deaths[playerid] = dini_Int("Deaths.cfg", Pname);
- Kills[playerid] = dini_Int("Kills.cfg", Pname);
- new Name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,Name,sizeof(Name));
- new str[256];
- format(str,sizeof(str),"-> Welcome %s to the Server ! Enjoy Your Stay !!!",Name);
- // SendClientMessage(playerid,COLOR_AQUA,"This Server Using Rank System V.1 By Sufyan");
- SendClientMessage(playerid,COLOR_YELLOW,str);
- R_1[playerid] = TextDrawCreate(498.000000, 100.000000, " ");
- TextDrawBackgroundColor(R_1[playerid], 255);
- TextDrawFont(R_1[playerid], 2);
- TextDrawLetterSize(R_1[playerid], 0.250000, 0.899999);
- TextDrawColor(R_1[playerid], -1);
- TextDrawSetOutline(R_1[playerid], 0);
- TextDrawSetProportional(R_1[playerid], 1);
- TextDrawSetShadow(R_1[playerid], 1);
- Stats[playerid] = TextDrawCreate(499.000000, 110.000000, "~r~Kills: ~w~0 ~g~Deaths: ~w~0");
- TextDrawBackgroundColor(Stats[playerid], 255);
- TextDrawFont(Stats[playerid], 2);
- TextDrawLetterSize(Stats[playerid], 0.159999, 1.000000);
- TextDrawColor(Stats[playerid], -1);
- TextDrawSetOutline(Stats[playerid], 0);
- TextDrawSetProportional(Stats[playerid], 1);
- TextDrawSetShadow(Stats[playerid], 1);
- //In OnGameModeInit or any other place, we procced to create our textdraw:
- spree = TextDrawCreate(233.000000,411.000000,"Player Double Kill");
- TextDrawAlignment(spree,0);
- TextDrawBackgroundColor(spree,0x000000ff);
- TextDrawFont(spree,3);
- TextDrawLetterSize(spree,0.499999,0.899999);
- TextDrawColor(spree,0xffffffff);
- TextDrawSetOutline(spree,1);
- TextDrawSetProportional(spree,1);
- TextDrawSetShadow(spree,1);
- TextDrawShowForAll(Textdraw0);
- TextDrawShowForAll(Textdraw1);
- TextDrawShowForAll(Textdraw2);
- TextDrawShowForAll(Textdraw3);
- TextDrawShowForAll(Textdraw4);
- TextDrawShowForAll(Textdraw5);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new Pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, Pname, MAX_PLAYER_NAME);
- dini_IntSet("Deaths.cfg", Pname, Deaths[playerid]);
- dini_IntSet("Kills.cfg", Pname, Kills[playerid]);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- TextDrawShowForPlayer(playerid,Text:Stats[playerid]);
- TextDrawShowForPlayer(playerid,Text:R_1[playerid]);
- SetCameraBehindPlayer(playerid);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- Kills[killerid]++;
- Deaths[playerid]++;
- UpdateTopList();
- GetPlayerName(playerid,name,sizeof(name));
- GetPlayerName(killerid,Killername,sizeof(Killername));
- Kills[playerid] = 0;
- Kills[killerid]++;
- if(Kills[killerid] == 2)
- {
- format(st,sizeof(st),"~r~%s is ~n~double Kill !",Killername);
- GameTextForAll(st,5000,4);
- TextDrawSetString(spree, st);
- TextDrawShowForAll(spree);
- }
- if(Kills[killerid] == 3)
- {
- format(st,sizeof(st),"~r~%s is on a~w~killing spree!",Killername);
- GameTextForAll(st,5000,4);
- TextDrawSetString(spree, st);
- TextDrawShowForAll(spree);
- }
- if(Kills[killerid] == 6)
- {
- format(st,sizeof(st),"~~%s Wiked sick",Killername);
- GameTextForAll(st,5000,4);
- }
- if(Kills[killerid] == 9)
- {
- format(st,sizeof(st),"~r~%s is ~r~Godlike!",Killername);
- GameTextForAll(st,5000,4);
- }
- if(Kills[killerid] == 13)
- {
- format(st,sizeof(st),"~r~%s is ~w~Wiked Sick!",Killername);
- GameTextForAll(st,5000,4);
- }
- return 1;
- }
- dcmd_rank( playerid, params[] )
- {
- new id;
- if (strlen(params))
- {
- id = strval(params);
- if(IsPlayerConnected(id))
- {
- new str[256];
- SendClientMessage(playerid,COLOR_YELLOW,"Current Rank:");
- SendClientMessage(playerid,COLOR_WHITE,GetPlayerRank(id));
- format(str,sizeof(str)," Kills: %d Deaths: %d ",GetPlayerKills(playerid),GetPlayerDeaths(playerid));
- SendClientMessage(playerid,0x00FF00AA,str);
- }
- else
- {
- SendClientMessage(playerid,0x00FF00AA, "Player Not Found !");
- }
- }
- else
- {
- SendClientMessage(playerid,0x00FF00AA, "Usage: \"/rank <playerid>\"");
- }
- return 1;
- }
- dcmd_ranks( playerid, params[])
- {
- #pragma unused params
- 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\
- 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");
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- dcmd(rank,4,cmdtext);
- dcmd(ranks,5,cmdtext);
- return 0;
- }
- stock GetPlayerRank(playerid)
- {
- if(Kills[playerid]<10)
- {
- return "Newbie Shooter";
- }
- else if(Kills[playerid]<25 && Kills[playerid]>=10)
- {
- return "Killer Shooter";
- }
- else if(Kills[playerid]<75 && Kills[playerid]>=25)
- {
- return "Master Shooter";
- }
- else if(Kills[playerid]<150 && Kills[playerid]>=300)
- {
- return "Pro Shooter";
- }
- else if(Kills[playerid]<300 && Kills[playerid]>=450)
- {
- return "Striker Shooter";
- }
- else if(Kills[playerid]<450 && Kills[playerid]>= 675)
- {
- return "Freekill Shooter";
- }
- else if(Kills[playerid]<675 && Kills[playerid]>= 1000)
- {
- return "Psycho Shooter";
- }
- else if(Kills[playerid]<1000 && Kills[playerid]>= 1500)
- {
- return "Fatal Shooter";
- }
- else if(Kills[playerid]<1500 && Kills[playerid]>= 2250)
- {
- return "Havoc Shooter";
- }
- else if(Kills[playerid]<2250 && Kills[playerid]>= 3375)
- {
- return "Extreme Shooter";
- }
- else if(Kills[playerid]<3375 && Kills[playerid]>= 5100)
- {
- return "Wild Shooter";
- }
- else if(Kills[playerid]<5100 && Kills[playerid]>= 7650)
- {
- return "Hazardous Shooter";
- }
- else if(Kills[playerid]<7650 && Kills[playerid]>= 11475)
- {
- return "IGI Shooter";
- }
- else if(Kills[playerid]<11475 && Kills[playerid]>= 17500)
- {
- return "Tactical Shooter";
- }
- else if(Kills[playerid]<17500 && Kills[playerid]>= 26250)
- {
- return "Dedicated Shooter";
- }
- else if(Kills[playerid]<26250 && Kills[playerid]>= 39375)
- {
- return "Insane Shooter";
- }
- else if(Kills[playerid]<39375 && Kills[playerid]>= 60000)
- {
- return "The Real Shooter";
- }
- else if(Kills[playerid]<60000 && Kills[playerid]>= 100000)
- {
- return "Professional Shooter";
- }
- else if(Kills[playerid]> 100000)
- {
- return "Rockstar Shooter";
- }
- return 1;
- }
- stock GetPlayerKills(playerid)
- {
- return Kills[playerid];
- }
- stock GetPlayerDeaths(playerid)
- {
- return Deaths[playerid];
- }
- public OnPlayerUpdate(playerid)
- {
- new str[256];
- format(str,sizeof(str),"~r~Kills: ~w~%d ~g~Deaths: ~w~%d",Kills[playerid],Deaths[playerid]);
- TextDrawSetString(Text:Stats[playerid],str);
- if(Kills[playerid]<10)
- {
- TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Newbie Shooter");
- }
- else if(Kills[playerid]<25 && Kills[playerid]>=10)
- {
- TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Killer Shooter");
- }
- else if(Kills[playerid]<75 && Kills[playerid]>=25)
- {
- TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Master Shooter");
- }
- else if(Kills[playerid]<150 && Kills[playerid]>=75)
- {
- TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Pro Shooter");
- }
- else if(Kills[playerid]<300 && Kills[playerid]>=150)
- {
- TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Striker Shooter");
- }
- else if(Kills[playerid]<450 && Kills[playerid]>= 300)
- {
- TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Freekill Shooter");
- }
- else if(Kills[playerid]<675 && Kills[playerid]>= 1000)
- {
- TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Psycho Shooter");
- }
- else if(Kills[playerid]<1000 && Kills[playerid]>= 1500)
- {
- TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Fatal Shooter");
- }
- else if(Kills[playerid]<1500 && Kills[playerid]>= 2250)
- {
- TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Havoc Shooter");
- }
- else if(Kills[playerid]<2250 && Kills[playerid]>= 3375)
- {
- TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Extreme Shooter");
- }
- else if(Kills[playerid]<3375 && Kills[playerid]>= 5100)
- {
- TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Wild Shooter");
- }
- else if(Kills[playerid]<5100 && Kills[playerid]>= 7650)
- {
- TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Hazardous Shooter");
- }
- else if(Kills[playerid]<7650 && Kills[playerid]>= 11475)
- {
- TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~IGI Shooter"); /*Scripted By Sufyan*/
- }
- else if(Kills[playerid]<11475 && Kills[playerid]>= 17500)
- {
- TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Tactical Shooter");
- }
- else if(Kills[playerid]<17500 && Kills[playerid]>= 26250)
- {
- TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Dedicated Shooter");
- }
- else if(Kills[playerid]<26250 && Kills[playerid]>= 39375)
- {
- TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Insane Shooter");
- }
- else if(Kills[playerid]<39375 && Kills[playerid]>= 60000)
- {
- TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~The Real Shooter");
- }
- else if(Kills[playerid]<60000 && Kills[playerid]>= 100000)
- {
- TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Professional Shooter");
- }
- else if(Kills[playerid]> 100000)
- {
- TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Rockstar Shooter");
- }
- /* if(Kills[playerid] == 11)
- {
- new str2[256];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(str2,sizeof(str2),">> %s is Now Killer Shooter ",name);
- SendClientMessageToAll(COLOR_YELLOW,str2);
- }
- else if(Kills[playerid] == 26)
- {
- }*/
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == Ranks)
- {
- if(!response) return SendClientMessage(playerid, 0xFFFFFFFF, "You canceled!");
- ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX,"Ranks By Sufyan","33975-60000 The Real Shooter\n60000-100000 Professional Shooter\n100000 + Rockstar Shooter","Close","");
- }
- return 1;
- }
- forward texthidea();
- public texthidea()
- {
- TextDrawHideForAll(spree);
- return 1;
- }
- /*
- Thanks to Sufyan for make this script for you.
- Thanks to Knight_Rider and Venice for testing This Script.
- Enjoy !!!
- */
- stock UpdateTopList()
- {
- new r[5],t[5];
- for(new i;i<MAX_PLAYERS; i++)
- {
- if(r[0] < Kills[i] && t[1] != i)
- {
- r[4] = r[3];
- t[4] = t[3];
- r[3] = r[2];
- t[3] = r[2];
- r[2] = r[1];
- t[2] = t[1];
- r[1] = r[0];
- t[1] = t[0];
- t[0] = i;
- r[0] = Kills[i];
- }
- new str[128];
- format(str,128,"1. %s %d %s",getname(t[0]),Kills[t[0]],GetPlayerRank(t[0]));
- TextDrawSetString(Textdraw1,str);
- format(str,128,"2. %s %d %s",getname(t[1]),Kills[t[1]],GetPlayerRank(t[1]));
- TextDrawSetString(Textdraw1,str);
- format(str,128,"3. %s %d %s",getname(t[2]),Kills[t[2]],GetPlayerRank(t[2]));
- TextDrawSetString(Textdraw1,str);
- format(str,128,"4. %s %d %s",getname(t[3]),Kills[t[3]],GetPlayerRank(t[3]));
- TextDrawSetString(Textdraw1,str);
- format(str,128,"5. %s %d %s",getname(t[4]),Kills[t[4]],GetPlayerRank(t[4]));
- TextDrawSetString(Textdraw1,str);
- }
- return 1;
- }
Add Comment
Please, Sign In to add comment