SA-MP Forums Archive
[Ajuda] Checar se o jogador tem Dinheiro - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Checar se o jogador tem Dinheiro (/showthread.php?tid=388211)



Checar se o jogador tem Dinheiro - Saidmrn - 27.10.2012

Olб a todos,eu queria pedir ajuda em 1 coisa que eu to fazendo e ja pesquisei no ****** como fazer e nгo consegui.

Eu quero criar um sistema para o player escolher o que quer comer e adicionar "X" quantidade de vida.
E eu queria que checasse se ele tem a grana. eu tava fazendo assim :
Код:
#define id 1
#define COR_Comer 0xFF8000AA
public OnPlayerCommandText(playerid, cmdtext[])
if (strcmp("/Comer", cmdtext, true, 10) == 0)
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Pizza Hut", "Pizza de mussarela\nPizza 2\npizza 3\npizza 4", "Comer", "Sair");
return 1;
}

Ok,agora vem a parte que eu nгo consegui.
Como fazer para que veja se o jogador tem o dinheiro para comprar a pizza ?


Re: Checar se o jogador tem Dinheiro - Ouro - 27.10.2012

pawn Код:
if(GetPlayerMoney(playerid) < 1) return SendClientMessage(playerid, -1, "Vocк nгo tem 1 real.");



Re: Checar se o jogador tem Dinheiro - Saidmrn - 27.10.2012

Quote:
Originally Posted by Ouro
Посмотреть сообщение
pawn Код:
if(GetPlayerMoney(playerid) < 1) return SendClientMessage(playerid, -1, "Vocк nгo tem 1 real.");
й isso ?

if(dialogid == 1)
{
if(response == 1)
{
if(listitem == 0)
{
if(GetPlayerMoney(playerid) < 1000) return
SendClientMessage(playerid, -1000, "Vocк nгo tem dinheiro para pagar .");
if(GetPlayerMoney(playerid) >= 1000) return
SendClientMessage(playerid, -1000, "Vocк comeu uma pizza .");
return 1;
}



# EDIT :
Consegui fazer isso,mais quando ele Come a pizza,nгo tira o dinheiro dele.como faзo pra diminuir - 1000 ?


Re: Checar se o jogador tem Dinheiro - Ouro - 27.10.2012

pawn Код:
if(dialogid == 1)
{
    if(response)
    {
        if(listitem == 0)
        {
            if(GetPlayerMoney(playerid) < 1000) return SendClientMessage(playerid, -1, "Vocк nгo tem dinheiro para pagar .");
            SendClientMessage(playerid, -1000, "Vocк comeu uma pizza e perdeu 1000 reais.");
            GivePlayerMoney(playerid, -1000);
        }



Re: Checar se o jogador tem Dinheiro - Rodney Francalim - 27.10.2012

pawn Код:
// TOPO DO GM
#define PRECOPIZZAMUSSARELA 20
        //11 й o valor da pizza em US$
#define CURAPIZZAMUSSARELA 2.0
        //2.0 й o valor que a pizza de mussarela vai curar do jogador

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid) // Para nгo ficar colocando if(dialogid == 1) ... if(dialogid == 2) ...
    {
        case 1: //Pizza de mussarela P.S.: Esse 0 indica o primeiro item da lista
        {
            new Float:Saude;
            GetPlayerHealth(playerid, Saude);
            switch(listitem) // O mesmo para o de cima
            {
                case 0:
                {
                    GetPlayerMoney(playerid);
                    if(GetPlayerMoney(playerid) < PRECOPIZZAMUSSARELA) return SendClientMessage(playerid, 0xFF0000FF, "Vocк nгo tem dinheiro suficiente"); // Se o dinheiro que o jogador tiver for menor do que o preзo da pizza de mussarela, definido lб no topo, entгo retornarб uma mensagem para o player de que ele nгo tem dinheiro suficiente
                    else GivePlayerMoney(playerid, -PRECOPIZZAMUSSARELA), SendClientMessage(playerid, 0xFF8000AA, "Vocк comeu sua pizza de mussarela"), SetPlayerHealth(playerid, Saude+CURAPIZZAMUSSARELA); // Mas se ele tiver, entгo serб descontado o valor da pizza (por isso usei " - " antes do PRECOPIZZAMUSSARELA, para ler como um valor negativo e descontar), e retornarб uma mensagem dizendo que ele comeu aumentando seu life
                }
            }
        }
        // E assim sucessivamente com as outras pizzas
    }
    return 1;
}
Nгo sei se vai dar certo, mas esse й o raciocнnio a ser seguido.


Re: Checar se o jogador tem Dinheiro - Ouro - 27.10.2012

Quote:
Originally Posted by Rodney_Francalim
Посмотреть сообщение
pawn Код:
// TOPO DO GM
#define PRECOPIZZAMUSSARELA 20
        //11 й o valor da pizza em US$
#define CURAPIZZAMUSSARELA 2.0
        //2.0 й o valor que a pizza de mussarela vai curar do jogador

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid) // Para nгo ficar colocando if(dialogid == 1) ... if(dialogid == 2) ...
    {
        case 1: //Pizza de mussarela P.S.: Esse 0 indica o primeiro item da lista
        {
            new Float:Saude;
            GetPlayerHealth(playerid, Saude);
            switch(listitem) // O mesmo para o de cima
            {
                case 0:
                {
                    GetPlayerMoney(playerid);
                    if(GetPlayerMoney(playerid) < PRECOPIZZAMUSSARELA) return SendClientMessage(playerid, 0xFF0000FF, "Vocк nгo tem dinheiro suficiente"); // Se o dinheiro que o jogador tiver for menor do que o preзo da pizza de mussarela, definido lб no topo, entгo retornarб uma mensagem para o player de que ele nгo tem dinheiro suficiente
                    else GivePlayerMoney(playerid, -PRECOPIZZAMUSSARELA), SendClientMessage(playerid, 0xFF8000AA, "Vocк comeu sua pizza de mussarela"), SetPlayerHealth(playerid, Saude+CURAPIZZAMUSSARELA); // Mas se ele tiver, entгo serб descontado o valor da pizza (por isso usei " - " antes do PRECOPIZZAMUSSARELA, para ler como um valor negativo e descontar), e retornarб uma mensagem dizendo que ele comeu aumentando seu life
                }
            }
        }
        // E assim sucessivamente com as outras pizzas
    }
    return 1;
}
Nгo sei se vai dar certo, mas esse й o raciocнnio a ser seguido.



Re: Checar se o jogador tem Dinheiro - Saidmrn - 27.10.2012

Quote:
Originally Posted by Rodney_Francalim
Посмотреть сообщение
pawn Код:
// TOPO DO GM
#define PRECOPIZZAMUSSARELA 20
        //11 й o valor da pizza em US$
#define CURAPIZZAMUSSARELA 2.0
        //2.0 й o valor que a pizza de mussarela vai curar do jogador

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid) // Para nгo ficar colocando if(dialogid == 1) ... if(dialogid == 2) ...
    {
        case 1: //Pizza de mussarela P.S.: Esse 0 indica o primeiro item da lista
        {
            new Float:Saude;
            GetPlayerHealth(playerid, Saude);
            switch(listitem) // O mesmo para o de cima
            {
                case 0:
                {
                    GetPlayerMoney(playerid);
                    if(GetPlayerMoney(playerid) < PRECOPIZZAMUSSARELA) return SendClientMessage(playerid, 0xFF0000FF, "Vocк nгo tem dinheiro suficiente"); // Se o dinheiro que o jogador tiver for menor do que o preзo da pizza de mussarela, definido lб no topo, entгo retornarб uma mensagem para o player de que ele nгo tem dinheiro suficiente
                    else GivePlayerMoney(playerid, -PRECOPIZZAMUSSARELA), SendClientMessage(playerid, 0xFF8000AA, "Vocк comeu sua pizza de mussarela"), SetPlayerHealth(playerid, Saude+CURAPIZZAMUSSARELA); // Mas se ele tiver, entгo serб descontado o valor da pizza (por isso usei " - " antes do PRECOPIZZAMUSSARELA, para ler como um valor negativo e descontar), e retornarб uma mensagem dizendo que ele comeu aumentando seu life
                }
            }
        }
        // E assim sucessivamente com as outras pizzas
    }
    return 1;
}
Nгo sei se vai dar certo, mas esse й o raciocнnio a ser seguido.
Mais eu usar :
GivePlayerMoney(playerid, -PRECOPIZZAMUSSARELA)

ou
GivePlayerMoney(playerid, -1000);
nгo й a mesma coisa ?

Eu usei isso e quando ele escolhe a pizza nгo diminui o seu dinheiro.


Re: Checar se o jogador tem Dinheiro - Rodney Francalim - 27.10.2012

Quote:
Originally Posted by Ouro
Посмотреть сообщение
What? :P


Re: Checar se o jogador tem Dinheiro - Saidmrn - 27.10.2012

Aeeeeeee consegui,vlw ai a todos =DDDDDDD