Ir para conteúdo
  • Cadastre-se

Posts Recomendados

1° Versão é feita pelo Banco de dados:

obs: Eu só testei em servidor com Sqlite, não sei se vai funcionar para os demais como mysql.

Query:

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 )

);

TradeLogDB.xml
<?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>
2° Versão é salvo em um arquivo.txt em data/logs
<?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))

f = io.open("data/logs/Trades.txt", "a+")

f:write("World: ".. getConfigValue("worldId") .." -  "..getPlayerName(cid).." Traded: [".. items1 .."] for [".. items2 .."] With Player "..getPlayerName(target)..". At " .. os.date("%d %B %Y - %X.", os.time()) .."\n\n----------------------------------------------------------\n")

f:close()

return true

end

]]></event>

</mod>

Editado por Vodkart (veja o histórico de edições)

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

2º versão testada e aprovada...obrigado Vodkart por compartilhar conosco!

# Regras Gerais - TibiaKing.com #
Contato: [email protected]
Não respondo dúvidas via MP.


1C2tu.png4Tlqo.png1C2tu.png


 

Link para o post
Compartilhar em outros sites

a primeira é só para ficar salvo no banco de dados desse jeito:

oenR3.png

a segunda fica no arquivo.txt assim

World: 0 - Devil Traded: [1988:1,8925:1,5919:1,7429:1] for [8852:1] With Player Vodk Arte. At 31 May 2012 - 11:08:05.

----------------------------------------------------------

World: 0 - Devil Traded: [1988:1,8925:1,5919:1,7429:1] for [1987:1,2160:26,2160:100,2160:100] With Player Vodk Arte. At 31 May 2012 - 11:51:02.

----------------------------------------------------------

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
  • 1 year later...
  • 2 years later...

quando o jogador passa os itens pelo trade, fica salvo esses dados, os itens que foram trocados e os players que trocaram

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
  • 2 years later...
Em 01/06/2012 em 10:38, Vodkart disse:

a primeira é só para ficar salvo no banco de dados desse jeito:

oenR3.png

 

a segunda fica no arquivo.txt assim

 

 

Desculpa reviver esse topico , curti o sistema , mais nao ta salvando nd no phpmyadmin no player_trade , e gostaria de pedir se tem como adicionar algum modo de mostrar trade com pokemon ou trade com id de tal pokemon (sistema q tem no meu serve) se conseguir so o id ja me ajudaria . http://prntscr.com/kmmc0s

http://prntscr.com/kmmc30

print dele funcionano http://prntscr.com/kmmcda tbm n mostra o nome dos item , se conseguir arruma tbm heh , parabens pelo mods

 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo