Ir para conteúdo
  • 0

[Ajuda] Yalahar Quest (8.6)


moskitinho

Pergunta

Galera vou ser bem objetivo no problema.

 

Consegui montar a Yalahar Quest no server. E está funcionando normal, as waves, o sqm no void, só poder clicar 1x no globo, os portais fechando...

 

O que não funcionou é que em certo momento o Azerus da sala DEVERIA ser removido, para entrar o Azerus1. Mas isso não funciona e ficam dois Azerus na sala.

Bem como o clear da room também não funciona e os próximos a fazer já começam com bixos que sobraram.

 

movements/scripts

 

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 TRUEendif item.actionid == 1973 and queststatus == -1 then-- Here is the code start:starting={x = 480, y = 178, z = 7, stackpos = 253}checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos}ending={x = 500, y = 199, z = 7, stackpos = 253}players=0totalmonsters=0monster = {}repeatcreature= 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 endchecking.x=checking.x+1  if checking.x>ending.x then  checking.x=starting.x  checking.y=checking.y+1 enduntil checking.y>ending.yif players==0 thentrash= {x = 470, y = 188, z = 7}current=0repeatcurrent=current+1doTeleportThing(monster[current],trash)until current>=totalmonstersend-- Here is the end of itdoTeleportThing(cid, player_pos_entrada)doSendMagicEffect(player_pos_entrada, 10)elsedoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'You already done this quest!')endend

 

 

action/scripts

 

function onUse(cid, item, frompos, item2, topos) --Config-->local statue_pos = {x = 490, y = 188, z = 7}local new_portal_pos = {x = 490, y = 189, z = 7, stackpos = 1}local new_pos = {x = 542, y = 196, z = 5}local crystal_pos = {x = 490, y = 197, z = 7}--End Config--> function Potwoory1()        doCreateMonster('Rift Brood', {x = statue_pos.x+1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})		doCreateMonster('Rift Brood', {x = statue_pos.x-1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})		doCreateMonster('Rift Brood', {x = statue_pos.x, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})		doCreateMonster('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})		doCreateMonster('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})		doCreateMonster('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})		doCreateMonster('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})		doCreateMonster("Azerus", {x = statue_pos.x-1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})        addEvent(Potwoory2, 7 * 700)end function Potwoory2()        doCreateMonster('Rift Brood', {x = statue_pos.x+1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})		doCreateMonster('Rift Brood', {x = statue_pos.x-1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})		doCreateMonster('Rift Brood', {x = statue_pos.x, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})		doCreateMonster('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})		doCreateMonster('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})		doCreateMonster('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})		doCreateMonster('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})		doCreateMonster("Azerus", {x = statue_pos.x-1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})		addEvent(Potwory2, 30 * 1000)end function Potwoory3()    removeFieldsTile()	removeAzerusMonstersInArea()	doCreateMonster('Rift Brood', {x = statue_pos.x-1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})	doCreateMonster('Rift Brood', {x = statue_pos.x, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})	doCreateMonster('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})	doCreateMonster('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})	doCreateMonster("Azerus1", {x = statue_pos.x-1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})	addEvent(Potwory3, 35 * 1000)end function Potwoory4()removeFieldsTile()	removeAzerusMonstersInArea()	doCreateMonster('Azerus', {x = statue_pos.x, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})	doCreateMonster('War Golem', {x = statue_pos.x+1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})	doCreateMonster('War Golem', {x = statue_pos.x-1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})	doCreateMonster('War Golem', {x = statue_pos.x, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})	doCreateMonster('War Golem', {x = statue_pos.x-1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})end function NewPortal()doCreateTeleport(1387, new_pos, new_portal_pos)addEvent(RemoveAll, 30 * 1000)end function RemoveAll()doRemoveItem(getThingfromPos(new_portal_pos).uid,1)doItemSetAttribute(getTileItemById(crystal_pos, 7493).uid, "aid", 57500)end if item.aid == 57500 and getThingfromPos(new_portal_pos).itemid ~= 17668 thendoCreateItem(17668,1,new_portal_pos)addEvent(Potwoory1, 0)doItemSetAttribute(getTileItemById(crystal_pos, 7493).uid, "aid", 57501)elsedoPlayerSendTextMessage(cid,18,"Sorry, not possible.")endreturn TRUEend

 

wYgEJhS.png

 

Agradeço quem puder ajudar.

Editado por moskitinho
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

O erro esta sendo disparado por aqui:

Citar
current=0repeatcurrent=current+1doTeleportThing(monster[current],trash)until current>=totalmonsters

Temos quase certeza que isso está totalmente errado.

Primeiro que ele está acessando o index de uma tabela (monster) sendo que a função "doteleportthing" usa o identificador da criatura para poder teleporta-la.

 

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...