Autor: Kielb

Licencja: Nie znajdziesz tego na żadnym forum. FIXME To nie licencja

Skrypt pisany dla donaja. Dwunastu graczy staje na wyznaczonych miejscach jeden z nich naciska dźwignie i są przenoszeni na odpowiednie miejsca i pojawiają się potwory.

Cześć LUA

Wchodzimy do katalogu actions/scripts/ tworzymy plik quest12.lua

quest12.lua
 -- Scripts by kielb
 
 --Uzywane rzeczy:
 
 -- player?pos  = Pozycja gdzie gracz ma byc przeteleportowany.
 -- player?  = Pozycja gracza.
 --player?level = Level gracza.
 --questslevel  = Level potrzebny do wykonania.
 --questtatus?  = Status questa.
 --demon?pos  = Pozycja potworow.
 --nplayer?pos  = Pozycja, w której gracze powinni być przeniesieni.
 --trash= Pozycja gdzie maja byc wyslane pozostale potwory, 1 sqm wystarczy
 
 --UniqueIDs used:
 
 --xxxx = The switch.
 
function onUse(cid, item, frompos, item2, topos)
if item.uid == xxxx then
 if item.itemid == 1946 then
 
			player1pos = {x=xxxx, y=xxxx, z=x, stackpos=253}
			player1 = getThingfromPos(player1pos)
 
			player2pos = {x=xxxx, y=xxxx, z=x, stackpos=253}
			player2 = getThingfromPos(player2pos)
 
			player3pos = {x=xxxx, y=xxxx, z=x, stackpos=253}
			player3 = getThingfromPos(player3pos)
 
			player4pos = {x=xxxx, y=xxxx, z=x, stackpos=253}
			player4 = getThingfromPos(player4pos)
 
			player5pos = {x=xxxx, y=xxxx, z=x, stackpos=253}
			player5 = getThingfromPos(player5pos)
 
			player6pos = {x=xxxx, y=xxxx, z=x, stackpos=253}
			player5 = getThingfromPos(player6pos)
 
			player7pos = {x=xxxx, y=xxxx, z=x, stackpos=253}
			player7 = getThingfromPos(player7pos)
 
			player8pos = {x=xxxx, y=xxxx, z=x, stackpos=253}
			player8 = getThingfromPos(player8pos)
 
			player9pos = {x=xxxx, y=xxxx, z=x, stackpos=253}
			player9 = getThingfromPos(player9pos)
 
			player10pos = {x=xxxx, y=xxxx, z=x, stackpos=253}
			player10 = getThingfromPos(player10pos)
 
			player11pos = {x=xxxx, y=xxxx, z=x, stackpos=253}
			player11 = getThingfromPos(player11pos)
 
			player12pos = {x=xxxx, y=xxxx, z=x, stackpos=253}
			player12 = getThingfromPos(player12pos)
 
     if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 and player5.itemid > 0 and player6.itemid > 0 and player7.itemid > 0 and player8.itemid > 0 and player9temid> 0 and player10itemid > 0 and player11itemid> 0 and player12itemid > 0 then
 
  player1level = getPlayerLevel(player1.uid)
  player2level = getPlayerLevel(player2.uid)
  player3level = getPlayerLevel(player3.uid)
  player4level = getPlayerLevel(player4.uid)
  player5level = getPlayerLevel(player5.uid)
  player6level = getPlayerLevel(player6.uid)
  player7level = getPlayerLevel(player7.uid)
  player8level = getPlayerLevel(player8.uid)
  player9level = getPlayerLevel(player9.uid)
  player10level = getPlayerLevel(player10.uid)
  player11level = getPlayerLevel(player11.uid)
  player12level = getPlayerLevel(player12.uid)
 
  questlevel = 100 -- Level quest
 
  if player1level >= questlevel and player2level >= questlevel and player3level >= questlevel and player4level and >= questlevel player5level >= questlevel and player6level >= questlevel and player7level >= questlevel and player8level >= questlevel and player9level >= questlevel and player10level >= questlevel and player11level >= questlevel and player12level >= questlevel and then
 
      queststatus1 = getPlayerStorageValue(player1.uid,100)
      queststatus2 = getPlayerStorageValue(player2.uid,100)
      queststatus3 = getPlayerStorageValue(player3.uid,100)
      queststatus4 = getPlayerStorageValue(player4.uid,100)
	  queststatus5 = getPlayerStorageValue(player5.uid,100)
	  queststatus6 = getPlayerStorageValue(player6.uid,100)
	  queststatus7 = getPlayerStorageValue(player7.uid,100)
	  queststatus8 = getPlayerStorageValue(player8.uid,100)
	  queststatus9 = getPlayerStorageValue(player9.uid,100)
	  queststatus10 = getPlayerStorageValue(player10.uid,100)
	  queststatus11 = getPlayerStorageValue(player11.uid,100)
	  queststatus12 = getPlayerStorageValue(player12.uid,100)
 
      if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 and queststatus4 == -1 and queststatus5 == -1 and queststatus6 == -1 and queststatus7 == -1 and queststatus8 == -1 and queststatus9 == -1 and queststatus10 == -1 and queststatus11 == -1 and queststatus12 == -1 then
 
	--if 1==1 then
						demon1pos = {x=xxxx, y=xxxx, z=x}
						demon2pos = {x=xxxx, y=xxxx, z=x}
						demon3pos = {x=xxxx, y=xxxx, z=x}
						demon4pos = {x=xxxx, y=xxxx, z=x}
						demon5pos = {x=xxxx, y=xxxx, z=x}
						demon6pos = {x=xxxx, y=xxxx, z=x}
						demon7pos = {x=xxxx, y=xxxx, z=x}
 
   doSummonCreature("Demon", demon1pos)
   doSummonCreature("Demon", demon2pos)
   doSummonCreature("Demon", demon3pos)
   doSummonCreature("Demon", demon4pos)
   doSummonCreature("Demon", demon5pos)
   doSummonCreature("Demon", demon6pos)
   doSummonCreature("Orshabaal", demon7pos)
 
						nplayer1pos = {x=xxxx, y=xxxx, z=x}
						nplayer2pos = {x=xxxx, y=xxxx, z=x}
						nplayer3pos = {x=xxxx, y=xxxx, z=x}
						nplayer4pos = {x=xxxx, y=xxxx, z=x}
						nplayer5pos = {x=xxxx, y=xxxx, z=x}
						nplayer6pos = {x=xxxx, y=xxxx, z=x}
						nplayer7pos = {x=xxxx, y=xxxx, z=x}
						nplayer8pos = {x=xxxx, y=xxxx, z=x}
						nplayer9pos = {x=xxxx, y=xxxx, z=x}
						nplayer10pos = {x=xxxx, y=xxxx, z=x}
						nplayer11pos = {x=xxxx, y=xxxx, z=x}
						nplayer12pos = {x=xxxx, y=xxxx, z=x}
 
   doSendMagicEffect(player1pos,2)
   doSendMagicEffect(player2pos,2)
   doSendMagicEffect(player3pos,2)
   doSendMagicEffect(player4pos,2)
   doSendMagicEffect(player5pos,2)
   doSendMagicEffect(player6pos,2)
   doSendMagicEffect(player7pos,2)
   doSendMagicEffect(player8pos,2)
   doSendMagicEffect(player9pos,2)
   doSendMagicEffect(player10pos,2)
   doSendMagicEffect(player11pos,2)
   doSendMagicEffect(player12pos,2)
 
   doTeleportThing(player1.uid,nplayer1pos)
   doTeleportThing(player2.uid,nplayer2pos)
   doTeleportThing(player3.uid,nplayer3pos)
   doTeleportThing(player4.uid,nplayer4pos)
   doTeleportThing(player5.uid,nplayer5pos)
   doTeleportThing(player6.uid,nplayer6pos)
   doTeleportThing(player7.uid,nplayer7pos)
   doTeleportThing(player8.uid,nplayer8pos)
   doTeleportThing(player9.uid,nplayer9pos)
   doTeleportThing(player10.uid,nplayer10pos)
   doTeleportThing(player11.uid,nplayer11pos)
   doTeleportThing(player12.uid,nplayer12pos)
 
     doSendMagicEffect(nplayer1pos,10)
     doSendMagicEffect(nplayer2pos,10)
     doSendMagicEffect(nplayer3pos,10)
     doSendMagicEffect(nplayer4pos,10)
	 doSendMagicEffect(nplayer5pos,10)
	 doSendMagicEffect(nplayer6pos,10)
	 doSendMagicEffect(nplayer7pos,10)
	 doSendMagicEffect(nplayer8pos,10)
	 doSendMagicEffect(nplayer9pos,10)
	 doSendMagicEffect(nplayer10pos,10)
	 doSendMagicEffect(nplayer11pos,10)
	 doSendMagicEffect(nplayer12pos,10)
 
     doTransformItem(item.uid,1945)
 
    else
     doPlayerSendCancel(cid,"Someone has already done this quest")
    end
   else
    doPlayerSendCancel(cid,"Your level is too low")
   end
  else
  doPlayerSendCancel(cid,"You need 12 players in your team.")
  end
 end
  if item.itemid == 1945 then
-- Here is the code start:
starting={x=xxxx, y=xxxx, z=x, stackpos=253}
checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos}
ending={x=xxxx, y=xxxx, z=x, 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) ~= 11 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=xxxx, y=xxxx, z=x}
current=0
repeat
current=current+1
doTeleportThing(monster[current],trash)
until current>=totalmonsters
doTransformItem(item.uid,1946)
end
return 1
end

Następnie w pliku actions.xml dodajemy linijkę :

<action uniqueid="xxxx" event="script" value="quest12.lua"/>

Koniec :]