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

Spell Error..

Teddy

SweStream.se
Joined
Oct 2, 2008
Messages
3,797
Reaction score
10
Location
Sweden 172
When i start the 0.3.6 server this error come on 1 of my spells
[14/12/2009 11:16:58] [Error - Spell Interface]
[14/12/2009 11:16:58] data/spells/scripts/attack/ninjaf.lua
[14/12/2009 11:16:58] Description:
[14/12/2009 11:16:58] attempt to index a number value
[14/12/2009 11:16:58] [Warning - Event::loadScript] Cannot load script (data/spells/scripts/attack/ninjaf.lua)

here is the spell :
Code:
	 <instant name="Mage Transform" words="utevo batform" lvl="40" mana="300" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" script="attack/ninjaf.lua">
                <vocation name="Mage"/>
                <vocation name="Master Mage"/>
    </instant>
attack/ninjaf.lua
Code:
  --[[
        Spell by Shawak
        Wolf transform
]]--

local time = 120 * 1000        -- 120 * 1000 = 2 min
local addShielding = 20        -- how much shielding should be added


local wolf = {lookType = 307, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, time)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, addShielding)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setCombatCondition(combat, condition)

local speed = createConditionObject(CONDITION_HASTE)
setConditionParam(speed, CONDITION_PARAM_TICKS, time)
setConditionFormula(speed, 0.7, -56, 0.7, -56)
setCombatCondition(combat, speed)

local outfit = createConditionObject(CONDITION_OUTFIT)
setConditionParam(outfit, CONDITION_PARAM_TICKS, time)
addOutfitCondition(outfit, wolf.lookTypeEx, wolf.lookType, wolf.lookHead, wolf.lookBody, wolf.lookLegs, wolf.lookFeet)
setCombatCondition(combat, outfit)

local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_SUBID, 2)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, time)
setCombatCondition(combat, exhaust)

function onCastSpell(cid, var)
        return doCombat(cid, combat, var)
end
 
Code:
	 <instant name="Mage Transform" words="utevo batform" lvl="40" mana="300" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" script="attack/ninjaf.lua">
                <vocation id="1"/>
                <vocation id="5"/>
         </instant>


try to add it like this in the spells.xml
 
Well i've found the problem but i'm not sure of how to solve it.

In 3.5 was
PHP:
Outfit_t outfit;
	outfit.lookFeet = popNumber(L);
	outfit.lookLegs = popNumber(L);
	outfit.lookBody = popNumber(L);
	outfit.lookHead = popNumber(L);
	outfit.lookType = popNumber(L);
	outfit.lookTypeEx = popNumber(L);

Now is:

PHP:
	Outfit_t outfit;
	outfit.lookAddons = getField(L, "lookAddons");

	outfit.lookFeet = getField(L, "lookFeet");
	outfit.lookLegs = getField(L, "lookLegs");
	outfit.lookBody = getField(L, "lookBody");
	outfit.lookHead = getField(L, "lookHead");

	outfit.lookTypeEx = getField(L, "lookTypeEx");
	outfit.lookType = getField(L, "lookType");
I'm using
Lua:
local wolf = {lookType = 52, lookTypeEx = 0, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}
addOutfitCondition(outfit, wolf)

With this code you dont get error but dont change the outfit.

If someone know how to solves this pls help
 
Back
Top