[Ajuda] Erro: Menssagem Dupla
#1

Bom, ao comprar uma arma na minha loja de armas, dps de escolhida e comprada a SendClientMessage й mostrada 2x, pq isso?

Imagem:


pawn Код:
//===========Loja de Armas Norte===========//
    if(dialogid == LojaDeArmas2)
    {
    if(response)
    {
    if(listitem == 0)
    {
    if(GetPlayerMoney(playerid) < 150) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
    GivePlayerMoney(playerid, -150);
    GivePlayerWeapon(playerid, 24, 100);
    SendClientMessage(playerid, azul,"[LOJA] Vocк comprou uma Desert Eagle.");
    }}}

    if(listitem == 1)
    {
    if(GetPlayerMoney(playerid) < 310) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
    GivePlayerMoney(playerid, -310);
    GivePlayerWeapon(playerid,29,300);
    SendClientMessage(playerid, azul,"[LOJA] Vocк comprou uma MP5.");
    }

    if(listitem == 2)
    {
    if(GetPlayerMoney(playerid) < 1000) return  SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
    GivePlayerMoney(playerid, -1000);
    GivePlayerWeapon(playerid,31,260);
    SendClientMessage(playerid, azul, "[LOJA] Vocк comprou uma M4A1.");
    }

    if(listitem == 3)
    {
    if(GetPlayerMoney(playerid) < 970) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
    GivePlayerMoney(playerid, -970);
    GivePlayerWeapon(playerid,30,210);
    SendClientMessage(playerid, azul,"[LOJA] Vocк comprou uma AK-47.");
    }

    if(listitem == 4)
    {
    if(GetPlayerMoney(playerid) < 1900) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
    GivePlayerMoney(playerid, -1900);
    GivePlayerWeapon(playerid, 34,40);
    SendClientMessage(playerid,azul,"[LOJA] Vocк comprou uma Sniper.");
    }
   
    if(listitem == 5)
    {
    if(GetPlayerMoney(playerid) < 400) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
    GivePlayerMoney(playerid, -400);
    SetPlayerArmour(playerid,80);
    SendClientMessage(playerid, azul, "[LOJA] Vocк comprou um Colete.");
    }
    return 1;
    }
Reply
#2

tente assim:
pawn Код:
//===========Loja de Armas Norte===========//
    if(dialogid == LojaDeArmas2)
    {
    if(response)
    {
    if(listitem == 0)
    {
    if(GetPlayerMoney(playerid) < 150) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
    GivePlayerMoney(playerid, -150);
    GivePlayerWeapon(playerid, 24, 100);
    SendClientMessage(playerid, azul,"[LOJA] Vocк comprou uma Desert Eagle.");
    }

    if(listitem == 1)
    {
    if(GetPlayerMoney(playerid) < 310) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
    GivePlayerMoney(playerid, -310);
    GivePlayerWeapon(playerid,29,300);
    SendClientMessage(playerid, azul,"[LOJA] Vocк comprou uma MP5.");
    }

    if(listitem == 2)
    {
    if(GetPlayerMoney(playerid) < 1000) return  SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
    GivePlayerMoney(playerid, -1000);
    GivePlayerWeapon(playerid,31,260);
    SendClientMessage(playerid, azul, "[LOJA] Vocк comprou uma M4A1.");
    }

    if(listitem == 3)
    {
    if(GetPlayerMoney(playerid) < 970) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
    GivePlayerMoney(playerid, -970);
    GivePlayerWeapon(playerid,30,210);
    SendClientMessage(playerid, azul,"[LOJA] Vocк comprou uma AK-47.");
    }

    if(listitem == 4)
    {
    if(GetPlayerMoney(playerid) < 1900) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
    GivePlayerMoney(playerid, -1900);
    GivePlayerWeapon(playerid, 34,40);
    SendClientMessage(playerid,azul,"[LOJA] Vocк comprou uma Sniper.");
    }

    if(listitem == 5)
    {
    if(GetPlayerMoney(playerid) < 400) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
    GivePlayerMoney(playerid, -400);
    SetPlayerArmour(playerid,80);
    SendClientMessage(playerid, azul, "[LOJA] Vocк comprou um Colete.");
    }
    }
    return 1;
    }
Reply
#3

Coloca a Mensagem Antes Da Funзao!
Reply
#4

Quote:
Originally Posted by BlackDonelly
Посмотреть сообщение
tente assim:
pawn Код:
//===========Loja de Armas Norte===========//
    if(dialogid == LojaDeArmas2)
    {
    if(response)
    {
    if(listitem == 0)
    {
    if(GetPlayerMoney(playerid) < 150) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
    GivePlayerMoney(playerid, -150);
    GivePlayerWeapon(playerid, 24, 100);
    SendClientMessage(playerid, azul,"[LOJA] Vocк comprou uma Desert Eagle.");
    }

    if(listitem == 1)
    {
    if(GetPlayerMoney(playerid) < 310) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
    GivePlayerMoney(playerid, -310);
    GivePlayerWeapon(playerid,29,300);
    SendClientMessage(playerid, azul,"[LOJA] Vocк comprou uma MP5.");
    }

    if(listitem == 2)
    {
    if(GetPlayerMoney(playerid) < 1000) return  SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
    GivePlayerMoney(playerid, -1000);
    GivePlayerWeapon(playerid,31,260);
    SendClientMessage(playerid, azul, "[LOJA] Vocк comprou uma M4A1.");
    }

    if(listitem == 3)
    {
    if(GetPlayerMoney(playerid) < 970) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
    GivePlayerMoney(playerid, -970);
    GivePlayerWeapon(playerid,30,210);
    SendClientMessage(playerid, azul,"[LOJA] Vocк comprou uma AK-47.");
    }

    if(listitem == 4)
    {
    if(GetPlayerMoney(playerid) < 1900) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
    GivePlayerMoney(playerid, -1900);
    GivePlayerWeapon(playerid, 34,40);
    SendClientMessage(playerid,azul,"[LOJA] Vocк comprou uma Sniper.");
    }

    if(listitem == 5)
    {
    if(GetPlayerMoney(playerid) < 400) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
    GivePlayerMoney(playerid, -400);
    SetPlayerArmour(playerid,80);
    SendClientMessage(playerid, azul, "[LOJA] Vocк comprou um Colete.");
    }
    }
    return 1;
    }
Nгo funciona assim, pq tenho q feixar as "if" antes de comeзar os 'listitem'.

Quote:
Originally Posted by mau.tito
Посмотреть сообщение
Coloca a Mensagem Antes Da Funзao!
Se colocar o SendClientMessage antes, quando realizar a compra, n aparecerб que comprou, ou provavelmente irб aparecer quando abrir o dialog.
Reply
#5

os if do dialogid e do reponse fecham antes do ultimo return 1;
Reply
#6

pawn Код:
//===========Loja de Armas Norte===========//
    if(dialogid == LojaDeArmas2)
    {
        if(!response) return 1;
        switch(listitem)
        {
            case 0:
            {
                if(GetPlayerMoney(playerid) < 150) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
                GivePlayerMoney(playerid, -150);
                GivePlayerWeapon(playerid, 24, 100);
                SendClientMessage(playerid, azul,"[LOJA] Vocк comprou uma Desert Eagle.");
            }
            case 1:
            {
                if(GetPlayerMoney(playerid) < 310) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
                GivePlayerMoney(playerid, -310);
                GivePlayerWeapon(playerid,29,300);
                SendClientMessage(playerid, azul,"[LOJA] Vocк comprou uma MP5.");
            }
            case 2:
            {
                if(GetPlayerMoney(playerid) < 1000) return  SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
                GivePlayerMoney(playerid, -1000);
                GivePlayerWeapon(playerid,31,260);
                SendClientMessage(playerid, azul, "[LOJA] Vocк comprou uma M4A1.");
            }
            case 3:
            {
                if(GetPlayerMoney(playerid) < 970) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
                GivePlayerMoney(playerid, -970);
                GivePlayerWeapon(playerid,30,210);
                SendClientMessage(playerid, azul,"[LOJA] Vocк comprou uma AK-47.");
            }
            case 4:
            {
                if(GetPlayerMoney(playerid) < 1900) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
                GivePlayerMoney(playerid, -1900);
                GivePlayerWeapon(playerid, 34,40);
                SendClientMessage(playerid,azul,"[LOJA] Vocк comprou uma Sniper.");
            }
            case 5:
            {
                if(GetPlayerMoney(playerid) < 400) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
                GivePlayerMoney(playerid, -400);
                SetPlayerArmour(playerid,80);
                SendClientMessage(playerid, azul, "[LOJA] Vocк comprou um Colete.");
            }
        }
        return 1;
    }
Reply
#7

Quote:
Originally Posted by BlackDonelly
Посмотреть сообщение
os if do dialogid e do reponse fecham antes do ultimo return 1;
Ok! Feixei eles antes do return 1; como vc falou. mais aн ficou 5 "}" totalizadas, e compilou normal. Dps irei testar, pois agora tenho q sair, quando ao flood n sei, dps testo.

Abraзo!
e vlws pela ajuda.
Reply
#8

Quote:
Originally Posted by EditPawn
Посмотреть сообщение
pawn Код:
//===========Loja de Armas Norte===========//
    if(dialogid == LojaDeArmas2)
    {
        if(!response) return 1;
        switch(listitem)
        {
            case 0:
            {
                if(GetPlayerMoney(playerid) < 150) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
                GivePlayerMoney(playerid, -150);
                GivePlayerWeapon(playerid, 24, 100);
                SendClientMessage(playerid, azul,"[LOJA] Vocк comprou uma Desert Eagle.");
            }
            case 1:
            {
                if(GetPlayerMoney(playerid) < 310) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
                GivePlayerMoney(playerid, -310);
                GivePlayerWeapon(playerid,29,300);
                SendClientMessage(playerid, azul,"[LOJA] Vocк comprou uma MP5.");
            }
            case 2:
            {
                if(GetPlayerMoney(playerid) < 1000) return  SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
                GivePlayerMoney(playerid, -1000);
                GivePlayerWeapon(playerid,31,260);
                SendClientMessage(playerid, azul, "[LOJA] Vocк comprou uma M4A1.");
            }
            case 3:
            {
                if(GetPlayerMoney(playerid) < 970) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
                GivePlayerMoney(playerid, -970);
                GivePlayerWeapon(playerid,30,210);
                SendClientMessage(playerid, azul,"[LOJA] Vocк comprou uma AK-47.");
            }
            case 4:
            {
                if(GetPlayerMoney(playerid) < 1900) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
                GivePlayerMoney(playerid, -1900);
                GivePlayerWeapon(playerid, 34,40);
                SendClientMessage(playerid,azul,"[LOJA] Vocк comprou uma Sniper.");
            }
            case 5:
            {
                if(GetPlayerMoney(playerid) < 400) return SendClientMessage(playerid, vermelho, "[LOJA] Dinheiro Insuficiente!");
                GivePlayerMoney(playerid, -400);
                SetPlayerArmour(playerid,80);
                SendClientMessage(playerid, azul, "[LOJA] Vocк comprou um Colete.");
            }
        }
        return 1;
    }
oL, por switch parece ser muito mais organizado e descomplicado... ao chegar da Igreja irei testar essa opзгo.

Abraзo!

@EDIT


Fiz em Switch e funcionou perfeitamente, sem bug algum.
Vlws pelas ajudas.

@Closed.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)