[AJUDA] Sistema de level -
Lуs - 24.07.2011
Entгo pessoal, to fazendo um gamemode de freeroam, pra quem nгo sabe, freeroam й um gamemode que abrange diversas areas e categorias de jogos, no meu tem:
Drift | 4Fun | DM | Stunts
Sу que eu preciso de um sisteminha de level pra ele e nгo sei por onde comeзar, eu queria um sisteminha aonde possa ser tipo, se o cara faz drift, ganha tal ponto e aquele tal ponto dividido por 3 seria 1 ponto, no caso ele precisaria de 6 pra ir pro 2є level, no 4Fun ele ganharia 1 ponto a cada 30 minutos online e no DM a cada 1 pessoa morta, 1 ponto, nos stunts a cada manobra 1 ponto tambйm, e a cada level precisa-se de mais 3 pontos, exemplo:
Level 01: 06 pontos para passar para level 02
Level 02: 09 pontos para passar para level 03
Level 03: 12 pontos para passar para level 04
Entendem? Poxa se vocкs me ajuda-sem a criar isso eu amaria vcs de coraзгo s2 auhauahauhauau.
E tipo o sistema de salvamento eu faзo, nгo precisa disso tudo, obrigado pessoal, e outra, eu usei search e nгo encontrei nada do tipo
Re: [AJUDA] Sistema de level -
Ricop522 - 24.07.2011
Tem um desses.
pawn Код:
CMD:adquirirlevel(playerid, params[])
{
new string[128];
new expatual = DylanInfo[playerid][dExp];
if(expatual != requerirExp(playerid)) return format(string, 128, "Vocк precisa de %iEXP! vocк sу tem %i.", requerirExp(playerid), expatual), SendClientMessage(playerid, Vermelho,string);
DylanInfo[playerid][dExp] = 0;
DylanInfo[playerid][dLevel]++;
SetPlayerScore(playerid, DylanInfo[playerid][dLevel]);
SendClientMessage(playerid, Azul_Marinho, "Parabens vocк upou de level!");
SetPlayerScore(playerid ,GetPlayerScore(playerid) +1);
format(string, sizeof(string), "~y~Vocк foi para o level: ~g~%i, Parabens!",GetPlayerScore(playerid));
GameTextForPlayer(playerid,string, 3000, 5);
return 0x01;
}
stock requerirExp(playerid)
{
new expRequerida;
if(DylanInfo[playerid][dLevel] == 1) expRequerida = (8);
if(DylanInfo[playerid][dLevel] == 2) expRequerida = (16);
if(DylanInfo[playerid][dLevel] == 3) expRequerida = (24);
if(DylanInfo[playerid][dLevel] == 4) expRequerida = (32);
if(DylanInfo[playerid][dLevel] == 5) expRequerida = (40);
if(DylanInfo[playerid][dLevel] == 6) expRequerida = (48);
if(DylanInfo[playerid][dLevel] == 7) expRequerida = (56);
if(DylanInfo[playerid][dLevel] == 8) expRequerida = (64);
return expRequerida;
}
pawn Код:
#define requerirExp(%0, %1) (DylanInfo[%0][dLevel] == %1) ? (true) : (false)
requerirExp(level, exp)
pawn Код:
stock requerirExp(playerid) return (DylanInfo[playerid][dLevel]*8);
Basta adбpta-lo para o seu sistema.
Re: [AJUDA] Sistema de level -
Lуs - 24.07.2011
Mais tipo, eu queria que fosse automбtico, ele upa automaticamente, nгo precisa-se digitar nenhum comando.
Mais no caso qual a funзгo eu iria usar pra dar 1 ponto de XP para o player?
Obrigado mesmo assim '-'
EDIT:
pawn Код:
DylanInfo[playerid][dExp] = 0;
DylanInfo[playerid][dLevel]++;
achei
Vou tentar aqui dar uma adaptada vlw
Re: [AJUDA] Sistema de level -
Ricop522 - 24.07.2011
Da uma olhada nesse
plugin talvez ele possa lhe ajudar.
Vocк pode fazer ele ultrapassar o nнvel automaticamente criando um timer, exemplo:
pawn Код:
public OnGameModeInit() return SetTimer("upAutomatico", 1000, true); //isso й apenas um exemplo, nгo quer dizer que estб funcionando
forward upAutomatico(); public upAutomatico() {
foreach(Player, i)
{
if(requerirExp(i) == exp[i])
{
level[i]++;
}
}
}
Para contar os pontos de drift, vocк prуprio deve fazer, no caso use o drift counter.
Re: [AJUDA] Sistema de level -
Lуs - 24.07.2011
Obrigado cara, eu sу nгo entendi bem essas 3 linhas:
pawn Код:
#define requerirExp(%0, %1) (DylanInfo[%0][dLevel] == %1) ? (true) : (false)
requerirExp(level, exp)
pawn Код:
stock requerirExp(playerid) return (DylanInfo[playerid][dLevel]*8);
Qual seria a funзгo delas?
Re: [AJUDA] Sistema de level -
Ricop522 - 24.07.2011
No caso
pawn Код:
stock requerirExp(playerid) return (DylanInfo[playerid][dLevel]*8);
Vai checar se o cara tem a exp requerida.
Vai ser: O level multiplicado por 8.
Ex:
Level 1 necessita de 8 exp
Level 2 necessita de 16 exp
E assim por diante.
ex>
pawn Код:
#define requerirExp(%0) (DylanInfo[%0][dLevel]*8)
Re: [AJUDA] Sistema de level -
Lуs - 24.07.2011
Mais tipo qual das 2 stocks eu utilizo? Essa:
pawn Код:
stock requerirExp(playerid)
{
new expRequerida;
if(DylanInfo[playerid][dLevel] == 1) expRequerida = (8);
if(DylanInfo[playerid][dLevel] == 2) expRequerida = (16);
if(DylanInfo[playerid][dLevel] == 3) expRequerida = (24);
if(DylanInfo[playerid][dLevel] == 4) expRequerida = (32);
if(DylanInfo[playerid][dLevel] == 5) expRequerida = (40);
if(DylanInfo[playerid][dLevel] == 6) expRequerida = (48);
if(DylanInfo[playerid][dLevel] == 7) expRequerida = (56);
if(DylanInfo[playerid][dLevel] == 8) expRequerida = (64);
return expRequerida;
}
Ou essa:
pawn Код:
stock requerirExp(playerid) return (DylanInfo[playerid][dLevel]*8);
Re: [AJUDA] Sistema de level -
Ricop522 - 24.07.2011
Use essa.
pawn Код:
stock requerirExp(playerid) return (DylanInfo[playerid][dLevel]*8);
__________________________________________________ ________________________________________________
Se eu te ajudei me de um reputation? *-*
Re: [AJUDA] Sistema de level -
Lуs - 24.07.2011
Como que dб 1 reputation a cada post que vc me respondeu mano? KKKKKKKKKKKKKKKKKKKK
Uma ultima duvida, como eu usaria aquele sistema de Drift e dividiria o valor total do drift por 9 ou 10?
Re: [AJUDA] Sistema de level -
Ricop522 - 24.07.2011
kkkk bgzz
Vocк pode fazer creio eu que assim:
pawn Код:
forward OnPlayerDriftUpdate(playerid,value,combo,flagid,Float:distance,Float:speed);
No caso para dividir usaria
combo /9
Nгo conheзo muito bem esse plugin, mais me disseram que й muito bom