Anni Quest

Status
Zamknięty.

Tibiosz

Active User
Zarejestrowany
Dołączył
Sierpień 11, 2008
Posty
95
Liczba reakcji
1
Siema

Mam na moim ots'ie Anni Quest, ale mi nie dzia?a. Stoj? 4 osoby, poci?gaj? wajche a tu nic :confused:

Kto ma dzia?aj?cy Anni Quest pod Tibie 8.10?? Prosz? o skrypt i opis co i gdzie zamie?ci? itp.

Reputy!
 
Odp: Anni Quest

Niech moc b?dzie z tob? ;p
PHP:
 -- 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=440, y=581, z=9, stackpos=253}
 player1 = getThingfromPos(player1pos)

 player2pos = {x=439, y=581, z=9, stackpos=253}
 player2 = getThingfromPos(player2pos)

 player3pos = {x=438, y=581, z=9, stackpos=253}
 player3 = getThingfromPos(player3pos)

 player4pos = {x=437, y=581, z=9, 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,987)
	  queststatus2 = getPlayerStorageValue(player2.uid,987)
	  queststatus3 = getPlayerStorageValue(player3.uid,987)
	  queststatus4 = getPlayerStorageValue(player4.uid,987)

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

	demon1pos = {x=459, y=581, z=9}
	demon2pos = {x=460, y=581, z=9}
	demon3pos = {x=456, y=579, z=9}
	demon4pos = {x=458, y=579, z=9}
	demon5pos = {x=455, y=583, z=9}
	demon6pos = {x=457, y=583, z=9}
 
   doSummonCreature("Demon", demon1pos)
   doSummonCreature("Demon", demon2pos)
   doSummonCreature("Demon", demon3pos)
   doSummonCreature("Demon", demon4pos)
   doSummonCreature("Demon", demon5pos)
   doSummonCreature("Demon", demon6pos)

	nplayer1pos = {x=458, y=581, z=9}
	nplayer2pos = {x=457, y=581, z=9}
	nplayer3pos = {x=456, y=581, z=9}
	nplayer4pos = {x=455, y=581, z=9}

   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=454, y=578, z=9, stackpos=253}
checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos}
ending={x=472, y=584, z=9, 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=471, y=563, z=9}
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 == 5001 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 == 5002 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 == 5003 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 == 5004 then
 queststatus = getPlayerStorageValue(cid,100)
 if queststatus ~= 1 then
  doPlayerSendTextMessage(cid,22,"You have found a thunder hammer.")
  doPlayerAddItem(cid,2421,1)
  setPlayerStorageValue(cid,100,1)
 else
  doPlayerSendTextMessage(cid,22,"It is empty.")
 end
 end
 return 1
end
 
Odp: Anni Quest

Ten quest jest w actions tak? A linijke zostawi? moj? czy jak? dodac??
EDIt: Lol mam dok?adnie taki sam skrypt.

U mnie co? jest takiego, jakby demony blokowa?y wej?cie ;/

EDIT2: Albo napisz mi jakie linijki mam doda? do actions.xml :) Bo chyba to nie b?dzie jedna no a ja nei wiem jakie to... :D
 
Ostatnia edycja:
Odp: Anni Quest

Po prostu podmieniasz sw?j niedzia?aj?cy skrypt na ten i ustawiasz odpowiednie uid :
--5000 = The dzwignia
--5001 = Demon Armor skrzynia
--5002 = Magic Sword skrzynia
--5003 = Stonecutter Axe skrzynia
--5004 = Present skrzynia

Oraz ustawiasz xyz odpowiednie w skrypcie ale to ju? sobie poradzisz ;]
 
Odp: Anni Quest

NO spoko, przenosi mnei teraz, ale nie da sie wzi??? item?w z pud?a ;/ i oto b??dy z konsoli
xopj7m.jpg


Oto ca?o?c skryptu...tylko jednego postiona xyz nie zmienia?em bo nei wiem o co kaman :D

Kod:
-- 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=1658, y=351, z=13, stackpos=253} 
 player1 = getThingfromPos(player1pos) 

 player2pos = {x=1659, y=351, z=13, stackpos=253} 
 player2 = getThingfromPos(player2pos) 

 player3pos = {x=1660, y=351, z=13, stackpos=253} 
 player3 = getThingfromPos(player3pos) 

 player4pos = {x=1661, y=351, 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,987) 
      queststatus2 = getPlayerStorageValue(player2.uid,987) 
      queststatus3 = getPlayerStorageValue(player3.uid,987) 
      queststatus4 = getPlayerStorageValue(player4.uid,987) 

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

    demon1pos = {x=1659, y=339, z=13} 
    demon2pos = {x=1661, y=339, z=13} 
    demon3pos = {x=1660, y=343, z=13} 
    demon4pos = {x=1662, y=343, z=13} 
    demon5pos = {x=1663, y=341, z=13} 
    demon6pos = {x=1664, y=341, z=13} 
  
   doSummonCreature("Demon", demon1pos) 
   doSummonCreature("Demon", demon2pos) 
   doSummonCreature("Demon", demon3pos) 
   doSummonCreature("Demon", demon4pos) 
   doSummonCreature("Demon", demon5pos) 
   doSummonCreature("Demon", demon6pos) 

    nplayer1pos = {x=1659, y=341, z=13} 
    nplayer2pos = {x=1660, y=341, z=13} 
    nplayer3pos = {x=1661, y=341, z=13} 
    nplayer4pos = {x=1662, y=341, 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 
[color=green]-- Here is the code start: 
starting={x=454, y=578, z=9, stackpos=253} 
checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos} 
ending={x=472, y=584, z=9, 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=471, y=563, z=9} 
current=0 
repeat 
current=current+1 
doTeleportThing(monster[current],trash) 
until current>=totalmonsters 
doTransformItem(item.uid,1946) 
end [/color]
-- Here is the end of it 

end 
end 
if item.uid == 5001 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 == 5002 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 == 5003 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 == 5004 then 
 queststatus = getPlayerStorageValue(cid,100) 
 if queststatus ~= 1 then 
  doPlayerSendTextMessage(cid,22,"You have found a thunder hammer.") 
  doPlayerAddItem(cid,2421,1) 
  setPlayerStorageValue(cid,100,1) 
 else 
  doPlayerSendTextMessage(cid,22,"It is empty.") 
 end 
 end 
 return 1 
end

a tak mam w actions.xml
Kod:
<action uniqueid="5000" script="anni.lua" />
<action uniqueid="5001" script="annichest.lua" />
<action uniqueid="5002" script="annichest.lua" />
<action uniqueid="5003" script="annichest.lua" />
<action uniqueid="5004" script="annichest.lua" />

Dodam, ?e w moim silniku mia?em jesczze taki skrypt, nei wiem czy jest on powi?zany. Jeszcze jest inny skrypt o nazwie: anihilator
Kod:
-- annihilator lever

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

   	if item.uid == 7000 and item.itemid == 1945 then
		player1pos = {x=1658, y=351, z=13, stackpos=253}
		player1 = getThingfromPos(player1pos)

		player2pos = {x=1659, y=351, z=13, stackpos=253}
		player2 = getThingfromPos(player2pos)

		player3pos = {x=1660, y=351, z=13, stackpos=253}
		player3 = getThingfromPos(player3pos)

		player4pos = {x=1661, y=351, z=13, stackpos=253}
		player4 = getThingfromPos(player4pos)


		if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then
			queststatus1 = getPlayerStorageValue(player1.uid,7000)
			queststatus2 = getPlayerStorageValue(player2.uid,7000)
			queststatus3 = getPlayerStorageValue(player3.uid,7000)
			queststatus4 = getPlayerStorageValue(player4.uid,7000)

			if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 and queststatus4 == -1 then
				nplayer1pos = {x=1659, y=341, z=13}
				nplayer2pos = {x=1660, y=341, z=13}
				nplayer3pos = {x=1661, y=341, z=13}
				nplayer4pos = {x=1662, y=341, 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,item.itemid+1)
			else
				doPlayerSendCancel(cid,"Somebody in your team has already done this quest.")
			end
		else
			doPlayerSendCancel(cid,"You need four players for this quest.")
		end

	elseif item.uid ==7000 and item.itemid == 1946 then
		if getPlayerAccess(cid) > 0 then
			doTransformItem(item.uid,item.itemid-1)
		else
			doPlayerSendCancel(cid,"Sorry, not possible.")
		end
	else
		return 0
	end

	return 1
end

kolo zielony oznacza w kt?rym miejscu nie zmienia?em postion
 
Ostatnia edycja:
Odp: Anni Quest

Skopiuj mi linijke kt?rego xyz nie uzupe?ni?e? to ci powiem co i jak ;]
Co do b??d?w z konsoli to :
PHP:
luaGetThingFromPos() Tile not found
S? tylko 4 takie zmiennie w skrypcie i jest 4 player?w wi?c :
PHP:
layer1pos = {x=1658, y=351, z=13, stackpos=253}
		player1 = getThingfromPos(player1pos)
		player2pos = {x=1659, y=351, z=13, stackpos=253}
		player2 = getThingfromPos(player2pos)
		player3pos = {x=1660, y=351, z=13, stackpos=253}
		player3 = getThingfromPos(player3pos)
		player4pos = {x=1661, y=351, z=13, stackpos=253}
		player4 = getThingfromPos(player4pos)
[phpPlayer1pos = xyz
Getthingfrompos(player1pos)[/php]
Je?eli namiary na player1,2,3,4position s? z?e b??dy b?d? wyskakiwa?,w tych miejscach domy?lnie powinny by? zapadnie wi?c zadbaj o to ;]
Nic tu nie jest powi?zane :
PHP:
if item.uid == 5001 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)
PHP:
if item unique id = 5001 then ....   doPlayerSendTextMessage(cid,22,"You have found a demon armor.")
=
PHP:
 Je?eli uniqueid skrzyni = 5001 to wy?lij graczowi wiadomo?? "Znalaz?e? Demon Armor",Dodaj graczowi przedmiot "Demon Armor"
Je?eli nic nie mo?esz wzi??? ze skrzyni prawdopodobnie nie da?e? skrzyniom odpowiedniego uniqueid w map editorze,a to jest :
PHP:
--5000 = The dzwignia
--5001 = Demon Armor skrzynia
--5002 = Magic Sword skrzynia
--5003 = Stonecutter Axe skrzynia
--5004 = Present skrzynia
Pozdro
doPlayerAddItem(cid,2494,1)
 
Ostatnia edycja:
Status
Zamknięty.
Back
Do góry