[Ajuda] Checar se o jogador tem Dinheiro
#1

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 ?
Reply
#2

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

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 ?
Reply
#4

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);
        }
Reply
#5

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.
Reply
#6

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.
Reply
#7

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.
Reply
#8

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

Aeeeeeee consegui,vlw ai a todos =DDDDDDD
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)