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

Super Transformer Ring TFS 1.2

Pedrook

Advanced OT User
Joined
May 24, 2009
Messages
442
Solutions
3
Reaction score
183
Location
Brazil
I was trying to adapt this script to my tfs 1.2 server, this code is original and was not working, so I switched to "doSetCreatureOutfit (param.cid, outfitMale, -1)" and removed the param and started working, but still it does not transform the outfit and neither does it spend while the RING is equipped.


ERROR.
Code:
[C]: in function '__index'
        data/lib/compat/compat.lua:1047: in function 'doSetCreatureOutfit'
        data/movements/scripts/chaosbangle.lua:237: in function <data/movements/scripts/chaosbangle.

Code:
-- >> Small config section --
local outfitMale =
{
lookType = 12,
lookHead = 19,
lookBody = 79,
lookLegs = 3,
lookFeet = 81,
lookAddons = 0
}
local outfitFemale =
{
lookType = 12,
lookHead = 19,
lookBody = 53,
lookLegs = 92,
lookFeet = 79,
lookAddons = 0
}
local cointype = 2160 -- Id of the coin the spell will use (2148 = gold coin, 2152 = platinum coin, 2160 = crystal coin) --
local tbcw = 2000 -- coin wasting time interval (miliseconds) --
local ncws = 1 -- number of coins used up during time interval --
local ncni = 20 -- number of coins needed to trigger the transformation --
local stcn = 20 -- number of coins needed to execute script (must be higher than ncni value) --
local warn = 1 -- warns player when runing short on coins, 1 = yes --
local cwar = 20 -- number of coins that triggers the warnings --
local bmaineff = CONST_ME_YELLOW_RINGS
local bsecondeff = CONST_ME_BLOCKHIT
local bflingeff = CONST_ANI_SMALLHOLY
local blandeff = CONST_ME_HOLYAREA
local bringwaste = CONST_ME_FIREWORK_YELLOW
local bringabsorb = CONST_ME_MAGIC_GREEN
local gmaineff = CONST_ME_EXPLOSIONAREA
local gsecondeff = CONST_ME_FIREAREA
local gflingeff = CONST_ANI_FIRE
local glandeff = CONST_ME_FIREWORK_RED
local gringwaste = CONST_ME_FIREWORK_RED
local gringabsorb = CONST_ME_MAGIC_RED
-- Small config section << --
local condition1 = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition1, CONDITION_PARAM_TICKS, -1)
setConditionParam(condition1, CONDITION_PARAM_SKILL_FIST, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_CLUB, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_SWORD, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_AXE, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_DISTANCE, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_SHIELD, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 50)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAGICPOINTS, 50)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 120)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT, 120)
local condition2 = createConditionObject(CONDITION_HASTE)
setConditionParam(condition2, CONDITION_PARAM_TICKS, -1)
setConditionFormula(condition2, 2.5, 0, 3.0, 0)
function superform1(param)
    if param.crca == 1 then
        local pos = getCreaturePosition(param.cid)
        local sex = getPlayerSex(param.cid)
        local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255}
        local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255}
        local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255}
        local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255}
        local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255}
        local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255}
        local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255}
        local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255}
        if sex == 1 then
            doSendMagicEffect(pos, bmaineff)
            doSendMagicEffect(pos, bsecondeff)
            doSendDistanceShoot(pos, nha, bflingeff)
            doSendDistanceShoot(pos, sha, bflingeff)
            doSendDistanceShoot(pos, wha, bflingeff)
            doSendDistanceShoot(pos, eha, bflingeff)
            doSendDistanceShoot(pos, nwa, bflingeff)
            doSendDistanceShoot(pos, nea, bflingeff)
            doSendDistanceShoot(pos, sea, bflingeff)
            doSendDistanceShoot(pos, swa, bflingeff)
            doSendMagicEffect(nha, blandeff)
            doSendMagicEffect(sha, blandeff)
            doSendMagicEffect(wha, blandeff)
            doSendMagicEffect(eha, blandeff)
            doSendMagicEffect(nwa, blandeff)
            doSendMagicEffect(nea, blandeff)
            doSendMagicEffect(sea, blandeff)
            doSendMagicEffect(swa, blandeff)
            doSetCreatureOutfit(param.cid, outfitMale, -1)
        else
            doSendMagicEffect(pos, gmaineff)
            doSendMagicEffect(pos, gsecondeff)
            doSendDistanceShoot(pos, nha, gflingeff)
            doSendDistanceShoot(pos, sha, gflingeff)
            doSendDistanceShoot(pos, wha, gflingeff)
            doSendDistanceShoot(pos, eha, gflingeff)
            doSendDistanceShoot(pos, nwa, gflingeff)
            doSendDistanceShoot(pos, nea, gflingeff)
            doSendDistanceShoot(pos, sea, gflingeff)
            doSendDistanceShoot(pos, swa, gflingeff)
            doSendMagicEffect(nha, glandeff)
            doSendMagicEffect(sha, glandeff)
            doSendMagicEffect(wha, glandeff)
            doSendMagicEffect(eha, glandeff)
            doSendMagicEffect(nwa, glandeff)
            doSendMagicEffect(nea, glandeff)
            doSendMagicEffect(sea, glandeff)
            doSendMagicEffect(swa, glandeff)
            doSetCreatureOutfit(param.cid, outfitFemale, -1)
        end
        doAddCondition(param.cid, condition1)
        doAddCondition(param.cid, condition2)
        local mhp = getCreatureMaxHealth(param.cid)
        local mma = getPlayerMaxMana(param.cid)
        local chp = getCreatureHealth(param.cid)
        local cma = getPlayerMana(param.cid)
        local dhp = mhp - chp
        local dma = mma - cma
        doCreatureAddHealth(param.cid, dhp)
        doPlayerAddMana(param.cid, dma) 
        doPlayerRemoveItem(param.cid, cointype, ncni)
        param.crcb = 1
        param.sex = sex
        setPlayerStorageValue(param.cid, 50780, 1)
        addEvent(superform2, 1, param)
    end
end
function superform2(param)
    if param.crca == 1 and param.crcb == 1 and isCreature(param.cid) == TRUE and getPlayerStorageValue(param.cid, 50780) == 1 then
        local pos = getCreaturePosition(param.cid)
        doPlayerRemoveItem(param.cid, cointype, ncws)
        if param.sex == 1 then    
            doSendMagicEffect(pos, bringwaste)
            doSendMagicEffect(pos, bringabsorb)
        else
            doSendMagicEffect(pos, gringwaste)
            doSendMagicEffect(pos, gringabsorb)
        end
        local goldleft = getPlayerItemCount(param.cid, cointype)
        if goldleft < cwar and warn == 1 then
            doPlayerSendTextMessage(param.cid, MESSAGE_STATUS_CONSOLE_RED, "Coins left: " ..goldleft.. ".")
        end
        if goldleft < ncws then
            param.crca = 0
            param.crcb = 0
            setPlayerStorageValue(param.cid, 50780, 0)
            doPlayerSendTextMessage(param.cid, MESSAGE_EVENT_DEFAULT, "No cash left!")
          
            local pos = getCreaturePosition(param.cid)
            local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255}
            local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255}
            local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255}
            local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255}
            local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255}
            local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255}
            local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255}
            local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255}
            doRemoveCondition(param.cid, CONDITION_OUTFIT)
            doRemoveCondition(param.cid, CONDITION_ATTRIBUTES)
            doRemoveCondition(param.cid, CONDITION_HASTE)
            if param.sex == 1 then
                doSendMagicEffect(pos, bmaineff)
                doSendMagicEffect(pos, bsecondeff)
                doSendDistanceShoot(pos, nha, bflingeff)
                doSendDistanceShoot(pos, sha, bflingeff)
                doSendDistanceShoot(pos, wha, bflingeff)
                doSendDistanceShoot(pos, eha, bflingeff)
                doSendDistanceShoot(pos, nwa, bflingeff)
                doSendDistanceShoot(pos, nea, bflingeff)
                doSendDistanceShoot(pos, sea, bflingeff)
                doSendDistanceShoot(pos, swa, bflingeff)
                doSendMagicEffect(nha, blandeff)
                doSendMagicEffect(sha, blandeff)
                doSendMagicEffect(wha, blandeff)
                doSendMagicEffect(eha, blandeff)
                doSendMagicEffect(nwa, blandeff)
                doSendMagicEffect(nea, blandeff)
                doSendMagicEffect(sea, blandeff)
                doSendMagicEffect(swa, blandeff)
            else
                doSendMagicEffect(pos, gmaineff)
                doSendMagicEffect(pos, gsecondeff)
                doSendDistanceShoot(pos, nha, gflingeff)
                doSendDistanceShoot(pos, sha, gflingeff)
                doSendDistanceShoot(pos, wha, gflingeff)
                doSendDistanceShoot(pos, eha, gflingeff)
                doSendDistanceShoot(pos, nwa, gflingeff)
                doSendDistanceShoot(pos, nea, gflingeff)
                doSendDistanceShoot(pos, sea, gflingeff)
                doSendDistanceShoot(pos, swa, gflingeff)
                doSendMagicEffect(nha, glandeff)
                doSendMagicEffect(sha, glandeff)
                doSendMagicEffect(wha, glandeff)
                doSendMagicEffect(eha, glandeff)
                doSendMagicEffect(nwa, glandeff)
                doSendMagicEffect(nea, glandeff)
                doSendMagicEffect(sea, glandeff)
                doSendMagicEffect(swa, glandeff)
            end
        else
            addEvent(superform2, tbcw, param)
        end
    end
end
function onEquip(cid, item, slot)
    local param = {cid = cid, item = item, slot = slot}
    local gold = getPlayerItemCount(cid, cointype)
    if gold > stcn then
        param.crca = 1
        --can equip here?
        addEvent(superform1, 1, param)
        return TRUE
    end
end
function onDeEquip(cid, item, slot)
    if isPlayer(cid) and getPlayerStorageValue(cid, 50780) == 1 then
        doRemoveCondition(cid, CONDITION_OUTFIT)
        doRemoveCondition(cid, CONDITION_ATTRIBUTES)
        doRemoveCondition(cid, CONDITION_HASTE)
        local pos = getCreaturePosition(cid)
        setPlayerStorageValue(cid, 50780, 0)
        local sex = getPlayerSex(cid)
        local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255}
        local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255}
        local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255}
        local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255}
        local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255}
        local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255}
        local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255}
        local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255}
        if sex == 1 then
            doSendMagicEffect(pos, bmaineff)
            doSendMagicEffect(pos, bsecondeff)
            doSendDistanceShoot(pos, nha, bflingeff)
            doSendDistanceShoot(pos, sha, bflingeff)
            doSendDistanceShoot(pos, wha, bflingeff)
            doSendDistanceShoot(pos, eha, bflingeff)
            doSendDistanceShoot(pos, nwa, bflingeff)
            doSendDistanceShoot(pos, nea, bflingeff)
            doSendDistanceShoot(pos, sea, bflingeff)
            doSendDistanceShoot(pos, swa, bflingeff)
            doSendMagicEffect(nha, blandeff)
            doSendMagicEffect(sha, blandeff)
            doSendMagicEffect(wha, blandeff)
            doSendMagicEffect(eha, blandeff)
            doSendMagicEffect(nwa, blandeff)
            doSendMagicEffect(nea, blandeff)
            doSendMagicEffect(sea, blandeff)
            doSendMagicEffect(swa, blandeff)
        else
            doSendMagicEffect(pos, gmaineff)
            doSendMagicEffect(pos, gsecondeff)
            doSendDistanceShoot(pos, nha, gflingeff)
            doSendDistanceShoot(pos, sha, gflingeff)
            doSendDistanceShoot(pos, wha, gflingeff)
            doSendDistanceShoot(pos, eha, gflingeff)
            doSendDistanceShoot(pos, nwa, gflingeff)
            doSendDistanceShoot(pos, nea, gflingeff)
            doSendDistanceShoot(pos, sea, gflingeff)
            doSendDistanceShoot(pos, swa, gflingeff)
            doSendMagicEffect(nha, glandeff)
            doSendMagicEffect(sha, glandeff)
            doSendMagicEffect(wha, glandeff)
            doSendMagicEffect(eha, glandeff)
            doSendMagicEffect(nwa, glandeff)
            doSendMagicEffect(nea, glandeff)
            doSendMagicEffect(sea, glandeff)
            doSendMagicEffect(swa, glandeff)
        end
    end
return TRUE
end
 
I was trying to adapt this script to my tfs 1.2 server, this code is original and was not working, so I switched to "doSetCreatureOutfit (param.cid, outfitMale, -1)" and removed the param and started working, but still it does not transform the outfit and neither does it spend while the RING is equipped.


ERROR.
Code:
[C]: in function '__index'
        data/lib/compat/compat.lua:1047: in function 'doSetCreatureOutfit'
        data/movements/scripts/chaosbangle.lua:237: in function <data/movements/scripts/chaosbangle.

Code:
-- >> Small config section --
local outfitMale =
{
lookType = 12,
lookHead = 19,
lookBody = 79,
lookLegs = 3,
lookFeet = 81,
lookAddons = 0
}
local outfitFemale =
{
lookType = 12,
lookHead = 19,
lookBody = 53,
lookLegs = 92,
lookFeet = 79,
lookAddons = 0
}
local cointype = 2160 -- Id of the coin the spell will use (2148 = gold coin, 2152 = platinum coin, 2160 = crystal coin) --
local tbcw = 2000 -- coin wasting time interval (miliseconds) --
local ncws = 1 -- number of coins used up during time interval --
local ncni = 20 -- number of coins needed to trigger the transformation --
local stcn = 20 -- number of coins needed to execute script (must be higher than ncni value) --
local warn = 1 -- warns player when runing short on coins, 1 = yes --
local cwar = 20 -- number of coins that triggers the warnings --
local bmaineff = CONST_ME_YELLOW_RINGS
local bsecondeff = CONST_ME_BLOCKHIT
local bflingeff = CONST_ANI_SMALLHOLY
local blandeff = CONST_ME_HOLYAREA
local bringwaste = CONST_ME_FIREWORK_YELLOW
local bringabsorb = CONST_ME_MAGIC_GREEN
local gmaineff = CONST_ME_EXPLOSIONAREA
local gsecondeff = CONST_ME_FIREAREA
local gflingeff = CONST_ANI_FIRE
local glandeff = CONST_ME_FIREWORK_RED
local gringwaste = CONST_ME_FIREWORK_RED
local gringabsorb = CONST_ME_MAGIC_RED
-- Small config section << --
local condition1 = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition1, CONDITION_PARAM_TICKS, -1)
setConditionParam(condition1, CONDITION_PARAM_SKILL_FIST, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_CLUB, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_SWORD, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_AXE, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_DISTANCE, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_SHIELD, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 50)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAGICPOINTS, 50)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 120)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT, 120)
local condition2 = createConditionObject(CONDITION_HASTE)
setConditionParam(condition2, CONDITION_PARAM_TICKS, -1)
setConditionFormula(condition2, 2.5, 0, 3.0, 0)
function superform1(param)
    if param.crca == 1 then
        local pos = getCreaturePosition(param.cid)
        local sex = getPlayerSex(param.cid)
        local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255}
        local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255}
        local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255}
        local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255}
        local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255}
        local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255}
        local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255}
        local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255}
        if sex == 1 then
            doSendMagicEffect(pos, bmaineff)
            doSendMagicEffect(pos, bsecondeff)
            doSendDistanceShoot(pos, nha, bflingeff)
            doSendDistanceShoot(pos, sha, bflingeff)
            doSendDistanceShoot(pos, wha, bflingeff)
            doSendDistanceShoot(pos, eha, bflingeff)
            doSendDistanceShoot(pos, nwa, bflingeff)
            doSendDistanceShoot(pos, nea, bflingeff)
            doSendDistanceShoot(pos, sea, bflingeff)
            doSendDistanceShoot(pos, swa, bflingeff)
            doSendMagicEffect(nha, blandeff)
            doSendMagicEffect(sha, blandeff)
            doSendMagicEffect(wha, blandeff)
            doSendMagicEffect(eha, blandeff)
            doSendMagicEffect(nwa, blandeff)
            doSendMagicEffect(nea, blandeff)
            doSendMagicEffect(sea, blandeff)
            doSendMagicEffect(swa, blandeff)
            doSetCreatureOutfit(param.cid, outfitMale, -1)
        else
            doSendMagicEffect(pos, gmaineff)
            doSendMagicEffect(pos, gsecondeff)
            doSendDistanceShoot(pos, nha, gflingeff)
            doSendDistanceShoot(pos, sha, gflingeff)
            doSendDistanceShoot(pos, wha, gflingeff)
            doSendDistanceShoot(pos, eha, gflingeff)
            doSendDistanceShoot(pos, nwa, gflingeff)
            doSendDistanceShoot(pos, nea, gflingeff)
            doSendDistanceShoot(pos, sea, gflingeff)
            doSendDistanceShoot(pos, swa, gflingeff)
            doSendMagicEffect(nha, glandeff)
            doSendMagicEffect(sha, glandeff)
            doSendMagicEffect(wha, glandeff)
            doSendMagicEffect(eha, glandeff)
            doSendMagicEffect(nwa, glandeff)
            doSendMagicEffect(nea, glandeff)
            doSendMagicEffect(sea, glandeff)
            doSendMagicEffect(swa, glandeff)
            doSetCreatureOutfit(param.cid, outfitFemale, -1)
        end
        doAddCondition(param.cid, condition1)
        doAddCondition(param.cid, condition2)
        local mhp = getCreatureMaxHealth(param.cid)
        local mma = getPlayerMaxMana(param.cid)
        local chp = getCreatureHealth(param.cid)
        local cma = getPlayerMana(param.cid)
        local dhp = mhp - chp
        local dma = mma - cma
        doCreatureAddHealth(param.cid, dhp)
        doPlayerAddMana(param.cid, dma)
        doPlayerRemoveItem(param.cid, cointype, ncni)
        param.crcb = 1
        param.sex = sex
        setPlayerStorageValue(param.cid, 50780, 1)
        addEvent(superform2, 1, param)
    end
end
function superform2(param)
    if param.crca == 1 and param.crcb == 1 and isCreature(param.cid) == TRUE and getPlayerStorageValue(param.cid, 50780) == 1 then
        local pos = getCreaturePosition(param.cid)
        doPlayerRemoveItem(param.cid, cointype, ncws)
        if param.sex == 1 then  
            doSendMagicEffect(pos, bringwaste)
            doSendMagicEffect(pos, bringabsorb)
        else
            doSendMagicEffect(pos, gringwaste)
            doSendMagicEffect(pos, gringabsorb)
        end
        local goldleft = getPlayerItemCount(param.cid, cointype)
        if goldleft < cwar and warn == 1 then
            doPlayerSendTextMessage(param.cid, MESSAGE_STATUS_CONSOLE_RED, "Coins left: " ..goldleft.. ".")
        end
        if goldleft < ncws then
            param.crca = 0
            param.crcb = 0
            setPlayerStorageValue(param.cid, 50780, 0)
            doPlayerSendTextMessage(param.cid, MESSAGE_EVENT_DEFAULT, "No cash left!")
        
            local pos = getCreaturePosition(param.cid)
            local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255}
            local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255}
            local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255}
            local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255}
            local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255}
            local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255}
            local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255}
            local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255}
            doRemoveCondition(param.cid, CONDITION_OUTFIT)
            doRemoveCondition(param.cid, CONDITION_ATTRIBUTES)
            doRemoveCondition(param.cid, CONDITION_HASTE)
            if param.sex == 1 then
                doSendMagicEffect(pos, bmaineff)
                doSendMagicEffect(pos, bsecondeff)
                doSendDistanceShoot(pos, nha, bflingeff)
                doSendDistanceShoot(pos, sha, bflingeff)
                doSendDistanceShoot(pos, wha, bflingeff)
                doSendDistanceShoot(pos, eha, bflingeff)
                doSendDistanceShoot(pos, nwa, bflingeff)
                doSendDistanceShoot(pos, nea, bflingeff)
                doSendDistanceShoot(pos, sea, bflingeff)
                doSendDistanceShoot(pos, swa, bflingeff)
                doSendMagicEffect(nha, blandeff)
                doSendMagicEffect(sha, blandeff)
                doSendMagicEffect(wha, blandeff)
                doSendMagicEffect(eha, blandeff)
                doSendMagicEffect(nwa, blandeff)
                doSendMagicEffect(nea, blandeff)
                doSendMagicEffect(sea, blandeff)
                doSendMagicEffect(swa, blandeff)
            else
                doSendMagicEffect(pos, gmaineff)
                doSendMagicEffect(pos, gsecondeff)
                doSendDistanceShoot(pos, nha, gflingeff)
                doSendDistanceShoot(pos, sha, gflingeff)
                doSendDistanceShoot(pos, wha, gflingeff)
                doSendDistanceShoot(pos, eha, gflingeff)
                doSendDistanceShoot(pos, nwa, gflingeff)
                doSendDistanceShoot(pos, nea, gflingeff)
                doSendDistanceShoot(pos, sea, gflingeff)
                doSendDistanceShoot(pos, swa, gflingeff)
                doSendMagicEffect(nha, glandeff)
                doSendMagicEffect(sha, glandeff)
                doSendMagicEffect(wha, glandeff)
                doSendMagicEffect(eha, glandeff)
                doSendMagicEffect(nwa, glandeff)
                doSendMagicEffect(nea, glandeff)
                doSendMagicEffect(sea, glandeff)
                doSendMagicEffect(swa, glandeff)
            end
        else
            addEvent(superform2, tbcw, param)
        end
    end
end
function onEquip(cid, item, slot)
    local param = {cid = cid, item = item, slot = slot}
    local gold = getPlayerItemCount(cid, cointype)
    if gold > stcn then
        param.crca = 1
        --can equip here?
        addEvent(superform1, 1, param)
        return TRUE
    end
end
function onDeEquip(cid, item, slot)
    if isPlayer(cid) and getPlayerStorageValue(cid, 50780) == 1 then
        doRemoveCondition(cid, CONDITION_OUTFIT)
        doRemoveCondition(cid, CONDITION_ATTRIBUTES)
        doRemoveCondition(cid, CONDITION_HASTE)
        local pos = getCreaturePosition(cid)
        setPlayerStorageValue(cid, 50780, 0)
        local sex = getPlayerSex(cid)
        local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255}
        local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255}
        local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255}
        local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255}
        local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255}
        local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255}
        local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255}
        local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255}
        if sex == 1 then
            doSendMagicEffect(pos, bmaineff)
            doSendMagicEffect(pos, bsecondeff)
            doSendDistanceShoot(pos, nha, bflingeff)
            doSendDistanceShoot(pos, sha, bflingeff)
            doSendDistanceShoot(pos, wha, bflingeff)
            doSendDistanceShoot(pos, eha, bflingeff)
            doSendDistanceShoot(pos, nwa, bflingeff)
            doSendDistanceShoot(pos, nea, bflingeff)
            doSendDistanceShoot(pos, sea, bflingeff)
            doSendDistanceShoot(pos, swa, bflingeff)
            doSendMagicEffect(nha, blandeff)
            doSendMagicEffect(sha, blandeff)
            doSendMagicEffect(wha, blandeff)
            doSendMagicEffect(eha, blandeff)
            doSendMagicEffect(nwa, blandeff)
            doSendMagicEffect(nea, blandeff)
            doSendMagicEffect(mar, blandeff)
            doSendMagicEffect(swa, blandeff)
        outro
            doSendMagicEffect(pos, gmaineff)
            doSendMagicEffect(pos, gsecondeff)
            doSendDistanceShoot(pos, nha, gflingeff)
            doSendDistanceShoot(pos, sha, gflingeff)
            doSendDistanceShoot(pos, wha, gflingeff)
            doSendDistanceShoot(pos, eha, gflingeff)
            doSendDistanceShoot(pos, nwa, gflingeff)
            doSendDistanceShoot(pos, nea, gflingeff)
            doSendDistanceShoot(pos, mar, gflingeff)
            doSendDistanceShoot(pos, swa, gflingeff)
            doSendMagicEffect(nha, glandeff)
            doSendMagicEffect(sha, glandeff)
            doSendMagicEffect(wha, glandeff)
            doSendMagicEffect(eha, glandeff)
            doSendMagicEffect(nwa, glandeff)
            doSendMagicEffect(nea, glandeff)
            doSendMagicEffect(mar, glandeff)
            doSendMagicEffect(swa, glandeff)
        fim
    fim
retornar VERDADEIRO
fim
[/código]
[/QUOTE]
 
Most likely, the problem lies in trying to obtain the index of nil. This error occurs when you try to use the indexing operator ("[]") or dot operator (".") to obtain a value from an object that is equal to nil. To exclude this error, you need to check whether the value on which you perform the operation is not empty. In this case, you can do this by checking whether the "param" variable is not equal to nil. If the parameter is nil, you should make sure that the function calling this function passes the correct arguments.

You can do this by adding a condition to the code that checks whether the "param" value is nil before performing any operation on it. For example:

Lua:
function superform1(param)

if not param then

print("Param is nil!")

return

end
...

end

In this case, the "superform1" function first checks whether the "param" parameter is nil. If the parameter is nil, the function will display the message "Param is nil!" and terminate. Otherwise, the function will continue to execute.
 
Back
Top