[Ajuda] Sistema de level
#1

Queria que vocкs me ajudassem a fazer um sistema de level por EXP, nгo nгo й server RPG, queria um sistema que cada kill que o cara fizesse ele ganhasse uma quantia de EXP exemplo 100 e com exemplo 1000 de EXP ele upa o primeiro level ai o segundo level й 2000 EXP e assim vai...
Reply
#2

Tipo isso ?
pawn Код:
new
    gLvl [ MAX_PLAYERS ] ,
    gXp [ MAX_PLAYERS ] ;

public OnPlayerDeath(playerid, killerid, reason)
{
    if ( killerid != INVALID_PLAYER_ID )
    {
        gXp [ playerid ] -= 100 ;
        gXp [ killerid ] += 100 ;
        if ( gXp [ killerid ] == 1000 )
        {
            gXp [ killerid ] = 0 ;
            gLvl [ killerid ] ++ ;
        }
    }
}
O cara ganha 100xp por morte, e o morto perde 100xp, achei mais interessante...
Quando alcanзa 1000xp ele upa 1 level.
Reply
#3

Quote:
Originally Posted by Willian_Luigi
Посмотреть сообщение
Tipo isso ?
pawn Код:
new
    gLvl [ MAX_PLAYERS ] ,
    gXp [ MAX_PLAYERS ] ;

public OnPlayerDeath(playerid, killerid, reason)
{
    if ( killerid == INVALID_PLAYER_ID )
    {
        gXp [ playerid ] -= 100 ;
        gXp [ killerid ] += 100 ;
        if ( gXp [ killerid ] == 1000 )
        {
            gXp [ killerid ] = 0 ;
            gLvl [ killerid ] ++ ;
        }
    }
}
O cara ganha 100xp por morte, e o morto perde 100xp, achei mais interessante...
Quando alcanзa 1000xp ele upa 1 level.
E Pra fazer os outros leveis? porque vout er que fazer isso 100x to fazerndo um server estilo BF3
Reply
#4

Nгo entendi a sua pergunta, vocк disse que queria algo que upasse de 100 em 100 atй 1000, e depois 2000...
a diferenзa sempre й 1000, entгo o cуdigo estб certo.

Me explique melhor sua ideia.
Reply
#5

Quote:
Originally Posted by Willian_Luigi
Посмотреть сообщение
Nгo entendi a sua pergunta, vocк disse que queria algo que upasse de 100 em 100 atй 1000, e depois 2000...
a diferenзa sempre й 1000, entгo o cуdigo estб certo.

Me explique melhor sua ideia.
Porque eu queria tipo, colocar cada nivel com um nome ai se podia explicar com //... nos lugares onde eu vou ter que muda pra fazer o 2° 3° 4°... niveis
Reply
#6

Quote:
Originally Posted by Willian_Luigi
Посмотреть сообщение
Nгo entendi a sua pergunta, vocк disse que queria algo que upasse de 100 em 100 atй 1000, e depois 2000...
a diferenзa sempre й 1000, entгo o cуdigo estб certo.

Me explique melhor sua ideia.
Perae deixa eu explica rmelhor

Comando, LEVEL 1, //Aqui se coloca o nome da patende/level
Comando, 200, //Aqui se muda o quando de EXP pra ele pegar ele level
Reply
#7

pawn Код:
new
    gLvl [ MAX_PLAYERS ] ,
    gXp [ MAX_PLAYERS ] ,
    gXpNext ,
    gXpGained;

public OnPlayerDeath(playerid, killerid, reason)
{
    if ( killerid != INVALID_PLAYER_ID )
    {
        gXp [ playerid ] -= gXpGained ;
        gXp [ killerid ] += gXpGained ;
        if ( gXp [ killerid ] == gXpNext )
        {
            gXp [ killerid ] = 0 ;
            gLvl [ killerid ] ++ ;
        }
    }
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (!strcmp(cmdtext,"/setxp")) ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Escolha de xp", "Digite o xp recebido por morte.", "Confirmar", "");
    if (!strcmp(cmdtext,"/setlvl"))ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Escolha de xp", "Digite o xp necessбrio para subir de nнvel.", "Confirmar", "");
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
        case 1:
        {
            if (inputtext[0] == '\0') return false;
            gXpGained = strval(inputtext);
        }
        case 2:
        {
            if (inputtext[0] == '\0') return false;
            gXpNext = strval(inputtext);
        }
    }
}
comandos:
/setxp (seta o valor de xp que o player vai ganhar quando matar alguйm)
/setlvl (seta o valor de xp que o player precisa pra subir de nнvel)

Espero ter entendido sua ideia, acho que й isso.

Abraзos.
Reply
#8

Quote:
Originally Posted by Willian_Luigi
Посмотреть сообщение
pawn Код:
new
    gLvl [ MAX_PLAYERS ] ,
    gXp [ MAX_PLAYERS ] ,
    gXpNext ,
    gXpGained;

public OnPlayerDeath(playerid, killerid, reason)
{
    if ( killerid == INVALID_PLAYER_ID )
    {
        gXp [ playerid ] -= gXpGained ;
        gXp [ killerid ] += gXpGained ;
        if ( gXp [ killerid ] == gXpNext )
        {
            gXp [ killerid ] = 0 ;
            gLvl [ killerid ] ++ ;
        }
    }
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (!strcmp(cmdtext,"/setxp")) ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Escolha de xp", "Digite o xp recebido por morte.", "Confirmar", "");
    if (!strcmp(cmdtext,"/setlvl"))ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Escolha de xp", "Digite o xp necessбrio para subir de nнvel.", "Confirmar", "");
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
        case 1:
        {
            if (inputtext[0] == '\0') return false;
            gXpGained = strval(inputtext);
        }
        case 2:
        {
            if (inputtext[0] == '\0') return false;
            gXpNext = strval(inputtext);
        }
    }
}
comandos:
/setxp (seta o valor de xp que o player vai ganhar quando matar alguйm)
/setlvl (seta o valor de xp que o player precisa pra subir de nнvel)

Espero ter entendido sua ideia, acho que й isso.

Abraзos.
Queria um sistema de patentes exemplo o cara digita /player [ID do player] ai aparece este jogador й patente TALTAL ja matou TALTAL morreu TALTAL e queria o sistema de level tambйm que o cara upa patente 1 1000XP patente 2 2000XP etc
Reply
#9

Mano, vocк faz pedido demais cara, Por que vocк nгo vai estudar , e pede para alguйm te explicar ao invйs de ficar pedindo toda hora, Na minha conta jб tem mais de 15 POST's seu, se for tirar a media de tempo de 2 em 2 minutos vocк estб pedindo, Putz mano!, Isso й chato pra vocк e para quem for lhe dб o cуdigo pronto.
Reply
#10

Quote:
Originally Posted by Aleex_Mason
Посмотреть сообщение
Mano, vocк faz pedido demais cara, Por que vocк nгo vai estudar , e pede para alguйm te explicar ao invйs de ficar pedindo toda hora, Na minha conta jб tem mais de 15 POST's seu, se for tirar a media de tempo de 2 em 2 minutos vocк estб pedindo, Putz mano!, Isso й chato pra vocк e para quem for lhe dб o cуdigo pronto.
Uns falam que й sу pedir que a galera do forum ajuda, outros falam que й chato fica pedindo, cara nгo posso fazer nada se ainda sou iniciante, eu tento tirar duvidas de FilterScripts que as pessoas postam e tambem de gamemodes mas tem coisas que eu nгo acho do jeito que eu quero para colocar em meu gamemode entгo tenho que vir aqui pedir ajuda, desculpa se faзo FLOOD mas se eu nгo tirar minhas duvidas nunca vou aprender, e eu nгo peзo cуdigos prontos , atй porque assim eu nгo aprendo eu peзo para fazerem 1 vez o cуdigo exemplo de patentes e indicar onde eu devo mudar o tanto de EXP que й para o cara upar para aquela patente indicar onde mudo o nome da patente assim eu vou progredindo
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)