• 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] Fully working advanced annihilator script + summoning demons!

Hermes

dziwki kola gramy w lola
Joined
Nov 17, 2007
Messages
1,867
Reaction score
14
Location
Poland
Hi there,

I've searched the whole two forums, and found just one anhi script I've needed. But this script won't work on TFS 0.3a2, so I made this request.

I'm requesting an Annihilator script, with WORKING rewards, and with summoning/deleting demons in a room.

Thanks,
Hermes
 
Next time try searching harder for it ;)
Also.. this is setup to give 5 rewards.. as I thought it would be a little more decisive but also a little more fair to the players.. If you want just the standard 4 rewards then just delete part of the script.

Code:
-- code by Grizzm0
-- 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.
--
-- UniqueIDs used:
--
-- 5000 = The switch.
-- 5001 = Demon Armor chest.
-- 5002 = Magic Sword chest.
-- 5003 = Stonecutter Axe chest.
-- 5004 = Annihilation Bear chest.
-- 5005 =  Thunder Hammer chest.

function onUse(cid, item, frompos, item2, topos)
	if item.uid == 5000 then
		if item.itemid == 1945 then

			player1pos = {x=1229, y=1077, z=10, stackpos=253}
			player1 = getThingfromPos(player1pos)

			player2pos = {x=1228, y=1077, z=10, stackpos=253}
			player2 = getThingfromPos(player2pos)

			player3pos = {x=1227, y=1077, z=10, stackpos=253}
			player3 = getThingfromPos(player3pos)

			player4pos = {x=1226, y=1077, z=10, 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,5000)
					queststatus2 = getPlayerStorageValue(player2.uid,5000)
					queststatus3 = getPlayerStorageValue(player3.uid,5000)
					queststatus4 = getPlayerStorageValue(player4.uid,5000)

					if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 and queststatus4 == -1 then
			
						demon1pos = {x=1243, y=1072, z=11}
						demon2pos = {x=1245, y=1072, z=11}
						demon3pos = {x=1244, y=1076, z=11}
						demon4pos = {x=1246, y=1076, z=11}
						demon5pos = {x=1247, y=1074, z=11}
						demon6pos = {x=1248, y=1074, z=11}
						 
						doSummonCreature("Demon", demon1pos)
						doSummonCreature("Demon", demon2pos)
						doSummonCreature("Demon", demon3pos)
						doSummonCreature("Demon", demon4pos)
						doSummonCreature("Demon", demon5pos)
						doSummonCreature("Demon", demon6pos)

						nplayer1pos = {x=1246, y=1074, z=11}
						nplayer2pos = {x=1245, y=1074, z=11}
						nplayer3pos = {x=1244, y=1074, z=11}
						nplayer4pos = {x=1243, y=1074, z=11}

						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,"Sorry, not possible.")
					end
				else
					doPlayerSendCancel(cid,"Sorry, not possible.")
				end
			else
				doPlayerSendCancel(cid,"Sorry, not possible.")
			end
		elseif item.itemid == 1946 then
			if getPlayerAccess(cid) == 3 then
				doTransformItem(item.uid,item.itemid-1)
			else
				doPlayerSendCancel(cid,"Sorry, not possible.")
			end
		end
	elseif item.uid == 5001 then
	
		queststatus = getPlayerStorageValue(cid,5000)
		
		if queststatus == -1 then
			doPlayerSendTextMessage(cid,22,"You have found a demon armor.")
			doPlayerAddItem(cid,2494,1)
			setPlayerStorageValue(cid,5000,1)
		else
			doPlayerSendTextMessage(cid,22,"It is empty.")
		end
	elseif item.uid == 5002 then
	
		queststatus = getPlayerStorageValue(cid,5000)
		
		if queststatus == -1 then
			doPlayerSendTextMessage(cid,22,"You have found a magic sword.")
			doPlayerAddItem(cid,2400,1)
			setPlayerStorageValue(cid,5000,1)
		else
			doPlayerSendTextMessage(cid,22,"It is empty.")
		end
	elseif item.uid == 5003 then
	
		queststatus = getPlayerStorageValue(cid,5000)
		
		if queststatus == -1 then
			doPlayerSendTextMessage(cid,22,"You have found a stonecutter axe.")
			doPlayerAddItem(cid,2431,1)
			setPlayerStorageValue(cid,5000,1)
		else
			doPlayerSendTextMessage(cid,22,"It is empty.")
		end
	elseif item.uid == 5004 then
	
		queststatus = getPlayerStorageValue(cid,5000)
		
		if queststatus == -1 then
			doPlayerSendTextMessage(cid,22,"You have found a teddy bear.")
			doPlayerAddItem(cid,2326,1)
			setPlayerStorageValue(cid,5000,1)
		else
			doPlayerSendTextMessage(cid,22,"It is empty.")
		end
	elseif item.uid == 5005 then
	
		queststatus = getPlayerStorageValue(cid,5000)
		
		if queststatus == -1 then
			doPlayerSendTextMessage(cid,22,"You have found a thunder hammer.")
			doPlayerAddItem(cid,2421,1)
			setPlayerStorageValue(cid,5000,1)
		else
			doPlayerSendTextMessage(cid,22,"It is empty.")
		end
	end
	return 1
end
 
@up:
This is one of worst scripts.

@Hermi:
You could ask me for that, rofl.

Code:
local playerPosition =

{

	{x = 500, y = 755, z = 9, stackpos = STACKPOS_TOP_CREATURE},

	{x = 499, y = 755, z = 9, stackpos = STACKPOS_TOP_CREATURE},

	{x = 498, y = 755, z = 9, stackpos = STACKPOS_TOP_CREATURE},

	{x = 497, y = 755, z = 9, stackpos = STACKPOS_TOP_CREATURE}

}



local newPosition =

{

	{x=500, y=755, z=10},

	{x=499, y=755, z=10},

	{x=498, y=755, z=10},

	{x=497, y=755, z=10}

}



local demonPosition =

{

	{x=498, y=753, z=10},

	{x=500, y=753, z=10},

	{x=499, y=757, z=10},

	{x=497, y=757, z=10},

	{x=502, y=755, z=10},

	{x=501, y=755, z=10}

}



function onUse(cid, item, fromPosition, itemEx, toPosition)

	local player = {0, 0, 0, 0}

	local failed = TRUE

	local count = 0

	item.new = 1946



	if(item.itemid == 1945) then

		if(os.time(t) >= (getGlobalStorageValue(9000) + 3600)) then

			for i = 1, 4 do

				player[i] = getThingfromPos(playerPosition[i])

				if(player[i].itemid > 0) then

					if(isPlayer(player[i].uid) == TRUE) then

						if(getPlayerStorageValue(player[i].uid, 9000) <= 0) then

							if(getPlayerLevel(player[i].uid) >= 100 or getPlayerAccess(player[i].uid) >= 3) then

								failed = FALSE

								count = count + 1

							end

						end

					end

				end



				if(failed == TRUE) then

					doTransformItem(item.uid, 1946)

					return TRUE

				end

			end



			if(count == 4) then

				for i = 1, 6 do

					doSummonCreature("Demon", demonPosition[i])

				end



				for i = 1, 4 do

					doSendMagicEffect(playerPosition[i], CONST_ME_POFF)

					doTeleportThing(player[i].uid, newPosition[i], FALSE)

					doSendMagicEffect(newPosition[i], CONST_ME_ENERGYAREA)

					setPlayerStorageValue(player[i].uid, 9000, 1)

				end



				setGlobalStorageValue(9000, os.time(t))

			end

		end

	else

		item.new = 1945

	end



	doTransformItem(item.uid, item.new)

	return TRUE

end
A great Annihilator script with limit of 1 hour to get a sucessfull teleport.
 
@up:
This is one of worst scripts.

@Hermi:
You could ask me for that, rofl.

Code:
local playerPosition =

{

    {x = 500, y = 755, z = 9, stackpos = STACKPOS_TOP_CREATURE},

    {x = 499, y = 755, z = 9, stackpos = STACKPOS_TOP_CREATURE},

    {x = 498, y = 755, z = 9, stackpos = STACKPOS_TOP_CREATURE},

    {x = 497, y = 755, z = 9, stackpos = STACKPOS_TOP_CREATURE}

}



local newPosition =

{

    {x=500, y=755, z=10},

    {x=499, y=755, z=10},

    {x=498, y=755, z=10},

    {x=497, y=755, z=10}

}



local demonPosition =

{

    {x=498, y=753, z=10},

    {x=500, y=753, z=10},

    {x=499, y=757, z=10},

    {x=497, y=757, z=10},

    {x=502, y=755, z=10},

    {x=501, y=755, z=10}

}



function onUse(cid, item, fromPosition, itemEx, toPosition)

    local player = {0, 0, 0, 0}

    local failed = TRUE

    local count = 0

    item.new = 1946



    if(item.itemid == 1945) then

        if(os.time(t) >= (getGlobalStorageValue(9000) + 3600)) then

            for i = 1, 4 do

                player[i] = getThingfromPos(playerPosition[i])

                if(player[i].itemid > 0) then

                    if(isPlayer(player[i].uid) == TRUE) then

                        if(getPlayerStorageValue(player[i].uid, 9000) <= 0) then

                            if(getPlayerLevel(player[i].uid) >= 100 or getPlayerAccess(player[i].uid) >= 3) then

                                failed = FALSE

                                count = count + 1

                            end

                        end

                    end

                end



                if(failed == TRUE) then

                    doTransformItem(item.uid, 1946)

                    return TRUE

                end

            end



            if(count == 4) then

                for i = 1, 6 do

                    doSummonCreature("Demon", demonPosition[i])

                end



                for i = 1, 4 do

                    doSendMagicEffect(playerPosition[i], CONST_ME_POFF)

                    doTeleportThing(player[i].uid, newPosition[i], FALSE)

                    doSendMagicEffect(newPosition[i], CONST_ME_ENERGYAREA)

                    setPlayerStorageValue(player[i].uid, 9000, 1)

                end



                setGlobalStorageValue(9000, os.time(t))

            end

        end

    else

        item.new = 1945

    end



    doTransformItem(item.uid, item.new)

    return TRUE

end
A great Annihilator script with limit of 1 hour to get a sucessfull teleport.


Ok so I have added this, set the lever unique ID to 9000 and the monsters spawn but the players do not move
 
Back
Top