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

Lua delay creaturesciprt addevent

olekpro

Member
Joined
Nov 1, 2014
Messages
121
Reaction score
6
Yo guys.
I'm new in lua but i have a question:

Lua:
function onDeath(creature, corpse, killer, mostDamageKiller, lastHitUnjustified)
    addEvent(teleport, 5000, player:getId(), rewardRoom)
    rewardRoom:sendMagicEffect(CONST_ME_TELEPORT)
    killer:unregisterEvent("bossroom death")
    bossRoom.player = nil
    bossRoom.boss = nil
    return true
end
why this code not work?
If addEvent isn't exits and its just player:TeleportTo(rewardRoom) it work but no delay. How to delay this function?
 
Solution
To simplify:

Lua:
local rewardRoom = Position(8675, 8748, 7)

local function teleportMe(cid)
    local player = Player(cid)
    if player then
        player:teleportTo(rewardRoom)
    end
    return true
end

function onDeath(creature, corpse, killer, mostDamageKiller, lastHitUnjustified)
    addEvent(teleportMe, 5000, killer:getId())
    rewardRoom:sendMagicEffect(CONST_ME_TELEPORT)
    killer:unregisterEvent("bossroom death")
    bossRoom.player = nil
    bossRoom.boss = nil
    return true
end
teleportTo instead of teleport?
addEvent(teleportTo, 5000, player:getId(), rewardRoom)
 
i tried:
Lua:
local rewardRoom = Position(8675, 8748, 7)
function onDeath(creature, corpse, killer, mostDamageKiller, lastHitUnjustified)


addEvent(teleportTo, 5000, rewardRoom)
    rewardRoom:sendMagicEffect(CONST_ME_TELEPORT)
    killer:unregisterEvent("bossroom death")
    bossRoom.player = nil
    bossRoom.boss = nil
    return true
end

but

Lua Script Error: [CreatureScript Interface]
data/creaturescripts/scripts/bossdeath.lua:eek:nDeath
luaAddEvent(). callback parameter should be a function.
Post automatically merged:

i want do smth like addEvent(teleportPlayerToXYZ,after10seconds,player)
 
To simplify:

Lua:
local rewardRoom = Position(8675, 8748, 7)

local function teleportMe(cid)
    local player = Player(cid)
    if player then
        player:teleportTo(rewardRoom)
    end
    return true
end

function onDeath(creature, corpse, killer, mostDamageKiller, lastHitUnjustified)
    addEvent(teleportMe, 5000, killer:getId())
    rewardRoom:sendMagicEffect(CONST_ME_TELEPORT)
    killer:unregisterEvent("bossroom death")
    bossRoom.player = nil
    bossRoom.boss = nil
    return true
end
 
Solution
Back
Top