[HELP] Bug em Comando Simples!
#1

Код:
	if (strcmp(cmd, "/adquirirnivel", true) == 0)
	{
			if (gPlayerLogged[playerid] != 0)
			{
				if(PlayerInfo[playerid][pLevel] >= 0)
				{
					new infostring[256];
					if (PlayerInfo[playerid][pExp] < expamount)
					{
						format(infostring, 256, "   Vocк precisa de %d pontos de respeito, vocк tem [%d] !",expamount,PlayerInfo[playerid][pExp]);
						SendClientMessage(playerid, COLOR_GRAD1, infostring);
						return 1;
					}
					else
					{
						format(string, sizeof(string), "~g~LEVEL adquirido~n~~w~voce estЃ agora nўvel %d", nxtlevel);
						PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
						PlayerPlayMusic(playerid);
						PlayerInfo[playerid][pLevel]++;
						PlayerInfo[playerid][pExp] = 0;
						PlayerInfo[playerid][gPupgrade] = PlayerInfo[playerid][gPupgrade]+2;
						GameTextForPlayer(playerid, string, 5000, 1);
						format(infostring, 256, "   Vocк ganhou %d pontos de atualizaзгo",PlayerInfo[playerid][gPupgrade]);
						SendClientMessage(playerid, COLOR_GRAD2, infostring);
						levelexp[playerid] = 4;
						if(PlayerInfo[playerid][pLevel] >= 8) { levelexp[playerid] = 5; }
						if(PlayerInfo[playerid][pLevel] >= 11) { levelexp[playerid] = 6; }
						if(PlayerInfo[playerid][pLevel] >= 14) { levelexp[playerid] = 7; }
						if(PlayerInfo[playerid][pLevel] >= 17) { levelexp[playerid] = 8; }
					}
				}
				return 1;
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, "   Vocк nгo fez o Loggin !");
			}
		}
		return 1;
	}
O Cуdigo acima й o cуdigo de comprar leveis no meu RolePlay
mas tem um problema..

O Jogador,quando atinge o respeito necessбrio pra usar o comando,ele pode comprar leveis
quantas vezes quiser,repetindo o comando.
й sу digitar novamente o comando que ele consegue evoluir,sem nem ter
o respeito necessбrio.

O que pode ser?
Valeu ai :]
Reply
#2

-Inexperiente falando.

Cara, tenta colocar tipo.

Ao usar o comando perder os respeitos.
Por exemplo :

SetPlayerScore(playerid, GetPlayerScore(playerid) +- 15);
15 = respeito.
Reply
#3

Mais coco-Marron,ele nao quiz dizer que deve usar o setplayerscore nao,o Setplayerscore e pra setar o score de uma pessoaaa,Ele deu so um exemplo pra vc..
Reply
#4

jб tentei isso
o problema й que tipo
quando o cara consegue respeito suficiente e usa o comando,
a partir da segunda vez ele jб tб com 0 de respeito,mas consegue
usar o comando mesmo com 0...
Reply
#5

Quote:
Originally Posted by Coco-Marrom
Посмотреть сообщение
jб tentei isso
o problema й que tipo
quando o cara consegue respeito suficiente e usa o comando,
a partir da segunda vez ele jб tб com 0 de respeito,mas consegue
usar o comando mesmo com 0...
Tu tem que colocar, tipo.

if (GetPlayerScore(playerid) <15)

15 = respeito.

new string[128];
if (GetPlayerScore(playerid) <15)
{
format(string,sizeof(string),"Vocк tem score %i, e por isso nгo pode comprar o item",GetPlayerScore(playerid));
SendClientMessageToAll(COR_AZUL, string);
}
Reply
#6

Isto deve resolver o seu problema:

pawn Код:
if (strcmp(cmd, "/adquirirnivel", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if (gPlayerLogged[playerid] != 0)
            {
                if(PlayerInfo[playerid][pLevel] >= 0)
                {
                    new nxtlevel = PlayerInfo[playerid][pLevel]+1;
                    new infostring[256];
                    new expamount = PlayerInfo[playerid][pLevel]*2;
                    if (PlayerInfo[playerid][pExp] < expamount)
                    {
                        format(infostring, 256, "   Vocк precisa de %d pontos de respeito, vocк tem [%d] !",expamount,PlayerInfo[playerid][pExp]);
                        SendClientMessage(playerid, COLOR_GRAD1, infostring);
                        return 1;
                    }
                    else
                    {
                        format(string, sizeof(string), "~g~LEVEL adquirido~n~~w~voce estЃ agora nўvel %d", nxtlevel);
                        PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                        PlayerPlayMusic(playerid);
                        PlayerInfo[playerid][pLevel]++;
                        PlayerInfo[playerid][pExp] = 0;
                        PlayerInfo[playerid][gPupgrade] = PlayerInfo[playerid][gPupgrade]+2;
                        GameTextForPlayer(playerid, string, 5000, 1);
                        levelexp[playerid] = 4;
                        if(PlayerInfo[playerid][pLevel] >= 8) { levelexp[playerid] = 5; }
                        if(PlayerInfo[playerid][pLevel] >= 11) { levelexp[playerid] = 6; }
                        if(PlayerInfo[playerid][pLevel] >= 14) { levelexp[playerid] = 7; }
                        if(PlayerInfo[playerid][pLevel] >= 17) { levelexp[playerid] = 8; }
                    }
                }
                return 1;
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "   Vocк nгo fez o Loggin !");
            }
        }
        return 1;
    }


Espero ter ajudado
Reply
#7

Valeu cara,funcionou tambйm

mas eu ja tinha arrumado
mas valeu
:]
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)