sobek07
Chce być fajny
Umm, sprawa nie wygląda fajnie ponieważ gdy nacisnę na globus pojawia się azerus i po jego zabiciu nie pokazuje sie tp
(moge nacisnąć 100x na globus i pojawi sie 100 azerusów.) Help?
Creaturescripts azerus.lua
Actions > Azerus.lua
Creaturescripts azerus.lua
Code:
local config = {
message = "Azerus ran into teleporter! It will disappear in 2 minutes. Enter It!",
teleportId = 1387,
bosses = { -- Monster Name, Teleport To Position, Teleport Position
["Azerus"] = { { x = 21325, y = 21073, z = 10 }, { x = 21325, y = 21075, z = 9 }},
}
}
function onDeath(cid, corpse, killer)
local position = getCreaturePosition(cid)
for name, pos in pairs(config.bosses) do
if name == getCreatureName(cid) then
doCreateTeleport(config.teleportId, pos[1], pos[2])
doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
end
end
return TRUE
end
Actions > Azerus.lua
Code:
-- Yalahar 10th mission By QuaS~~
-- Config #1 --
local BlindField = {x=21323, y=21055, 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)
-- CONFIG #2!!!! --
-- Map checking --
local topLeft = {x=21318, y=31057, z=10}
local buttomRight = {x=21333, y=21074, z=10}
-- Immortality of Azerus
local monsters = getMonstersfromArea(topLeft, buttomRight)
local monsters1 = getMonstersfromArea(topLeft, buttomRight)
-- Position Of TP --
local tp = {x=21325, y=21073, z=10}
-- Position of Gllobus
local glo = {x=21325, y=21064, z=10}
-- END OF CONFIG! --
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})
end
function SecondWave()
local monsters1 = getMonstersfromArea(topLeft, buttomRight)
for _, monster in pairs(monsters1) do
if getCreatureName(monster) == "Azerus" then
doRemoveCreature(monster)
end
end
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("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() -- 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
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)
doItemSetAttribute(item1.uid, 58261)
end
if item.actionid == 58261 then
doItemSetAttribute(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