ME

[Creaturescripts] Bloquear Certos Items Por Trade

Por meubk, 07 de ago. de 2011 em Globalevents e Spells

script
5
1.9k
meubkM
07 de agosto de 2011 às 11:05

crie um arquivo na pasta creaturescritps/scripts com nome de trade.lua e cole o seguinte código:

 

local items = {123, 456} -- items que não pode dar trade

function onTradeAccept(cid, target, item, targetItem)
verific = isInArray(items, item.itemid) and false or true
for _, itemx in pairs(items) do
	verific = #getItemsInContainerById(item.uid, itemx) > 0 and false or true
end
return not verific and doPlayerSendCancel(cid, "Contem items que não podem ser negociados.") and false or verific
end

function getItemsInContainerById(container, itemid) -- Function By Kydrai
   local items = {}
   if isContainer(container) and getContainerSize(container) > 0 then
       for slot= 0, (getContainerSize(container)-1) do
           local item = getContainerItem(container, slot)
           if isContainer(item.uid) then
               local itemsbag = getItemsInContainerById(item.uid, itemid)
               for i=0, #itemsbag do
                   table.insert(items, itemsbag[i])
               end
           else
               if itemid == item.itemid then
                   table.insert(items, item.uid)
               end
           end
       end
   end
   return items
end

 

abra o arquivo login.lua e antes do return true adicione:

 

registerCreatureEvent(cid, "TradeBlock")

 

e no arquivo creaturescripts.xml adicione a tag :

 

<event type="tradeaccept" name="TradeBlock" event="function" value="trade.lua"/>

 

Isso aê...

 

obs: não testei, pois estou sem pc, qualker erro fala aqui no tópico.

Editado Agosto 7 por xotservx

CoLoRaDoC
07 de agosto de 2011 às 11:16

bom eu acho que quase ninguém hoje em dia está usando trade mas para os que usam porque o motivo de não poder da trade? ai eh soh colocar os itens no chao pro outro pegar então acho que não serviria para nada... mas o script está legal pra quem gostar! :D

meubkM
07 de agosto de 2011 às 11:18

é bom pra quem quer deixa o item só pra certo player usar, quem tem a função onMoveItem, é bem util.

CoLoRaDoC
07 de agosto de 2011 às 11:46

nossa seria muito bom tu sabe se tem algum Tutorial aqui no xtibia pra deixar soh um player usar o item? mas se ele kiser vender o item?

3 semanas depois...
23 de agosto de 2011 às 21:51

Ae cara, dei valor ao script, mas quando da trade no item bloqueado n deu em nada. =x

Editado Agosto 23 por cadastro2005