Roksas 846 Postado Maio 20, 2013 Share Postado Maio 20, 2013 (editado) Regeneration System Saudações jovens guerreiros, hoje venho trazer para vocês uma espécie de Buffs, como seria? Você equipa um "Ring of the Count" (Se quiser pode trocar o item), e aí cada vocação tem suas configurações no script, regeneração de HP, SOUL, MP + Effects Instalação Vá em data/movements/scripts, copie algum arquivo da pasta ou crie, com o nome regeneration.lua e adicione isso dentro: local vocs = { [1] = {regenHp = 5, regenMana = 15, regenSoul = 1, secsTo = 5, effectTo = 13}, [2] = {regenHp = 5, regenMana = 15, regenSoul = 1, secsTo = 5, effectTo = 13}, [3] = {regenHp = 10, regenMana = 10, regenSoul = 1, secsTo = 5, effectTo = 32}, [4] = {regenHp = 15, regenMana = 5, regenSoul = 1, secsTo = 5, effectTo = 34}, [5] = {regenHp = 10, regenMana = 20, regenSoul = 2, secsTo = 3, effectTo = 30}, [6] = {regenHp = 10, regenMana = 20, regenSoul = 2, secsTo = 3, effectTo = 30}, [7] = {regenHp = 20, regenMana = 20, regenSoul = 1, secsTo = 3, effectTo = 49}, [8] = {regenHp = 20, regenMana = 10, regenSoul = 1, secsTo = 3, effectTo = 44}, } function onEquip(cid) if getPlayerStorageValue(cid, 10001) > os.time() then doPlayerSendTextMessage(cid, 20, "Você deve aguardar "..getPlayerStorageValue(cid, 10001) - os.time().." segundos para utilizar este recurso novamente.") return false end if not vocs[getPlayerVocation(cid)] then return false end startAura(cid) return true end function startAura(cid) local colors = {16, 161, 149, 251, 211, 200} if getPlayerSlotItem(cid, CONST_SLOT_RING).itemid == 8752 then doPlayerAddSoul(cid, vocs[getPlayerVocation(cid)].regenSoul) doCreatureAddHealth(cid, vocs[getPlayerVocation(cid)].regenHp) doCreatureAddMana(cid, vocs[getPlayerVocation(cid)].regenMana) doSendMagicEffect(getCreaturePosition(cid), vocs[getPlayerVocation(cid)].effectTo) doSendAnimatedText(getCreaturePosition(cid), "RegenE !", colors[math.random(1, #colors)]) addEvent(startAura, vocs[getPlayerVocation(cid)].secsTo * 1000, cid) setPlayerStorageValue(cid, 10001, os.time() + 10) end return false end Abra o arquivo movements.xml com o bloco de notas e adicione a seguinte tag: <movevent type="Equip" itemid="8752" slot="ring" event="script" value="regeneration.lua"/> Configuração Nesta seguinte parte do código, você encontra: local vocs = { [1] = {regenHp = 5, regenMana = 15, regenSoul = 1, effectTo = 13, secsTo = 5}, [2] = {regenHp = 5, regenMana = 15, regenSoul = 1, effectTo = 13, secsTo = 5}, [3] = {regenHp = 10, regenMana = 10, regenSoul = 1, effectTo = 32, secsTo = 5}, [4] = {regenHp = 15, regenMana = 5, regenSoul = 1, effectTo = 34, secsTo = 5}, [5] = {regenHp = 10, regenMana = 20, regenSoul = 2, effectTo = 30, secsTo = 5}, [6] = {regenHp = 10, regenMana = 20, regenSoul = 2, effectTo = 30, secsTo = 5}, [7] = {regenHp = 20, regenMana = 20, regenSoul = 1, effectTo = 49, secsTo = 5}, [8] = {regenHp = 20, regenMana = 10, regenSoul = 1, effectTo = 44, secsTo = 5}, } Cada linha dessa ("[1], [2], [3], [4]....") representam os IDS das vocações, ou seja de Sorcerer até Elite Knight, as 8. regenHp é quanto de HP reala, regenMana quanto de Mana heala, regenSoul é o Soul (óbvio), effectTo você coloca o ID do efeito que fica saindo para esta vocação, coloquei conforme achei bonito rsrs. E enfim, secsTo você coloca a cada quantos segundos vai acontecer tudo isso com o player Enquanto ele estiver com o item equipado, vai acontecer essas regenerações e efeitos a cada o "secsTo", tudo bem configuradinho no começo do código. E nessa linha: local itemRegenerator = 8752 Você coloca o ITEM ID do item que te da a Regeneration, no caso DEVE ser o mesmo da tag do movements.xml. Demonstração Créditos pelas ideias + imagem: Overxin Editado Maio 20, 2013 por Roksas Link para o comentário https://xtibia.com/forum/topic/214748-regeneration-system/ Compartilhar em outros sites More sharing options...
kaiotp 42 Postado Maio 20, 2013 Share Postado Maio 20, 2013 (editado) Parabéns rep+ 1# a comentar u.u Editado Maio 20, 2013 por kaiotp Link para o comentário https://xtibia.com/forum/topic/214748-regeneration-system/#findComment-1523102 Compartilhar em outros sites More sharing options...
Overxin 2 Postado Maio 20, 2013 Share Postado Maio 20, 2013 Parabens, depois de muitas tentativas finalmente system saiu do "papel" (: REP+ Link para o comentário https://xtibia.com/forum/topic/214748-regeneration-system/#findComment-1523103 Compartilhar em outros sites More sharing options...
866664 9 Postado Maio 20, 2013 Share Postado Maio 20, 2013 manero , bom script Rep+ Link para o comentário https://xtibia.com/forum/topic/214748-regeneration-system/#findComment-1523104 Compartilhar em outros sites More sharing options...
AlexandreKG 134 Postado Maio 20, 2013 Share Postado Maio 20, 2013 Ótimo script, parabéns Roksas. Continue com seu trabalho maravilhoso! Link para o comentário https://xtibia.com/forum/topic/214748-regeneration-system/#findComment-1523110 Compartilhar em outros sites More sharing options...
guieray 0 Postado Maio 21, 2013 Share Postado Maio 21, 2013 Tu é brabo mesmo! Link para o comentário https://xtibia.com/forum/topic/214748-regeneration-system/#findComment-1523279 Compartilhar em outros sites More sharing options...
ScythePhantom 83 Postado Maio 21, 2013 Share Postado Maio 21, 2013 Uma espécie de Pair of soft boots, só que com atributos ainda não vistos, como exemplo o "regensoul", enfim, gostei muito, parabéns mais uma vez e REP+ pelo script. Link para o comentário https://xtibia.com/forum/topic/214748-regeneration-system/#findComment-1523351 Compartilhar em outros sites More sharing options...
Roksas 846 Postado Maio 21, 2013 Autor Share Postado Maio 21, 2013 Exatamente, mas no caso é infinita, e como disse, nome novos atributos + effect. Link para o comentário https://xtibia.com/forum/topic/214748-regeneration-system/#findComment-1523353 Compartilhar em outros sites More sharing options...
Gufipl 3 Postado Abril 26, 2017 Share Postado Abril 26, 2017 Regeneration System Saudações jovens guerreiros, hoje venho trazer para vocês uma espécie de Buffs, como seria? Você equipa um "Ring of the Count" (Se quiser pode trocar o item), e aí cada vocação tem suas configurações no script, regeneração de HP, SOUL, MP + Effects Instalação Vá em data/movements/scripts, copie algum arquivo da pasta ou crie, com o nome regeneration.lua e adicione isso dentro: local vocs = { [1] = {regenHp = 5, regenMana = 15, regenSoul = 1, secsTo = 5, effectTo = 13}, [2] = {regenHp = 5, regenMana = 15, regenSoul = 1, secsTo = 5, effectTo = 13}, [3] = {regenHp = 10, regenMana = 10, regenSoul = 1, secsTo = 5, effectTo = 32}, [4] = {regenHp = 15, regenMana = 5, regenSoul = 1, secsTo = 5, effectTo = 34}, [5] = {regenHp = 10, regenMana = 20, regenSoul = 2, secsTo = 3, effectTo = 30}, [6] = {regenHp = 10, regenMana = 20, regenSoul = 2, secsTo = 3, effectTo = 30}, [7] = {regenHp = 20, regenMana = 20, regenSoul = 1, secsTo = 3, effectTo = 49}, [8] = {regenHp = 20, regenMana = 10, regenSoul = 1, secsTo = 3, effectTo = 44}, } function onEquip(cid) if getPlayerStorageValue(cid, 10001) > os.time() then doPlayerSendTextMessage(cid, 20, "Você deve aguardar "..getPlayerStorageValue(cid, 10001) - os.time().." segundos para utilizar este recurso novamente.") return false end if not vocs[getPlayerVocation(cid)] then return false end startAura(cid) return true end function startAura(cid) local colors = {16, 161, 149, 251, 211, 200} if getPlayerSlotItem(cid, CONST_SLOT_RING).itemid == 8752 then doPlayerAddSoul(cid, vocs[getPlayerVocation(cid)].regenSoul) doCreatureAddHealth(cid, vocs[getPlayerVocation(cid)].regenHp) doCreatureAddMana(cid, vocs[getPlayerVocation(cid)].regenMana) doSendMagicEffect(getCreaturePosition(cid), vocs[getPlayerVocation(cid)].effectTo) doSendAnimatedText(getCreaturePosition(cid), "RegenE !", colors[math.random(1, #colors)]) addEvent(startAura, vocs[getPlayerVocation(cid)].secsTo * 1000, cid) setPlayerStorageValue(cid, 10001, os.time() + 10) end return false end Abra o arquivo movements.xml com o bloco de notas e adicione a seguinte tag: Configuração Nesta seguinte parte do código, você encontra: local vocs = { [1] = {regenHp = 5, regenMana = 15, regenSoul = 1, effectTo = 13, secsTo = 5}, [2] = {regenHp = 5, regenMana = 15, regenSoul = 1, effectTo = 13, secsTo = 5}, [3] = {regenHp = 10, regenMana = 10, regenSoul = 1, effectTo = 32, secsTo = 5}, [4] = {regenHp = 15, regenMana = 5, regenSoul = 1, effectTo = 34, secsTo = 5}, [5] = {regenHp = 10, regenMana = 20, regenSoul = 2, effectTo = 30, secsTo = 5}, [6] = {regenHp = 10, regenMana = 20, regenSoul = 2, effectTo = 30, secsTo = 5}, [7] = {regenHp = 20, regenMana = 20, regenSoul = 1, effectTo = 49, secsTo = 5}, [8] = {regenHp = 20, regenMana = 10, regenSoul = 1, effectTo = 44, secsTo = 5}, } Cada linha dessa ("[1], [2], [3], [4]....") representam os IDS das vocações, ou seja de Sorcerer até Elite Knight, as 8. regenHp é quanto de HP reala, regenMana quanto de Mana heala, regenSoul é o Soul (óbvio), effectTo você coloca o ID do efeito que fica saindo para esta vocação, coloquei conforme achei bonito rsrs. E enfim, secsTo você coloca a cada quantos segundos vai acontecer tudo isso com o player Enquanto ele estiver com o item equipado, vai acontecer essas regenerações e efeitos a cada o "secsTo", tudo bem configuradinho no começo do código. E nessa linha: local itemRegenerator = 8752 Você coloca o ITEM ID do item que te da a Regeneration, no caso DEVE ser o mesmo da tag do movements.xml. Demonstração Créditos pelas ideias + imagem: Overxin Link para o comentário https://xtibia.com/forum/topic/214748-regeneration-system/#findComment-1716712 Compartilhar em outros sites More sharing options...
Posts Recomendados