• 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]Banshee Quest Tiles

Nottinghster

Tibia World RPG Developer
Joined
Oct 24, 2007
Messages
1,618
Solutions
6
Reaction score
537
Location
Brazil - Rio de Janeiro
GitHub
Nottinghster
Hello guys, I'm finishing my The Queen of the Banshees Quest and I need only 1 script, look the picture

3rd_seal.PNG


Step on theses tiles and then you can step on fire and you'll be teleported to determined position....

Can someone do this code?
I will be very grateful.
 
Code:
local cfg = {
	backpos = (x=100, y=100, z=7),
	msg = Fail!,
	effect = CONST_ME_TELEPORT
	}

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
	if isPlayer(cid) then
		doTeleportThing(cid, backpos) and doCreatureSay(cid, "..cfg.msg..", TALKTYPE_ORANGE_1) and doSendMagicEffect(getCreaturePosition(cid), cfg.effect)
		return true
	end
end

Assign a unique id for every tile except the path you want, and add this script to movements.
 
@Up
Of course he didnt undertand, you didnt explain it very well -.-!

You want the code for the player to be teleported when he step on the blue fire? or you want the code for the player to get teleported when he step on the wrong tile?
 
Code:
local cfg = {
	backpos = (x=100, y=100, z=7),
	msg = Fail!,
	effect = CONST_ME_TELEPORT
	}

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
	if isPlayer(cid) then
		doTeleportThing(cid, backpos) and doCreatureSay(cid, "..cfg.msg..", TALKTYPE_ORANGE_1) and doSendMagicEffect(getCreaturePosition(cid), cfg.effect)
		return true
	end
end

Assign a action id for every tile except the path you want, and add this script to movements.

As I clearly stated, use this script and put it for all the tiles EXCEPT the path you want.. it's not really as difficult as your making it to be.
 
in real banshee quest this will happen, so I guess it's that he want:
when you walk on the wrong tile you get teleported in front of the first "correct" tile and a red shimmer appears on you. If you walk on the correct tile a green shimmer will appear on you and you can keep walking(I think it's green, else it red on correct tiles and green on wrong).

so I think this would be correct
LUA:
local cfg = {
	fail_pos = (x=100, y=100, z=7), -- Pos to get teleported to when you step on the wrong tile
	fail_effect = CONST_ME_MAGIC_RED, -- Effect when you step on the wrong tile
	pass_effect = CONST_ME_MAGIC_GREEN, -- Effect when you step on the correct tile
	action = 1234,
	}

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
	if isPlayer(cid) and item.actionid == cfg.action then
		doTeleportThing(cid, cfg.fail_pos)
		doSendMagicEffect(getCreaturePosition(cid), cfg.fail_effect)
	else
		doSendMagicEffect(getCreaturePosition(cid), cfg.correct_effect)
	end
return true
end
but it will maybe make the correct_effect on all tiles without the action id? xd

So maybe this would work if the other script is buggy
LUA:
local cfg = {
	flame_pos = {x=101, y=101, z=7), -- Pos to get teleported when you step on the blue flame
	fail_pos = (x=100, y=100, z=7), -- Pos to get teleported to when you step on the wrong tile
	fail_effect = CONST_ME_MAGIC_RED, -- Effect when you step on the wrong tile
	pass_effect = CONST_ME_MAGIC_GREEN, -- Effect when you step on the correct tile
	flame_effect = CONST_ME_TELEPORT, -- Effect when you step on the flame
	action_pass = 1234, -- Action id on the correct tiles
	action_fail = 4321, -- Action id on the fail tiles
	action_flame = 2345, -- Action id on the flame
	}

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
	if isPlayer(cid) and item.actionid == cfg.action_fail then
		doTeleportThing(cid, cfg.fail_pos)
		doSendMagicEffect(getCreaturePosition(cid), cfg.fail_effect)
	end
	
		if isPlayer(cid) and item.actionid == cfg.action_pass then
			doSendMagicEffect(getCreaturePosition(cid), cfg.pass_effect)
		end
			
			if isPlayer(cid) and item.actionid == cfg.action_flame then
				doTeleportThing(cid, cfg.flame_pos)
				doSendMagicEffect(getCreaturePosition(cid), cfg.flame_effect)
			end
return TRUE
end
EDIT; added mystic flame teleport too
 
Last edited:
Back
Top