Postado Abril 17, 2016 10 anos Este é um post popular. Fala rapeize, hoje venho trazer um sisteminha que fiz há alguns meses para um servidor. E como estou com tempo livre, decidi publicar este sistema. Como funciona? Quando uma criatura morre(configurável, seu loot se espalha pelo chão. OBS : Caso a primeira versão não funcione, utilize a segunda. Versão 1 : Spoiler data/creaturescripts/creaturescripts.xml : <event type="death" name="droptable" event="script" value="droptable.lua"/> <event type="login" name="droptable" event="script" value="droptable.lua"/> em data/creaturescripts/scripts, crie um arquivo droptable.lua e cole isso dentro : -- Coded by Zoom. local bosses = { ["Dragon"] = { {itemid = 5805, count = {min = 1, max = 1}}, {itemid = 8931, count = {min = 1, max = 1}}, {itemid = 2471, count = {min = 1, max = 1}}, {itemid = 2466, count = {min = 1, max = 1}}, {itemid = 2470, count = {min = 1, max = 1}}, {itemid = 2646, count = {min = 1, max = 1}}, {itemid = 2523, count = {min = 1, max = 1}}, {itemid = 2160, count = {min = 30, max = 60}} } } -- functions.. function getRotate(uid) local pos = getCreaturePosition(uid) return { {x = pos.x, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y, z = pos.z}, {x = pos.x + 1, y = pos.y + 1, z = pos.z}, {x = pos.x, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y, z = pos.z}, {x = pos.x - 1, y = pos.y - 1, z = pos.z} } end function onDeath(cid) local bid = bosses[getCreatureName(cid)] if isMonster(cid) and bid then doCreatureSetDropLoot(cid, nil) for _, v in ipairs(bid) do doCreateItem(v.itemid, math.random(v.count.min, v.count.max), getRotate(cid)[_]) doSendMagicEffect(getRotate(cid)[_], 6) end end return true end function onLogin(cid) return registerCreatureEvent(cid, "droptable") end Versão 2 : Spoiler data/creaturescripts/creaturescripts.xml : <event type="kill" name="droptable" event="script" value="droptable.lua"/> <event type="login" name="droptable" event="script" value="droptable.lua"/> em data/creaturescripts/scripts, crie um arquivo droptable.lua e cole isso dentro : -- Coded by Zoom. local bosses = { ["Dragon"] = { {itemid = 5805, count = {min = 1, max = 1}}, {itemid = 8931, count = {min = 1, max = 1}}, {itemid = 2471, count = {min = 1, max = 1}}, {itemid = 2466, count = {min = 1, max = 1}}, {itemid = 2470, count = {min = 1, max = 1}}, {itemid = 2646, count = {min = 1, max = 1}}, {itemid = 2523, count = {min = 1, max = 1}}, {itemid = 2160, count = {min = 30, max = 60}} } } -- functions.. function getRotate(uid) local pos = getCreaturePosition(uid) return { {x = pos.x, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y, z = pos.z}, {x = pos.x + 1, y = pos.y + 1, z = pos.z}, {x = pos.x, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y, z = pos.z}, {x = pos.x - 1, y = pos.y - 1, z = pos.z} } end function onKill(cid, target) local bid = bosses[getCreatureName(target)] if isMonster(target) and bid and getStorage(33975) <= os.time() then doCreatureSetDropLoot(target, nil) for _, v in ipairs(bid) do doCreateItem(v.itemid, math.random(v.count.min, v.count.max), getRotate(target)[_]) doSendMagicEffect(getRotate(target)[_], 6) end doSetStorage(33975, os.time() + 5) end return true end function onLogin(cid) return registerCreatureEvent(cid, "droptable") end Só isso, valeu!
Postado Abril 17, 2016 10 anos Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP. Spoiler Congratulations, your content has been approved! Thank you for your contribution, we of Tibia King we are grateful. Your content will help many other users, you received +1 REP. ➥ Regras | Seções OTServ | Seções BOT
Postado Abril 18, 2016 10 anos @Zoom Bem interessante... Parabéns e obrigada por trazer conteúdo ao fórum!
Postado Abril 21, 2016 10 anos Autor Em 18/04/2016 at 21:04, Azhaurn disse: @Zoom Bem interessante... Parabéns e obrigada por trazer conteúdo ao fórum! Por nada! Sempre que possível, estarei trazendo bons conteúdos
Postado Maio 26, 2016 10 anos Em 17/04/2016 at 17:02, Zoom disse: Fala rapeize, hoje venho trazer um sisteminha que fiz há alguns meses para um servidor. E como estou com tempo livre, decidi publicar este sistema. Como funciona? Quando uma criatura morre(configurável, seu loot se espalha pelo chão. OBS : Caso a primeira versão não funcione, utilize a segunda. Versão 1 : Mostrar conteúdo oculto data/creaturescripts/creaturescripts.xml : <event type="death" name="droptable" event="script" value="droptable.lua"/> <event type="login" name="droptable" event="script" value="droptable.lua"/> em data/creaturescripts/scripts, crie um arquivo droptable.lua e cole isso dentro : -- Coded by Zoom. local bosses = { ["Dragon"] = { {itemid = 5805, count = {min = 1, max = 1}}, {itemid = 8931, count = {min = 1, max = 1}}, {itemid = 2471, count = {min = 1, max = 1}}, {itemid = 2466, count = {min = 1, max = 1}}, {itemid = 2470, count = {min = 1, max = 1}}, {itemid = 2646, count = {min = 1, max = 1}}, {itemid = 2523, count = {min = 1, max = 1}}, {itemid = 2160, count = {min = 30, max = 60}} } } -- functions.. function getRotate(uid) local pos = getCreaturePosition(uid) return { {x = pos.x, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y, z = pos.z}, {x = pos.x + 1, y = pos.y + 1, z = pos.z}, {x = pos.x, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y, z = pos.z}, {x = pos.x - 1, y = pos.y - 1, z = pos.z} } end function onDeath(cid) local bid = bosses[getCreatureName(cid)] if isMonster(cid) and bid then doCreatureSetDropLoot(cid, nil) for _, v in ipairs(bid) do doCreateItem(v.itemid, math.random(v.count.min, v.count.max), getRotate(cid)[_]) doSendMagicEffect(getRotate(cid)[_], 6) end end return true end function onLogin(cid) return registerCreatureEvent(cid, "droptable") end Versão 2 : Ocultar conteúdo data/creaturescripts/creaturescripts.xml : <event type="kill" name="droptable" event="script" value="droptable.lua"/> <event type="login" name="droptable" event="script" value="droptable.lua"/> em data/creaturescripts/scripts, crie um arquivo droptable.lua e cole isso dentro : -- Coded by Zoom. local bosses = { ["Dragon"] = { {itemid = 5805, count = {min = 1, max = 1}}, {itemid = 8931, count = {min = 1, max = 1}}, {itemid = 2471, count = {min = 1, max = 1}}, {itemid = 2466, count = {min = 1, max = 1}}, {itemid = 2470, count = {min = 1, max = 1}}, {itemid = 2646, count = {min = 1, max = 1}}, {itemid = 2523, count = {min = 1, max = 1}}, {itemid = 2160, count = {min = 30, max = 60}} } } -- functions.. function getRotate(uid) local pos = getCreaturePosition(uid) return { {x = pos.x, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y, z = pos.z}, {x = pos.x + 1, y = pos.y + 1, z = pos.z}, {x = pos.x, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y, z = pos.z}, {x = pos.x - 1, y = pos.y - 1, z = pos.z} } end function onKill(cid, target) local bid = bosses[getCreatureName(target)] if isMonster(target) and bid and getStorage(33975) <= os.time() then doCreatureSetDropLoot(target, nil) for _, v in ipairs(bid) do doCreateItem(v.itemid, math.random(v.count.min, v.count.max), getRotate(target)[_]) doSendMagicEffect(getRotate(target)[_], 6) end doSetStorage(33975, os.time() + 5) end return true end function onLogin(cid) return registerCreatureEvent(cid, "droptable") end Só isso, valeu! Zoom, a idéia é muito boa, seria possivel adicionar chance individual para os itens?
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.