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

Yalahar quest! tp nie znika !

pele112

Member
Joined
Aug 9, 2007
Messages
571
Reaction score
8
Location
Wodzisław Śląski
Mam problem po zabiciu azerusa powinien znikać tp a nie znika

azerus.lua

Code:
-- Config #1 --  
local BlindField = {x=579, y=557, z=10, stackpos=1} 
-- end --  

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, 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=574, y=558, z=10} 
	local buttomRight = {x=588, y=575, 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} 

	local 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 
	local function FifthWave() 
		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}) 
	end 

	local 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 
	local function SixthWave() 
		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
	
	local 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}) 
		doSummonCreature("Rift Scythe", {x= glo.x + 4,y=glo.y,z=glo.z}) 
		doSummonCreature("Rift Scythe", {x=glo.x,y=glo.y + 4,z=glo.z}) 
	end 

	local function ThirdWave1() --  with 2s delay 
		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 

	local function FourthWave() 
		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 

	local function SevenWave() 
		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 

	local function Glllobe()
		local monst = getMonstersfromArea(topLeft, buttomRight) 
		for i = 1, #monst do
			doRemoveCreature(monst[i])

		end

		local item1 = getTileItemById(glo, 9767)
		doItemSetAttribute(item1.uid, "aid", 58261)
	end

	local function createWall(p)
		local janek = doCreateItem(1387,1,{x=582, y=577, z=9})
		doItemSetAttribute(janek, "aid", 9105)
	end

	local function createWalll(i)
		local ela = doCreateItem(1387,1,{x=581, y=575, z=10})
		doItemSetAttribute(ela, "aid", 9106)
	end
	
	local wall0 = {x=582, y=577, z=9, stackpos=1}
	local getwall0 = getThingfromPos(wall0)
	local wall1 = {x=581, y=575, z=10, stackpos=1}
	local getwall1 = getThingfromPos(wall1)
	local monsters = getMonstersfromArea(topLeft, buttomRight) 
	local monsters1 = getMonstersfromArea(topLeft, buttomRight) 
	local tele_chk = getTileItemById(tp, 1387)
	if item.actionid == 58261 then
		doItemSetAttribute(item.uid, "aid", 58263)
	end

	if tele_chk.uid > 0 then 
		doRemoveItem(getTileItemById(tp,1387).uid) 
		doRemoveItem(getwall0.uid,1)
		addEvent(FirstWave, 0) 
		addEvent(FifthWave, 30000)
		addEvent(SecondWave, 60000) 
		addEvent(SixthWave, 90000) 
		addEvent(ThirdWave, 120000) 
		addEvent(ThirdWave1, 150000) 
		addEvent(FourthWave, 180000) 
		addEvent(SevenWave, 210000) 
		addEvent(Glllobe, 400000)  
		p = {wallid = getwall0.itemid}
		addEvent(createWall, 300*1000, p)
		i = {wallid = getwall1.itemid}
		addEvent(createWalll, 300*1000, i)
	end
	
	if item.actionid == 58263 then 
		doCreatureSay(cid, "You have to wait some time before this globe will charge.", TALKTYPE_ORANGE_1)
	end
	return TRUE 
end

tfs trunk.r3884
 
a wtedy zwykłe teleporty(jeżeli to evo to na expowiska, czy chociaż na training monki) nie będą znikać?


ja polecam ten skrypt


local config = {
message = "You have 30 seconds for back use Death Monster For Teleport You.",
timeToRemove = 30, -- seconds
teleportId = 1387,
bosses = {
["Azerus"] = {x = 1379, y = 956, z = 6},


}
}

local function removal(position)
doRemoveThing(getTileItemById(position, config.teleportId).uid, 1)
return TRUE
end


function onDeath(cid, corpse, killer)
registerCreatureEvent(cid, "azerus")
local position = getCreaturePosition(cid)

for name, pos in pairs(config.bosses) do
if name == getCreatureName(cid) then
teleport = doCreateTeleport(config.teleportId, pos, position)
doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
addEvent(removal, config.timeToRemove * 1000, position)
doSendMagicEffect(position,65)
local globusPOS = {x=1346, y=951, z=7, stackpos=1}
local globus = getThingFromPos(globusPOS)
doItemSetAttribute(globus.uid, "aid", 5674)
end
end
return TRUE
end
 
a wtedy zwykłe teleporty(jeżeli to evo to na expowiska, czy chociaż na training monki) nie będą znikać?


ja polecam ten skrypt



Raczej nie powinnny bo przeciez standardowy teleport ma id chyba 1387 jesli dobrze pamietam.
 
Back
Top