Ir para conteúdo
Propaganda

Posts Recomendados

  • Administrador

Salve rapaziada, trazendo um mod pra vcs agr.

O mod funciona da seguinte forma, toda vez que um jogador for trocar itens pelo trade vão ficar salvo os IDS dos itens que foram trocados e os nomes dos players.

É mais pra você ter uma "segurança" por assim dizer, dos trades dos jogadores.

 

Instalação

Spoiler

Primeiro de tudo, vamos criar a nossa tabela no banco de dados.

CREATE TABLE players_trade (
	id	INTEGER NOT NULL,
	world_id INTEGER NOT NULL,
	player_id INTEGER NOT NULL,
	target_id INTEGER NOT NULL,
	player_items  INTEGER NOT NULL,
	target_items  INTEGER NOT NULL,
	date	 INTEGER NOT NULL,
PRIMARY KEY ( id )
);

Com a nossa tabela criada, vamos criar o arquivo .xml na pasta mods do servidor. Crie o arquivo com o nome TradeLogs.xml e cole o código abaixo dentro dele

<?xml version="1.0" encoding="UTF-8"?>  
<mod name="Trade Log" version="1.0" author="Vodkart" contact="none.com" enabled="yes">  
<config name="TradeLog_func"><![CDATA[
function natural(number)
local n = number - math.floor(number)
return n >= 0.5 and math.ceil(number) or math.floor(number)
end
function containerItemsToString(cont)
  local s = ""
  for _ = 0, getContainerSize(cont) - 1 do
  local item = getContainerItem(cont, _)
  s = s..",".. item.itemid
  if isContainer(item.uid) and getContainerSize(item.uid) > 0 then
	 s = s..":1"..containerItemsToString(item.uid)
  else
	 s = s..":".. natural(getItemWeight(item.uid)/getItemWeightById(item.itemid))
  end
  end
  return s
end
]]></config>
<event type="login" name="TradeRegister" event="script"><![CDATA[
function onLogin(cid)
registerCreatureEvent(cid, "TradeLog")
return true
end]]></event>	  
<event type="tradeaccept" name="TradeLog" event="script"><![CDATA[
domodlib('TradeLog_func')
function onTradeAccept(cid, target, item, targetItem)
if (not isPlayer(cid)) or (not isPlayer(target)) then return false end
local items1,items2 = ""..item.itemid,""..targetItem.itemid
items1 = isContainer(item.uid) and getContainerSize(item.uid) > 0 and items1..":1"..containerItemsToString(item.uid) or items1 ..":".. natural(getItemWeight(item.uid)/getItemWeightById(item.itemid))
items2 = isContainer(targetItem.uid) and getContainerSize(targetItem.uid) > 0 and items2 ..":1"..containerItemsToString(targetItem.uid) or items2 ..":".. natural(getItemWeight(targetItem.uid)/getItemWeightById(targetItem.itemid))
db.executeQuery("INSERT INTO `players_trade` (`world_id`, `player_id`, `target_id`, `player_items`, `target_items`, `date`) VALUES ('".. getConfigValue("worldId") .."', '".. getPlayerGUID(cid) .."', '".. getPlayerGUID(target) .."', '".. items1 .."', '".. items2 .."', '".. os.time() .."');")
return true
end
]]></event>
</mod>

 

Feito isso o sistema está instalado.

 

Créditos: Vodkart

  • Like 10
  • Thanks 3
Link para o comentário
https://tibiadevs.com/forums/topic/82-trade-logs-mod/
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
  • Criar Novo...