Help In Exp System
#10

PHP код:
new old_Exp[MAX_PLAYERS];
new 
new_Exp[MAX_PLAYERS];
public 
OnGameModeExit()
{
    for(new 
playerid 0playerid MAX_PLAYERSplayerid++)
    {
        
TextDrawHideForAll(Rank[playerid]);
        
TextDrawDestroy(Rank[playerid]);
        
TextDrawHideForAll(Exp[playerid]);
        
TextDrawDestroy(Exp[playerid]);
    }
    return 
1;
}
public 
OnPlayerConnect(playerid)
{
    
/* I declare new_string just in case of you don't have it. */
    
new new_string[15];
    
    
new_Exp[playerid] = 0;
    
old_Exp[playerid] = 120;
    
    
/* You don't have to convert integers to strings in this case, you can use format instead and the %d specifier. */
    
format(new_stringsizeof(new_string), "Exp: %d/%d"new_Exp[playerid], old_Exp[playerid]);
    
Exp[playerid] = TextDrawCreate(484.00000098.559997new_string);
    
TextDrawLetterSize(Exp[playerid], 0.3459981.413333);
    
TextDrawAlignment(Exp[playerid], 1);
    
TextDrawColor(Exp[playerid], -2139094785);
    
TextDrawSetShadow(Exp[playerid], 0);
    
TextDrawSetOutline(Exp[playerid], 1);
    
TextDrawBackgroundColor(Exp[playerid], 51);
    
TextDrawFont(Exp[playerid], 1);
    
TextDrawSetProportional(Exp[playerid], 1);
    
Rank[playerid] = TextDrawCreate(483.999877113.493309"Level: 0 Rank: Beginner");
    
TextDrawLetterSize(Rank[playerid], 0.3539991.450666);
    
TextDrawAlignment(Rank[playerid], 1);
    
TextDrawColor(Rank[playerid], -2139094785);
    
TextDrawSetShadow(Rank[playerid], 0);
    
TextDrawSetOutline(Rank[playerid], 1);
    
TextDrawBackgroundColor(Rank[playerid], 51);
    
TextDrawFont(Rank[playerid], 1);
    
TextDrawSetProportional(Rank[playerid], 1);
    
ExpFNL[playerid] = TextDrawCreate(472.000000126.186546"Exp For Next Level: 120");
    
TextDrawLetterSize(ExpFNL[playerid], 0.3739991.383466);
    
TextDrawAlignment(ExpFNL[playerid], 1);
    
TextDrawColor(ExpFNL[playerid], -2139094785);
    
TextDrawSetShadow(ExpFNL[playerid], 0);
    
TextDrawSetOutline(ExpFNL[playerid], 1);
    
TextDrawBackgroundColor(ExpFNL[playerid], 51);
    
TextDrawFont(ExpFNL[playerid], 1);
    
TextDrawSetProportional(ExpFNL[playerid], 1);
    
TextDrawShowForPlayer(playeridExp[playerid]);
    
TextDrawShowForPlayer(playeridRank[playerid]);
    
TextDrawShowForPlayer(playeridExpFNL[playerid]);
     return 
1;
}
public 
OnPlayerDeath(playeridkilleridreason)
{
    if(
killerid != INVALID_PLAYER_ID)
    {
        
SendDeathMessage(killeridplayeridreason);
        
GivePlayerMoney(playerid, -GetPlayerMoney(playerid)/2);
        
PlayerInfo[killerid][pKills]++;
        
PlayerInfo[killerid][pScore]++;
        
SetPlayerScore(killeridPlayerInfo[killerid][pScore]);
        
new_Exp[killerid] += 90;
        
new_Exp[playerid] -= 90;
          if(
new_Exp[playerid] < 0)
        {
            
new_Exp[playerid] = 0;
          }
          
        if(
new_Exp[killerid] >= 120)
        {
            
old_Exp[killerid] += 380// You missed the + to increase its value, I guess it should be += 120 actually.
             
SendClientMessage(killerid,COLOR_YELLOW,"New Level");
          }
          
        
/* I declare new_string just in case of you don't have it. */
        
new new_string[15];
    
        
format(new_stringsizeof(new_string), "Exp: %d/%d"new_Exp[killerid], old_Exp[killer]);
        
        
TextDrawSetString(Exp[killerid], new_string);
        
TextDrawShowForPlayer(killeridExp[killerid]);
        
format(new_stringsizeof(new_string), "Exp: %d/%d"new_Exp[playerid], old_Exp[playerid]);
        
TextDrawSetString(Exp[playerid], new_string);
        
TextDrawShowForPlayer(playeridExp[playerid]);
    }
    return 
1;

I found many errors there, I added a comment where I could. You should move to PlayerTextdraws by the way.

Stop using ambiguous variable names.
PHP код:
new new_string[10]; // This hurts my eyes.
/* You should use something like: */
new p_CurrentExp[MAX_PLAYERS];
new 
p_OldExp[MAX_PLAYERS];
new 
exp_string[15]; 
It's up to you.
Reply


Messages In This Thread
Help In Exp System - by Ramin - 27.12.2016, 22:57
Re: Help In Exp System - by Lordzy - 27.12.2016, 22:59
Re: Help In Exp System - by Ramin - 27.12.2016, 23:00
Re: Help In Exp System - by Lordzy - 27.12.2016, 23:03
Re: Help In Exp System - by Ramin - 27.12.2016, 23:07
Re: Help In Exp System - by Ramin - 28.12.2016, 09:42
Re: Help In Exp System - by Ramin - 28.12.2016, 10:06
Re: Help In Exp System - by Swedky - 28.12.2016, 13:34
Re: Help In Exp System - by Ramin - 28.12.2016, 13:37
Re: Help In Exp System - by RIDE2DAY - 28.12.2016, 15:18

Forum Jump:


Users browsing this thread: 1 Guest(s)