xexam
New Member
- Joined
- Aug 3, 2010
- Messages
- 172
- Reaction score
- 1
Hello! I need someone to help me with my quest
players have to put Soul Orbs (instead of sword, crossbow, spellbook and apple) on the coal basins. Four players have to stand on the tiles (like in desert quest) but instead of teleporting them, I want to create teleport (which disappear in 30 seconds) when the lever is pushed. Can someone edit this script for me?
players have to put Soul Orbs (instead of sword, crossbow, spellbook and apple) on the coal basins. Four players have to stand on the tiles (like in desert quest) but instead of teleporting them, I want to create teleport (which disappear in 30 seconds) when the lever is pushed. Can someone edit this script for me?
local config = {
-- level needed to make the quest
level = 400,
-- if players should be able to do the quest unlimited amount of times (not conflicting quest rewards)
redo = {
status = false, -- true = unlimited, false = once
storageValue = 61111 -- 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}, -- Initial position in the Stone tile
newPos = {x=32671, y=32069, z=8}, -- Position of the teleport that will be created.
itemPos = {x=32679, y=32089, z=8} -- Position of first soul orb.
},
{
vocations = {2, 6},
itemId = 2674,
playerPos = {x=32669, y=32089, z=8}, -- Initial position in the Stone tile
newPos = {x=32672, y=32069, z=8}, -- Position of the teleport that will be created.
itemPos = {x=32667, y=32089, z=8} -- Position of second soul orb.
},
{
vocations = {3, 7},
itemId = 2455,
playerPos = {x=32673, y=32085, z=8}, -- Initial position in the Stone tile
newPos = {x=32671, y=32070, z=8}, -- Position of the teleport that will be created.
itemPos = {x=32673, y=32084, z=8} -- Position of third soul orb.
},
{
vocations = {4, 8},
itemId = 2376,
playerPos = {x=32673, y=32093, z=8}, -- Initial position in the Stone tile
newPos = {x=32672, y=32070, z=8}, --Position of the teleport that will be created.
itemPos = {x=32673, y=32094, z=8} --Position of fourth soul orb.
}
}
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, "Soul orbs 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