Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Olá galera,

Venho postando para vocês umas modificações que poderão fazer a diferença em seus servidores RPG.

Como vocês bem podem perceber, o Tibia tem um sistema com falhas horríveis quanto as Spells de Cura/Suporte...

Exemplo : 

 

Runas de cura que os players podem usar dando suporte aos outros :

 

 Ultimate_Healing_Rune.gif  Ultimate Healing Rune   Intense_Healing_Rune.gif  Light Healing Rune

 

Magias instantâneas de cura que os players podem dar suporte aos outros : 

 

Mass_Healing.gif Mass Healing                    Heal_Friend.gif  Heal Friend

 

 

Bem, como vocês bem sabem sobre essas magias, há uma possibilidade de o Suporter (geralmente os Druids) estar em uma área protegida e ajudando os aliados que estão na batalha, e isso acaba com a graça do PVP. Com os scripts a seguir, os players não poderão mais usar essas magias dentro de área protegida para ajudar o aliado em batalha. 

 

Para aplicar o script ao seu servidor, é só você entrar na pasta spells > scripts > healing e modificar os arquivos de acordo com o nome das spells postadas a seguir ...

 

Então vou postar aqui a solução para esses problemas :

 

Heal_Friend.gif  Heal Friend  (heal friend.lua)

 

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)

function onGetFormulaValues(cid, level, maglevel)
min = ((level*0.2) + (maglevel*10))
max = ((level*0.2) + (maglevel*14))
return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
	if getTileInfo(getThingPos(cid)).protection == false then
		return doCombat(cid, combat, var)
	else
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You can't cast this spell in protection zone.")
	end
end 

 

Mass_Healing.gif  Mass Healing  (mass healing.lua)

 

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_TARGETPLAYERSORSUMMONS, true)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

local area = createCombatArea(AREA_CIRCLE3X3)
setCombatArea(combat, area)

function onGetFormulaValues(cid, level, maglevel)
min = ((level*0.2) + (maglevel*5.7) + 26)
max = ((level*0.2) + (maglevel*10.43) + 62)
return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
if getTileInfo(getThingPos(cid)).protection == false then
return doCombat(cid, combat, var)
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You can't cast this spell in protection zone.")
end
end 

 

Intense_Healing_Rune.gif  Light Healing Rune  (light healing rune.lua)

 

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_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 5, 6)

function onCastSpell(cid, var)
if getTileInfo(getThingPos(cid)).protection == false then
return doCombat(cid, combat, var)
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You can't cast this spell in protection zone.")
end
end
 

 

Ultimate_Healing_Rune.gif  Ultimate Healing Rune  (ultimate healing rune.lua)

 

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_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 10, 12)

function onCastSpell(cid, var)
if getTileInfo(getThingPos(cid)).protection == false then
return doCombat(cid, combat, var)
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You can't cast this spell in protection zone.")
end
end
 

 

​Bem, espero que isso tenha sido útil a vocês. 

"A alma permanece em suas criações" V89E5aN.png


142c9d3439.jpg
(Não dou suporte por mensagem privada.)

  • 3 weeks later...
Postado

Ótima solução cara!

Aproveitando esse tópico, gostaria de comentar sobre a utilidade dos magos no Tibia. Eu acho que eles deveriam ter mais algumas funções para dar suporte às outras pessoas, não só healar etc, o que vocês acham que eles poderiam fazer a mais? Tô sem muitas ideias ultimamente :C

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo