tarekwiz
Hellbot Owner
- Joined
- Feb 17, 2011
- Messages
- 240
- Reaction score
- 7
here is my code
i get error " Thing Not Found " when trying to use function teleportPlayers(its included in the code
PHP:
local starting= {x = 2086, y = 2100, z = 7} -- edit this to the top left sqm of ur battle room
local ending= {x = 2092, y = 2107, z = 5} -- edit this to the bottom right sqm of ur battle room
local playerPos = { -- oldPositions; positions of players before they get teleported.
-- {x = 1070, y = 1173, z = 6},
{x = 1047, y = 936, z = 5}
}
local newPlayerPos = { -- Positions for where players should be teleported, make sure it's in the same order as oldPositions
-- {x = 1070, y = 1173, z = 7},
{x = 1046, y = 937, z = 5}
}
if(#playerPos ~= #newPlayerPos) then
error("Annhilator has not been properly configured.")
end
--- Preferably, do not edit anything below this line unless you know exactly what you are doing.
local player = {}
function onUse(cid, item, frompos, item2, topos)
if(item.uid == 7000) then --- change to different item.uid according to ur mapeditor
if(item.itemid == 1945) then
for i, pos in ipairs(playerPos) do -- add player id's to table
player[i] = getTopCreature(pos)
end
local ret, players = checkPlayers(cid)
-- if(ret) then
local ret, player = checkLevel()
-- if(ret) then
-- summonCreatures(creaturePos)
teleportPlayers(2, 10) -- 2 stands for the effect on old pos, 10 for the effect on new pos.
doTransformItem(item.uid, 1946)
-- else
-- sendPlayersText(players, getPlayerName(player) .. " Error 1 Happened.")
--end
--- else
-- sendPlayersText(players, getPlayerName(player) .. " Error 2 Happened.")
-- end
elseif(item.itemid == 1946) then -- preferably, to be the id of the lever added by mapeditor.
if(cleanArea()) then
doTransformItem(item.uid, 1945)
--sendPlayersText(players, getPlayerName(player) .. " Somebody is in the Battle Already")
else
return FALSE
end
end
return TRUE
--- Chests.
elseif(item.uid == 5001) then -- demon armor
return questChestPrize(cid, 2494, 1)
elseif(item.uid == 5002) then -- magic sword
return questChestPrize(cid, 2400, 1)
elseif(item.uid == 5003) then -- stonecutter's axe
return questChestPrize(cid, 2431, 1)
elseif(item.uid == 5004) then -- present box
return questChestPrize(cid, 1990, 1)
end
end
function sendPlayersText(players, text)
for _, player in ipairs(players) do
doPlayerSendCancel(player, text)
end
end
function questChestPrize(cid, itemid, storage)
if(getPlayerStorageValue(cid, storage) < TRUE) then
if itemid == 1990 then
container = doPlayerAddItem(cid, itemid, 1)
doAddContainerItem(container, 2326, 1)
else
doPlayerAddItem(cid, itemid, 1)
end
setPlayerStorageValue(cid, storage, TRUE)
local item = getItemDescriptions(itemid)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a " .. item.name .. "")
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.")
end
return TRUE
end
function checkLevel()
end
function checkStorage(storageValue)
for _, player in ipairs(player) do
if(getPlayerStorageValue(player, storageValue) ~= TRUE) then
return false, player
end
end
return true
end
function cleanArea()
local checking= {x = starting.x, y = starting.y, z = starting.z, stackpos = 253}
local monster = {}
while(checking.y <= ending.y) do
local creature = getTopCreature(checking)
if(isCreature(creature) == TRUE) then
if(isPlayer(creature) == TRUE) then
return false
else
table.insert(monster, creature)
end
end
if(checking.x == ending.x) then
checking.x = starting.x
checking.y = checking.y + 1
end
checking.x = checking.x + 1
end
for i, c in ipairs(monster) do
doRemoveCreature(c)
end
return true
end
function teleportPlayers(effect1, effect2)
for currentPlayer = 1, table.getn(player) do
doTeleportThing(player[currentPlayer], newPlayerPos[currentPlayer])
doSendMagicEffect(playerPos[currentPlayer], effect1) -- send animation after teleport, players teleported won't see it anyways
doSendMagicEffect(newPlayerPos[currentPlayer], effect2)
end
end
function checkPlayers(cid)
local ret = {}
table.insert(ret, cid)
for _, curPlayer in ipairs(player) do
if(isPlayer(curPlayer) == TRUE) then
if(curPlayer ~= cid) then
table.insert(ret, curPlayer)
end
else
return false, ret
end
end
return true, ret
end
i get error " Thing Not Found " when trying to use function teleportPlayers(its included in the code