Postado Agosto 9, 2015 9 anos Boa tarde, preciso de ajuda pra arruma a yalahar quest, quando eu entro e clico no globo que fica no eio da sala, ele invoca Azerus e os outros mobs, mas assim que eu vou matando os mobs os tiles vão sumindo, e o Azerus não recebe dano, o char fica bugado e as vezes até se clona e algum mobs depois de morrerem não some. \data\monster\AzerusAzerus.xmlAzerus1.xmlAzerus2.xmlAzerus3.xml\data\creaturescripts\scriptsazerus.lua\data\actions\scripts\yalahariazerus.luaazeruschest.lua <!-- Yalaharian 10th --> <action uniqueid="11223" event="script" value="quests/azerus_quest.lua"/> -- Kill Azerus <action uniqueid="50003" event="script" value="quests/yalahar_set.lua"/> -- Yalahari Mask <action uniqueid="50001" event="script" value="quests/yalahar_set.lua"/> -- Yalahari Armor <action uniqueid="50002" event="script" value="quests/yalahar_set.lua"/> -- Yalahari Leg Piece <!-- Gates Yalahar --> <action actionid="9900" event="script" value="gates/gateyala1.lua"/> <action actionid="9901" event="script" value="gates/gateyala2.lua"/> <action actionid="9002" event="script" value="gates/gateyala3.lua"/> <action actionid="9003" event="script" value="gates/gateyala4.lua"/> <action actionid="9004" event="script" value="gates/gateyala5.lua"/> <action actionid="9005" event="script" value="gates/gateyala6.lua"/> <action actionid="9006" event="script" value="gates/gateyala7.lua"/> <action actionid="9007" event="script" value="gates/gateyala8.lua"/> <action actionid="9008" event="script" value="gates/gateyala9.lua"/> <action actionid="9009" event="script" value="gates/gateyala10.lua"/> <action actionid="9010" event="script" value="gates/gateyala11.lua"/> <action actionid="9011" event="script" value="gates/gateyala12.lua"/> data\movements\scriptsazerus.luaazerus_door.lua <!-- Azerus --> <monster name="Azerus" file="Azerus/Azerus.xml"/> <monster name="Azerus1" file="Azerus/Azerus1.xml"/> <monster name="Azerus2" file="Azerus/Azerus2.xml"/> <monster name="Azerus3" file="Azerus/Azerus3.xml"/> <monster name="empe" file="empe.xml"/> <monster name="pre1" file="pre1.xml"/> <monster name="pre2" file="pre2.xml"/> <monster name="guard" file="guard.xml"/> data\actions\scripts\questsazerus_quest.luadata\movements\scripts\yalahariazerusarmy.luaazerusdeath.lua(OBS: Não consegui postar em Spoiler, por isso passei os arquivos, Obrigado desde já.) Aparentemente, esse script arruma os erros, mas quando eu vou fazer a quest, assim que entro no tp o servidor para e não consigo logar nenhuma conta, só que não aparece esses erros. Mostrar conteúdo oculto Try this one: [lua]function onStepIn(cid, item, position, fromPosition) --Config--> local queststatus = getPlayerStorageValue(cid, 50001) --EndConfig--> if item.actionid == 1974 and queststatus == -1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "It seems by defeating Azerus you have stoped this army from entering your world! Better leave this ghastly place forever.") setPlayerStorageValue(cid, 4765, 1) return TRUE end if item.actionid == 1973 and queststatus == -1 then -- Here is the code start: starting={x = 576, y = 560, z = 10, stackpos = 253} checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos} ending={x = 586, y = 572, z = 10, stackpos = 253} players=0 totalmonsters=0 monster = {} repeat creature= getThingfromPos(checking) if creature.itemid > 0 then if getPlayerAccess(creature.uid) == 0 then players=players+1 end if getPlayerAccess(creature.uid) ~= 0 and getPlayerAccess(creature.uid) ~= 3 then totalmonsters=totalmonsters+1 monster[totalmonsters]=creature.uid end end checking.x=checking.x+1 if checking.x>ending.x then checking.x=starting.x checking.y=checking.y+1 end until checking.y>ending.y if players==0 then trash= {x=33193, y=31689, z=15} current=0 repeat current=current+1 doTeleportThing(monster[current],trash) until current>=totalmonsters end -- Here is the end of it doTeleportThing(cid, player_pos_entrada) doSendMagicEffect(player_pos_entrada, 10) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'You have already done this quest!') end end[/lua] Or if it won't work, try this: [lua]function onStepIn(cid, item, position, fromPosition) if getCreatureStorage(cid, 50001) == -1 then if item.actionid == 1974 then doCreatureSay(cid, 'It seems by defeating Azerus you have stopped this army from entering your world! Better leave this ghastly place forever.', TALKTYPE_ORANGE_1) setPlayerStorageValue(cid, 4765, 1) elseif item.actionid == 1973 then local t, f = {} for x = 576, 586 do for y = 560, 572 do local v = getTopCreature({x=x, y=y, z=10}).uid if isPlayer(v) then f = true break elseif isMonster(v) then table.insert(t, v) end end end if not f then for i = 1, #t do doRemoveCreature(t) end end doTeleportThing(cid, {x=579, y=575, z=10}) doSendMagicEffect({x=579, y=575, z=10}, CONST_ME_TELEPORT) end else doTeleportThing(cid, fromPosition, false) doPlayerSendCancel(cid, 'You have already done this quest!') end end[/lua] Consegui resolver alguns problemas, agora só fala esse, quando eu passo do tp no final da quest e vou pro tile que era pra me manda uma mensagem, ele não fala nada e só apareceu esse erro, alguém tem um script do azerus-quest.lua que esteja funcionando pra me disponibilizar ? Obs: já testei os que eu peguei na net, mais ainda to com esse erro) Editado Agosto 9, 2015 9 anos por 157kolosso (veja o histórico de edições)
Postado Agosto 10, 2015 9 anos Autor @Up Alguém saberia me dizer se esse script ta certo ? o único problema agora é que quando eu termino a quest, não aparece aquela mensagem quando você pisa no tile pra completa-la, e assim que vc sai e tenta falar com o NPC Azerus, ele não completa a quest. AZerus_quest Mostrar conteúdo oculto 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
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.