Ir para conteúdo

[pedido] Look Loot System


caiocesar2

Posts Recomendados

Se não funcionou é porque voce deve ter feito algo errado, eu ja usei esse script genial do Mock

e ele funcionou perfeitamente em um TFS 0.3.1231. Revise todos os passos e tente denovo.

Link para o comentário
Compartilhar em outros sites

Estranho pois axo que fiz tudo certo...

 

Olhe:

 

creaturescripts.xml

<event type="kill" name="loot" event="script" value="loot.lua"/>

 

 

login.lua

function onLogin(cid)

local loss = getConfigValue('deathLostPercent')

if(loss ~= nil) then

doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)

end

 

registerCreatureEvent(cid, "Mail")

registerCreatureEvent(cid, "GuildMotd")

registerCreatureEvent(cid, "PlayerDeath")

registerCreatureEvent(cid, "loot")

return TRUE

end

 

 

loot.lua

 

--- Script by mock

local function find(pa)--- Script by mock

for i=1,255 do

pa.stackpos = i

local corpse = getThingfromPos(pa)

if isCorpse(corpse.uid) == TRUE then

if isContainer(corpse.uid) == TRUE then

return corpse.uid

end

end

end

return FALSE

end

local function getConteiner(item)--- Script by mock

if isContainer(item.uid) == FALSE then

return ""

end

local items = getItemName(item.itemid)..": ("

local g = doAddContainerItem(item.uid,2815,1)

for i=1, getContainerCap(item.uid) do

local k = getContainerItem(item.uid, i)

if k.itemid ~= 0 then

if isContainer(k.uid) == TRUE then

items = items..getConteiner(k)..', '

print('o0')

else

if k.type > 1 then

items = items..k.type..'x '..getItemNameById(k.itemid).."s, "

else

items = items..getItemNameById(k.itemid)..", "

end

end

end

end

items = items:sub(1,#items-2)..'.'

doRemoveItem(g,-1)

return items..')'

end

function getLoot(pa,cid,nam)--- Script by mock

corpse = find(pa)

if corpse == FALSE then

return FALSE

end

local g = doAddContainerItem(corpse,2815,1)

local str = 'Loot de '..nam..': '

for i=1, getContainerCap(corpse) do

local a = getContainerItem(corpse, i)

if a.itemid ~= 0 then

if isContainer(a.uid) == TRUE then

str = str..getConteiner(a)..' , '

else

if a.type > 1 then

str = str..a.type..'x '..getItemNameById(a.itemid)..'s, '

else

str = str..getItemNameById(a.itemid)..', '

end

end

end

 

end

doRemoveItem(g,-1)

str = str:sub(1,#str-2)..'.'

doPlayerSendTextMessage(cid, 23, str)

end

 

function onKill(cid, target)--- Script by mock

addEvent(getLoot,100,getCreaturePosition(target),cid,getCreatureName(target))

return 1

end

 

 

 

Editado por caiocesar2
Link para o comentário
Compartilhar em outros sites

Muito estranho,

Talvez sua Distro não esteja rodando..

Qual você usa?

 

E olhando para o tópico sugerido pelo nosso amigo kydrai,

pude notar um comentário logo abaixo do próprio criador do tópico:

 

Mock

mas esse script funciona em servidores até 8.1 ^^.

 

Então.. "talvez" pode ser esse o problema.

Bom, espero o post da Distro que você utiliza.

 

Att. Sheikah

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...