Postado Setembro 26, 2017 7 anos Gostaria de saber se existe algum script que quando um knight ou paladin da um hit com uma arma em algum monstro ou algum player tem a chanse de healar sua vida de acordo com o dano ou sl.
Postado Setembro 29, 2017 7 anos Vamos começar... Crie um arquivo em data\creaturescripts\scripts chamado recover.lua com o código abaixo Spoiler local id_arma = 2520 --id da arma usada function onStatsChange(cid, attacker, type, combat, value) if type == COMBAT_PHYSICALDAMAGE and (getPlayerSlotItem(attacker, CONST_SLOT_RIGHT).itemid == id_arma or getPlayerSlotItem(attacker, CONST_SLOT_LEFT).itemid == id_arma) then doCreatureAddHealth(attacker, value) end return true end Depois vá no arquivo data\creaturescripts\scripts\creaturescripts.xml antes da linha </creaturescripts> e coloque a tag abaixo: Spoiler <event type="statsChange" name="recover" event="script" value="recover.lua"/> Depois vá no seu login.lua localizado em data\creaturescripts\scripts e coloque o código uma linha antes do return true do final do arquivo: Spoiler registerCreatureEvent(cid, "recover") E por último, coloque o código abaixo no xml de cada monstro que quando perder vida o player será healado, uma linha acima de </monster>: Spoiler <script> <event name="recover"/> </script> E pronto, a parte mais chata é a dos monsters.
Postado Setembro 29, 2017 7 anos Autor 3 minutos atrás, antharaz disse: Vamos começar... Crie um arquivo em data\creaturescripts\scripts chamado recover.lua com o código abaixo Ocultar conteúdo local id_arma = 2520 --id da arma usada function onStatsChange(cid, attacker, type, combat, value) if type == COMBAT_PHYSICALDAMAGE and (getPlayerSlotItem(attacker, CONST_SLOT_RIGHT).itemid == id_arma or getPlayerSlotItem(attacker, CONST_SLOT_LEFT).itemid == id_arma) then doCreatureAddHealth(attacker, value) end return true end Depois vá no arquivo data\creaturescripts\scripts\creaturescripts.xml antes da linha </creaturescripts> e coloque a tag abaixo: Ocultar conteúdo <event type="statsChange" name="recover" event="script" value="recover.lua"/> Depois vá no seu login.lua localizado em data\creaturescripts\scripts e coloque o código uma linha antes do return true do final do arquivo: Ocultar conteúdo registerCreatureEvent(cid, "recover") E por último, coloque o código abaixo no xml de cada monstro que quando perder vida o player será healado, uma linha acima de </monster>: Ocultar conteúdo <script> <event name="recover"/> </script> E pronto, a parte mais chata é a dos monsters. Nao daria certo caso o hit fosse em player né?
Postado Setembro 30, 2017 7 anos 17 horas atrás, antharaz disse: Vamos começar... Crie um arquivo em data\creaturescripts\scripts chamado recover.lua com o código abaixo Mostrar conteúdo oculto local id_arma = 2520 --id da arma usada function onStatsChange(cid, attacker, type, combat, value) if type == COMBAT_PHYSICALDAMAGE and (getPlayerSlotItem(attacker, CONST_SLOT_RIGHT).itemid == id_arma or getPlayerSlotItem(attacker, CONST_SLOT_LEFT).itemid == id_arma) then doCreatureAddHealth(attacker, value) end return true end Depois vá no arquivo data\creaturescripts\scripts\creaturescripts.xml antes da linha </creaturescripts> e coloque a tag abaixo: Mostrar conteúdo oculto <event type="statsChange" name="recover" event="script" value="recover.lua"/> Depois vá no seu login.lua localizado em data\creaturescripts\scripts e coloque o código uma linha antes do return true do final do arquivo: Mostrar conteúdo oculto registerCreatureEvent(cid, "recover") E por último, coloque o código abaixo no xml de cada monstro que quando perder vida o player será healado, uma linha acima de </monster>: Mostrar conteúdo oculto <script> <event name="recover"/> </script> E pronto, a parte mais chata é a dos monsters. @antharaz seu script funciona legal, só tem uma coisa: se alguém que não tem a arma ataca qualquer monstro ou pessoa fica spammando um erro por hit na distro [Error - CreatureScript Interface] [30/09/2017 10:17:53] data/creaturescripts/scripts/recover.lua:onStatsChange [30/09/2017 10:17:53] Description: [30/09/2017 10:17:53] (luaGetPlayerSlotItem) Player not found
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.