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

Solved Anni quest soloing

Powtreeman

Member
Joined
Sep 26, 2011
Messages
400
Reaction score
6
Location
USA
How do I change how many people go into anni?
When 4 people stand on spots and pull the lever only the person pulling the lever goes in.
There is no error so I think it is just set like this somewhere.

I am using 1.0
Thanks in advance
 
Weird? Everything i have is from the exact 1.0 pack that printer gave out and very few of the quests work fully but I have fixed some. Here's my script

Code:
local Area_fromPos, Area_toPos = {x = 33219, y = 31657, z = 13}, {x = 33222, y = 31661, z = 13}
local room = { -- room with demons
     fromX = 33219,
   fromY = 31657,
   fromZ = 13,
   --------------
     toX = 33224,
     toY = 31661,
   toZ = 13
}
local players_pos =  {
   {x = 33225, y = 31671, z = 13, stackpos = STACKPOS_TOP_CREATURE},
   {x = 33224, y = 31671, z = 13, stackpos = STACKPOS_TOP_CREATURE},
   {x = 33223, y = 31671, z = 13, stackpos = STACKPOS_TOP_CREATURE},
   {x = 33222, y = 31671, z = 13, stackpos = STACKPOS_TOP_CREATURE}
}
local new_player_pos = {
   {x = 33222, y = 31659, z = 13},
   {x = 32221, y = 31659, z = 13},
   {x = 32220, y = 31659, z = 13},
   {x = 32219, y = 31659, z = 13}
}
local demonPos = {
   {x = 33219, y = 31657, z = 13},
   {x = 33221, y = 31657, z = 13},
   {x = 33223, y = 31659, z = 13},
   {x = 33224, y = 31659, z = 13},
   {x = 33220, y = 31661, z = 13},
   {x = 33222, y = 31661, z = 13}
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
   local player = {}
   summon_demons = true
   failed = true
   if (item.itemid == 1946) then
     for i = 1,4 do
       player[i] = getThingfromPos(players_pos[i])
       if player[i].itemid > 0 then
         if isPlayer(player[i].uid) == TRUE then
           if(getPlayerLevel(player[i].uid) >= 100) then
             if (not isPlayerInArea(Area_fromPos, Area_toPos)) then
               table.insert(player, i)
               failed = false
             else
               return (doPlayerSendCancel(cid, "A team is already inside the quest room."))
             end
           else
             return (doPlayerSendCancel(cid, "All players must be above level 100."))
           end
         else
           return (doPlayerSendCancel(cid, "You need 4 players."))
         end
       else
         return (doPlayerSendCancel(cid, "You need 4 players."))
       end
     end
     if failed == true then
       doPlayerSendCancel(cid, "Sorry, not possible.")
     return TRUE
     end
     for i = 1, 4 do
       if failed == false then
         doTeleportThing(player[i].uid, new_player_pos[i], FALSE)
         doSendMagicEffect(new_player_pos[i], CONST_ME_TELEPORT)
         doSendMagicEffect(players_pos[i], CONST_ME_POFF)
         doSetCreatureDirection(player[i], EAST)
       end
     end
     if(summon_demons) then   
       for _x = room.fromX, room.toX do
         for _y = room.fromY, room.toY do
           for _z = room.fromZ, room.toZ do
             local creature = getTopCreature({x = _x, y = _y, z = _z})
             if (isMonster(creature.uid)) then
               doRemoveCreature(creature.uid)
             end
           end
         end
       end
       for d = 1, 6 do
         doSummonCreature("Demon", demonPos[d])
       end
     end
     summon_demons = false
     doTransformItem(item.uid, 1945)
   elseif (item.itemid == 1945) then
     doTransformItem(item.uid, 1946)
   end
   return true
end
 
Weird? Everything i have is from the exact 1.0 pack that printer gave out and very few of the quests work fully but I have fixed some. Here's my script

Code:
local Area_fromPos, Area_toPos = {x = 33219, y = 31657, z = 13}, {x = 33222, y = 31661, z = 13}
local room = { -- room with demons
     fromX = 33219,
   fromY = 31657,
   fromZ = 13,
   --------------
     toX = 33224,
     toY = 31661,
   toZ = 13
}
local players_pos =  {
   {x = 33225, y = 31671, z = 13, stackpos = STACKPOS_TOP_CREATURE},
   {x = 33224, y = 31671, z = 13, stackpos = STACKPOS_TOP_CREATURE},
   {x = 33223, y = 31671, z = 13, stackpos = STACKPOS_TOP_CREATURE},
   {x = 33222, y = 31671, z = 13, stackpos = STACKPOS_TOP_CREATURE}
}
local new_player_pos = {
   {x = 33222, y = 31659, z = 13},
   {x = 32221, y = 31659, z = 13},
   {x = 32220, y = 31659, z = 13},
   {x = 32219, y = 31659, z = 13}
}
local demonPos = {
   {x = 33219, y = 31657, z = 13},
   {x = 33221, y = 31657, z = 13},
   {x = 33223, y = 31659, z = 13},
   {x = 33224, y = 31659, z = 13},
   {x = 33220, y = 31661, z = 13},
   {x = 33222, y = 31661, z = 13}
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
   local player = {}
   summon_demons = true
   failed = true
   if (item.itemid == 1946) then
     for i = 1,4 do
       player[i] = getThingfromPos(players_pos[i])
       if player[i].itemid > 0 then
         if isPlayer(player[i].uid) == TRUE then
           if(getPlayerLevel(player[i].uid) >= 100) then
             if (not isPlayerInArea(Area_fromPos, Area_toPos)) then
               table.insert(player, i)
               failed = false
             else
               return (doPlayerSendCancel(cid, "A team is already inside the quest room."))
             end
           else
             return (doPlayerSendCancel(cid, "All players must be above level 100."))
           end
         else
           return (doPlayerSendCancel(cid, "You need 4 players."))
         end
       else
         return (doPlayerSendCancel(cid, "You need 4 players."))
       end
     end
     if failed == true then
       doPlayerSendCancel(cid, "Sorry, not possible.")
     return TRUE
     end
     for i = 1, 4 do
       if failed == false then
         doTeleportThing(player[i].uid, new_player_pos[i], FALSE)
         doSendMagicEffect(new_player_pos[i], CONST_ME_TELEPORT)
         doSendMagicEffect(players_pos[i], CONST_ME_POFF)
         doSetCreatureDirection(player[i], EAST)
       end
     end
     if(summon_demons) then  
       for _x = room.fromX, room.toX do
         for _y = room.fromY, room.toY do
           for _z = room.fromZ, room.toZ do
             local creature = getTopCreature({x = _x, y = _y, z = _z})
             if (isMonster(creature.uid)) then
               doRemoveCreature(creature.uid)
             end
           end
         end
       end
       for d = 1, 6 do
         doSummonCreature("Demon", demonPos[d])
       end
     end
     summon_demons = false
     doTransformItem(item.uid, 1945)
   elseif (item.itemid == 1945) then
     doTransformItem(item.uid, 1946)
   end
   return true
end
try this
Code:
-- Annihilator by Shawak v2.1

        -- CONFIG --

        local room = {     -- room with demons 
        fromX = 33219,
        fromY = 31657,
        fromZ = 13,
   --------------
     toX = 33224,
     toY = 31661,
     toZ = 13
        }

        local monster_pos = {
        [1] = {pos = {33219, 31657, 13}, monster = "Demon"},
        [2] = {pos = {33220, 31657, 13}, monster = "Demon"},
        [3] = {pos = {33221, 31657, 13}, monster = "Demon"},
        [4] = {pos = {33222, 31657, 13}, monster = "Demon"},
        [5] = {pos = {33223, 31657, 13}, monster = "Demon"},
        [6] = {pos = {33224, 31657, 13}, monster = "Demon"}
        }

        local players_pos = {
        {x = 33225, y = 31671, z = 13, stackpos = 253},
        {x = 33224, y = 31671, z = 13, stackpos = 253},
        {x = 33223, y = 31671, z = 13, stackpos = 253},
        {x = 33222, y = 31671, z = 13, stackpos = 253}
        }

        local new_player_pos = {
        {x = 33222, y = 31659, z = 13},
        {x = 32221, y = 31659, z = 13},
        {x = 32220, y = 31659, z = 13},
        {x = 32219, y = 31659, z = 13}
        }

        local playersOnly = "yes"
        local questLevel = 100

        ------------------------------------------------------
        --- CONFIG END ---------------------------------------
        ------------------------------------------------------

function onUse(cid, item, fromPosition, itemEx, toPosition)
        local all_ready, monsters, player, level = 0, 0, {}, 0
        if item.itemid == 1945 then
                for i = 1, #players_pos do
                        table.insert(player, 0)
                end
                for i = 1, #players_pos do
                        player[i] = getThingfromPos(players_pos[i])
                        if player[i].itemid > 0 then
                                if string.lower(playersOnly) == "yes" then
                                        if isPlayer(player[i].uid) == TRUE then
                                                all_ready = all_ready+1
                                        else
                                                monsters = monsters+1
                                        end
                                else
                                        all_ready = all_ready+1
                                end
                        end
                end
                if all_ready == #players_pos then
                        for i = 1, #players_pos do
                                player[i] = getThingfromPos(players_pos[i])
                                if isPlayer(player[i].uid) == TRUE then
                                        if getPlayerLevel(player[i].uid) >= questLevel then
                                                level = level+1
                                        end
                                else
                                        level = level+1
                                end
                        end
                        if level == #players_pos then
                                if string.lower(playersOnly) == "yes" and monsters == 0 or string.lower(playersOnly) == "no" then
                                        for _, area in pairs(monster_pos) do
                                                        doSummonCreature(area.monster,{x=area.pos[1],y=area.pos[2],z=area.pos[3]})
                                        end
                                        for i = 1, #players_pos do
                                                doSendMagicEffect(players_pos[i], CONST_ME_POFF)
                                                doTeleportThing(player[i].uid, new_player_pos[i], FALSE)
                                                doSendMagicEffect(new_player_pos[i], CONST_ME_ENERGYAREA)
                                                doTransformItem(item.uid,1946)
                                        end
                                else
                                        doPlayerSendTextMessage(cid,19,"Only players can do this quest.")
                                end
                        else
                                doPlayerSendTextMessage(cid,19,"All Players have to be level "..questLevel.." to do this quest.")
                        end
                else
                        doPlayerSendTextMessage(cid,19,"You need "..table.getn(players_pos).." players to do this quest.")
                end
        elseif item.itemid == 1946 then
                local player_room = 0
                for x = room.fromX, room.toX do
                        for y = room.fromY, room.toY do
                                for z = room.fromZ, room.toZ do
                                        local pos = {x=x, y=y, z=z,stackpos = 253}
                                        local thing = getThingfromPos(pos)
                                        if thing.itemid > 0 then
                                                if isPlayer(thing.uid) == TRUE then
                                                        player_room = player_room+1
                                                end
                                        end
                                end
                        end
                end
                if player_room >= 1 then
                        doPlayerSendTextMessage(cid,19,"There is already a team in the quest room.")          
                elseif player_room == 0 then
                        for x = room.fromX, room.toX do
                                for y = room.fromY, room.toY do
                                        for z = room.fromZ, room.toZ do
                                                local pos = {x=x, y=y, z=z,stackpos = 253}
                                                local thing = getThingfromPos(pos)
                                                if thing.itemid > 0 then
                                                        doRemoveCreature(thing.uid)
                                                end
                                        end
                                end
                        end
                        doTransformItem(item.uid,1945)
                end
        end
        return TRUE
end
 
Still teleports only the person who pulls the lever.. very strange. Also tried this and got the same effect.. Action - Annihilator Quest! [1.0]/[0.3]/[0.2] | OTLand
@Printer - Did you encounter this problem?



Code:
local Area_fromPos, Area_toPos = {x = 33219, y = 31657, z = 13}, {x = 33222, y = 31661, z = 13}
local room = { -- room with demons
     fromX = 33219,
   fromY = 31657,
   fromZ = 13,
   --------------
     toX = 33224,
     toY = 31661,
   toZ = 13
}
local players_pos =  {
   {x = 33225, y = 31671, z = 13, stackpos = STACKPOS_TOP_CREATURE},
   {x = 33224, y = 31671, z = 13, stackpos = STACKPOS_TOP_CREATURE},
   {x = 33223, y = 31671, z = 13, stackpos = STACKPOS_TOP_CREATURE},
   {x = 33222, y = 31671, z = 13, stackpos = STACKPOS_TOP_CREATURE}
}
local new_player_pos = {
   {x = 33222, y = 31659, z = 13},
   {x = 32221, y = 31659, z = 13},
   {x = 32220, y = 31659, z = 13},
   {x = 32219, y = 31659, z = 13}
}
local demonPos = {
   {x = 33219, y = 31657, z = 13},
   {x = 33221, y = 31657, z = 13},
   {x = 33223, y = 31659, z = 13},
   {x = 33224, y = 31659, z = 13},
   {x = 33220, y = 31661, z = 13},
   {x = 33222, y = 31661, z = 13}
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
   local player = {}
   summon_demons = true
   failed = true
   if (item.itemid == 1946) then
     for i = 1,4 do
       player[i] = getThingfromPos(players_pos[i])
       if player[i].itemid > 0 then
         if isPlayer(player[i].uid) == TRUE then
           if(getPlayerLevel(player[i].uid) >= 100) then
             if (not isPlayerInArea(Area_fromPos, Area_toPos)) then
               table.insert(player, i)
               failed = false
             else
               return (doPlayerSendCancel(cid, "A team is already inside the quest room."))
             end
           else
             return (doPlayerSendCancel(cid, "All players must be above level 100."))
           end
         else
           return (doPlayerSendCancel(cid, "You need 4 players."))
         end
       else
         return (doPlayerSendCancel(cid, "You need 4 players."))
       end
     end
     if failed == true then
       doPlayerSendCancel(cid, "Sorry, not possible.")
     return TRUE
     end
     for i = 1, 4 do
       if failed == false then
         doTeleportThing(player[i].uid, new_player_pos[i], FALSE)
         doSendMagicEffect(new_player_pos[i], CONST_ME_TELEPORT)
         doSendMagicEffect(players_pos[i], CONST_ME_POFF)
         doSetCreatureDirection(player[i], EAST)
       end
     end
     if(summon_demons) then 
       for _x = room.fromX, room.toX do
         for _y = room.fromY, room.toY do
           for _z = room.fromZ, room.toZ do
             local creature = getTopCreature({x = _x, y = _y, z = _z})
             if (isMonster(creature.uid)) then
               doRemoveCreature(creature.uid)
             end
           end
         end
       end
       for d = 1, 6 do
         doSummonCreature("Demon", demonPos[d])
       end
     end
     summon_demons = false
     doTransformItem(item.uid, 1945)
   elseif (item.itemid == 1945) then
     doTransformItem(item.uid, 1946)
   end
   return true
end
 
Fixed! @Extrodus
replace that spot with this
local new_player_pos = {
{x = 33222, y = 31659, z = 13},
{x = 33221, y = 31659, z = 13},
{x = 33220, y = 31659, z = 13},
{x = 33219, y = 31659, z = 13}

Bad coords
 
Last edited:
Back
Top