• 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!

Some things i need help on

God Sallonzo

New Member
Joined
Feb 17, 2008
Messages
124
Reaction score
2
Location
The Netherlands
hello can someone help me one the following things.

1. need script that malak sells bp mana fluid
2. need someone to fix my anni chest script.

thats all

AND DONT TELL ME I NEED TO LOOK IN FORUM AND ALL THAT BULLSHIT BECAUSE I ALREADY DID AND I CANT FIND ANYTHING:mad:
 
Heres a finished anni script, got the positions for STORMS rl tibia map, works for 8.0 and 8.1 TFS and evolution:
EDIT: This is my own anni script, I have removed teddy bear and replaced with a club weapon.
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=1632, y=425, z=13, stackpos=253}
 player1 = getThingfromPos(player1pos)

 player2pos = {x=1633, y=425, z=13, stackpos=253}
 player2 = getThingfromPos(player2pos)

 player3pos = {x=1634, y=425, z=13, stackpos=253}
 player3 = getThingfromPos(player3pos)

 player4pos = {x=1635, y=425, 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=1632, y=423, z=14}
	demon2pos = {x=1634, y=423, z=14}
	demon3pos = {x=1633, y=427, z=14}
	demon4pos = {x=1635, y=427, z=14}
	demon5pos = {x=1636, y=425, z=14}
	demon6pos = {x=1637, y=425, z=14}
 
   doSummonCreature("Demon", demon1pos)
   doSummonCreature("Demon", demon2pos)
   doSummonCreature("Demon", demon3pos)
   doSummonCreature("Demon", demon4pos)
   doSummonCreature("Demon", demon5pos)
   doSummonCreature("Demon", demon6pos)

	nplayer1pos = {x=1632, y=425, z=14}
	nplayer2pos = {x=1633, y=425, z=14}
	nplayer3pos = {x=1634, y=425, z=14}
	nplayer4pos = {x=1635, y=425, z=14}

   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,"Someone has already done this quest")
	end
   else
	doPlayerSendCancel(cid,"Your level is too low")
   end
  else
  doPlayerSendCancel(cid,"You need 4 players in your team.")
  end
 end
 if item.itemid == 1945 then
-- Here is the code start:
starting={x=1632, y=423, z=14, stackpos=253}
checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos}
ending={x=1638, y=428, z=14, 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 magic stone club!")
  doPlayerAddItem(cid,7414,1)
  setPlayerStorageValue(cid,100,1)
 else
  doPlayerSendTextMessage(cid,22,"It is empty.")
 end
 end
 return 1
end

And you need a script for an npc that sells backpacks of runes instead of normal charges?
This script sells backpacks of all kinds of runes. [but this is for 8.0] But all you gotta do is to change the ids for the manafluids to the 8.1 manapotions etc and it works:
Code:
local focus = 0
local talk_start = 0
local target = 0
local following = false
local attacking = false

function onThingMove(creature, thing, oldpos, oldstackpos)

end


function onCreatureAppear(creature)

end


function onCreatureDisappear(cid, pos)
  	if focus == cid then
          selfSay('Good bye then.')
          focus = 0
          talk_start = 0
  	end
end


function onCreatureTurn(creature)

end


function msgcontains(txt, str)
  	return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end


function onCreatureSay(cid, type, msg)
  	local msg = string.lower(msg)

  	if msgcontains(msg, 'hi') and focus == 0 and getDistanceToCreature(cid) < 4 then
  		selfSay('Hello ' .. creatureGetName(cid) .. '! I sell runes, wands, rods, and whole bps with runes.')
  		focus = cid
  		talk_start = os.clock()

  	elseif msgcontains(msg, 'hi') and focus ~= cid and getDistanceToCreature(cid) < 4 then
  		selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.')

	elseif focus == cid then
		talk_start = os.clock()

		if msgcontains(msg, 'runes') then
			selfSay('I sell bp hmms (0.5k), bp uhs (2k), bp gfbs (2k), bp explosions (2.5k), bp sds (4k), bp manafluids (1k), bp lifefluids (2k), bp blank runes (200gps), remember to say (bp sds) bp sd!')
		elseif msgcontains(msg, 'wands') then
			selfSay('I sell wand of inferno (2k), plague (100gp), cosmic energy (500gp), and dragonbreath (1gp).')
		elseif msgcontains(msg, 'rods') then
			selfSay('I sell quagmire (500gp), snakebite (1gp), tempest (2k), volcanic (100gp) and moonlight rod (free).')

		elseif msgcontains(msg, 'inferno') then
			buy(cid,2187,getCount(msg),2000)
		elseif msgcontains(msg, 'plague') then
			buy(cid,2188,getCount(msg),100)
		elseif msgcontains(msg, 'cosmic energy') then
			buy(cid,2189,getCount(msg),500)
		elseif msgcontains(msg, 'dragonbreath') then
			buy(cid,2191,getCount(msg),1)

		elseif msgcontains(msg, 'quagmire') then
			buy(cid,2181,getCount(msg),500)
		elseif msgcontains(msg, 'tempest') then
			buy(cid,2183,getCount(msg),2000)
		elseif msgcontains(msg, 'volcanic') then
			buy(cid,2185,getCount(msg),500)
		elseif msgcontains(msg, 'moonlight') then
			buy(cid,2186,getCount(msg),1)

		elseif msgcontains(msg, 'bp sds') then
			buyContainer(cid,2003,2268,3,4000)
			
                elseif msgcontains(msg, 'bp hmms') then
			buyContainer(cid,2001,2311,15,500)			
                
                elseif msgcontains(msg, 'bp manafluids') then
			buyContainer(cid,3940,2006,7,1000)
                
                elseif msgcontains(msg, 'bp lifefluids') then
			buyContainer(cid,2000,2006,10,2000)                
                
                elseif msgcontains(msg, 'bp uhs') then
			buyContainer(cid,2002,2273,3,2000)		
 		
                elseif msgcontains(msg, 'bp gfbs') then
			buyContainer(cid,2000,2304,9,2000)               
		
                elseif msgcontains(msg, 'bp explosions') then
			buyContainer(cid,2001,2313,9,2500)                
 		
                elseif msgcontains(msg, 'bp blank') then
			buyContainer(cid,1988,2260,1,200)
		
		elseif msgcontains(msg, 'bp magic walls') then
			buyContainer(cid,1999,2293,3,500)
		
		elseif msgcontains(msg, 'bp fire bombs') then
			buyContainer(cid,2000,2305,6,500)
	
		elseif msgcontains(msg, 'bp destroy fields') then
			buyContainer(cid,2003,2261,9,500)               
                

		elseif string.find(msg, '(%a*)bye(%a*)') and getDistanceToCreature(cid) < 4 then
			selfSay('Good bye, ' .. creatureGetName(cid) .. '!')
			focus = 0
			talk_start = 0
		end
	end
end

function onCreatureChangeOutfit(creature)

end


function onThink()
  	if (os.clock() - talk_start) > 30 then
  		if focus > 0 then
  			selfSay('Next Please...')
  		end
		
		focus = 0
  	end
	
 	if focus ~= 0 then
 		if getDistanceToCreature(focus) > 4 then
 			selfSay('Good bye then.')
 			focus = 0
 		end
 	end
	
end

If my help is helpful to you, please REP me. :)

Its not my own, but I have edited it by removing the teddy bear with a club weapon, the thanks goes to GriZzm0 and Tworn!
I don't make any scripts at all, I just knows the keys ctrl c and ctrl v :)
 
Last edited:
Back
Top