[Pedido]: Script de Economia Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

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

[Pedido]: Script de Economia

4 participantes

Ir para baixo

[Pedido]: Script de Economia Empty [Pedido]: Script de Economia

Mensagem por Aither Qui Nov 13, 2014 3:54 pm

Olá, eu (& alguém) estou/estamos fazendo um jogo e pretendemos adicionar um script de economia, para ajudar-nos na fixação/inflação de preços.
Já temos a fórmula do sistema de economia, mas precisamos de um script que cria um log para cada jogador mostrando o que ele comprou no total, sem data e etc.

Ou seja...

[Proposta]:
~Fazer um script que gere um LOG em arquivo para cada player, nesse LOG exibirá as compras feitas por ID e quantia, exemplo: (ID=9) id = id, 9 = quantia de compras no total feitas.

[Recompensa]:
~Negociaremos a recompensa, obs: eu pago.

_________________
Batatinha quando nasce, espalha rama chão, menina quando olha, bota a mão no seu coração.
Angel Angel Angel
Aither
Aither
Semi-Experiente
Semi-Experiente

Mensagens : 92
Créditos : 3

http://speedingcomputer.info/

Ir para o topo Ir para baixo

[Pedido]: Script de Economia Empty Re: [Pedido]: Script de Economia

Mensagem por blackcrow Sex Nov 14, 2014 5:49 pm

Boas, como prometido, está aqui:


- Na pasta "Servidor" crie uma nova pasta com o nome "Compras".
- No script "Window_ShopBuy" procure o método "def sell(item)", dentro desse método procure a linha: 
$game_party.lose_item(Config::GOLD_ID.to_i,amount * item.price) 
Abaixo dessa linha adicione isso: 

Código:
Network::Main.socket.send("<buy>#{item.id};#{amount};#{$game_party.actors[0].name}\n")


- Agora abra com o bloco de notas o arquivo "functions.lua" que está na pasta "Scripts" do servidor e adicione esse código antes dos dois "end" final do arquivo:
Código:
elseif cmd == "<buy>" then
  do
    data = string.gsub(data,"<buy>","")
    local first = string.find(data,";")
    local last = string.find(data,";",first+1)
    local id = string.sub(data,1,first-1)
    local qt = string.sub(data,first+1,last-1)
    local char = string.sub(data,last+1)
    local test = io.open("Compras/"..user.name..".txt","r")
    if test then
      test:close()
      file = io.open("Compras/"..user.name..".txt","a+")
      file:write("["..os.date("%d/%m/%y - %H:%M:%S").."]: Character name: "..char..", Item ID: "..id..", Quantity: "..qt.."\n")
      file:close()
    else
      file = io.open("Compras/"..user.name..".txt","w")
      file:write("["..os.date("%d/%m/%y - %H:%M:%S").."]: Character name: "..char..", Item ID: "..id..", Quantity: "..qt.."\n")
      file:close()
    end
  end
--
As informações que serão salvas:
- Data e hora do LOG. (no server)
- Character name = nome do personagem que comprou.
- Item ID = ID do item no Database.
- Quantity = Quantidade comprada.
O arquivo será salvo dentro da pasta "Compras" com o nome de usuário do jogador e no  formato de texto.
blackcrow
blackcrow
Semi-Experiente
Semi-Experiente

Mensagens : 111
Créditos : 41

Ir para o topo Ir para baixo

[Pedido]: Script de Economia Empty Re: [Pedido]: Script de Economia

Mensagem por Aither Dom Nov 16, 2014 12:59 pm

Obrigado! O meu amigo disse que no dele funcionou, então tá' sussa! Valeu mesmo.

_________________
Batatinha quando nasce, espalha rama chão, menina quando olha, bota a mão no seu coração.
Angel Angel Angel
Aither
Aither
Semi-Experiente
Semi-Experiente

Mensagens : 92
Créditos : 3

http://speedingcomputer.info/

Ir para o topo Ir para baixo

[Pedido]: Script de Economia Empty Re: [Pedido]: Script de Economia

Mensagem por blackcrow Dom Nov 16, 2014 2:23 pm

Eu tmb fiz um script que salva o log do trade, se quiser, é só pedir.
blackcrow
blackcrow
Semi-Experiente
Semi-Experiente

Mensagens : 111
Créditos : 41

Ir para o topo Ir para baixo

[Pedido]: Script de Economia Empty Re: [Pedido]: Script de Economia

Mensagem por Aither Dom Nov 16, 2014 3:24 pm

Eu quero cara, valeu!

_________________
Batatinha quando nasce, espalha rama chão, menina quando olha, bota a mão no seu coração.
Angel Angel Angel
Aither
Aither
Semi-Experiente
Semi-Experiente

Mensagens : 92
Créditos : 3

http://speedingcomputer.info/

Ir para o topo Ir para baixo

[Pedido]: Script de Economia Empty Re: [Pedido]: Script de Economia

Mensagem por blackcrow Seg Nov 17, 2014 12:27 pm

RMXP:
- No script Their_Trade procure o método def accept(id=0) e troque ele por esse:
Código:
def accept(id=0)
    return if $game_trade.leader_id == 0
    if id == 0
      #-------------------------------
      # * Gerar log do trade
      #-------------------------------
      data = ""
      data2 = ""
      $game_trade.items[@id].each do |k,v|
        data += ",#{k}-#{v}"
      end
      $game_trade.weapons[@id].each do |k,v|
        data += ",#{k}-#{v}"
      end
      $game_trade.armors[@id].each do |k,v|
        data += ",#{k}-#{v}"
      end
      $game_trade.items_2[@id].each do |k,v|
        data2 += ",#{k}-#{v}"
      end
      $game_trade.weapons_2[@id].each do |k,v|
        data2 += ",#{k}-#{v}"
      end
      $game_trade.armors_2[@id].each do |k,v|
        data2 += ",#{k}-#{v}"
      end
      Network::Main.socket.send("<40t>#{data};#{data2}@#{$game_party.actors[0].name};#{$scene.checkplayername(@id)}\n")
    end
    $game_trade.items_2[@id].each do |k,v|
      $game_party.gain_item(k,v)
    end
    $game_trade.weapons_2[@id].each do |k,v|
      $game_party.gain_weapon(k,v)
    end
    $game_trade.armors_2[@id].each do |k,v|
      $game_party.gain_armor(k,v)
    end
    $game_trade.items_2.clear
    $game_trade.weapons_2.clear
    $game_trade.armors_2.clear
    self.index = 0
    Network::Main.send_trade(@id,"$game_trade.remove_all") if id == 0
    $scene.invitation_window.on_close
    $scene.currency_window.on_close
    $scene.equip_window.on_close
    dispose
    $scene.trade_window.dispose
    $scene.your_trade.dispose
    $scene.their_trade = nil
    $scene.trade_window = nil
    $scene.your_trade = nil
    $game_trade.leader_id = 0
    $game_trade.request_type = 0
  end

Server:
- Abra o arquivo functions.lua e antes dos dois end no final do arquivo adicione isso:
Código:
-- Trade log
elseif cmd == "<40t>" then
  do
    data = string.gsub(data,"<40t>","")
    local s1 = string.find(data,";")
    local sep = string.find(data,"@",s1+1)
    local s2 = string.find(data,";",sep+1)
    local item1 = string.sub(data,2,s1-1)
    local item2 = string.sub(data,s1+2,sep-1)
    local char1 = string.sub(data,sep+1,s2-1)
    local char2 = string.sub(data,s2+1)
    local f = io.open("Trade/tradelog.txt","r")
    if f then
      f:close()
      f = io.open("Trade/tradelog.txt","a+")
      f:write("["..os.date("%d/%m/%y - %H:%M:%S").."] Character1: "..char1..", Items ID-QT: ["..item1.."] | Character2: "..char2..", Items ID-QT: ["..item2.."]\n")
      f:close()
    else
      f = io.open("Trade/tradelog.txt","w")
      f:write("["..os.date("%d/%m/%y - %H:%M:%S").."] Character1: "..char1..", Items ID-QT: ["..item1.."] | Character2: "..char2..", Items ID-QT: ["..item2.."]\n")
      f:close()
    end
  end
--
Informações salvas:
 - Data e hora do log (server).
 - Character1 e Character2 = Nomes do dois chars que fizeram a troca.
 - Items ID-QT = Items oferecidos pelo jogador no trade, ID = id do item no database, QT = quantidade do item. Salvas nesse formato: [ID-QT,ID-QT,...] se um dos jogadores ofereceu mais de 1 item.
O arquivo será salvo dentro da pasta Compras com o nome tradelog no formato de texto, todos os logs de trades do jogo serão salvos nesse arquivo.


Última edição por blackcrow em Seg Nov 17, 2014 9:44 pm, editado 1 vez(es)
blackcrow
blackcrow
Semi-Experiente
Semi-Experiente

Mensagens : 111
Créditos : 41

Ir para o topo Ir para baixo

[Pedido]: Script de Economia Empty Re: [Pedido]: Script de Economia

Mensagem por Komuro Takashi Seg Nov 17, 2014 1:07 pm

blackcrow escreveu:RMXP:
- No script Their_Trade procure o método def accept(id=0) e troque ele por esse:
Código:
def accept(id=0)
    return if $game_trade.leader_id == 0
    if id == 0
      #-------------------------------
      # * Gerar log do trade
      #-------------------------------
      data = ""
      data2 = ""
      $game_trade.items[@id].each do |k,v|
        data += "#{k}-#{v},"
      end
      $game_trade.weapons[@id].each do |k,v|
        data += "#{k}-#{v},"
      end
      $game_trade.armors[@id].each do |k,v|
        data += "#{k}-#{v},"
      end
      $game_trade.items_2[@id].each do |k,v|
        data2 += "#{k}-#{v},"
      end
      $game_trade.weapons_2[@id].each do |k,v|
        data2 += "#{k}-#{v},"
      end
      $game_trade.armors_2[@id].each do |k,v|
        data2 += "#{k}-#{v},"
      end
      Network::Main.socket.send("<40t>[#{data}];[#{data2}]@#{$game_party.actors[0].name};#{$scene.checkplayername(@id)}\n")
    end
    $game_trade.items_2[@id].each do |k,v|
      $game_party.gain_item(k,v)
    end
    $game_trade.weapons_2[@id].each do |k,v|
      $game_party.gain_weapon(k,v)
    end
    $game_trade.armors_2[@id].each do |k,v|
      $game_party.gain_armor(k,v)
    end
    $game_trade.items_2.clear
    $game_trade.weapons_2.clear
    $game_trade.armors_2.clear
    self.index = 0
    Network::Main.send_trade(@id,"$game_trade.remove_all") if id == 0
    $scene.invitation_window.on_close
    $scene.currency_window.on_close
    $scene.equip_window.on_close
    dispose
    $scene.trade_window.dispose
    $scene.your_trade.dispose
    $scene.their_trade = nil
    $scene.trade_window = nil
    $scene.your_trade = nil
    $game_trade.leader_id = 0
    $game_trade.request_type = 0
  end

Server:
- Abra o arquivo functions.lua e antes dos dois end no final do arquivo adicione isso:
Código:
-- Trade log
elseif cmd == "<40t>" then
  do
    data = string.gsub(data,"<40t>","")
    local s1 = string.find(data,";")
    local sep = string.find(data,"@",s1+1)
    local s2 = string.find(data,";",sep+1)
    local item1 = string.sub(data,1,s1-1)
    local item2 = string.sub(data,s1+1,sep-1)
    local char1 = string.sub(data,sep+1,s2-1)
    local char2 = string.sub(data,s2+1)
    local f = io.open("Compras/tradelog.txt","r")
    if f then
      f:close()
      f = io.open("Compras/tradelog.txt","a+")
      f:write("["..os.date("%d/%m/%y - %H:%M:%S").."] Character1: "..char1..", Items ID-QT: "..item1.." | Character2: "..char2..", Items ID-QT: "..item2.."\n")
      f:close()
    else
      f = io.open("Compras/tradelog.txt","w")
      f:write("["..os.date("%d/%m/%y - %H:%M:%S").."] Character1: "..char1..", Items ID-QT: "..item1.." | Character2: "..char2..", Items ID-QT: "..item2.."\n")
      f:close()
    end
  end
--
Informações salvas:
 - Data e hora do log (server).
 - Character1 e Character2 = Nomes do dois chars que fizeram a troca.
 - Items ID-QT = Items oferecidos pelo jogador no trade, ID = id do item no database, QT = quantidade do item. Salvas nesse formato: [ID-QT,ID-QT,...] se um dos jogadores ofereceu mais de 1 item.
O arquivo será salvo dentro da pasta Compras com o nome tradelog no formato de texto, todos os logs de trades do jogo serão salvos nesse arquivo.

É maninho parabéns pelos scripts serão de grande ajuda

_________________
[Pedido]: Script de Economia Takashi_komuro_by_minato8-d51g9o4

Paga um café? Patreon
Komuro Takashi
Komuro Takashi
Colaborador
Colaborador

Mensagens : 1047
Créditos : 130

Ir para o topo Ir para baixo

[Pedido]: Script de Economia Empty Re: [Pedido]: Script de Economia

Mensagem por Aither Ter Nov 18, 2014 6:50 pm

Obrigado blackcrow! Eu agradeço!

_________________
Batatinha quando nasce, espalha rama chão, menina quando olha, bota a mão no seu coração.
Angel Angel Angel
Aither
Aither
Semi-Experiente
Semi-Experiente

Mensagens : 92
Créditos : 3

http://speedingcomputer.info/

Ir para o topo Ir para baixo

[Pedido]: Script de Economia Empty Re: [Pedido]: Script de Economia

Mensagem por Trpino Ter Nov 18, 2014 7:58 pm

eu não digo ele des que chegou já ajudou muita gente se continuar assim ele pode ser considerado membro de honra acho que lhe fica muito bem 

estou a falar do blackcrow

_________________
                                                                                                                                      

Trpino
Membro Ativo
Membro Ativo

Mensagens : 300
Créditos : 12

Ficha do personagem
Nível: 1
Experiência:
[Pedido]: Script de Economia Left_bar_bleue0/0[Pedido]: Script de Economia Empty_bar_bleue  (0/0)
Vida:
[Pedido]: Script de Economia Left_bar_bleue30/30[Pedido]: Script de Economia Empty_bar_bleue  (30/30)

Ir para o topo Ir para baixo

[Pedido]: Script de Economia Empty Re: [Pedido]: Script de Economia

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos