Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**//**//**//**//**//**//**//**//**/
- /*+--------------------------------+*/
- /*| |*/
- /*| FOXRANK |*/
- /*| FILTERSCRIPT |*/
- /*| bY PSPgamer/FoxHound |*/
- /*| 2 0 0 9 |*/
- /*| |*/
- /*+--------------------------------+*/
- /*| 30 November 2009 |*/
- /*+--------------------------------+*/
- /**//**//**//**//**//**//**//**//**/
- //------< INCLUDEs >------//
- #include <a_samp>
- //------------------------//
- //-------------------------------< DEFINEs >------------------------//
- #define RankUpKills 15 //Rank up when player killed 15 player.
- //------------------------------------------------------------------//
- /*--------------------< RANK UP EXAMPLE >-----------------//
- 15 Kills = Up to rank 2
- 15*2(30) Kills = Up to rank 3
- 15*3(45) Kills = Up to rank 4
- //--------------------------------------------------------*/
- //-----------< NEWs >-----------//
- new pKills[MAX_PLAYERS];
- new pRank[MAX_PLAYERS];
- new pFirstSpawn[MAX_PLAYERS];
- //------------------------------//
- //-----------------------------< OnFilterScriptInit/-Exit >-----------------------------//
- public OnFilterScriptInit()
- {
- print("+--------------------------------+");
- print("| FOXRANG |");
- print("| FILTERSCRIPT |");
- print("| bY PSPgamer/FoxHound |");
- print("| LOADED |");
- print("+--------------------------------+");
- return 1;
- }
- public OnFilterScriptExit()
- {
- print("+--------------------------------+");
- print("| FOXRANG |");
- print("| UNLOADED |");
- print("+--------------------------------+");
- return 1;
- }
- //--------------------------------------------------------------------------------------//
- //-----------------------------< OnPlayerCommandText >-----------------------------//
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[256];
- new idx;
- new tmp[256];
- new giveplayer[MAX_PLAYER_NAME];
- new sendername[MAX_PLAYER_NAME];
- cmd = strtok(cmdtext, idx);
- if(strcmp(cmd, "/rank", true) == 0)
- {
- if(IsPlayerConnected(playerid))
- {
- new string[256];
- if(pRank[playerid] == 1) format(string,sizeof(string),"Rank 1 (n00b)");
- if(pRank[playerid] == 2) format(string,sizeof(string),"Rank 2 (Killer)");
- if(pRank[playerid] == 3) format(string,sizeof(string),"Rank 3 (Ultrakiller)");
- if(pRank[playerid] == 4) format(string,sizeof(string),"Rank 4 (Boss)");
- if(pRank[playerid] == 5) format(string,sizeof(string),"Rank 5 (Big Boss)");
- SendClientMessage(playerid,0xFFFFFFAA,string);
- return 1;
- }
- }
- if(strcmp(cmd, "/setrank", true) == 0)
- {
- if(IsPlayerConnected(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, 0xBFC0C2FF, "/setrank [playerid/partOfName] [rank (1-5)]");
- return 1;
- }
- new playa;
- new newrank;
- playa = ReturnUser(tmp);
- tmp = strtok(cmdtext, idx);
- newrank = strval(tmp);
- if(!IsNumeric(tmp))
- {
- SendClientMessage(playerid, 0xBFC0C2FF, "You can use only Numbers !");
- return 1;
- }
- if(newrank < 1 || newrank > 5)
- {
- SendClientMessage(playerid, 0xBFC0C2FF, "You can't use numbers under 1 and over 5 !");
- return 1;
- }
- if (IsPlayerAdmin(playerid))
- {
- if(IsPlayerConnected(playa))
- {
- if(playa != INVALID_PLAYER_ID)
- {
- new string[32];
- new string2[32];
- GetPlayerName(playa, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- pRank[playa] = newrank;
- format(string,sizeof(string),"%s is now Rank %d !",giveplayer,pRank[playa]);
- SendClientMessage(playerid,0xFFFFFFAA,string);
- format(string2,sizeof(string2),"Admin %s has make you Rank %d",sendername,pRank[playa]);
- SendClientMessage(playa,0xFFFFFFAA,string);
- return 1;
- }
- }
- }
- }
- return 1;
- }
- return 0;
- }
- //---------------------------------------------------------------------------------//
- //---------------------------------< OnPlayerSpawn >---------------------------------//
- public OnPlayerSpawn(playerid)
- {
- if(pFirstSpawn[playerid] == 0)
- {
- pRank[playerid] = 1;
- }
- return 1;
- }
- //-----------------------------------------------------------------------------------//
- //---------------------------------< OnPlayerDeath >---------------------------------//
- public OnPlayerDeath(playerid, killerid, reason)
- {
- pKills[killerid] += 1;
- if(pKills[killerid] == RankUpKills)
- {
- pRank[playerid] = 2;
- SendClientMessage(playerid,0xFFFFFFAA,"You are now Rank 2 (killer)!");
- return 1;
- }
- else if(pKills[killerid] == RankUpKills*2)
- {
- pRank[playerid] = 3;
- SendClientMessage(playerid,0xFFFFFFAA,"You are now Rank 3 (ultrakiller)!");
- return 1;
- }
- else if(pKills[killerid] == RankUpKills*3)
- {
- pRank[playerid] = 4;
- SendClientMessage(playerid,0xFFFFFFAA,"You are now Rank 4 (Boss)!");
- return 1;
- }
- else if(pKills[killerid] == RankUpKills*4)
- {
- pRank[playerid] = 5;
- SendClientMessage(playerid,0xFFFFFFAA,"You are now Rank 5 (Big Boss)!");
- return 1;
- }
- return 1;
- }
- //--------------------------------------------------------------------------------------//
- //----------------------------------------------< strtok definiton >--------------------------------------------//
- stock strtok(const string[], &index,seperator=' ')
- {
- new length = strlen(string);
- new offset = index;
- new result[256];
- while ((index < length) && (string[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- if ((index < length) && (string[index] == seperator))
- {
- index++;
- }
- return result;
- }
- //---------------------------------------------------------------------------------------------------------------//
- //---------------------------< IsNumeric definiton >-------------------------//
- IsNumeric(const string[])
- {
- for (new i = 0, j = strlen(string); i < j; i++)
- {
- if (string[i] > '9' || string[i] < '0') return 0;
- }
- return 1;
- }
- //---------------------------------------------------------------------------//
- //-------------------------------------< ReturnUser definiton >-----------------------------------//
- ReturnUser(text[], playerid = INVALID_PLAYER_ID)
- {
- new pos = 0;
- while (text[pos] < 0x21)
- {
- if (text[pos] == 0) return INVALID_PLAYER_ID;
- pos++;
- }
- new userid = INVALID_PLAYER_ID;
- if (IsNumeric(text[pos]))
- {
- userid = strval(text[pos]);
- if (userid >=0 && userid < MAX_PLAYERS)
- {
- if(!IsPlayerConnected(userid))
- {
- userid = INVALID_PLAYER_ID;
- }
- else
- {
- return userid;
- }
- }
- }
- new len = strlen(text[pos]);
- new count = 0;
- new name[MAX_PLAYER_NAME];
- for (new i = 0; i < MAX_PLAYERS; i++)
- {
- if (IsPlayerConnected(i))
- {
- GetPlayerName(i, name, sizeof (name));
- if (strcmp(name, text[pos], true, len) == 0)
- {
- if (len == strlen(name))
- {
- return i;
- }
- else
- {
- count++;
- userid = i;
- }
- }
- }
- }
- if (count != 1)
- {
- if (playerid != INVALID_PLAYER_ID)
- {
- if (count)
- {
- SendClientMessage(playerid, 0xFF0000AA, "Multiple users found, please narrow earch");
- }
- else
- {
- SendClientMessage(playerid, 0xFF0000AA, "No matching user found");
- }
- }
- userid = INVALID_PLAYER_ID;
- }
- return userid;
- }
- //------------------------------------------------------------------------------------------------//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement