• 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!

weapon

foxkbt

Member
Joined
Sep 29, 2009
Messages
290
Reaction score
7
Location
Salvador
i really dont know whats the problem with this script

weapon.xml
PHP:
	<wand id="11415" level="200" mana="30" event="script" value="philosofal.lua"> <!-- philosofal rod -->
		<vocation id="10"/>
	</wand>
item.xml
PHP:
    <item id="11415" article="a" name="xxxx rod">
		<attribute key="description" value=" capaz de alterar seu tipo de dano." />
		<attribute key="weight" value="2700" />
		<attribute key="slotType" value="wand" />
		<attribute key="range" value="5" />
	</item>
script.lua
PHP:
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat1, COMBAT_PARAM_BLOCKSHIELD, 1)
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)

function onGetFormulaValues(cid, level, maglevel)
	local min = -(((level/10)+(maglevel*0.7)))
	local max = -(((level/10)+(maglevel*1.2)))
	return min, max
end

setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)

function onGetFormulaValues(cid, level, maglevel)
	local min = -(((level/10)+(maglevel*0.7)))
	local max = -(((level/10)+(maglevel*1.2)))
	return min, max
end

setCombatCallback(combat2, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGYBALL)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT)

function onGetFormulaValues(cid, level, maglevel)
	local min = -(((level/10)+(maglevel*0.7)))
	local max = -(((level/10)+(maglevel*1.2)))
	return min, max
end

setCombatCallback(combat3, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, CONST_ME_BIGPLANTS)

function onGetFormulaValues(cid, level, maglevel)
	local min = -(((level/10)+(maglevel*0.7)))
	local max = -(((level/10)+(maglevel*1.2)))
	return min, max
end

setCombatCallback(combat4, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local combat5 = createCombatObject()
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, CONST_ME_GIANTICE)

function onGetFormulaValues(cid, level, maglevel)
	local min = -(((level/10)+(maglevel*0.7)))
	local max = -(((level/10)+(maglevel*1.2)))
	return min, max
end

setCombatCallback(combat5, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local combat6 = createCombatObject()
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_HOLY)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA)

function onGetFormulaValues(cid, level, maglevel)
	local min = -(((level/10)+(maglevel*0.7)))
	local max = -(((level/10)+(maglevel*1.2)))
	return min, max
end

setCombatCallback(combat6, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local combat7 = createCombatObject()
setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat7, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)
setCombatParam(combat7, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)

function onGetFormulaValues(cid, level, maglevel)
	local min = -(((level/10)+(maglevel*0.7)))
	local max = -(((level/10)+(maglevel*1.2)))
	return min, max
end

setCombatCallback(combat7, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local combat8 = createCombatObject()
setCombatParam(combat8, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat8, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)

function onGetFormulaValues(cid, level, maglevel)
	local min = (((level/10)+(maglevel*0.7)))
	local max = (((level/10)+(maglevel*1.2)))
	return min, max
end

setCombatCallback(combat8, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local function onCastSpell1(parameters)
    doCombat(parameters.cid, combat1, parameters.var)
end
 
local function onCastSpell2(parameters)
    doCombat(parameters.cid, combat2, parameters.var)
end

local function onCastSpell3(parameters)
    doCombat(parameters.cid, combat3, parameters.var)
end
 
local function onCastSpell4(parameters)
    doCombat(parameters.cid, combat4, parameters.var)
end

local function onCastSpell5(parameters)
    doCombat(parameters.cid, combat5, parameters.var)
end
 
local function onCastSpell6(parameters)
    doCombat(parameters.cid, combat6, parameters.var)
end

local function onCastSpell7(parameters)
    doCombat(parameters.cid, combat7, parameters.var)
end
 
local function onCastSpell8(parameters)
    doCombat(parameters.cid, combat8, parameters.var)
end

function onUseWeapon(cid, var)
local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4, combat5 = combat5, combat6 = combat6, combat7 = combat7, combat8 = combat8}
	if getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid == 8304 then
        addEvent(onCastSpell2, 100, parameters)
	elseif getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid == 8306 then
        addEvent(onCastSpell3, 100, parameters)
	elseif getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid == 8298 then
        addEvent(onCastSpell4, 100, parameters)
	elseif getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid == 8302 then
        addEvent(onCastSpell5, 100, parameters)
	elseif getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid == 8301 then
        addEvent(onCastSpell6, 100, parameters)
	elseif getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid == 8299 then
        addEvent(onCastSpell7, 100, parameters)
	elseif getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid == 8310 then
        addEvent(onCastSpell8, 100, parameters)
	else
        addEvent(onCastSpell1, 100, parameters)
	end
return TRUE
end
 
1. In every problem with scripts paste the error from console.
2. Just copy another rod and change the id, name, damage etc.(items.xml and weapons.xml)...
3. Item.xml
<attribute key="slotType" value="wand" />
?(Delte it)

You need there
<attribute key="shootType" value="xxxxxx"/>
at first
 
do you add it it wepon or movments and and dir to script ;)?

next tray to look for this sime id in wepons ;) when its double ots take latest ;)
 
Back
Top