13.01.2014, 09:33
So I am using my own ranking system that display the current rank and the exp points using a textdraw.
The problem is when 2 or more players connected, the textdraw string is messed with other people rank & experience points. It keeps updating. Please help me as I must have used the wrong function to display the textdraw to the player.
Here is my code:
The code above is just to show some of the important code of the ranking codes. If you want to know more informations I will add them.
Please help me.
The problem is when 2 or more players connected, the textdraw string is messed with other people rank & experience points. It keeps updating. Please help me as I must have used the wrong function to display the textdraw to the player.
Here is my code:
Код:
new Text:Rank; new Text:XPAmount; Rank = TextDrawCreate(498.000000, 101.000000, "_"); //Rank Name TextDrawBackgroundColor(Rank, 255); TextDrawFont(Rank, 1); TextDrawLetterSize(Rank, 0.190000, 1.599999); TextDrawColor(Rank, -559194218); TextDrawSetOutline(Rank, 0); TextDrawSetProportional(Rank, 1); TextDrawSetShadow(Rank, 0); TextDrawUseBox(Rank, 1); TextDrawBoxColor(Rank, 71); TextDrawTextSize(Rank, 607.000000, 0.000000); XPAmount = TextDrawCreate(582.000000, 101.000000, "_"); //XP Amount TextDrawBackgroundColor(XPAmount, 255); TextDrawFont(XPAmount, 1); TextDrawLetterSize(XPAmount, 0.190000, 1.599999); TextDrawColor(XPAmount, -16777066); TextDrawSetOutline(XPAmount, 0); TextDrawSetProportional(XPAmount, 1); TextDrawSetShadow(XPAmount, 0); //TIMER SetTimer("EXP_Online", XPTime, 1); //THE EXP_ONLINE public EXP_Online(playerid) { for(new i; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { SetPlayerScore(i, GetPlayerScore(i) + XPPtsPlus); } } } //ON PLAYER CONNECT TextDrawShowForPlayer(playerid, Text:Rank); TextDrawShowForPlayer(playerid, Text:XPAmount); //ON PLAYER UPDATE new string[ 128 ]; new XPTD; XPTD = GetPlayerScore(playerid); format( string, sizeof string, "%d", XPTD ); TextDrawSetString(XPAmount, string); GetPlayerXP(playerid); if(PlayerRank[playerid] == 1) { new string1[ 128 ]; format(string1, sizeof string1, "Newbie Stunter"); TextDrawSetString(Rank, string1); } if(PlayerRank[playerid] == 2) { new string2[ 128 ]; format(string2, sizeof string2, "Regular Stunter"); TextDrawSetString(Rank, string2); }
Please help me.