Estou fazendo esse tutorial porque os que eu vi não explicam tanta coisa junta...
Nesse tutorial irei mostrar como fazer uma wand que hita por LEVEL e MAGIC LEVEL ou um determinado hit tipo 250 à 450 e como mudar os efeitos.
Primeiro vá em data/weapons/weapons.xml e cole :
Explicações:
AAA = ID da Wand.
BBB = Números de sqms que o hit da wand vai alcançar.
CCC = Lvl minimo para o player usar a wand.
DDD = Mana que o player vai gastar por cada hit da wand.
EXHAUSTION="0" = Ai você escolhe o tempo entre cada ataque da wand, no caso 0 significa que vai dearcordo com a velocidade da vocação, bom pra ot com fast attack.
Agora vá em data/weapons/weapons.script copie qualquer arquivo que esteja la dentro, apague tudo que estiver escrito, renomeie para solar wand e cole :
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 39
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 30)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2, -200, -4, 220)
function onUseWeapon(cid, var)
return doCombat(cid, combat, var)
end
Assim estara hitando deacordo com level e magic level.
-2, -200, -4, 200, é o dano da wand deacordo com level e magic level do player, aumente ou diminua o 2 e o 4, para mudar o hit por level e o 200 e 220 para mudar o hit por ml, lembrando quanto maior o número maior o hit. E para os que insistem em dizer que assim só está hitando por ml crie um sorcerer lv 100 com ml 50 e um sorcerer lv 500 com ml 50 e veja a diferença dos hits entre os dois chares.
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 39)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 30)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, -250, 0, -450)
function onUseWeapon(cid, var)
return doCombat(cid, combat, var)
end
Assim estara hitando um hit pré determinado como o da wand of inferno de 55 a 75, no caso é de 250 a 450, para mudar basta aumentar ou diminuir o 250 ou o 450, lembrando que o número menor deve ser o da esquerda no caso o 250.
Explicações:
PHYSICALDAMAGE:
PHYSICALDAMAGE quer dizer hit fisico você pode mudar para por exemplo:
ICEDAMAGE (hit de gelo como o da EXORI FRIGO) -
FIREDAMAGE (hit de fogo como o da EXEVO FLAM HUR) -
EARTHDAMAGE (hit de terra como o da EXORI TERA) -
DEATHDAMAGE (hit de morte como o da SUDDEN DEATH RUNE, a SD )-
HOLYDAMAGE (hit divino como o da EXEVO MAS SAN , EXORI SAN) -
ENERGYDAMAGE (hit de energia como o da EXORI VIS, EXEVO GRAN VIS LUX).
SOBRE O 30: É o efeito que a wand lança até chegar ao player o (shootype se tratando de items.xml e distance effects em scripts em geral para quem não sabe), podem mudar se quiserem. Confira a lista de de distance effects nesse tópico:
Effects e Distance Effects
SOBRE O 39: É o efeito que ira acontecer quando o distance effect da wand chegar no player exemplo a SD lança uma caveira que quando atinge o player some e surge uma bola negra, no caso o efeito 39 "é" a nossa bola negra. Pode mudar deacordo com o efeito desejado.
Agora vá em item.xml procure o item que você escolheu para ser a wand e faça isso:
<item id="ID da wand" article="the" name="Nome da Wand">
<attribute key="description" value="Comentario que aparece quando você da look na wand."/>
<attribute key="weight" value="2300"/>
<attribute key="weaponType" value="wand"/>
<attribute key="range" value="O mesmo valor de alcançe que você botou no weapons.xml"/>
</item>
Créditos:
Meus.
- Atualizado para ots versão 8.60 -