[Ajuda] Sistema de level
#1

Nгo sei bem se й um pedido ou uma ajuda queria saber se tem como os otimizar esse sistema de level para ocupar menos linhas. Queria tambйm saber como faзo para botar quando de exp falta para o player ir para o proximo level exemplo EXP:50/100 dai quando ele chegar ao 100 iria upar e assim por diante.



O sistema e assim de level e exp que quero otimizar para ocupar menos linha.
Код:
	if(IsPlayerConnected(killerid))
    {
        Matou[killerid]++;
    }
    Morreu[playerid]++;

///////////////////////////////////////////SISTEMA DE Level///////////////////////////////////////
	
	Exp[killerid]++;
	if(Exp[killerid] == 5)
{
   Level[killerid]++;
   SendClientMessage(killerid,0xFFFF00AA-1,"Parabйns, vocк recebeu mais 1 level por ter matado 5 players");
}
	else if(Exp[killerid] == 10)
{
   Level[killerid] ++;
   SendClientMessage(killerid,0xFFFF00AA-1,"Parabйns, vocк recebeu mais 1 level por ter matado 10 players");
}
	else if(Exp[killerid] == 20)
{
   Level[killerid] ++;
   SendClientMessage(killerid,0xFFFF00AA-1,"Parabйns, vocк recebeu mais 1 level por ter matado 20 players");
}
	else if(Exp[killerid] == 30)
Reply
#2

Seu codigo ficaria mas ou menos assim \/
Espero ter ajudado

PHP код:

if(IsPlayerConnected(killerid)) {Matou[killerid]++;}
Exp[killerid]++;
if(
Exp[killerid] == 5)
Level[killerid]++; SendClientMessage(killerid,0xFFFF00AA-1,"Parabйns, vocк recebeu mais 1 level por ter matado 5 players"); }
else if(
Exp[killerid] == 10)
Level[killerid] ++; SendClientMessage(killerid,0xFFFF00AA-1,"Parabйns, vocк recebeu mais 1 level por ter matado 10 players"); }
else if(
Exp[killerid] == 20)
Level[killerid] ++; SendClientMessage(killerid,0xFFFF00AA-1,"Parabйns, vocк recebeu mais 1 level por ter matado 20 players"); }
else if(
Exp[killerid] == 30)
    switch(
Exp[killerid])
        {
            case 
1SendClientMessage(killerid, -1,"Voce ganhou 1 de exp [ 1 / 5]");
            case 
2SendClientMessage(killerid, -1,"Voce ganhou 1 de exp [ 2 / 5]");
            case 
3SendClientMessage(killerid, -1,"Voce ganhou 1 de exp [ 3 / 5]");
            case 
4SendClientMessage(killerid, -1,"Voce ganhou 1 de exp [ 4 / 5]");
            case 
5:
            {
                new 
string128 ];
                
format(string128"Voce completo [ 5 / 5] de experiencia e upou 1 level seu level atual e %i"Level[killerid] );
                
SendClientMessage(killerid, -1string);
            }
        } 
Reply
#3

Cara deu certo, so a mensagem nгo apareceu maus upou tudo certinho. Obrigado

Sу mais uma duvida, queria saber se tem como converter comandos strcmd em cmd, pois eu queria usar um fs de casa so que meus comandos sгo todos em strcmd
Reply
#4

Sim, й possнvel converter para zcmd.

Exemplo:
strcmp:
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{

    if (strcmp(cmdtext, "/comando", true)==0)
                {
                //func
                return 1;
                }
return 0;
}
Para ZCMD:
pawn Код:
#include <ZCMD>

// final do gamemode
CMD:comando(playerid)
{
    // funcao
    return 1;
}
Reply
#5

Consegui mais fica dando essas duas warning que n sei pq

Код:
local variable "pName" shadows a variable at a preceding level
local variable "cmd" shadows a variable at a preceding level
Reply
#6

Vocк declarou duas vezes a pName e o cmd й sу apagar um de cada tipo que ja funfa normal
Reply
#7

o pName resolvi mas o cmd nгo

ficando dando erro aqui

Код:
public OnRconCommand(cmd[])
o erro e nessa public
Reply
#8

Oque tem nessa public ? .-.
Reply
#9

nada ela n tem nada so da erro ali mesmo
public OnRconCommand(cmd[])
{
return 1
}
Reply
#10

Tira essa public, jб que ela nгo estб sendo utilizada.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)