SA-MP Forums

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

Reply
 
Thread Tools Display Modes
Old 22/02/2015, 11:33 PM   #1
Duk
Banned
 
Join Date: Feb 2015
Posts: 204
Reputation: 5
Default [Dúvida] - Preço a munição.

Olá.

Pessoal estou querendo criar um sistema de loja de armas.

O sistema é assim...

O jogador quer comprar uma AK-7. ai ele clica na opção do dialog AK7.

Após isso irá aparecer um dialog informando: Quantas balas você quer?

Ai por exemplo eu coloco 1 bala.

Cada bala de ak-7 irá custar $2 de dinheiro.

Ai se no caso eu coloca-se 3 bala de AK7

iria cobrar do player $6 de dinheiro

por que 3x2 = 6.

Esse sistema é igual do GF.

Mais eu não sei como começar... alguém me ajuda ou me dar uma base.

Já tenho um conhecimento básico na linguagem pawn.
Duk is offline   Reply With Quote
Old 23/02/2015, 12:05 AM   #2
Hiuship
Huge Clucker
 
Join Date: Sep 2010
Posts: 315
Reputation: 13
Default Re: [Dúvida] - Preço a munição.

PHP Code:
#define DialogoArmas  2015
#define DialogoBalas  2016

new ArmaEscolhida[MAX_PLAYERS], PrecoBalas[MAX_PLAYERS];

ShowPlayerDialog(playeridDialogoArmasDIALOG_STYLE_LIST"Escolha sua arma:"" AK 47 - $2 Cada bala.\n MP5 - $1 Cada bala.""Proximo""Cancelar");

public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    if(
dialogid == DialogoArmas)
    {
        if(
response)
        {
            if(
listitem == 0ArmaEscolhida[playerid] = 30PrecoBalas[playerid] = 2;//AK 47 Custando 2 a bala
            
if(listitem == 1ArmaEscolhida[playerid] = 29PrecoBalas[playerid] = 1;//MP5 Custando 1 a bala
            
ShowPlayerDialog(playeridDialogoArmasDIALOG_STYLE_INPUT"Balas""Quantas balas deseja comprar ?" ,"Comprar""Cancelar");
        }
    }
    if(
dialogid == DialogoBalas)
    {
        if(
response)
        {
            if(
strval(inputtext) == 0) return ShowPlayerDialog(playeridDialogoArmasDIALOG_STYLE_INPUT"Balas""Somente numeros, não pode deixar vazio!\nQuantas balas deseja comprar ?" ,"Comprar""Cancelar");
            if(
GetPlayerMoney(playerid) >= PrecoBalas[playerid]*strval(inputtext))
            {
                
GivePlayerMoney(playerid, -(strval(inputtext))*PrecoBalas[playerid]);
                
GivePlayerWeapon(playeridArmaEscolhida[playerid], strval(inputtext));
            }
            else return 
ShowPlayerDialog(playeridDialogoArmasDIALOG_STYLE_INPUT"Balas""Você não tem essa quantia de dinheiro!\nQuantas balas deseja comprar ?" ,"Comprar""Cancelar");
        }
    }
    return 
1;

Fiz rapidinho aqui, nem testei ,espero que ajude...
__________________

Clique no banner e confira os planos!!
Hiuship is offline   Reply With Quote
Old 23/02/2015, 12:20 AM   #3
Gii
High-roller
 
Gii's Avatar
 
Join Date: Jun 2012
Location: Céu
Posts: 1,622
Reputation: 192
Default Re: [Dúvida] - Preço a munição.

PHP Code:
#include a_samp
#include zcmd

#define DIALOG_COMPRAR_ARMA 60
#define DIALOG_INFORMAR_BALAS 61

#define PRECO_BALA_AK47 2
#define PRECO_BALA_EAGLE 5

main(){}

CMD:comprararma(playerid)
{
    return 
ShowPlayerDialog(playeridDIALOG_COMPRAR_ARMADIALOG_STYLE_LIST"Escolha sua arma""AK47\nDesert Eagle""Selecionar""Sair");
}

public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    if(
dialogid == DIALOG_COMPRAR_ARMA)
    {
        if ( 
response )
        {
            if ( 
listitem == )
            {
                
SetPVarInt(playerid"ArmaID"30);
                
SetPVarInt(playerid"PrecoBala"PRECO_BALA_AK47);
            }
            else if ( 
listitem == )
            {
                
SetPVarInt(playerid"ArmaID"24);
                
SetPVarInt(playerid"PrecoBala"PRECO_BALA_EAGLE);
            }

            
ShowPlayerDialog(playeridDIALOG_INFORMAR_BALASDIALOG_STYLE_INPUT"Munição""Informe a quantidade de balas desejada!""Comprar""Sair");
        }
        return 
1;
    }

    if ( 
DIALOG_INFORMAR_BALAS == dialogid )
    {
        if ( 
response )
        {
            new 
municao strval(inputtext);

            if ( 
municao <= )
            {
                
SendClientMessage(playerid, -1"Munição inválida!");
                return 
ShowPlayerDialog(playeridDIALOG_INFORMAR_BALASDIALOG_STYLE_INPUT"Munição""Informe a quantidade de balas desejada!""Comprar""Sair");
            }

            new 
precoCompra municao GetPVarInt(playerid"PrecoBala");

            if ( 
GetPlayerMoney(playerid) < precoCompra )
            {
                
SendClientMessage(playerid, -1"Você não tem dinheiro suficiente! Compre menos balas!");
                return 
ShowPlayerDialog(playeridDIALOG_INFORMAR_BALASDIALOG_STYLE_INPUT"Munição""Informe a quantidade de balas desejada!""Comprar""Sair");
            }

            
GivePlayerMoney(playerid, -precoCompra);
            
GivePlayerWeapon(playeridGetPVarInt(playerid"ArmaID"), municao);
            
SendClientMessage(playerid, -1"Compra realizada!");
            
DeletePVar(playerid"ArmaID");
            
DeletePVar(playerid"PrecoBala");
            return 
1;
        }
        else
        {
            
DeletePVar(playerid"ArmaID");
            
DeletePVar(playerid"PrecoBala");
        }
    }
    return 
0;

Como eu já tinha feito resolvi postar igual!

Testei in-game e funcionou!

Beijos!
__________________
The NewRPG em desenvolvimento ...
Gii 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] Preço do Trabalho Luucass Português/Portuguese 7 26/03/2014 01:40 AM
[Off] Preço GM Matheus1 Português/Portuguese 9 26/09/2013 12:28 AM
[Off] Preço mínimo @Riichard Português/Portuguese 22 22/08/2013 10:55 PM
[Pedido] queria o comando de /soltar [id] [preço] o meu so n tem [preço] Junior_Cunha Português/Portuguese 4 28/07/2012 12:03 PM


All times are GMT. The time now is 10:16 AM.


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