[AJUDA] Sistema de level por exp
#1

Galera to com um problema peguei um sistema de level por exp sу que o problema й que quando o player chega ao exp 5 ele nгo vai para level 1, mais quando entra outro player e faz isso ele consegue chegar mais depois nгo consegue chegar em outro level, queria uma ajuda para arrumar isso quem pode me ajudar obrigado.

se eu nгo me engano o problema й aqui

Код:
  Exp[killerid]++;
    if(Exp[playerid] == 5)
    {
        Level[playerid]++;
    }
Mas parece que ta tudo ceto nгo sei pq nгo esta contando
Reply
#2

Se isso estб em OnPlayerDeath, e vocк quer dar o level pro cara que matou, troque os playerid por killerid:
pawn Код:
Exp[killerid]++;
    if(Exp[killerid] == 5)
    {
        Level[killerid]++;
    }

AJUDEI? +rep =D
Reply
#3

Uhumm deu certo sу que ele ta upando sу um lv ele chega no level 1 e para botar mais level sу seguir esse comando no onplayerdealth ?? mais uma coisa se n foi muito como boto uma mensagem ex: parabйns vo se upou mais um lv mais isso sу se tiver afim msm de ajuda preciso msm й fazer ele upar mais se pode me ajudar agradeзo Obrigado
Reply
#4

pawn Код:
Exp[killerid]++;
if(Exp[killerid] == 5)
{
   Level[killerid]++;
   SendClientMessage(playerid,-1,"Parabйns, vocк recebeu mais 1 level por ter matado 5 players");
}
else if(Exp[killerid] == 10)
{
   Level[killerid] ++;
   SendClientMessage(playerid,-1,"Parabйns, vocк recebeu mais 1 level por ter matado 10 players");
}
else if(Exp[killerid] == 15)
{
   Level[killerid] ++;
   SendClientMessage(playerid,-1,"Parabйns, vocк recebeu mais 1 level por ter matado 15 players");
}
else if(Exp[killerid] == 20)
{
   Level[killerid] ++;
   SendClientMessage(playerid,-1,"Parabйns, vocк recebeu mais 1 level por ter matado 20 players");
}
Sу ir seguindo agora, acho que vai saber fazer. Assim, de 5 em 5 players que ele matar, receberб mais um level.
Ajudei? +rep por favor
Reply
#5

pawn Код:
Exp[killerid]++;
new PrxLvl = Level[killerid]+1, ExpCal = PrxLvl*5;//5 = quantas exp deseja aumentar por level.
if(Exp[killerid] == ExpCal)
{
    Level[killerid]++;
    Exp[killerid] = 0;
}
@Corrigindo

pawn Код:
//Topo GM

new ExpCal[20][] =
{
"5",
"10",
"15",
"20",
"25",
"30",
"35",
"40",
"45",
"50",
"55",
"60",
"65",
"70",
"75",
"80",
"85",
"90",
"95",
"100"
};

//OnPlayerDeath

Exp[killerid]++;
new string[128], PrxLvl = Level[killerid]+1;

for(new i = 0; i < 20; i++)
{
    if(Exp[killerid] == ExpCal[i])
    {
        Level[killerid]++;
        format(string, sizeof(string), "Parabйns, vocк passou para o level %d por ter matado %d players", Level[killerid], Exp[killerid]);
        SendClientMessage(playerid, -1, string);
    }
}
Reply
#6

desculpa pela demora para responder to vendo agora se ta dando certo ou nгo, bom deu um erro e uma warning olha sу

Код:
C:\Documents and Settings\Thaw\Desktop\0.3d\gamemodes\GW.pwn(234) : error 033: array must be indexed (variable "ExpCal")
C:\Documents and Settings\Thaw\Desktop\0.3d\gamemodes\GW.pwn(230) : warning 204: symbol is assigned a value that is never used: "PrxLvl"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase
Muito obrigado pela ajuda que estгo me dando

Obrigado.
Reply
#7

Troque lб encima por esse

pawn Код:
new ExpCal[ ] =
e lб embaixo por esse

pawn Код:
for(new i = 0; i < sizeof (ExpCal) ; i++)
    {
        if(Exp[killerid] == ExpCal[i])
        {
            #pragma unused PrxLvl
Reply
#8

Cara compilo sу que nгo esta upando mais deixa assim mesmo uso o da humildeforever vlw msm cara

Sу uma pergunta parece ser bem tosca mais para mim nгo, como escolho a ordem tipo quando conecto no server o exp jб esta aparecendo antes de eu me logar como faзo para aparecer sу quando eu logar.
Reply
#9

basta colocar para atualizar o score no OnPlayerSpawn
Reply
#10

Nгo entendi mais deixa assim mesmo vlw pela ajuda. Reputation para vc
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)