11.01.2013, 00:56
Hi, I recently foudn this cool rank system online and I have a a problem.
When i go in-game and suicide myself the kills/deaths won't update, please help.
When i go in-game and suicide myself the kills/deaths won't update, please help.
Код:
/* Rank System© 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]; #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 Amoxi "); print("--------------------------------------\n"); if(!dini_Exists("Deaths.cfg")) { dini_Create("Deaths.cfg"); } if(!dini_Exists("Kills.cfg")) { dini_Create("Kills.cfg"); } 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 Amoxi"); 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); 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]); return 1; } public OnPlayerDeath(playerid, killerid, reason) { Kills[killerid]++; Deaths[playerid]++; 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:"); GetPlayerRank(playerid); 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 Amoxi","0-10 Newbie Shooter\n10-75 Good 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; } GetPlayerRank(playerid) { if(Kills[playerid]<10) { SendClientMessage(playerid,COLOR_WHITE,"Newbie Shooter"); } else if(Kills[playerid]<25 && Kills[playerid]>=10) { SendClientMessage(playerid,COLOR_WHITE,"Good Shooter"); } else if(Kills[playerid]<75 && Kills[playerid]>=25) { SendClientMessage(playerid,COLOR_WHITE,"Master Shooter"); } else if(Kills[playerid]<150 && Kills[playerid]>=300) { SendClientMessage(playerid,COLOR_WHITE,"Pro Shooter"); } else if(Kills[playerid]<300 && Kills[playerid]>=450) { SendClientMessage(playerid,COLOR_WHITE,"Striker Shooter"); } else if(Kills[playerid]<450 && Kills[playerid]>= 675) { SendClientMessage(playerid,COLOR_WHITE,"Freekill Shooter"); } else if(Kills[playerid]<675 && Kills[playerid]>= 1000) { SendClientMessage(playerid,COLOR_WHITE,"Psycho Shooter"); } else if(Kills[playerid]<1000 && Kills[playerid]>= 1500) { SendClientMessage(playerid,COLOR_WHITE,"Fatal Shooter"); } else if(Kills[playerid]<1500 && Kills[playerid]>= 2250) { SendClientMessage(playerid,COLOR_WHITE,"Havoc Shooter"); } else if(Kills[playerid]<2250 && Kills[playerid]>= 3375) { SendClientMessage(playerid,COLOR_WHITE,"Extreme Shooter"); } else if(Kills[playerid]<3375 && Kills[playerid]>= 5100) { SendClientMessage(playerid,COLOR_WHITE,"Wild Shooter"); } else if(Kills[playerid]<5100 && Kills[playerid]>= 7650) { SendClientMessage(playerid,COLOR_WHITE,"Hazardous Shooter"); } else if(Kills[playerid]<7650 && Kills[playerid]>= 11475) { SendClientMessage(playerid,COLOR_WHITE,"IGI Shooter"); } else if(Kills[playerid]<11475 && Kills[playerid]>= 17500) { SendClientMessage(playerid,COLOR_WHITE,"Tactical Shooter"); } else if(Kills[playerid]<17500 && Kills[playerid]>= 26250) { SendClientMessage(playerid,COLOR_WHITE,"Dedicated Shooter"); } else if(Kills[playerid]<26250 && Kills[playerid]>= 39375) { SendClientMessage(playerid,COLOR_WHITE,"Insane 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~Good 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]>=300) { TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Pro Shooter"); } else if(Kills[playerid]<300 && Kills[playerid]>=450) { TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Striker Shooter"); } else if(Kills[playerid]<450 && Kills[playerid]>= 675) { 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"); } 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 Amoxi","33975-60000 The Real Shooter\n60000-100000 Professional Shooter\n100000 + Rockstar Shooter","Close",""); } return 1; } /* Thanks to Sufyan for make this script for you. Thanks to Knight_Rider and Venice for testing This Script. Enjoy !!! */