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

Solved [TFS 1.2] Imitate spell

Caduceus

Unknown Member
Joined
May 10, 2010
Messages
321
Solutions
2
Reaction score
24
Spell is to make the creature imitate the player outfit. Getting no errors, however, if I remove the "If not player then..." it returns as player is nil. How can I target the player, so it is not nil.

Code:
local combat = Combat()

function onTargetCreature(creature, target)

    local player = Player(cid)
        if not player then
        return false
    end

    local outfit = player:getOutfit()
        player:setOutfit(outfit)
    end

combat:setCallback(CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")

function onCastSpell(creature, var)
    return combat:execute(creature, var)
end
 
Code:
local combat = Combat()

function onTargetCreature(creature, target)
    local player = Player(creature)
    if not player then
        return false
    end
   
    local outfit = target:getOutfit()
        player:setOutfit(outfit)
    end
    return true
end

combat:setCallback(CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")

function onCastSpell(creature, var)
    return combat:execute(creature, var)
end


Dunno if it works, but try.
 
Dunno if it works, but try.

the spell still does not recognize a player. Returns nil. Tested with print in each statement.

Code:
local combat = Combat()

function onTargetCreature(creature, target)
    local player = Player(creature)
    if not player then
        return false
    end
  
    local outfit = target:getOutfit()
        player:setOutfit(outfit)
        return true
    end

combat:setCallback(CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")

function onCastSpell(creature, var)
    return combat:execute(creature, var)
end
 
This works for 1.1, I'd convert it but I can't find a functions list for 1.2 that's as simple as the one posted for 1.1, sorry. I doubt it'd be hard though.
HTML:
local combat = Combat()

function onTargetCreature(creature, target)
    local outfit = getCreatureOutfit(creature)
    doCreatureChangeOutfit(target, outfit)
end

combat:setCallback(CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")

function onCastSpell(creature, var)
    return combat:execute(creature, var)
end
 
This works, thank you both for your help.

Code:
local combat = Combat()

function onTargetCreature(creature, target)
    local outfit = target:getOutfit(creature)
    doSetCreatureOutfit(creature, outfit, 1000)
end

combat:setCallback(CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")

function onCastSpell(creature, var)
    return combat:execute(creature, var)
end
 
Back
Top