Muita gente não sabe , por isso que eu vou postar um tutorial na minha opinião muito simples :
Mudando o efeito de suas spells e áreas :
Áreas:
Abra em seu ot :
Data > Spells > Scripts > Attack / ...
Irei dar um exemplo de magias que ocupam áreas > ÁREA WAVE
Abra uma Spell seja de attack ou de healing que ocupam áreas (exura gran mas res , exori , exevo gran mas frigo)
OBS :. Se tiver dificuldades de abrir a magias que você deseja , abra seu ot ou vá em um ot qualquer abra o spellbook e vai estar o nome da spell e o nome de conjuramento .
Como por exemplo o do -> exori gran - fierce berserk : 340 , <=== No Spellbook
info
Grupo: Marquês
Registrado: 25/09/10
Posts: 1.3k
Reputação: +446
Gênero: Masculino
Muita gente não sabe , por isso que eu vou postar um tutorial na minha opinião muito simples :
Mudando o efeito de suas spells e áreas :
Áreas:
Abra em seu ot :
Data > Spells > Scripts > Attack / ...
Irei dar um exemplo de magias que ocupam áreas > ÁREA WAVE
Abra uma Spell seja de attack ou de healing que ocupam áreas (exura gran mas res , exori , exevo gran mas frigo)
OBS :. Se tiver dificuldades de abrir a magias que você deseja , abra seu ot ou vá em um ot qualquer abra o spellbook e vai estar o nome da spell e o nome de conjuramento .
Como por exemplo o do -> exori gran - fierce berserk : 340 , <=== No Spellbook
Abra o Fierce berserk no Data > Spells > Attack
Estará assim :
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)
local area = createCombatArea(AREA_SQUARE1X1)
setCombatArea(combat, area)
function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill + attack * 2, level / 5
return -(skillTotal * 1.1 + levelTotal), -(skillTotal * 3 + levelTotal)
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end
*A Area Grifada é a area onde ocorrerá a magia , a area em parêntesis e maiúscula .
Para Editar ou visualizar o território da magia você deve ir em :
Data > Spells > Lib > Spells
Lá estará mostrando várias grades com numeraçao de 0 a 3 com a excessão do 2 .
O 1 > Mostra onde pegará a magia
O 0 > Onde a magia não alcançará
O 3 > É o Player Executando a magia
Eu recomendo pegar a area da magia citada acima >AREA_SQUARE1x1,
E apertar Ctrl + F e adicionar a area (AREA_SQUARE1x1)
Para alterar , procure a area que deseja substituir por exemplo : AREA_WALLFIELD
AREA_WALLFIELD =
{1, 1, 3, 1, 1}
Ficará assim o fierce berserk (exori)
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)
local area = createCombatArea(AREA_WALLFIELD)
setCombatArea(combat, area)
function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill + attack * 2, level / 5
return -(skillTotal * 1.1 + levelTotal), -(skillTotal * 3 + levelTotal)
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end
Em imagem ficará deste jeito :
Efeitos :
Os tambem são faceis , Onde podemos visualiza-los ?
Extamente em : Data > Lib > 000-Constant .
Lá Voce Encontra Tipos de efeitos
Eu só irei ensinar os ANI e ME
ANI :
Ele é um efeito de magia a ser lançada (exori mort , exori hur e até a SD )
ME :
Ele é um efeito de magia que consiste a ficar no solo (exori gran , exori , exevo gran mas frigo)
------------------------------------------
o efeito grifado em verde lá em cima é o ME para explicar , é o mesmo processo das areas .
retire o fragmento verde subilinhado e negrito , CTRL + F no arquivo 000-Constant pode-se mudar qualquer
um tipo que está na estrofe ou que possui o nomeamento de CONST_ME , copie e cole no CONST_ME_HITAREA
por exemplo usarei o : CONST_ME_BLOCKHIT = 3 , Retire o = 3 , e subistitua-o , usando o exori gran como modelo
ficará assim salvando o arquivo e dando reload nas spells :
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)
local area = createCombatArea(AREA_WALLFIELD)
setCombatArea(combat, area)
function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill + attack * 2, level / 5
return -(skillTotal * 1.1 + levelTotal), -(skillTotal * 3 + levelTotal)
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end
Uma Foto :
BOM... é isso , espero que tenham gostado . comentem e +REP é Claro
Tambem é possivel propor as magias ANI E ME ao mesmo tempo como é o Exemplo da SD , E da EXPLOSION RUNE
Bom espero que todos que tenham lido o post por completo e entendido se não podem perguntar que terei o prazer de explicar
Erro no post favor comentar que tbm terei o prazer de edita-lo
Editado Novembro 14 por Krhiegen