Hi! I created this rune to the needs of my server and I have a problem. After a certain amount of use the runes on a monster and when i try use rune again then something do debug tibia client. I don't know what i write in code wrong. Please for help.
# NO ERROR IN CONSOLE
Debug arises only when the rune is used on a monster too many times.
(Using the runes on the player does not create debug)
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_NONE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_TELEPORT)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)
local arrea = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
local area = createCombatArea(arrea)
setCombatArea(combat, area)
local condition1 = createConditionObject(CONDITION_OUTFIT)
setConditionParam(condition1, CONDITION_PARAM_TICKS, 20000)
local condition2 = createConditionObject(CONDITION_OUTFIT)
setConditionParam(condition2, CONDITION_PARAM_TICKS, 20000)
local condition3 = createConditionObject(CONDITION_OUTFIT)
setConditionParam(condition3, CONDITION_PARAM_TICKS, 20000)
local condition4 = createConditionObject(CONDITION_OUTFIT)
setConditionParam(condition4, CONDITION_PARAM_TICKS, 20000)
local condition5 = createConditionObject(CONDITION_OUTFIT)
setConditionParam(condition5, CONDITION_PARAM_TICKS, 20000)
local condition6 = createConditionObject(CONDITION_OUTFIT)
setConditionParam(condition6, CONDITION_PARAM_TICKS, 20000)
local condition7 = createConditionObject(CONDITION_OUTFIT)
setConditionParam(condition7, CONDITION_PARAM_TICKS, 20000)
local condition8 = createConditionObject(CONDITION_OUTFIT)
setConditionParam(condition8, CONDITION_PARAM_TICKS, 20000)
function onCastSpell(cid, var)
n = math.random(1,100)
if n <= 20 then
doRemoveCondition(cid, condition1)
doRemoveCondition(cid, condition2)
doRemoveCondition(cid, condition3)
doRemoveCondition(cid, condition4)
doRemoveCondition(cid, condition5)
doRemoveCondition(cid, condition6)
doRemoveCondition(cid, condition7)
doRemoveCondition(cid, condition8)
addOutfitCondition(condition1, {lookType = 60})
setCombatCondition(combat, condition1)
elseif n > 21 and n <= 40 then
doRemoveCondition(cid, condition1)
doRemoveCondition(cid, condition2)
doRemoveCondition(cid, condition3)
doRemoveCondition(cid, condition4)
doRemoveCondition(cid, condition5)
doRemoveCondition(cid, condition6)
doRemoveCondition(cid, condition7)
doRemoveCondition(cid, condition8)
addOutfitCondition(condition2, {lookType = 116})
setCombatCondition(combat, condition2)
elseif n > 41 and n <= 50 then
doRemoveCondition(cid, condition1)
doRemoveCondition(cid, condition2)
doRemoveCondition(cid, condition3)
doRemoveCondition(cid, condition4)
doRemoveCondition(cid, condition5)
doRemoveCondition(cid, condition6)
doRemoveCondition(cid, condition7)
doRemoveCondition(cid, condition8)
addOutfitCondition(condition3, {lookType = 21})
setCombatCondition(combat, condition3)
elseif n > 51 and n <= 60 then
doRemoveCondition(cid, condition1)
doRemoveCondition(cid, condition2)
doRemoveCondition(cid, condition3)
doRemoveCondition(cid, condition4)
doRemoveCondition(cid, condition5)
doRemoveCondition(cid, condition6)
doRemoveCondition(cid, condition7)
doRemoveCondition(cid, condition8)
addOutfitCondition(condition4, {lookType = 111})
setCombatCondition(combat, condition4)
elseif n > 61 and n <= 70 then
doRemoveCondition(cid, condition1)
doRemoveCondition(cid, condition2)
doRemoveCondition(cid, condition3)
doRemoveCondition(cid, condition4)
doRemoveCondition(cid, condition5)
doRemoveCondition(cid, condition6)
doRemoveCondition(cid, condition7)
doRemoveCondition(cid, condition8)
addOutfitCondition(condition5, {lookType = 45})
setCombatCondition(combat, condition5)
elseif n > 71 and n <= 80 then
doRemoveCondition(cid, condition1)
doRemoveCondition(cid, condition2)
doRemoveCondition(cid, condition3)
doRemoveCondition(cid, condition4)
doRemoveCondition(cid, condition5)
doRemoveCondition(cid, condition6)
doRemoveCondition(cid, condition7)
doRemoveCondition(cid, condition8)
addOutfitCondition(condition6, {lookType = 32})
setCombatCondition(combat, condition6)
elseif n > 81 and n <= 90 then
doRemoveCondition(cid, condition1)
doRemoveCondition(cid, condition2)
doRemoveCondition(cid, condition3)
doRemoveCondition(cid, condition4)
doRemoveCondition(cid, condition5)
doRemoveCondition(cid, condition6)
doRemoveCondition(cid, condition7)
doRemoveCondition(cid, condition8)
addOutfitCondition(condition7, {lookType = 106})
setCombatCondition(combat, condition7)
elseif n > 91 and n <= 100 then
doRemoveCondition(cid, condition1)
doRemoveCondition(cid, condition2)
doRemoveCondition(cid, condition3)
doRemoveCondition(cid, condition4)
doRemoveCondition(cid, condition5)
doRemoveCondition(cid, condition6)
doRemoveCondition(cid, condition7)
doRemoveCondition(cid, condition8)
addOutfitCondition(condition8, {lookType = 399})
setCombatCondition(combat, condition8)
end
return doCombat(cid, combat, var)
end
# NO ERROR IN CONSOLE
Debug arises only when the rune is used on a monster too many times.
(Using the runes on the player does not create debug)