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)