Nesse tutorial vou ensinar aquelas pessoas que querem que as ammunitions novas apareçam quando são atiradas, tipo a sniper arrow, piercing bolt, entre outras.
Vá em "Data" e abra o arquivo "global.lua", adicione isso enbaixo de "CONST_ANI_INFERNALBOLT = 15":
CONST_ANI_HUNTINGSPEAR = 16 CONST_ANI_ENCHANTEDSPEAR = 17 CONST_ANI_ASSASSINSTAR = 18 CONST_ANI_GREENSTAR = 19 CONST_ANI_ROYALSPEAR = 20 CONST_ANI_SNIPERARROW = 21 CONST_ANI_ONYXARROW = 22 CONST_ANI_PIERCINGBOLT = 23 CONST_ANI_WHIRLWINDSWORD = 24 CONST_ANI_WHIRLWINDAXE = 25 CONST_ANI_WHIRLWINDCLUB = 26 CONST_ANI_ETHEREALSPEAR = 27
Salve e agora vá em "Data\weapons" e abra o arquivo "weapons.xml" e coloque isso aonde quiser:
<distance id="7367" range="6" enabled="1" exhaustion="0" hitchance="80" ammo="removecount" script="enchanted spear.lua"></distance> <distance id="7364" range="6" enabled="1" exhaustion="0" hitchance="80" ammo="removecount" script="sniper arrow.lua"></distance> <distance id="7363" range="6" enabled="1" exhaustion="0" hitchance="80" ammo="removecount" script="piercing bolt.lua"></distance> <distance id="7365" range="6" enabled="1" exhaustion="0" hitchance="80" ammo="removecount" script="onyx arrow.lua"></distance> <distance id="7378" range="6" enabled="1" exhaustion="0" hitchance="80" ammo="removecount" script="royal spear.lua"></distance> <distance id="3965" range="6" enabled="1" exhaustion="0" hitchance="80" ammo="removecount" script="hunting spear.lua"></distance> <distance id="7368" range="6" enabled="1" exhaustion="0" hitchance="80" ammo="removecount" script="assassin star.lua"></distance> <distance id="7366" range="6" enabled="1" exhaustion="0" hitchance="80" ammo="removecount" script="viper star.lua"></distance>
Salve e agora vá na pasta "Data\weapons\scripts" e crie os arquivos abaixo:
enchanted spear.lua
sniper arrow.lua
piercing bolt.lua
onyx arrow.lua
royal spear.lua
hunting spear.lua
assassin star.lua
viper star.lua
Agora dentro de cada um:
enchanted spear.lua
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 17) setCombatFormula(combat, COMBAT_FORMULA_SKILL, -0.5, -3, -1, -6) function onUseWeapon(cid, var) return doCombat(cid, combat, var) end
sniper arrow.lua
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 21) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 0, 0) function onUseWeapon(cid, var) return doCombat(cid, combat, var) end
piercing bolt.lua
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 23) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 0, 0) function onUseWeapon(cid, var) return doCombat(cid, combat, var) end
onyx arrow.lua
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 22) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 0, 0) function onUseWeapon(cid, var) return doCombat(cid, combat, var) end
royal spear.lua
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 20) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 0, 0) function onUseWeapon(cid, var) return doCombat(cid, combat, var) end
hunting spear.lua
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 16) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 0, 0) function onUseWeapon(cid, var) return doCombat(cid, combat, var) end
assassin star.lua
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 18) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 0, 0) function onUseWeapon(cid, var) return doCombat(cid, combat, var) end
viper star.lua
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 19) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 0, 0) function onUseWeapon(cid, var) return doCombat(cid, combat, var) end
Pronto, espero que tenham entendido.
Caso tenham alguma duvida perguntem.
Créditos: Meu (100%)
Caso já tenha um tutorial parecido com esse (do mesmo assunto) que tenha sido feito antes do meu no xtibia me falem e eu tiro o meu, flw ;D