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

Azerus script bugg, Azerus wont despawn.

Johanz

New Member
Joined
Dec 31, 2008
Messages
188
Reaction score
1
The whole quests works like a charm, the problem is that Azerus from the first wave doesn't despawn when the 2 wave (including a new azerus) spawns.

Then when the last wave with golems arrives that Azerus (that are able to kill) wont spawn at all. So there are 2 Azerus that wont be able to damage there.

if i kill all the waves the portal arrives after a certain time. so it's doable but i want them to spawn / despawn as they are supposed to.

Console error :



Using Real server 2.1 (8.6 client)





Script: Sorry that it's not as a code.

function onUse(cid, item, frompos, item2, topos)

--Config-->
local statue_pos = {x = 581, y = 566, z = 10}
local portal_quest01_pos = {x = 581, y = 575, z = 10, stackpos = 2}
local portal_quest02_pos = {x = 582, y = 577, z = 9, stackpos = 2}
local new_portal_pos = {x = 581, y = 567, z = 10, stackpos = 1}
local new_pos = {x = 576, y = 572, z = 14}
--End Config-->

function Potwory1()
if math.random (1,8) == 4 then
doSummonCreature('Rift Brood', {x = statue_pos.x+1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})
doSummonCreature('Rift Brood', {x = statue_pos.x-1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})
doSummonCreature('Rift Brood', {x = statue_pos.x, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})
doSummonCreature('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})
doSummonCreature('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})
doSummonCreature('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})
doSummonCreature('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})
addEvent(Potwory2, 30 * 1000)
else
doSummonCreature('Azerus', {x = statue_pos.x, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})
doSummonCreature('Rift Brood', {x = statue_pos.x+1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})
doSummonCreature('Rift Brood', {x = statue_pos.x-1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})
doSummonCreature('Rift Brood', {x = statue_pos.x, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})
doSummonCreature('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})
doSummonCreature('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})
doSummonCreature('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})
doSummonCreature('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})
addEvent(Potwory2, 30 * 1000)
end
end

function Potwory2()
doSummonCreature('Rift Brood', {x = statue_pos.x-1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})
doSummonCreature('Rift Brood', {x = statue_pos.x, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})
doSummonCreature('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})
doSummonCreature('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})
addEvent(Potwory3, 35 * 1000)
end

function Potwory3()
doSummonCreature('Rift Scythe', {x = statue_pos.x-1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})
doSummonCreature('Rift Scythe', {x = statue_pos.x+1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})
doSummonCreature('Rift Scythe', {x = statue_pos.x+1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})
doSummonCreature('Rift Scythe', {x = statue_pos.x-1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})
addEvent(Potwory4, 40 * 1000)
end

function Potwory4()
doSummonCreature('Azerus', {x = statue_pos.x, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})
doSummonCreature('War Golem', {x = statue_pos.x+1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})
doSummonCreature('War Golem', {x = statue_pos.x-1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})
doSummonCreature('War Golem', {x = statue_pos.x, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})
doSummonCreature('War Golem', {x = statue_pos.x-1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})
addEvent(NewPortal, 90 * 1000)
end

function NewPortal()
doCreateTeleport(1387, new_pos, new_portal_pos)
addEvent(RemoveAll, 60 * 1000)
end

function RemoveAll()
doRemoveItem(getThingfromPos(portal_quest01_pos).uid,1)
doRemoveItem(getThingfromPos(portal_quest02_pos).uid,1)
doRemoveItem(getThingfromPos(new_portal_pos).uid,1)
end

if item.uid == 11223 and getThingfromPos(portal_quest01_pos).itemid ~= 9772 then
doCreateItem(9772,1,portal_quest01_pos)
doCreateItem(9772,1,portal_quest02_pos)
addEvent(Potwory1, 0)
else
doPlayerSendTextMessage(cid,22,"Sorry, not possible.")
end
return TRUE
end
 
Also got this script but it's not registrer in actions.xml how / should i add it?

local BlindField = {x=579, y=557, z=10, stackpos=1}

function mapArea(fromPos, toPos, stack)
local pos = {x=fromPos.x, y=fromPos.y-1, z=fromPos.z}
return function()
if (pos.y < toPos.y) then
pos.y = pos.y+1
elseif (pos.x <= toPos.x) then
pos.y = fromPos.y
pos.x = pos.x+1
else
pos.x = fromPos.x
pos.y = fromPos.y
pos.z = pos.z+1
end
if (pos.x <= toPos.x and pos.y <= toPos.y or pos.z < toPos.z) then
if (stack == nil) then
return pos
else
pos.stackpos = stack
--return pos, getTileThingByPos(pos)
return pos, getThingfromPos(pos)
end
end
end
end

function getMonstersfromArea(fromPos, toPos)
local monsters = {}
for _, thing in mapArea(fromPos, toPos, 253) do
if isMonster(thing.uid) == TRUE then
table.insert(monsters, thing.uid)
end

end
local bfm = getThingfromPos(BlindField)
if isMonster(bfm.uid) == TRUE then
table.insert(monsters, bfm.uid)
end
return monsters
end

function onUse(cid, item, fromPosition, itemEx, toPosition)

local topLeft = {x=573, y=558, z=10}
local buttomRight = {x=589, y=576, z=10}

local monsters = getMonstersfromArea(topLeft, buttomRight)
local monsters1 = getMonstersfromArea(topLeft, buttomRight)

local tp = {x=581, y=575, z=10}

local glo = {x=581, y=566, z=10}

function FirstWave()
doSummonCreature("Rift Worm", {x= glo.x - 4,y=glo.y,z=glo.z})

doSummonCreature("Rift Worm", {x= glo.x + 4,y=glo.y,z=glo.z})

doSummonCreature("Rift Worm", {x=glo.x,y=glo.y + 4,z=glo.z})

doSummonCreature("Rift Worm", {x=glo.x,y=glo.y - 4,z=glo.z})

doSummonCreature("Rift Worm", {x=glo.x,y=glo.y + 5,z=glo.z})

doSummonCreature("Azerus", {x=glo.x,y=glo.y - 5,z=glo.z})
end

function SecondWave()
local monsters1 = getMonstersfromArea(topLeft, buttomRight)

for _, monster in pairs(monsters1) do
if getCreatureName(monster) == "Azerus" then
doRemoveCreature(monster)
end
end
doSummonCreature("Azerus1", {x=glo.x,y=glo.y - 5,z=glo.z})

doSummonCreature("Rift Brood", {x= glo.x - 4,y=glo.y,z=glo.z})

doSummonCreature("Rift Brood", {x= glo.x + 4,y=glo.y,z=glo.z})

doSummonCreature("Rift Brood", {x=glo.x,y=glo.y + 4,z=glo.z})

doSummonCreature("Rift Brood", {x=glo.x,y=glo.y - 4,z=glo.z})

doSummonCreature("Rift Brood", {x=glo.x,y=glo.y + 5,z=glo.z})
end
function ThirdWave()
local monsters1 = getMonstersfromArea(topLeft, buttomRight)

for _, monster in pairs(monsters1) do
if getCreatureName(monster) == "Azerus" then
doRemoveCreature(monster)
end
end
doSummonCreature("Azerus2", {x= glo.x - 5,y=glo.y,z=glo.z})

doSummonCreature("Rift Scythe", {x= glo.x - 4,y=glo.y,z=glo.z})

doSummonCreature("Rift Scythe", {x= glo.x + 4,y=glo.y,z=glo.z})
end

function ThirdWave1()

doSummonCreature("Rift Scythe", {x=glo.x,y=glo.y + 4,z=glo.z})

doSummonCreature("Rift Scythe", {x=glo.x,y=glo.y - 4,z=glo.z})

doSummonCreature("Rift Scythe", {x=glo.x,y=glo.y + 5,z=glo.z})
end

function FourthWave()
local monsters1 = getMonstersfromArea(topLeft, buttomRight)

for _, monster in pairs(monsters1) do
if getCreatureName(monster) == "Azerus" then
doRemoveCreature(monster)
end
end
doSummonCreature("Azerus3", {x= glo.x - 5,y=glo.y,z=glo.z})

doSummonCreature("War Golem", {x= glo.x - 4,y=glo.y,z=glo.z})

doSummonCreature("War Golem", {x= glo.x + 4,y=glo.y,z=glo.z})

doSummonCreature("War Golem", {x=glo.x,y=glo.y - 4,z=glo.z})

doSummonCreature("War Golem", {x=glo.x,y=glo.y + 4,z=glo.z})

end

function Glllobe()
item1 = getTileItemById(glo,9767)
doSetItemActionId(item1.uid, 58261)
end

if item.actionid == 58261 then
doSetItemActionId(item.uid, 58263)
local monsters = getMonstersfromArea(topLeft, buttomRight)
local monsters1 = getMonstersfromArea(topLeft, buttomRight)

if getTileItemById(tp,1387).itemid == 1387 then
doRemoveItem(getTileItemById(tp,1387).uid)
end

addEvent(FirstWave, 0)
addEvent(SecondWave, 10000)
addEvent(ThirdWave, 20000)
addEvent(ThirdWave1, 24000)
addEvent(FourthWave, 38000)
addEvent(Glllobe, 900000)

elseif item.actionid == 58263 then
doCreatureSay(cid, "You have to wait some time before this globe will charge.", TALKTYPE_ORANGE_1)
end

return TRUE
end
 
Back
Top