Sistema de experiкncia -
SORRISO22 - 27.04.2018
Boa tarde, boa noite, bom dia!
Eu preciso da ajuda de alguйm para terminar um sistema de experiкncia, mas eu quero que ele funcione da seguinte forma o player vai comeзar com 0/4 quando ele completar 4/4 de experiкncia ele vai para a prуxima etapa 0/15 e assim a diante.
Meu sistema:
getEXP (playerid)
{
if (Jogador [playerid] [pScore] == 0)
{
new string [80];
Jogador [playerid] [pNEXP] = 4;
formato (string, sizeof (string), "Exp:% i / 4", Jogador [playerid] [pEXP]);
TextDrawSetString (Novinha [playerid], string);
SetProgressBarMaxValue (Experiencia [playerid], 4);
}
se (Player [playerid] [pScore] == 1)
{
nova string [80];
Jogador [playerid] [pNEXP] = 8;
formato (string, sizeof (string), "Exp:% i / 8", reprodutor [playerid] [pEXP]);
TextDrawSetString (Novinha [playerid], string);
SetProgressBarMaxValue (Experiencia [playerid] ,;
}
se (Player [playerid] [pScore] == 2)
{
nova string [80];
Player [playerid] [pNEXP] = 16;
formato (string, sizeof (string), "Exp :% i / 16 ", Player [playerid] [pEXP]);
TextDrawSetString (Novinha [playerid], string);
SetProgressBarMaxValue (Experiencia [playerid], 16);
}
se (Player [playerid] [pScore] == 3)
{
new string [80];
Jogador [playerid] [pNEXP] = 24;
formato (string, sizeof (string), "Exp:% i / 24", Jogador [playerid] [pEXP]);
TextDrawSetString (Novinha [playerid], string);
SetProgressBarMaxValue (Experiencia [playerid], 24);
}
Eu queria que quando ele completasse a etapa, a experiкncia dele voltasse para 0, jб tentei usar isso:
player [playerid] [pEXP] = 0;
volta para o 0 mas continua na mesma etapa 0/4 preciso da ajuda de vocк desde jб obrigado.
Jб tentei usar (case) tambйm mas nгo funciona.
Re: Sistema de experiкncia -
[BOPE]Seu._.Madruga - 28.04.2018
E assim adiante oque ? minha bola de cristal estб de fйrias !
Re: Sistema de experiкncia -
SORRISO22 - 28.04.2018
Exemplo 1 etapa 0/4 de experiкncia
2 etapa 0/15 de experiкncia
3 etapa 0/30 de experiкncia
4 etapa 0/50 de experiкncia e assim adiante brother.
Re: Sistema de experiкncia -
TIAGOO - 28.04.2018
Coloca em php man fica melhor pra entender!!
Re: Sistema de experiкncia -
1sbedx - 28.04.2018
PHP код:
#include <a_samp>
#define MAX_LEVEL (4)
new ply_Level[MAX_PLAYERS];
new ply_Experience[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
SetPlayerLevel(playerid, 1);
SetPlayerExperience(playerid, 0);
return 1;
}
GetPlayerLevel(playerid)
return ply_Level[playerid];
GetPlayerExperience(playerid)
return ply_Experience[playerid];
SetPlayerLevel(playerid, level)
{
if (level > MAX_LEVEL)
return 1;
return ply_Level[playerid] = level;
}
GivePlayerLevel(playerid, level)
{
if (level > MAX_LEVEL)
return 1;
return ply_Level[playerid] += level;
}
SetPlayerExperience(playerid, experience)
{
if (experience > GetLevelExperience(GetPlayerLevel(playerid)))
return 1;
return ply_Experience[playerid] = experience;
}
GivePlayerExperience(playerid, experience)
{
if (experience > GetLevelExperience(GetPlayerLevel(playerid)))
return 1;
return ply_Experience[playerid] += experience;
}
GetLevelExperience(level)
{
switch (level)
{
case 1: return 4;
case 2: return 15;
case 3: return 30;
case 4: return 50;
}
return 0; // Invalid level
}
public OnPlayerUpdate(playerid) // Nгo use aqui, й apenas um exemplo!!
{
GivePlayerExperience(playerid, 1);
if (GetPlayerExperience(playerid) >= GetLevelExperience(GetPlayerLevel(playerid)))
{
GivePlayerLevel(playerid, 1);
SetPlayerExperience(playerid, 0);
}
printf("playerid %d - Level %d (%d/%d)", playerid, GetPlayerLevel(playerid), GetPlayerExperience(playerid), GetLevelExperience(GetPlayerLevel(playerid)));
return 1;
}
Pode haver erros, eu fiz аs pressas e nгo testei.
Re: Sistema de experiкncia -
FerrariL - 28.04.2018
Esse ъltimo return й inъtil...
PHP код:
GetLevelExperience(level)
{
switch (level)
{
case 1: return 4;
case 2: return 15;
case 3: return 30;
case 4: return 50;
default: return 0; // Invalid level
}
}
Re: Sistema de experiкncia -
1sbedx - 28.04.2018
Quote:
Originally Posted by FerrariL
Esse ъltimo return й inъtil...
PHP код:
GetLevelExperience(level)
{
switch (level)
{
case 1: return 4;
case 2: return 15;
case 3: return 30;
case 4: return 50;
default: return 0; // Invalid level
}
}
|
Код:
warning 209: function "GetLevelExperience" should return a value
Re: Sistema de experiкncia -
FerrariL - 28.04.2018
Hum й verdade,mas nгo precisava criar 2 returns.
PHP код:
GetLevelExperience(level)
{
switch (level)
{
case 1: return 4;
case 2: return 15;
case 3: return 30;
case 4: return 50;
}
return 0;
}
Re: Sistema de experiкncia -
1sbedx - 28.04.2018
Quote:
Originally Posted by FerrariL
Hum й verdade,mas nгo precisava criar 2 returns.
PHP код:
GetLevelExperience(level)
{
switch (level)
{
case 1: return 4;
case 2: return 15;
case 3: return 30;
case 4: return 50;
}
return 0;
}
|
Sim...
Re: Sistema de experiкncia -
Eiss - 28.04.2018
Quote:
Originally Posted by 1sbedx
PHP код:
GetLevelExperience(level)
{
switch (level)
{
case 1: return 4;
case 2: return 15;
case 3: return 30;
case 4: return 50;
}
return 0; // Invalid level
}
|
PHP код:
GetLevelExperience(level) {
#emit LOAD.S.pri level
#emit SHL.C.pri 2
#emit STOR.S.pri level
#emit LOAD.S.pri level
#emit ADD.C 4 /** PRI = PRI + 4 **/
#emit RETN
return 0;
}