• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!

Request.

Devhir

A bit of Everything
Joined
Jul 22, 2008
Messages
135
Reaction score
0
I need help on making ani script work, i am using the ani script given with tfs 0.2 but its not working if you can help me please let me know asasp.

Thanks in Advance
 
1. Create a new Lua in Action ->Quest map

2. Copy this Script:
(All credits for this script to GriZzm0 and Tworn)
Code:
-- 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=247, y=662, z=13, stackpos=253}
player1 = getThingfromPos(player1pos)

player2pos = {x=247, y=661, z=13, stackpos=253}
player2 = getThingfromPos(player2pos)

player3pos = {x=247, y=660, z=13, stackpos=253}
player3 = getThingfromPos(player3pos)

player4pos = {x=247, y=659, 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=189, y=655, z=13}
demon2pos = {x=189, y=654, z=13}
demon3pos = {x=191, y=653, z=13}
demon4pos = {x=191, y=651, z=13}
demon5pos = {x=187, y=652, z=13}
demon6pos = {x=1064, y=650, z=13}

doSummonCreature("Demon", demon1pos)
doSummonCreature("Demon", demon2pos)
doSummonCreature("Demon", demon3pos)
doSummonCreature("Demon", demon4pos)
doSummonCreature("Demon", demon5pos)
doSummonCreature("Demon", demon6pos)

nplayer1pos = {x=189, y=653, z=13}
nplayer2pos = {x=189, y=652, z=13}
nplayer3pos = {x=189, y=651, z=13}
nplayer4pos = {x=189, y=650, z=13}

doSendMagicEffect(player1pos,2)
doSendMagicEffect(player2pos,2)
doSendMagicEffect(player3pos,2)
doSendMagicEffect(player4pos,2)

doTeleportThing(player1.uid,nplayer1pos,0)
doTeleportThing(player2.uid,nplayer2pos,0)
doTeleportThing(player3.uid,nplayer3pos,0)
doTeleportThing(player4.uid,nplayer4pos,0)

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=192, y=649, z=13, stackpos=253} 
checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos} 
ending={x=185, y=657, 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=1715, y=678, z=5} 
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 present.") 
  doPlayerAddItem(cid,2326,1) 
  setPlayerStorageValue(cid,100,1) 
 else 
  doPlayerSendTextMessage(cid,22,"It is empty.") 
 end 
 end 
 return 1 
end

3. Change all pos
Code:
player1pos = {x=247, y=662, z=13, stackpos=253} to player4pos
and
demon1pos = {x=189, y=655, z=13} to demon6pos
and then, this isn't a must but you should fix this
Code:
starting={x=192, y=649, z=13, stackpos=253} 
and
ending={x=185, y=657, z=13, stackpos=253}
This last pos I write (checking pos) change start pos to the left upper corner of your anni (there the demons are)
And set ending pos at the right lower corner, this will check the area that is inside this square(or whatever the form is)
 
Back
Top