13.11.2014, 17:35
Hello I have a little problem on the server I'm ID: 0 and writes it correctly then it buddy has ID 1 and shows him a 0/0 Level 0 and me it shows Level 1 0/200 please what is wrong?
Код:
#include a_samp #include sscanf #define BasicXp 100 new PlayerXp[150]; new PlayerLevel[150] = 1; new MaxLevelUp[150] = 2; public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext, "/xp", true)) { new str[64]; format(str, sizeof str, "XP: %d/%d; Level: %d", PlayerXp[playerid], (MaxLevelUp[playerid] * BasicXp), PlayerLevel[playerid]); SendClientMessage(playerid, -1, str); return 1; } if(!strcmp(cmdtext, "/givexp", true, 5)) { new xp; if(sscanf(cmdtext[7], "d", xp)) return SendClientMessage(playerid, -1, "/givexp [XP]"); LevelUp(playerid, xp); return 1; } return 0; } LevelUp(playerid, xp) { if(PlayerLevel[playerid] == 1) { if(PlayerXp[playerid] >= 100) { PlayerLevel[playerid]++; PlayerXp[playerid] = PlayerXp[playerid] - 100; MaxLevelUp[playerid] = MaxLevelUp[playerid] * 2; } else { PlayerXp[playerid] = PlayerXp[playerid] + xp; } } else { if(PlayerXp[playerid] >= (MaxLevelUp[playerid] * BasicXp)) { PlayerLevel[playerid]++; PlayerXp[playerid] = PlayerXp[playerid] - (MaxLevelUp[playerid] * BasicXp); MaxLevelUp[playerid] = MaxLevelUp[playerid] * 2; } else { PlayerXp[playerid] = PlayerXp[playerid] + xp; } } }