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

[REQUEST] Yalahari Last Mission Problem!

pugamoline

uint32_t patch_mem(char *
Joined
Nov 15, 2011
Messages
189
Reaction score
19
Hi otlanders!

i have problem in local GLO.. yalahari 10th mission
my server is 0.4_rev 3777

pressing the globe gives me the following error
example:

View attachment 11648



This is my azerus.lua (action)

Lua:
-- Yalahar 10th mission By QuaS~~ 
 
function mapArea(fromPos, toPos, stack) 
	-- Area iterator by Colandus. 
	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, getThingfromPos(pos) 
			end 
		end 
	end 
end 
 
-- CONFIG !!!! -- 
 
-- Map checking -- 
local topLeft = {x=32776, y=31159, z=10} 
local buttomRight = {x=32790, y=31176, z=10} 
 
local BlindField = {x=32781, y=31157, z=10}
 
-- Position Of TP -- 
local tp = {x=32783, y=31175, z=10} 
 
-- Position of Globe
local glo = {x=32783, y=31166, z=10} 
 
-- END OF CONFIG! --
 
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 = getTopCreature(BlindField).uid
	if isMonster(bfm) then 
		table.insert(monsters, bfm) 
	end 
	return monsters 
end 
 
function onUse(cid, item, fromPosition, itemEx, toPosition) 
	if item.actionid == 58261 then 
		doItemSetAttribute(item.uid, 'aid', 58263)
		local v = getTileItemById(tp,1387).uid
		if v > 0 then 
			doRemoveItem(v)
		end 
 
		function FirstWave() 
			doCreateMonster("Rift Worm", {x= glo.x - 4,y=glo.y,z=glo.z}) 
			doCreateMonster("Rift Worm", {x= glo.x + 4,y=glo.y,z=glo.z}) 
			doCreateMonster("Rift Worm", {x=glo.x,y=glo.y + 4,z=glo.z}) 
			doCreateMonster("Rift Worm", {x=glo.x,y=glo.y - 4,z=glo.z}) 
			doCreateMonster("Rift Worm", {x=glo.x,y=glo.y + 5,z=glo.z}) 
			doCreateMonster("Azerus", {x=glo.x,y=glo.y - 5,z=glo.z}) 
		end 
 
		function SecondWave() 
			for _, monster in ipairs(getMonstersfromArea(topLeft, buttomRight) ) do 
				if getCreatureName(monster):lower() == 'azerus' then 
					doRemoveCreature(monster)
					break
				end 
			end 
			doCreateMonster("Azerus1", {x=glo.x,y=glo.y - 5,z=glo.z})
			doCreateMonster("Rift Brood", {x= glo.x - 4,y=glo.y,z=glo.z})
			doCreateMonster("Rift Brood", {x= glo.x + 4,y=glo.y,z=glo.z})
			doCreateMonster("Rift Brood", {x=glo.x,y=glo.y + 4,z=glo.z})
			doCreateMonster("Rift Brood", {x=glo.x,y=glo.y - 4,z=glo.z})
			doCreateMonster("Rift Brood", {x=glo.x,y=glo.y + 5,z=glo.z})
		end
 
		function ThirdWave()
			for _, monster in ipairs(getMonstersfromArea(topLeft, buttomRight) ) do 
				if getCreatureName(monster):lower() == 'azerus' then 
					doRemoveCreature(monster)
					break
				end
			end 
			doCreateMonster("Azerus2", {x= glo.x - 5,y=glo.y,z=glo.z}) 
			doCreateMonster("Rift Scythe", {x= glo.x - 4,y=glo.y,z=glo.z}) 
			doCreateMonster("Rift Scythe", {x= glo.x + 4,y=glo.y,z=glo.z}) 
		end 
 
		function ThirdWave1() --  with 2s delay 
			doCreateMonster("Rift Scythe", {x=glo.x,y=glo.y + 4,z=glo.z}) 
			doCreateMonster("Rift Scythe", {x=glo.x,y=glo.y - 4,z=glo.z}) 
			doCreateMonster("Rift Scythe", {x=glo.x,y=glo.y + 5,z=glo.z}) 
		end 
 
		function FourthWave() 
			for _, monster in ipairs(getMonstersfromArea(topLeft, buttomRight) ) do 
				if getCreatureName(monster):lower() == 'azerus' then
					doRemoveCreature(monster)
					break
				end
			end 
			doCreateMonster("Azerus3", {x= glo.x - 5,y=glo.y,z=glo.z}) 
			doCreateMonster("War Golem", {x= glo.x - 4,y=glo.y,z=glo.z}) 
			doCreateMonster("War Golem", {x= glo.x + 4,y=glo.y,z=glo.z}) 
			doCreateMonster("War Golem", {x=glo.x,y=glo.y - 4,z=glo.z}) 
			doCreateMonster("War Golem", {x=glo.x,y=glo.y + 4,z=glo.z}) 
		end 
 
		function Glllobe() 
			doItemSetAttribute(getTileItemById(glo,9767).uid, 'aid', 58261) 
		end
 
		addEvent(FirstWave, 0) 
		addEvent(SecondWave, 10 * 1000) 
		addEvent(ThirdWave, 20 * 1000) 
		addEvent(ThirdWave1, 24 * 1000) 
		addEvent(FourthWave, 38 * 1000) 
		addEvent(Glllobe, 15 * 60 * 1000)
	elseif item.actionid == 58263 then 
		doCreatureSay(cid, "You have to wait some time before this globe will charge.", TALKTYPE_ORANGE_1, false, cid)
	end
 
	return true
end



Rep++
 
here the picture bro

the globe only say: you have to wait some time for charge


and the monsters not never appear
 

Attachments

Last edited:
Back
Top