SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 14/09/2019, 10:01 PM   #1
smith
Big Clucker
 
smith's Avatar
 
Join Date: Aug 2019
Location: São Paulo
Posts: 87
Reputation: 1
Default Comando /comprar

galera eu fiz uma lojinha in game mais nao tenho a minima ideia de como vo fazer o comando /comprar [iddoitem] para nao ser necessario criar um comando comprar para
cada item dem uma olhada no que eu tentei fazer mais nao deu certo.
pawn Code:
CMD:comprar(playerid, params[])
{
   new itenid;
   new str[128];
   if(sscanf(params, "i", itenid))return msg(playerid, Vermelho, "|ERRO|: Use /comprar [idObjeto]");
   if(PlayerInfo[playerid][pDinheiro] < 1200) return msg(playerid, -1,"Voce nao tem cash o suficiente para comprar este item!!");
   if(itenid == 1){
   format(str, sizeof(str), "Parabens voce acaba de adquirir um Celular Galaxy A20!!!");
   msg(playerid, VerdeC, str);
   pitens[playerid][Celular] = 1;
   GivePlayerMoney(playerid, -1200);
   }
   else if(itenid == 2){
   format(str, sizeof(str), "Parabens voce acaba de adquirir uma Mochila da Oakley!!!");
   if(PlayerInfo[playerid][pDinheiro] < 350) return msg(playerid, -1,"Voce nao tem cash o suficiente para comprar este item!!");
   msg(playerid, VerdeC, str);
   pitens[playerid][Mochila] = 1;
   GivePlayerMoney(playerid, -350);
   }
   else if(itenid == 3){
   format(str, sizeof(str), "Parabens voce acaba de adquirir Kit Medico!!!");
   if(PlayerInfo[playerid][pDinheiro] < 1000) return msg(playerid, -1,"Voce nao tem cash o suficiente para comprar este item!!");
   msg(playerid, VerdeC, str);
   pitens[playerid][MedKit] = 1;
   GivePlayerMoney(playerid, -1000);
   }
   else if(itenid == 4){
   format(str, sizeof(str), "Parabens voce acaba de adquirir Cornetas para fazer anuncios!!!");
   msg(playerid, VerdeC, str);
   org[playerid][pCash] -= 300;
   pitens[playerid][Corneta] = 30;
   
   }
   
   else if(itenid == 5){
   format(str, sizeof(str), "Parabens voce acaba de adquirir Polvora para criaçao de bombas!!!");
   msg(playerid, VerdeC, str);
   if(org[playerid][pCash] < 30) return msg(playerid, -1,"Voce nao tem cash o suficiente para comprar este item!!");
   org[playerid][pCash] -= 30;
   pitens[playerid][Polvora] += 3;

   }
   
   else if(itenid == 5){
   format(str, sizeof(str), "Parabens voce acaba de adquirir Expoleta para criaçao de bombas!!!");
   msg(playerid, VerdeC, str);
   if(org[playerid][pCash] < 30) return msg(playerid, -1,"Voce nao tem cash o suficiente para comprar este item!!");
   org[playerid][pCash] -= 30;
   pitens[playerid][Expoleta] += 3;

   }
   return 1;
}
oque tentei fazer kkk
__________________
Não vivo para agradar ninguém, pois quando for fazer as minhas escolhas terei de as enfrentar sozinho.
smith is offline   Reply With Quote
Old 15/09/2019, 12:38 AM   #2
oRaphael
Big Clucker
 
oRaphael's Avatar
 
Join Date: Jul 2019
Location: Goiânia, Goias.
Posts: 178
Reputation: 2
Default Re: Comando /comprar

Está certo uai.
__________________
Fundador, Hyze RPG.
oRaphael is offline   Reply With Quote
Old 15/09/2019, 12:42 AM   #3
smith
Big Clucker
 
smith's Avatar
 
Join Date: Aug 2019
Location: São Paulo
Posts: 87
Reputation: 1
Default Re: Comando /comprar

Quote:
Originally Posted by oRaphael View Post
Está certo uai.
aqui da warng e nao funcioa if(org[playerid][pCash] < 30) tag misth algo assim
ja tentei fazer em dialog mais nao to sabendo tbm quando coloco no comesso da public dialog atrapalha meu sistema de login nao salva direito se eu coloco em baxo da certo mais kika o player e reseta os status dele nao sei oque fazer
ja tentei em lugar de pid[pDinheiro] colocar GivePlayerWapon(playrid) < 100 return msg n deu tbm
__________________
Não vivo para agradar ninguém, pois quando for fazer as minhas escolhas terei de as enfrentar sozinho.
smith is offline   Reply With Quote
Old 15/09/2019, 04:22 PM   #4
Saik
Big Clucker
 
Join Date: Sep 2018
Posts: 83
Reputation: 1
Default Re: Comando /comprar

Quote:
Originally Posted by smith View Post
aqui da warng e nao funcioa if(org[playerid][pCash] < 30) tag misth algo assim
ja tentei fazer em dialog mais nao to sabendo tbm quando coloco no comesso da public dialog atrapalha meu sistema de login nao salva direito se eu coloco em baxo da certo mais kika o player e reseta os status dele nao sei oque fazer
ja tentei em lugar de pid[pDinheiro] colocar GivePlayerWapon(playrid) < 100 return msg n deu tbm
Se um dialog está interferindo no outro é pq está usando o mesmo ID para ambos.

Defina o id dos dialog's no topo da GM/FS

PHP Code:
#define DIALOG_LOJA 1
#define DIALOG_LOGIN 2 
Assim por diante, quando for criar o dialog basta colocar o que foi definido em vez de um número, assim um nunca vai interferir no outro

PHP Code:
 ShowPlayerDialog(playeridDIALOG_LOJADIALOG_STYLE_LIST"Loja""Iten 1\nIten 2""Comprar""Cancelar"); 
__________________
Saik is offline   Reply With Quote
Old 16/09/2019, 01:51 AM   #5
smith
Big Clucker
 
smith's Avatar
 
Join Date: Aug 2019
Location: São Paulo
Posts: 87
Reputation: 1
Default Re: Comando /comprar

Quote:
Originally Posted by Saik View Post
Se um dialog está interferindo no outro é pq está usando o mesmo ID para ambos.

Defina o id dos dialog's no topo da GM/FS

PHP Code:
#define DIALOG_LOJA 1
#define DIALOG_LOGIN 2 
Assim por diante, quando for criar o dialog basta colocar o que foi definido em vez de um número, assim um nunca vai interferir no outro

PHP Code:
 ShowPlayerDialog(playeridDIALOG_LOJADIALOG_STYLE_LIST"Loja""Iten 1\nIten 2""Comprar""Cancelar"); 
olha cm tava
pawn Code:
#define DialogTeste 1
enum
{
    DIALOG_REGISTRO,
    DIALOG_LOGIN
};
pawn Code:
forward DialogTeste();

// public OnDialogResponse

if(dialogid == DialogTeste)
    {
     if(response)
     {
        if(listitem == 0)
        {
        pitens[playerid][Celular] = 1;
        GivePlayerMoney(playerid, -1200);
        msg(playerid, VerdeC, "||Parabens|| Voce acaba de adiquerir Um Galaxy A20");
        }
        else if(listitem == 1)
        {
        pitens[playerid][Mochila] = 1;
        GivePlayerMoney(playerid, -10000);
        msg(playerid, VerdeC, "||Parabens|| Voce acaba de adiquerir Uma Mochila da Oakley");
        }
        else if(listitem == 2)
        {
        pitens[playerid][MedKit] = 1;
        GivePlayerMoney(playerid, -1000);
        msg(playerid, VerdeC, "||Parabens|| Voce acaba de adiquerir Um KitMedico");
        }
        else if(listitem == 3)
        {
        pitens[playerid][Corneta] += 3;
        GivePlayerMoney(playerid, -150000);
        msg(playerid, VerdeC, "||Parabens|| Voce acaba de adiquerir Uma Corneta");
        }
        else if(listitem == 4)
        {
        pitens[playerid][Polvora] += 3;
        GivePlayerMoney(playerid, -30000);
        msg(playerid, VerdeC, "||Parabens|| Voce acaba de adiquerir Polvora para criaçao de bombas");
        }
        else if(listitem == 5)
        {
        pitens[playerid][Expoleta] += 3;
        GivePlayerMoney(playerid, -30000);
        msg(playerid, VerdeC, "||Parabens|| Voce acaba de adiquerir Expoleta para criaçao de bombas");
        }
pawn Code:
CMD:comprar(playerid, params[]){
    if(!IsPlayerInRangeOfPoint(playerid, 2.0, -28.10000038147,-90,1003.5))return msg(playerid, Vermelho, "|INFO|:Voce nao esta no Local Certo");
    new str[128];
    format(str, sizeof(str), "Celular \nMochila \nMedKit \nCorneta \nPolvora \nExpoleta");
    ShowPlayerDialog(playerid, DialogTeste, DIALOG_STYLE_LIST, "Cabeçalho", str, "ok", "cancel");
    return 1;

}
__________________
Não vivo para agradar ninguém, pois quando for fazer as minhas escolhas terei de as enfrentar sozinho.
smith is offline   Reply With Quote
Old 16/09/2019, 02:09 AM   #6
NWDMadara
Huge Clucker
 
NWDMadara's Avatar
 
Join Date: Mar 2018
Posts: 485
Reputation: 13
Default Re: Comando /comprar

PHP Code:
enum
{
    
DIALOG_REGISTRO,
    
DIALOG_LOGIN
};

#define DialogTeste 1
forward DialogTeste();

if(
dialogid == DialogTeste)

format(strsizeof(str), "Celular \nMochila \nMedKit \nCorneta \nPolvora \nExpoleta");
ShowPlayerDialog(playeridDialogTesteDIALOG_STYLE_LIST"Cabeçalho"str"ok""cancel"); 
Aonde fomos parar, alguém me socorre.
NWDMadara is offline   Reply With Quote
Old 16/09/2019, 02:23 AM   #7
Cycle
Big Clucker
 
Cycle's Avatar
 
Join Date: Sep 2017
Location: \localhost
Posts: 90
Reputation: 91
Default Re: Comando /comprar

Eu fiz uma base, de como eu faria este código.
PHP Code:
/*
    É uma base, que mostra como eu faria o seu código.
*/

#if !defined _samp_included
    #tryinclude <a_samp>
#endif

#include <pawn.cmd>

enum informations_P
{
    
bool:Celular,
    
Mochila,
    
MedKit
};
new 
Player[informations_P][MAX_PLAYERS];

COMMAND:comprar(playerid)
{
    
ShowPlayerDialog(playerid10DIALOG_STYLE_LIST"Selecione o item que você deseja comprar.""Celular\nMochila\nMedKit""Comprar""Fechar");
    return 
true;
}

public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    if(
dialogid == 10)
    {
        switch(
listitem)
        {
            case 
0:
            {
                
// Este caso é relacionado com o primeiro item da lista, no caso o "celular", e assim por diante.
                
if(GetPlayerMoney(playerid) < 1200)
                    return 
SendClientMessage(playerid, -1"Você não possui o valor correto para comprar o celular.");
                if(
Player[Celular][playerid])
                    return 
SendClientMessage(playerid, -1"ERRO: Você já possui um celular.");
                
GivePlayerMoney(playerid, -1200);
                
SendClientMessage(playerid, -1"Você acabou de comprar um celular.");
                
Player[Celular][playerid] = true;
            }
            case 
1:
            {
                if(
GetPlayerMoney(playerid) < 350)
                    return 
SendClientMessage(playerid, -1"Você não possui o valor correto para comprar uma mochila.");
                if(
Player[Mochila][playerid] == 0)
                    return 
SendClientMessage(playerid, -1"Agora você tem uma mochila");
                
Player[Mochila][playerid]++;
                if(
Player[Mochila][playerid] > 1)
                {
                    new 
str[35];
                    
format(strsizeof(str), "Agora você possui %d mochilas."Player[Mochila][playerid]);
                    
SendClientMessage(playerid, -1str);
                }
                
GivePlayerMoney(playerid, -350);
            }
            case 
2:
            {
                if(
GetPlayerMoney(playerid) < 1000)
                    return 
SendClientMessage(playerid, -1"Você não possui o valor correto para comprar um MedKit.");
                
Player[MedKit][playerid]++;
                
SendClientMessage(playerid, -1"Você comprou um MedKit.");
            }
        }
        return 
true;
    }
    return 
true;

Cycle is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] Comando /casa comprar [BOPE]Seu._.Madruga Português/Portuguese 3 30/04/2015 02:50 PM
[Ajuda] Comando de comprar casa JonasGabriel Português/Portuguese 1 02/09/2014 12:15 PM
[Ajuda] Comando de comprar Arma le0campos Português/Portuguese 4 14/08/2012 06:01 AM
[AJUDA] Comando Comprar EduardoRFS Português/Portuguese 5 28/05/2012 03:03 PM


All times are GMT. The time now is 11:42 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.