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
-- 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ę :
Koniec :]