Pesquisar na Comunidade
Mostrando resultados para as tags ''healing''.
Encontrado 3 registros
-
Gostaria de uma ajuda, não sei se é necessario uma script ou pode ser mudado no items.xml.... Um life/mana ring que ao invés de healar "200" de life por segundo, healasse por exemplo: 5% de life por segundo consegui fazer os script após algum esforço: crie um arquivo lua com o nome que quiser, no meu caso 'ringmana.lua' e adicione: --script de heal ring por porcentagem-- --Creditos ao Leo-- function onEquip(cid, item, slot) if getPlayerStorageValue(cid, 29110) == 1 then SendEffect(cid) end return true end function onDeEquip(cid, item, slot) setPlayerStorageValue(cid, 29110, -1) if item.itemid == 2124 then -- id do ring quando equipado doTransformItem(item.uid, 2123) -- id do ring quando nao equipado end return true end function SendEffect(cid) if not isPlayer(cid) then return end local delay = 1000 -- tempo em milisegundos para healar dnovo local maxh = getCreatureMaxHealth(cid) local maxm = getCreatureMaxMana(cid) local mpe = 10 * maxm / 100 -- no '10' é a porcentagem que vai healar de mana local hpe = 10 * maxh / 100 -- no '10' é a porcentagem que vai healar de life if getPlayerStorageValue(cid, 29110) == 1 then if getCreatureHealth(cid) < maxh or getCreatureMana(cid) < maxm then doCreatureAddHealth(cid, hpe) doCreatureAddMana(cid, mpe) addEvent(SendEffect, delay, cid) else addEvent(SendEffect, delay, cid) end end end depois crie outro arquivo .lua no meu caso 'ringequip.lua' e adicione : function onEquip(cid, item, slot) setPlayerStorageValue(cid, 29110, 1) if item.itemid == 2123 then -- item quando nao equipado doTransformItem(item.uid, 2124) -- item quando equipado end return true end depois em movements.xml adicione: <movevent type="Equip" itemid="2124" slot="ring" event="script" value="ringmana.lua"/> -- item equipado <movevent type="DeEquip" itemid="2124" slot="ring" event="script" value="ringmana.lua"/> -- item equipado <movevent type="Equip" itemid="2123" slot="ring" event="script" value="ringequip.lua"/> -- item quando nao equipado
-
Com a Potion multi healing você cura todos os players com profissões diferentes ! bom , eu usei a potion com id 8474 " " você escolhe a cura de cada profissão .. Ex : Se você quer que druid cure mana é so coloca mana no script mais se você quer que cure life é so colocar health no script .. assim com todas as profissões ! chega de blablabla ... vá em data / actions / scripts e crie um arquivo lua com o nome : potion_multi_healing.lua.. e cole isso dentro : function onUse(cid, item, fromPosition, itemEx, toPosition) local sorc = {tipo = 'mana', min = 100, max = 200} -- tipo = tipo de cura 'mana' ou 'health'... local druid = {tipo = 'mana', min = 100, max = 200} -- min = minimo que vai curar... local pala = {tipo = 'health', min = 300, max = 400} -- max = máximo que vai curar... local kina = {tipo = 'health', min = 400, max = 600} -- configure todos com sua preferência. local storage = 12390 -- uma storage qualquer .. local time = 2 -- tempo em segundos para usar a potion novamente .. if isPlayer(itemEx.uid) then if getPlayerStorageValue(cid, storage) - os.time() <= 0 then if getPlayerVocation(itemEx.uid) == 1 then if sorc.tipo == 'mana' then doCreatureAddMana(itemEx.uid, math.random(sorc.min, sorc.max)) doSendMagicEffect(getCreaturePosition(itemEx.uid), 12) doCreatureSay(itemEx.uid, "Sobe Mana!", TALKTYPE_ORANGE_1) elseif sorc.tipo == 'health' then doCreatureAddHealth(itemEx.uid, math.random(sorc.min, sorc.max)) doSendMagicEffect(getCreaturePosition(itemEx.uid), 13) doCreatureSay(itemEx.uid, "Sobe Life!", TALKTYPE_ORANGE_1) end setPlayerStorageValue(cid, storage, os.time()+time*1) elseif getPlayerVocation(itemEx.uid) == 2 then if druid.tipo == 'mana' then doCreatureAddMana(itemEx.uid, math.random(druid.min, druid.max)) doSendMagicEffect(getCreaturePosition(itemEx.uid), 12) doCreatureSay(itemEx.uid, "Sobe Mana!", TALKTYPE_ORANGE_1) elseif druid.tipo == 'health' then doCreatureAddHealth(itemEx.uid, math.random(druid.min, druid.max)) doSendMagicEffect(getCreaturePosition(itemEx.uid), 1) doCreatureSay(itemEx.uid, "Sobe Life!", TALKTYPE_ORANGE_1) end setPlayerStorageValue(cid, storage, os.time()+time*1) elseif getPlayerVocation(itemEx.uid) == 3 then if pala.tipo == 'mana' then doCreatureAddMana(itemEx.uid, math.random(pala.min, pala.max)) doSendMagicEffect(getCreaturePosition(itemEx.uid), 12) doCreatureSay(itemEx.uid, "Sobe Mana!", TALKTYPE_ORANGE_1) elseif pala.tipo == 'health' then doCreatureAddHealth(itemEx.uid, math.random(pala.min, pala.max)) doSendMagicEffect(getCreaturePosition(itemEx.uid), 13) doCreatureSay(itemEx.uid, "Sobe Life!", TALKTYPE_ORANGE_1) end setPlayerStorageValue(cid, storage, os.time()+time*1) elseif getPlayerVocation(cid) == 4 then if kina.tipo == 'mana' then doCreatureAddMana(itemEx.uid, math.random(kina.min, kina.max)) doSendMagicEffect(getCreaturePosition(itemEx.uid), 12) doCreatureSay(itemEx.uid, "Sobe Mana!", TALKTYPE_ORANGE_1) elseif kina.tipo == 'health' then doCreatureAddHealth(itemEx.uid, math.random(kina.min, kina.max)) doSendMagicEffect(getCreaturePosition(itemEx.uid), 13) doCreatureSay(itemEx.uid, "Sobe Life!", TALKTYPE_ORANGE_1) end setPlayerStorageValue(cid, storage, os.time()+time*1) else doPlayerSendCancel(cid, "Apenas Sorceres, Druids, Paladins e Knight podem Usar essa Potion!") end else doPlayerSendCancel(cid, "Você só pode usar essa potion a cada "..time.." segundos!") end else doPlayerSendCancel(cid, "Você só pode usar a potion em players.") end return true end agora vá em data / actions / actions.xml ... e coloque a tag : <action itemid="8474" script="potion_multi_healing.lua" /> É isso pessoal ! script criado para competição o melhor script. participem : http://www.xtibia.com/forum/topic/229900-o-melhor-script-8-inscricoes/
-
Xtibianos, quase nenhum tópico que posto aqui tem uma resposta definitiva, tomara que esse seja diferente. Meu problema: Isso acontece na maioria dos servidores open tibia atuais. Quando o player está com paralyze e usa exura, esse paralyze não sai, a menos que o player esteja parado, isso incomoda muito os players, e atrapalham a fluidez do jogo. Estudando a spell vejo que tem a função "setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)" retirando o paralyze, mas isso só acontece, como já citei acima, quando o player esta parado. Se alguém puder compartilhar uma solução, ficarei muito grato. Script da minha spell (exura): local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 1.5, 2) function onCastSpell(cid, var) return doCombat(cid, combat, var) end