Bom gente é o seguinte , Tenhu um mapa próprio , E hoje 06/08/2010 fiz a famosa quest Annihilator Quest . Os baús funcionaram normalmente , e os Demons também , Mais fiz a quest com o GM 2x , e ná segunda vez , Me deparei com 7 Demons ao envez de 6 , Meu escript é o seguinte não tem respawn no Map Editor , e sim o demon nasce quando acionada a Alavanca , Alguem me ajuda PF ?
Alavanca.lua
-- annihilator lever function onUse(cid, item, frompos, item2, topos) monster = "Demon" ------ nome do monstro pos = {x=495, y=186, z=14} ---posicao em que o monstro ira aparecer monster2 = "Demon" ------ nome do monstro pos2 = {x=497, y=186, z=14} ---posicao em que o monstro ira aparecer monster2 = "Demon" ------ nome do monstro pos3 = {x=496, y=190, z=14} ---posicao em que o monstro ira aparecer monster2 = "Demon" ------ nome do monstro pos4 = {x=498, y=190, z=14} ---posicao em que o monstro ira aparecer monster2 = "Demon" ------ nome do monstro pos5 = {x=499, y=188, z=14} ---posicao em que o monstro ira aparecer monster2 = "Demon" ------ nome do monstro pos6 = {x=500, y=188, z=14} ---posicao em que o monstro ira aparecer if item.uid == 8888 and item.itemid == 1945 then player1pos = {x=498, y=188, z=13, stackpos=253} player1 = getThingfromPos(player1pos) player2pos = {x=497, y=188, z=13, stackpos=253} player2 = getThingfromPos(player2pos) player3pos = {x=496, y=188, z=13, stackpos=253} player3 = getThingfromPos(player3pos) player4pos = {x=495, y=188, z=13, stackpos=253} player4 = getThingfromPos(player4pos) dzwignia = os.clock() if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then queststatus1 = getPlayerStorageValue(player1.uid,70000) queststatus2 = getPlayerStorageValue(player2.uid,70000) queststatus3 = getPlayerStorageValue(player3.uid,70000) queststatus4 = getPlayerStorageValue(player4.uid,70000) if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 and queststatus4 == -1 then nplayer1pos = {x=498, y=188, z=14} nplayer2pos = {x=497, y=188, z=14} nplayer3pos = {x=496, y=188, z=14} nplayer4pos = {x=495, y=188, z=14} doSendMagicEffect(player1pos,2) doSendMagicEffect(player2pos,2) doSendMagicEffect(player3pos,2) doSendMagicEffect(player4pos,2) doSummonCreature(monster,pos) doSummonCreature(monster2,pos2) doSummonCreature(monster,pos3) doSummonCreature(monster2,pos4) doSummonCreature(monster,pos5) doSummonCreature(monster2,pos6) doTeleportThing(player1.uid,nplayer1pos) doTeleportThing(player2.uid,nplayer2pos) doTeleportThing(player3.uid,nplayer3pos) doTeleportThing(player4.uid,nplayer4pos) doSendMagicEffect(nplayer1pos,10) doSendMagicEffect(nplayer2pos,10) doSendMagicEffect(nplayer3pos,10) doSendMagicEffect(nplayer4pos,10) doTransformItem(item.uid,item.itemid+1) else doPlayerSendCancel(cid,"Sorry , Você ja fez.") end else doPlayerSendCancel(cid,"You need four people to do the quest.") end elseif item.uid == 8888 and item.itemid == 1946 then if (dzwignia - os.clock()) > 60 then doTransformItem(item.uid,item.itemid-1) end if getPlayerAccess(cid) > 0 then doTransformItem(item.uid,item.itemid-1) end end return 1 end
Annihilator.lua
local Annihilator = { --Aqui iniciamos uma Array, coloquei 'local' para que ela existir somente neste arquivo. ANNIHILATOR_LEVER_UNIQUEID = 8888, --Aqui você coloca o uniqueid da sua alavanca ( o uso da virgula no fim é obrigatório, pois estamos dentro de uma Array, a Annihilator_config). MIN_LEVEL = 100, --Aqui você coloca o level minimo para fazer a quest. STORAGE = 7000, --Aqui você coloca o numero do Storage que deseja usar para salvar as informações da quest (para marcar/verificar se o player ja fez a quest). CHECK_INVISIBLE_ACCESS = 1, --Aqui você poe o access minimo para ser ignorado, na verificação se a sala está vazia. (para não contar gms como players). CHESTS = { --Aqui estamos abrindo uma array chamada CHESTS dentro da Array Annihilator_config. {uniqueid = 5001, prize = 2494, count = 1}, --Aqui você configura o uniqueid de cada baú, o item que ira receber (prize) e a quantidade. {uniqueid = 5002, prize = 2400, count = 1}, --Note que como estamos dentro da Array CHESTS usamos virgula para separar os valores, o uso é obrigado, somente no ultimo valor que não se deve colocar virgula. {uniqueid = 5003, prize = 2431, count = 1}, {uniqueid = 5004, prize = 2331, count = 1} --Aqui não existe virgula, é o ultimo valor da array CHESTS },-- Fechamos a Array CHESTS PLAYER_POS = { {x = 498, y = 188, z = 13, stackpos = 253}, --Aqui você irá por as posições dos players, você pode colocar quantas quiser para aumentar o numero de players ou diminuir, mas obedecendo a sintaxe correta, sempre o ultimo valor sem virgula {x = 497, y = 188, z = 13, stackpos = 253}, {x = 496, y = 188, z = 13, stackpos = 253}, {x = 495, y = 188, z = 13, stackpos = 253} }, PLAYER_TOPOS = { {x = 498, y = 188, z = 14}, --Posições para aonde os players devem ser levados, deve ter a mesma quantidade de valores do que a Array PLAYER_POS. {x = 497, y = 188, z = 14}, {x = 496, y = 188, z = 14}, {x = 495, y = 188, z = 14} }, MONSTERS = { {name = "Demon", pos = {x = 495, y = 186, z = 14}}, --Aqui configuramos os monstros, qual deve ser sumonado e qual sua posição, você pode colocar mais ou menos que isto. {name = "Demon", pos = {x = 497, y = 186, z = 14}}, {name = "Demon", pos = {x = 496, y = 190, z = 14}}, {name = "Demon", pos = {x = 498, y = 190, z = 14}}, {name = "Demon", pos = {x = 499, y = 188, z = 14}}, {name = "Demon", pos = {x = 500, y = 188, z = 14}} }, TOP_LEFT_POS = {x = 495, y = 187, z = 14}, --Irei explicar logo abaixo. BOTTOM_RIGHT_POS = {x = 498, y = 189, z = 14}, --Irei explicar logo abaixo. TRASH_POS = {x = 481, y = 137, z = 15}, --Posição de um lugar escondido no mapa para onde os demons antigos serão levados IS_FORGOTTEN_SERVER = FALSE --Se você usa o Forgotten Server ou servers mais recentes troque o FALSE por TRUE, pois a função de teleport de alguns servers é diferente, de qualquer maneira se os player não forem teleportados troque de FALSE para TRUE ou vice-versa, aqui não colocamos virgula, pois é o ultimo valor da Array Annihilator_config. } --Fechamos a Array Annihilator_config --Agora vamos transformar essas informações para uma variavel que conterá o sistema para que essa annihilator funcione Annihilator_ID = 100:new(Annihilator)