Postado Abril 17, 2016 9 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 9 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 9 anos @Zoom Bem interessante... Parabéns e obrigada por trazer conteúdo ao fórum!
Postado Abril 21, 2016 9 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 9 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.