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

Quest > Help > Gife!! rep+ :p

enriel

Big L
Joined
Dec 14, 2007
Messages
1,254
Reaction score
2
Location
Montenegro
Can anyone make me a script that:
If player sorc - druid - knight - pally
has to have X certain items
then if player has items, he pull lever (puts items on colar)
and gets teleported to X pos if Knight, X pos if Pally, X pos of Sorc, X pos if Druid.
 
I found something like this its may help you
Code:
local config = { 
    -- level needed to make the quest
    level = 20, 
    -- if players should be able to do the quest unlimited amount of times (not conflicting quest rewards)
    redo = {
        status = true, -- true = unlimited, false = once
        storageValue = 4535 -- only if status is false this will be used
    },
    -- vocation requirement, positions and item configuration
    { 
        vocations = {1, 5}, 
        itemId = 2175, 
        playerPos = {x=32677, y=32089, z=8},
        newPos = {x=32671, y=32069, z=8},
        itemPos = {x=32679, y=32089, z=8} 
    }, 
    { 
        vocations = {2, 6}, 
        itemId = 2674, 
        playerPos = {x=32669, y=32089, z=8},
        newPos = {x=32672, y=32069, z=8}, 
        itemPos = {x=32667, y=32089, z=8} 
    }, 
    { 
        vocations = {3, 7}, 
        itemId = 2455, 
        playerPos = {x=32673, y=32085, z=8},
        newPos = {x=32671, y=32070, z=8}, 
        itemPos = {x=32673, y=32083, z=8} 
    }, 
    { 
        vocations = {4, 8}, 
        itemId = 2376, 
        playerPos = {x=32673, y=32093, z=8},
        newPos = {x=32672, y=32070, z=8}, 
        itemPos = {x=32673, y=32094, z=8} 
    } 
} 
function onUse(cid)
    local players = {}
    for _, v in ipairs(config) do
        v.playerPos.stackpos = 253
        local player = getThingfromPos(v.playerPos).uid
        if isPlayer(player) == FALSE then
            return doPlayerSendCancel(cid, "There are not enough players.")
        elseif getPlayerLevel(player) < config.level then
            players.level = true
        elseif isInArray(v.vocations, getPlayerVocation(player)) == FALSE then
            players.vocation = true
        elseif config.redo.status and getPlayerStorageValue(cid, config.redo.storageValue) ~= TRUE then
            players.done = true
        else
            v.itemPos.stackpos = 1
            local item = getThingfromPos(v.itemPos)
            if item.itemid ~= v.itemId then
                players.item = true
            else
                table.insert(players, player)
            end
        end
    end
    if players.level then
        doPlayerSendCancel(cid, "All players need to be level " .. config.level .. " or above.")
    elseif players.vocation then
        doPlayerSendCancel(cid, "All players must stand on the correct tiles.")
    elseif players.done then
        doPlayerSendCancel(cid, "A player in your team has already done this quest.")
    elseif players.item then
        doPlayerSendCancel(cid, "All items must be on the correct positions.")
    else
        for k, player in ipairs(players) do
            doSendMagicEffect(getCreaturePosition(player), CONST_ME_POFF)
            doTeleportThing(player, config[k].newPos)
            doSendMagicEffect(getCreaturePosition(player), CONST_ME_TELEPORT)
        end
    end
    return TRUE
end

If you dont know how to update this script just post here.
 
Back
Top