Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte ao desenvolvimento de jogos


+15
Druxo
Valentine
KaiqueHunter
Peaverin
Mario.Hacker
BrunoFox
Roronoa Zoro
Jonny Day's
LeonM²
emilyoly
Nanzin
SrºJokker
DeaN
matheus180
Hatsuki Morturo
19 participantes

    Loja de Cash (por botões)

    Hatsuki Morturo
    Hatsuki Morturo
    Experiente
    Experiente


    Mensagens : 401
    Créditos : 50

    Loja de Cash (por botões) Empty Loja de Cash (por botões)

    Mensagem por Hatsuki Morturo Sáb Out 15, 2011 1:29 pm

    Loja de Cash (por botões) XqKfE
    Iae galerinha, to hoje vou disponibilizar pra vocês uma loja cash, que foi feita com base no script do Nanzin.
    Loja de Cash (por botões) WOXmX
    Como todo script tem seus prós e seus contras, esse não vai escapar, mas infelizmente temos uma contra que pode dificultar a vida de muita gente, é o seguinte, a loja tem 2 botões para cada iten, sendo o primeiro botão o de compra e o segundo o de informações, as informações dos itens vendidos devem ser editadas no próprio script (pretendo futuramente colocar direto na db). Veja abaixo como funciona:
    Código:
    class Info_Pocao_Sagrada < Window_Base
      def initialize
        super(330,50,250,135)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.opacity = 200
        self.z = 99999
        @dragable = false
        @closable = true
        refresh
      end
     
      def refresh
        self.contents.clear
        self.contents.draw_text(0, 0, 132, 32, "Nome:")
        self.contents.draw_text(100, 0, 132, 32, "Poção Sagrada")
        self.contents.draw_text(0, 20, 132, 32, "Função:")
        self.contents.draw_text(100, 20, 132, 32, "Rec. todo o Hp")
        self.contents.draw_text(0, 40, 132, 32, "Classe:")
        self.contents.draw_text(100, 40, 132, 32, "Todos")
        self.contents.draw_text(0, 60, 132, 32, "Quantidade:")
        self.contents.draw_text(100, 60, 132, 32, "10")
        self.contents.draw_text(0, 80, 132, 32, "Preço:")
        self.contents.draw_text(100, 80, 132, 32, "¢50")
      end
    end
    Acima temos a janela de informações de um dos itens (no caso a Poção Sagrada), o edit é a parte mais simples do script, porém, a cada iten adicionado, você terá de criar uma janela destas e declarar nos script [SC] Net Rmxp Hud (não vou explicar aqui pois já existem muitos posts mostrando como fazer isso).
    Feito isso, o resto é facil, basta você criar 2 botões para cada iten, veja o exemplo abaixo:

    # Comprar Poção Sagrada
    pocao_sagrada_compra1 = Button.new(self,195,73,"Comprar"){pocao_sagrada_compra}
    # Info Poção Sagrada
    pocao_sagrada_info1 = Button.new(self,160,73,"Info"){pocao_sagrada_info}
    Os nomes que estão em vermelho são os nomes das def do iten, por exemplo, a def de compra da Poção Sagrada é a seguinte:
    # Comprar Poção Sagrada
    def pocao_sagrada_compra
    $game_party.gain_item(003, 10)
    $game_variables[12] -= 50
    $game_temp.chat_log.push("Você comprou 10 Poções Sagradas")
    end
    003: Representa o id do iten na db.
    10: Representa a quantidade de itens que o char irá ganhar ao clicar no botão.
    $game_variables[12] -= 50: Quando clicar no botão, você perderá 50 cash (no caso a variável 12).
    $game_temp.chat_log.push("Você comprou 10 Poções Sagradas"): Vai mostrar a msg "Você comprou 10 Poções Sagradas" no chat.

    Loja de Cash (por botões) Yj2oc
    Código:
    #-----------------------------------------------------------------#
    # By: Hatsuki Morturo
    # Loja de Cash
    #-----------------------------------------------------------------#
    # Obs: Para alterar o valor, altera na linha:
    # $game_variables[12] -= X
    # No lugar de X, coloque o valor do iten.
    #-----------------------------------------------------------------#
    # Obs²: Para todo iten criado, você deve adicionar uma janela
    # de informações.
    #-----------------------------------------------------------------#

    # Declaraçao da Classe/Janela da Loja
    class Loja_Cash < Window_Base
      def initialize
        super(50,50,280,200)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.back_opacity = 200
        self.z = 99999
        @dragable = true
        @closable = true
        # Comprar Poção Sagrada
        pocao_sagrada_compra1 = Button.new(self,195,73,"Comprar"){pocao_sagrada_compra}
        # Info Poção Sagrada
        pocao_sagrada_info1 = Button.new(self,160,73,"Info"){pocao_sagrada_info}
        # Comprar Set Celestial
        set_celestial_compra1 = Button.new(self,195,103,"Comprar"){set_celestial_compra}
        # Info Set Celestial
        set_celestial_info2 = Button.new(self,160,103,"Info"){set_celestial_info}
        refresh
      end
     
      def update
        super
        refresh if something_changed?
      end
     
      def refresh
        self.contents.clear
        self.contents.draw_text(85,0,132,32,"Loja Cash")
        self.contents.draw_text(0,145,132,32,"¢ " + $game_variables[11].to_s)
        self.contents.draw_text(30,50,132,32,"Poção Sagrada")
        self.contents.draw_text(30,80,132,32,"Set Celestial")
        # Ícone da Poção Sagrada
        poçao = RPG::Cache.icon("pocao")
        poçao_rect = Rect.new(0,0,poçao.width,poçao.height)
        self.contents.blt(-2,50,poçao,poçao_rect)
        # Ícone Set Celestial
        poçao = RPG::Cache.icon("Armor -  Golden")
        poçao_rect = Rect.new(0,0,poçao.width,poçao.height)
        self.contents.blt(0,80,poçao,poçao_rect)   
      end
     
      def something_changed?
        return true if $game_variables[11] = $game_variables[11]
        return false
      end
     
      # Comprar Poção Sagrada
      def pocao_sagrada_compra
        if $game_variables[11] >= 50
        $game_party.gain_item(003, 10)
        $game_variables[11] -= 50
        $game_temp.chat_log.push("Você comprou 10 Poções Sagradas")
      else
        $game_temp.chat_log.push("Você não tem cash suficiente!")
        end
      end
      # Info Poção Sagrada
      def pocao_sagrada_info
        $info_pocao_sagrada.visible = true
        $info_pocao_sagrada.active = true
      end
      # Comprar Set Celestial
      def set_celestial_compra
        if $game_variables[11] >= 240
        $game_party.gain_armor(004, 1)
        $game_party.gain_armor(016, 1)
        $game_variables[11] -= 240
        $game_temp.chat_log.push("Você comprou Set Celestial")
      else
        $game_temp.chat_log.push("Você não tem cash suficiente!")
        end
      end
      # Info Set Celestial
      def set_celestial_info
        $info_sc.visible = true
        $info_sc.active = true
      end
    end
    #-----------------------------------------------------------------
    # Janela: Poção Sagrada
    #-----------------------------------------------------------------
    class Info_Pocao_Sagrada < Window_Base
      def initialize
        super(330,50,250,135)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.back_opacity = 200
        self.z = 99999
        @dragable = true
        @closable = true
        refresh
      end
     
      def refresh
        self.contents.clear
        self.contents.draw_text(0, 0, 132, 32, "Nome:")
        self.contents.draw_text(100, 0, 132, 32, "Poção Sagrada")
        self.contents.draw_text(0, 20, 132, 32, "Função:")
        self.contents.draw_text(100, 20, 132, 32, "Rec. todo o Hp")
        self.contents.draw_text(0, 40, 132, 32, "Classe:")
        self.contents.draw_text(100, 40, 132, 32, "Todos")
        self.contents.draw_text(0, 60, 132, 32, "Quantidade:")
        self.contents.draw_text(100, 60, 132, 32, "10")
        self.contents.draw_text(0, 80, 132, 32, "Preço:")
        self.contents.draw_text(100, 80, 132, 32, "¢50")
      end
    end
    #-----------------------------------------------------------------
    # Janela: Set Celestial
    #-----------------------------------------------------------------
    class Info_Set_Celestial < Window_Base
      def initialize
        super(330,50,250,135)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.back_opacity = 200
        self.z = 99999
        @dragable = true
        @closable = true
        refresh
      end
     
      def refresh
        self.contents.clear
        self.contents.draw_text(0, 0, 132, 32, "Nome:")
        self.contents.draw_text(100, 0, 132, 32, "Set Celestial")
        self.contents.draw_text(0, 20, 132, 32, "Classe:")
        self.contents.draw_text(100, 20, 132, 32, "Iniciante")
        self.contents.draw_text(0, 40, 132, 32, "Def. Total:")
        self.contents.draw_text(100, 40, 132, 32, "194")
        self.contents.draw_text(0, 60, 132, 32, "Quantidade:")
        self.contents.draw_text(100, 60, 132, 32, "1")
        self.contents.draw_text(0, 80, 132, 32, "Preço:")
        self.contents.draw_text(100, 80, 132, 32, "¢240")
      end
    end
    Lembre-se, para o script funcionar corretamente, você tem que tornar as janelas de informações e a janela de cash globais.
    Loja de Cash (por botões) RVsQT
    Spoiler:
    Loja de Cash (por botões) T8uxh
    Spoiler:

    Loja de Cash (por botões) UdCzG
    Nanzin - Pela base do script.
    Matheus180 - Pela idéia de por a quantidade de cash na janela.
    fetelk13 - Por me mostrar um bug que eu desconhecia.

    Loja de Cash (por botões) T6nbD
    Demo: 4shared.com /file/P6JWcKg0/Netplay_Master_v3.html


    Última edição por Hatsuki Morturo em Qua Out 19, 2011 10:47 pm, editado 8 vez(es)


    _________________
    Loja de Cash (por botões) Asd10

    Loja de Cash (por botões) Fabar10
    matheus180
    matheus180
    Desenvolvedor
    Desenvolvedor


    Mensagens : 749
    Créditos : 174

    Loja de Cash (por botões) Empty Re: Loja de Cash (por botões)

    Mensagem por matheus180 Sáb Out 15, 2011 1:45 pm

    cara ficou muito bom, vou usar e melhorar ela para o jogo do WoW


    _________________
    Loja de Cash (por botões) 3trEP
    Hatsuki Morturo
    Hatsuki Morturo
    Experiente
    Experiente


    Mensagens : 401
    Créditos : 50

    Loja de Cash (por botões) Empty Re: Loja de Cash (por botões)

    Mensagem por Hatsuki Morturo Sáb Out 15, 2011 1:51 pm

    Vlw cara, depois vou tentar melhor esse.


    _________________
    Loja de Cash (por botões) Asd10

    Loja de Cash (por botões) Fabar10
    matheus180
    matheus180
    Desenvolvedor
    Desenvolvedor


    Mensagens : 749
    Créditos : 174

    Loja de Cash (por botões) Empty Re: Loja de Cash (por botões)

    Mensagem por matheus180 Sáb Out 15, 2011 1:54 pm

    olha vou te dar uma dica e melhor você colocar assim em baixo da função não precisava ficar escrevendo e so fazer assim

    self.contents.draw_text(100, 20, 132, 32, @item.description.to_s, 0)

    ve ae se da certo me avisa!


    _________________
    Loja de Cash (por botões) 3trEP
    Hatsuki Morturo
    Hatsuki Morturo
    Experiente
    Experiente


    Mensagens : 401
    Créditos : 50

    Loja de Cash (por botões) Empty Re: Loja de Cash (por botões)

    Mensagem por Hatsuki Morturo Sáb Out 15, 2011 2:11 pm

    Não entendi bem o que você quis dizer, tipo, se eu colocar "@item.description.to_s" como que eu iria identificar de qual iten seria a descrição?


    _________________
    Loja de Cash (por botões) Asd10

    Loja de Cash (por botões) Fabar10
    DeaN
    DeaN
    Colaborador
    Colaborador


    Mensagens : 1243
    Créditos : 48

    Loja de Cash (por botões) Empty Re: Loja de Cash (por botões)

    Mensagem por DeaN Sáb Out 15, 2011 2:17 pm

    Fico file a lojia...


    _________________
    Dean, Programador Geral :)

    Contato: Skype:matucarvalho e Facebook
    The Enze - Vulzt

    Shield Block
    Anti-Cheat para jogos de FPS, agora vou adaptar para jogos de RPG principalmente para o RMXP.
    www.shieldblock.net
    fb.com/shieldblockoficial

    Loja de Cash (por botões) MiB0H
    SrºJokker
    SrºJokker
    Experiente
    Experiente


    Mensagens : 591
    Créditos : 234

    Loja de Cash (por botões) Empty Re: Loja de Cash (por botões)

    Mensagem por SrºJokker Sáb Out 15, 2011 2:36 pm

    Muito bom!!!
    parabens fiote!!!


    _________________
    Com um pouco de criatividade o BOM fica ainda MELHOR.
    By: Ykky
    Loja de Cash (por botões) Signpk11

    Loja de Cash (por botões) Subzeropegadinhanofuteb

    Parceiro...


    Spoiler:
    Nanzin
    Nanzin
    Membro de Honra
    Membro de Honra


    Mensagens : 1550
    Créditos : 252

    Loja de Cash (por botões) Empty Re: Loja de Cash (por botões)

    Mensagem por Nanzin Sáb Out 15, 2011 2:50 pm

    bom ficou muiito bom, fico feliz que minha base serviu para voce produzir seu script emcima do meu!, parabens!, so uma dica post scrren Very Happy

    abraços


    _________________
    Loja de Cash (por botões) Npvo

    Para Aqueles que gostam de Min e de meu Trabalho;
    Upem Meu Pet nao custa nda!!


    Pet:
    emilyoly
    emilyoly
    Diva
    Diva


    Mensagens : 526
    Créditos : 83

    Loja de Cash (por botões) Empty Re: Loja de Cash (por botões)

    Mensagem por emilyoly Sáb Out 15, 2011 3:32 pm

    Muito bom com certeza vou usar no meu jogo XD +1 cred


    _________________
    Pessoas que admiro:
    LeonM²
    LeonM²
    Lenda
    Lenda


    Mensagens : 1802
    Créditos : 153

    Loja de Cash (por botões) Empty Re: Loja de Cash (por botões)

    Mensagem por LeonM² Sáb Out 15, 2011 3:32 pm

    use
    Código:
    self.back_opacity = 200
    para ficar melhor e mais igual as outras Windows
    bem legal mas desenvolverei o meu, que sera mais limpo e rapido e usara menos codigos.

    Conteúdo patrocinado


    Loja de Cash (por botões) Empty Re: Loja de Cash (por botões)

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex Abr 19, 2024 12:10 pm