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

Some Requests Scripts

Sir Islam

Never Give Up
Joined
Jun 6, 2008
Messages
504
Solutions
1
Reaction score
117
Location
Suez , Egypt
First Script :
Use XX item then Summon Creature Convince (pet ) and > you cant use in pz :
if have summon > You can have only one summon :
if pet die > you have to Wait 20 sec to summon again :

Secondly Script :
Use xxx Item then player get freeze 10 sec then Teleport to {x=xxx, y=xxx, z=x} after Teleport > doCreatureSay ( Teleport )
than Cancel Teleport if player get Battle
if player have Battle > You Cannot Teleport Right After A Battle
you have to Wait 20 sec to use it again

i use this script


Code:
function countDown(number, pos, effect, msgonend, effectonend)
  local n = number
       for i = 1, number do
           addEvent(doSendAnimatedText,i* 1000, pos, n > 1 and n.."" or msgonend .."", n < 6 and TEXTCOLOR_RED or TEXTCOLOR_GREEN)
		   addEvent(doSendMagicEffect,i* 1000, pos, n > 1 and effect or effectonend )

              n = n -1
	   end
      n = number
return true
end
function onUse(cid, item, fromPosition, itemEx, toPosition)

 if isPlayerPzLocked(cid) then
    doPlayerSendCancel(cid,"You Cannot Teleport Right After A Battle!.")
 else
    countDown(10, getThingPos(cid), 5, "Teleport!", 2)
	doCreatureSetNoMove(cid, 1)
	addEvent(doTeleportThing,10000,cid,getTownTemplePosition(getPlayerTown(cid)),FALSE)
	addEvent(doCreatureSetNoMove,10000,cid, 0)
	addEvent(doSendMagicEffect,10004,getTownTemplePosition(getPlayerTown(cid)), 10)



  end
return true
end


Thirdly Script :
solved by Cyro


Fourth Script :

Rich Set Upgrader

i use this script Rich Set Upgrader but this clone items this item name ( Rich Set Upgrader ) use in Rich set then Upgrader to anther items like Upgrade Rich helmet

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

	if item.itemid == 8306 then 
   
        if getPlayerItemCount(cid,2496,1) < 200 then
            doPlayerAddItem(cid,2501,1)
			doPlayerRemoveItem(cid,8306,1)
			doPlayerRemoveItem(cid,2496,1)
			doPlayerSendTextMessage(cid,21,"Your Rich Helmet has been upgraded!")

	elseif item.itemid == 8306 then 
   
        if getPlayerItemCount(cid,2505,1) < 200 then
			doPlayerAddItem(cid,2503,1)
			doPlayerRemoveItem(cid,8306,1)
			doPlayerRemoveItem(cid,2505,1)
			doPlayerSendTextMessage(cid,21,"Your Rich Armor has been upgraded!")
	
	elseif item.itemid == 8306 then 
   
        if getPlayerItemCount(cid,2507,1) < 200 then
			doPlayerAddItem(cid,2504,1)
			doPlayerRemoveItem(cid,8306,1)
			doPlayerRemoveItem(cid,2507,1)
			doPlayerSendTextMessage(cid,21,"Your Rich Legs has been upgraded!")

	elseif item.itemid == 8306 then 
   
        if getPlayerItemCount(cid,2538,1) < 200 then
			doPlayerAddItem(cid,8905,1)
			doPlayerRemoveItem(cid,8306,1)
			doPlayerRemoveItem(cid,2538,1)
			doPlayerSendTextMessage(cid,21,"Your Rich Shield has been upgraded!")
	
		elseif item.itemid == 8306 then 

        if getPlayerItemCount(cid,2641,1) < 200 then
			doPlayerAddItem(cid,2358,1)
			doPlayerRemoveItem(cid,8306,1)
			doPlayerRemoveItem(cid,2641,1)
			doPlayerSendTextMessage(cid,21,"Your Rich Boots has been upgraded!")
	
			elseif item.itemid == 8306 then 

        if getPlayerItemCount(cid,5907,1) < 200 then
			doPlayerAddItem(cid,7438,1)
			doPlayerRemoveItem(cid,8306,1)
			doPlayerRemoveItem(cid,5907,1)
			doPlayerSendTextMessage(cid,21,"Your Rich Slingshot has been upgraded!")
	

	
			elseif item.itemid == 8306 then 

        if getPlayerItemCount(cid,7417,1) < 200 then
			doPlayerAddItem(cid,8931,1)
			doPlayerRemoveItem(cid,8306,1)
			doPlayerRemoveItem(cid,7417,1)
			doPlayerSendTextMessage(cid,21,"Your Rich Sword has been upgraded!")
	
			elseif item.itemid == 8306 then 

        if getPlayerItemCount(cid,7429,1) < 200 then
            doPlayerAddItem(cid,2437,1)
			doPlayerRemoveItem(cid,8306,1)
			doPlayerRemoveItem(cid,7429,1)
			doPlayerSendTextMessage(cid,21,"Your Rich Club has been upgraded!")
	
			elseif item.itemid == 8306 then 

        if getPlayerItemCount(cid,8924,1) < 200 then
            doPlayerAddItem(cid,8926,1)
			doPlayerRemoveItem(cid,8306,1)
			doPlayerRemoveItem(cid,8924,1)
			doPlayerSendTextMessage(cid,21,"Your Rich Axe has been upgraded!")
	
			elseif item.itemid == 8306 then 

        if getPlayerItemCount(cid,7424,1) < 200 then
			doPlayerAddItem(cid,7958,1)
			doPlayerRemoveItem(cid,8306,1)
			doPlayerRemoveItem(cid,7424,1)
			doPlayerSendTextMessage(cid,21,"Your Rich Mage has been upgraded!")
	
	
       else
           doPlayerSendCancel(cid, "This Item You Try To Uprgade Not Rich !")
       end
end
end
end
end
end
end
end
end
end
   
       return 1
   end



when i put items in The ground and use Rich Set Upgrader on any items in or not in script will clone items from script and no remove Rich Set Upgrader so clone

and doPlayerSendCancel(cid, "This Item You Try To Uprgade Not Rich!") not work because i can use on any items

and for understand


when use item Rich Set Upgrader id ( 8306 ) on item Rich helmet id ( 2496 )
than add player item Upgrade Rich helmet id ( 2501 )
than remove items Rich Set Upgrader id ( 8306 ) and Rich helmet id ( 2496 )

sorry for bad English


:rolleyes:
 
Last edited:
Although i do not want to be an ass about things, but i see that you have been a member of otland since 2008 and have been requesting alot of scripts. The first request you have on this page is very easy to script and i feel like you have not put forth any effort in making it. So having that said, i encourage you to try learning the basics of scriptings etc, and if you are willing to put forth the effort to do some, then i am willing to help the rest of the way.
 
Edit;

made the thread script worked perfectly on TFS 0.4, but didn't send animated text cause its tibia version 9.1+ and btw I added exhaust too :)

LUA:
-- Requested by smsm20062 "if player said !teleport player get freezed for 20 sec, and then teleported to {x=xxx, y=xxx, z=x}" I made it to his town position. way better " and CAN be used in pz or battle.  I added exhaust to the script.

function onSay(cid, words, param, channel)
	if getPlayerLevel(cid) >= 1 then
		doCreatureSetNoMove(cid, 1)
			addEvent(doTeleportThing,20000,cid,getTownTemplePosition(getPlayerTown(cid)),FALSE)
				addEvent(doCreatureSetNoMove,20000,cid, 0)
					addEvent(doSendMagicEffect,20004,getTownTemplePosition(getPlayerTown(cid)), 10)
						elseif(getPlayerStorageValue(cid, 1337) > os.time() and getPlayerStorageValue(cid, 1337) < 100+os.time()) then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "You must wait another " .. getPlayerStorageValue(cid, 1337) - os.time() .. ' second' .. ((getPlayerStorageValue(cid, 1337) - os.time()) == 1 and "" or "s") .. " to cast this spell again")
	end
		return true
	end

Can u say what is the problem with the second script tho?
 
Last edited:
Edit;

made the thread script worked perfectly on TFS 0.4, but didn't send animated text cause its tibia version 9.1+, or the problem is with the TFS version I can't remember :D, and btw I added exhaust too :)

LUA:
-- Requested by smsm20062 "if player said !teleport player get freezed for 20 sec, and then teleported to {x=xxx, y=xxx, z=x}" I made it to his town position. way better " and CAN be used in pz or battle.  I added exhaust to the script.

function onSay(cid, words, param, channel)
			if getPlayerLevel(cid) >= 1 then
				doCreatureSetNoMove(cid, 1)
					addEvent(doTeleportThing,20000,cid,getTownTemplePosition(getPlayerTown(cid)),FALSE)
						addEvent(doCreatureSetNoMove,20000,cid, 0)
							addEvent(doSendMagicEffect,20004,getTownTemplePosition(getPlayerTown(cid)), 10)
								elseif(getPlayerStorageValue(cid, 1337) > os.time() and getPlayerStorageValue(cid, 1337) < 100+os.time()) then
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "You must wait another " .. getPlayerStorageValue(cid, 1337) - os.time() .. ' second' .. ((getPlayerStorageValue(cid, 1337) - os.time()) == 1 and "" or "s") .. " to cast this spell again")
													end
														return true
													end

Can u say what is the problem with the second script tho?




ty a lot work good reb u
 
If u set unique ids for the items and use

doRemoveItem(theuniqueid, 1)

It will work

about the second script:

LUA:
function countDown(number, pos, effect, msgonend, effectonend)
  local n = number
       for i = 1, number do
           addEvent(doSendAnimatedText,i* 1000, pos, n > 1 and n.."" or msgonend .."", n < 6 and TEXTCOLOR_RED or TEXTCOLOR_GREEN)
		   addEvent(doSendMagicEffect,i* 1000, pos, n > 1 and effect or effectonend )
 
              n = n -1
	   end
      n = number
return true
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
 
 if isPlayerPzLocked(cid) and if (getTilePzInfo(getCreaturePosition(cid)) == true) then
    doPlayerSendCancel(cid,"You can't create a teleport right after a battle or while being in pz.")
	elseif(getPlayerStorageValue(cid, 2012) > os.time() and getPlayerStorageValue(cid, 2012) < 100+os.time()) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "You must wait another " .. getPlayerStorageValue(cid, 2012) - os.time() .. ' second' .. ((getPlayerStorageValue(cid, 2012) - os.time()) == 1 and "" or "s") .. " to use the teleport again")
 else
    countDown(10, getThingPos(cid), 5, "Teleport!", 2)
	doCreatureSetNoMove(cid, 1)
	addEvent(doTeleportThing,10000,cid,getTownTemplePosition(getPlayerTown(cid)),FALSE)
	addEvent(doCreatureSetNoMove,10000,cid, 0)
	addEvent(doSendMagicEffect,10004,getTownTemplePosition(getPlayerTown(cid)), 10)
 
 
 
  end
return true
end

Try this.. "didn't do the if player attacked then it will delete the teleport thingy".

Edit; I made a mistake use it now and u won't get errors :)
 
Last edited:
Edit;
LUA:
-- Requested by smsm20062 "if player said !teleport player get freezed for 20 sec, and then teleported to {x=xxx, y=xxx, z=x}" I made it to his town position. way better " and CAN be used in pz or battle.  I added exhaust to the script.

function onSay(cid, words, param, channel)
			if getPlayerLevel(cid) >= 1 then
				doCreatureSetNoMove(cid, 1)
					addEvent(doTeleportThing,20000,cid,getTownTemplePosition(getPlayerTown(cid)),FALSE)
						addEvent(doCreatureSetNoMove,20000,cid, 0)
							addEvent(doSendMagicEffect,20004,getTownTemplePosition(getPlayerTown(cid)), 10)
								elseif(getPlayerStorageValue(cid, 1337) > os.time() and getPlayerStorageValue(cid, 1337) < 100+os.time()) then
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "You must wait another " .. getPlayerStorageValue(cid, 1337) - os.time() .. ' second' .. ((getPlayerStorageValue(cid, 1337) - os.time()) == 1 and "" or "s") .. " to cast this spell again")
		end
			return true
		end

Can u say what is the problem with the second script tho?

Wtf is up with ur tabbing omg
 
Back
Top