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

monster teleport script

zxzxzx

New Member
Joined
Mar 12, 2011
Messages
334
Reaction score
3
Hello! I have this script but don't working on tfs 1.2+ ( no errors in console)

script
Code:
local config = {
    ["rabbit"] = {time = 60, toPos = Position(17683, 18805, 8), tpPos = Position(17682, 18805, 8)}
}

local function deleteTeleport(position)
    local teleport = Tile(position):getItemById(1387)
    if teleport then
        teleport:remove()
        position:sendMagicEffect(CONST_ME_POFF)
    end
end

function onKill(creature, target)
    local monster = config[target:getName():lower()]
    if not monster or target:isPlayer() then
        return true
    end

    local item = Game.createItem(1387, 1, monster.tpPos)
    if item:isTeleport() then
        item:setDestination(monster.toPos)
    end

    creature:say("You have " .. monster.time .. " seconds to enter the teleport!", TALKTYPE_MONSTER_SAY)
    addEvent(deleteTeleport, monster.time * 1000, monster.tpPos)
    return true
end

creaturescripts.xml
Code:
    <event type="kill" name="t" script="t.lua"/>


I don't know why this script don't working.. did I miss something?
 
like this? my login.lua

Code:
function onLogin(player)
    local loginStr = "Welcome to " .. configManager.getString(configKeys.SERVER_NAME) .. "!"
    if player:getLastLoginSaved() <= 0 then
        loginStr = loginStr .. " Please choose your outfit."
        player:sendOutfitWindow()
    else
        if loginStr ~= "" then
            player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)
        end

        loginStr = string.format("Your last visit was on %s.", os.date("%a %b %d %X %Y", player:getLastLoginSaved()))
    end
    player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)

    -- Stamina
    nextUseStaminaTime[player.uid] = 0
   
    -- Promotion
    local vocation = player:getVocation()
    local promotion = vocation:getPromotion()
    if player:isPremium() then
        local value = player:getStorageValue(STORAGEVALUE_PROMOTION)
        if not promotion and value ~= 1 then
            player:setStorageValue(STORAGEVALUE_PROMOTION, 1)
        elseif value == 1 then
            player:setVocation(promotion)
        end
    elseif not promotion then
        player:setVocation(vocation:getDemotion())
    end

    -- Events
    player:registerEvent("PlayerDeath")
    player:registerEvent("DropLoot")
    registerCreatureEvent(cid,"t")
    return true
end
 
Back
Top