Ir para conteúdo

Annihilator Quest Com Sistema De Retirada De Demon


tibiaa4e

Posts Recomendados

Esse script tbm tinha aqui num sei se era essa new version

+ num tem +

e eu axo o melhor pra aniq

é meio complicado e por isso prestem atenção

Dicas e como funfa

Naum usem em ots de muita exp ,pois o script é grande e é melhor em ots de 30x pra menos

faça tudo q eu disser,ao menos q seja um bom scripter só mexa onde eu disser pq eu fui querer mexer e num funfo :/

Ele é um script de aniq normal o tem de a +

é q se houver um caso de time morrer ou naum matar todos os demon,o proximo iria catar os demon na amarela

o o system faz qdo um player clica no alavanca ele checa a area e ve se tem player

se tiver ele da sorry,not possible e se naum tiver ele retira os demon de lá manda para a area trash e sumona novos

isso q o diferencial

vou passar o script e explicar:

crie um arkivo chamado aniq.lua e add

-- Annihilator script by GriZzm0

-- Room check and monster removal by Tworn

--Variables used:

-- player?pos  = The position of the players before teleport.

-- player?  = Get the thing from playerpos.

--player?level = Get the players levels.

--questslevel  = The level you have to be to do this quest.

--questtatus?  = Get the quest status of the players.

--demon?pos  = The position of the demons.

--nplayer?pos  = The position where the players should be teleported too.

--trash= position to send the demons to when clearing, 1 sqm in middle of nowhere is enough

-- starting = Upper left point of the annihilator room area.

-- ending = Bottom right point of the annihilator room area.

--UniqueIDs used:

--5000 = The switch.

--5001 = Demon Armor chest.

--5002 = Magic Sword chest.

--5003 = Stonecutter Axe chest.

--5004 = Present chest.

function onUse(cid, item, frompos, item2, topos)

if item.uid == 5000 then

if item.itemid == 1946 then

player1pos = {x=738, y=914, z=13, stackpos=253}

player1 = getThingfromPos(player1pos)

player2pos = {x=737, y=914, z=13, stackpos=253}

player2 = getThingfromPos(player2pos)

player3pos = {x=736, y=914, z=13, stackpos=253}

player3 = getThingfromPos(player3pos)

player4pos = {x=735, y=914, z=13, stackpos=253}

player4 = getThingfromPos(player4pos)

  if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then

  player1level = getPlayerLevel(player1.uid)

  player2level = getPlayerLevel(player2.uid)

  player3level = getPlayerLevel(player3.uid)

  player4level = getPlayerLevel(player4.uid)

  questlevel = 100

  if player1level >= questlevel and player2level >= questlevel and player3level >= questlevel and player4level >= questlevel then

   queststatus1 = getPlayerStorageValue(player1.uid,100)

   queststatus2 = getPlayerStorageValue(player2.uid,100)

   queststatus3 = getPlayerStorageValue(player3.uid,100)

   queststatus4 = getPlayerStorageValue(player4.uid,100)

   if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 and queststatus4 == -1 then

--if 1==1 then

demon1pos = {x=736, y=902, z=13}

demon2pos = {x=738, y=902, z=13}

demon3pos = {x=740, y=904, z=13}

demon4pos = {x=741, y=904, z=13}

demon5pos = {x=737, y=906, z=13}

demon6pos = {x=739, y=906, z=13}

   doSummonCreature("Demon", demon1pos)

   doSummonCreature("Demon", demon2pos)

   doSummonCreature("Demon", demon3pos)

   doSummonCreature("Demon", demon4pos)

   doSummonCreature("Demon", demon5pos)

   doSummonCreature("Demon", demon6pos)

nplayer1pos = {x=739, y=904, z=13}

nplayer2pos = {x=738, y=904, z=13}

nplayer3pos = {x=737, y=904, z=13}

nplayer4pos = {x=736, y=904, z=13}

   doSendMagicEffect(player1pos,2)

   doSendMagicEffect(player2pos,2)

   doSendMagicEffect(player3pos,2)

   doSendMagicEffect(player4pos,2)

   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,1945)

else

  doPlayerSendCancel(cid,"Sorry, not possible.")

end

   else

doPlayerSendCancel(cid,"Sorry, not possible.")

   end

  else

  doPlayerSendCancel(cid,"Sorry, not possible.")

  end

end

if item.itemid == 1945 then

-- Here is the code start:

starting={x=736, y=902, z=13, stackpos=253}

checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos}

ending={x=742, y=907, z=13, 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=547, y=407, z=10}

current=0

repeat

current=current+1

doTeleportThing(monster[current],trash)

until current>=totalmonsters

doTransformItem(item.uid,1946)

end

-- Here is the end of it

end

end

if item.uid == 2304 then

queststatus = getPlayerStorageValue(cid,100)

if queststatus == -1 then

  doPlayerSendTextMessage(cid,22,"You have found a demon armor.")

  doPlayerAddItem(cid,2494,1)

  setPlayerStorageValue(cid,100,1)

else

  doPlayerSendTextMessage(cid,22,"It is empty.")

end

end

if item.uid == 2305 then

queststatus = getPlayerStorageValue(cid,100)

if queststatus ~= 1 then

  doPlayerSendTextMessage(cid,22,"You have found a magic sword.")

  doPlayerAddItem(cid,2400,1)

  setPlayerStorageValue(cid,100,1)

else

  doPlayerSendTextMessage(cid,22,"It is empty.")

end

end

if item.uid == 2306 then

queststatus = getPlayerStorageValue(cid,100)

if queststatus ~= 1 then

  doPlayerSendTextMessage(cid,22,"You have found a stonecutter axe.")

  doPlayerAddItem(cid,2431,1)

  setPlayerStorageValue(cid,100,1)

else

  doPlayerSendTextMessage(cid,22,"It is empty.")

end

end

if item.uid == 2303 then

queststatus = getPlayerStorageValue(cid,100)

if queststatus ~= 1 then

  doPlayerSendTextMessage(cid,22,"You have found a present.")

  doPlayerAddItem(cid,1990,1)

  setPlayerStorageValue(cid,100,1)

else

  doPlayerSendTextMessage(cid,22,"It is empty.")

end

end

return 1

end

e em actions.xml add:

<action uniqueid="5000" script="aniq.lua" />

<action uniqueid="5001" script="aniq.lua" />

<action uniqueid="5002" script="aniq.lua" />

<action uniqueid="5003" script="aniq.lua" />

<action uniqueid="5004" script="aniq.lua" />

continua...

Link para o comentário
Compartilhar em outros sites

imagem da minha sala q vou dar como exemplo:

aniqli9.jpg

ai é a 1º room na alavanca coloque o uniqueid 5000 na alavanca com id 1946

e em

player1pos = {x=738, y=914, z=13, stackpos=253}

player1 = getThingfromPos(player1pos)

player2pos = {x=737, y=914, z=13, stackpos=253}

player2 = getThingfromPos(player2pos)

player3pos = {x=736, y=914, z=13, stackpos=253}

player3 = getThingfromPos(player3pos)

player4pos = {x=735, y=914, z=13, stackpos=253}

player4 = getThingfromPos(player4pos)

se edita com akelas posições na imagem

e em

nplayer1pos = {x=739, y=904, z=13}

nplayer2pos = {x=738, y=904, z=13}

nplayer3pos = {x=737, y=904, z=13}

nplayer4pos = {x=736, y=904, z=13}

é onde o player sera teleportado ao puxar a alavanca

e em

demon1pos = {x=736, y=902, z=13}

demon2pos = {x=738, y=902, z=13}

demon3pos = {x=740, y=904, z=13}

demon4pos = {x=741, y=904, z=13}

demon5pos = {x=737, y=906, z=13}

demon6pos = {x=739, y=906, z=13}

fikando assim

aniq2wx5.jpg

em vermelho é onde o player sera teleportado, e em azul onde os demon nascem

a parte da quest foi facil

agr é a parte q diferencia o script dos outros

em

starting={x=736, y=902, z=13, stackpos=253}

checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos}

ending={x=742, y=907, z=13, stackpos=253}

ai é o script q faz o sistema checar a area se tem demons e players

starting vc coloca o tile do inicio no caso o numero 1 em azul e em ending

a ponta direita a baixo

de preferecia um sqm abaixo

ficando :

aniq3te8.jpg

assim

e em trash se cria uma area em kalker lugar de 1 sqm só pros demon serem tp pra lá qdo entrar um novo time

o resto é a parte da quest q com certeza q vc saberão fazer

é só add o unique id no bau certo

Nesse sistema o player só podera fazer a aniq uma vez,para resolver isso

altere o player storage value do bau de 100 pra kalker outro numero

+ lembre todos os baus tem q ter o msm storage...

creditos:Grizzmo

Twon

é isso

comentem

flws :bye:

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...
  • 1 month later...
  • 3 weeks later...

Tibiaa4e e seus magnificos trabalhos,

 

Será que é possivel fazer um script para que a pessoa que ja fez a quest nao poder mais passar pela door?

 

SkyNagerloas.

 

Edit

 

Nao nao soh para saber se dava =]

 

Vlw.

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

  • 7 months later...
  • 2 months later...
  • 10 months later...
×
×
  • Criar Novo...