• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!

Multi Shootype Wand!

Chestnutz

Senior Member
Joined
May 19, 2010
Messages
344
Reaction score
20
Hello!

I was wondering, i want to make a wand for my server, how do i make it so it shoots different looktypes (ingame "/z" command) and hit with the 6 different elements?

Thanks!
 
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLHOLY)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.2, -450, -0.3, -600)´
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLHOLY)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.2, -450, -0.3, -600)´

function onUseWeapon(cid, var)
return doCombat(cid, combat, var)
end

Only edit the values and add it to weapons.xml
 
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLHOLY)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.2, -450, -0.3, -600)´
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLHOLY)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.2, -450, -0.3, -600)´

function onUseWeapon(cid, var)
return doCombat(cid, combat, var)
end

i made this a lua file 'multi' and set xml line to:
<wand id="2191" level="13" mana="3" min="13" max="25" type="fire" event="function" value="multi">
<vocation id="1"/>
</wand>

didnt work ;o
 
LUA:
    local combat1 = createCombatObject()
    setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
    setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)

    function onGetFormulaValues(cid, level, maglevel)
    min = -(maglevel*2) -level/5 - 10
    max = -(maglevel*2) -level/5 - 20
 
    return min, max
    end
 
    setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

    local combat2 = createCombatObject()
    setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
    setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_POISON)

    function onGetFormulaValues(cid, level, maglevel)
    min = -(maglevel*2) -level/5 - 10
    max = -(maglevel*2) -level/5 - 20
 
    return min, max
    end
 
    setCombatCallback(combat2, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

    local combat3 = createCombatObject()
    setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
    setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)

    function onGetFormulaValues(cid, level, maglevel)
    min = -(maglevel*2) -level/5 - 10
    max = -(maglevel*2) -level/5 - 20
 
    return min, max
    end
 
    setCombatCallback(combat3, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

    local combat4 = createCombatObject()
    setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
    setCombatParam(combat4, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE)

    function onGetFormulaValues(cid, level, maglevel)
    min = -(maglevel*2) -level/5 - 10
    max = -(maglevel*2) -level/5 - 20
 
    return min, max
    end
 
    setCombatCallback(combat4, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

    local combat5 = createCombatObject()
    setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
    setCombatParam(combat5, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_HOLY)

    function onGetFormulaValues(cid, level, maglevel)
    min = -(maglevel*2) -level/5 - 10
    max = -(maglevel*2) -level/5 - 20
 
    return min, max
    end
 
    setCombatCallback(combat5, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

    local combat6 = createCombatObject()
    setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
    setCombatParam(combat6, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH)

    function onGetFormulaValues(cid, level, maglevel)
    min = -(maglevel*2) -level/5 - 10
    max = -(maglevel*2) -level/5 - 20
 
    return min, max
    end
 
    setCombatCallback(combat6, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onUseWeapon(cid, var)

local combats = {combat1, combat2, combat3, combat4, combat5, combat6}

        doCombat(cid, math.random(1, #combats), var)
	return true
end
 
Back
Top