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

Thief system ideas

Icaraii

Well-Known Member
Joined
Jan 5, 2020
Messages
469
Solutions
1
Reaction score
58
Hello guys, could you guys give me a few thief system ideas? I have a few ideas but I have no idea how to do it on tibia engine. For example, the player can enter stealthly in a store and take the values, but if he gets caught he would go to jail. In jail he needs to find a way out. But I have no idea how to do the "get caught" part in tibia engine.

Also do you guys have any suggestion to how should lockpicking work?

All ideas are welcome.
 
Last edited:
Hello guys, could you guys give me a few thief system ideas? I have a few ideas but I have no idea how to do it on tibia engine. For example, the player can enter stealthly in a store and take the values, but if he gets caught he would go to jail. In jail he needs to find a way out. But I have no idea how to do the "get caught" part in tibia engine.
All ideas are welcome.
Use the invisibility of spell or stealth ring and set a movement id in specific sqms from stores where you should be forced to pass on in order to "steal" anything in the back of the store, so everytime you want to pass through that sqm it should check if you have invisible flag or not:

A) If you are not invisible, go to jail or teleport you back to the store's door.
B) If invisible, add a math.random() so you decide what's your success probability (1/4 i.e = 25%), so even invisible you might still get caught and send to the jail 75% of the time.
You might of course add more tiles with checks for that, traps, etc. That's what came to my mind briefly.
 
You could create a new flag for your NPCs which are supposed to be monitoring for thievery and set it on them, then, in your action script which "steals" some item or movement script which moves that item from the world to the player's inventory, make it check all creatures in radius of the position item is being stolen from (getSpectators), and if any NPCs with thief monitoring flag are in range - check if they are looking towards the player.

If yes, they catch the player and do whatever you wanna do with thieves. Of course, you can also make the entire script be bypassed if the player is invisible via stealth ring or some spell if you want to, etc.
I think this is a more general approach than setting movement scripts on tiles around all of the places in the world, but you could do that too as Tetrotrificy suggested.
 
Use the invisibility of spell or stealth ring and set a movement id in specific sqms from stores where you should be forced to pass on in order to "steal" anything in the back of the store, so everytime you want to pass through that sqm it should check if you have invisible flag or not:

A) If you are not invisible, go to jail or teleport you back to the store's door.
B) If invisible, add a math.random() so you decide what's your success probability (1/4 i.e = 25%), so even invisible you might still get caught and send to the jail 75% of the time.
You might of course add more tiles with checks for that, traps, etc. That's what came to my mind briefly.
Very interesting. I was thinking to do something more active aswel, for example, if the player stand on the line of sight of a specific npc, he would be caught and send to jail.
Post automatically merged:

You could create a new flag for your NPCs which are supposed to be monitoring for thievery and set it on them, then, in your action script which "steals" some item or movement script which moves that item from the world to the player's inventory, make it check all creatures in radius of the position item is being stolen from (getSpectators), and if any NPCs with thief monitoring flag are in range - check if they are looking towards the player.

If yes, they catch the player and do whatever you wanna do with thieves. Of course, you can also make the entire script be bypassed if the player is invisible via stealth ring or some spell if you want to, etc.
I think this is a more general approach than setting movement scripts on tiles around all of the places in the world, but you could do that too as Tetrotrificy suggested.
Thats exactly what I had on my mind, but I had no idea if that was possible, thanks for showing me a way.
 
I can suggest ideas from well-known game systems:

 
Im pretty sure there is a beta of one ots which has that thief system working on NPC houses
It is plahdaria/phalmaria idk the name because i forgot but similiar to that
But instead of going to jail, on beginner island NPC hits you to red hp, on mainland NPC can kill you for stealing loot (so you need to do it with 2 people so 1 takes NPC aggro, 2nd person steal loot from NPC houses)
 
Use the invisibility of spell or stealth ring and set a movement id in specific sqms from stores where you should be forced to pass on in order to "steal" anything in the back of the store, so everytime you want to pass through that sqm it should check if you have invisible flag or not:

A) If you are not invisible, go to jail or teleport you back to the store's door.
B) If invisible, add a math.random() so you decide what's your success probability (1/4 i.e = 25%), so even invisible you might still get caught and send to the jail 75% of the time.
You might of course add more tiles with checks for that, traps, etc. That's what came to my mind briefly.

Maybe if A), the NPC just tells you that you are not allowed to enter and you just get stopped. But if your ring/spell runs out while inside the area something would happen.

B) could also be a module window popping up giving you simple math questions such as which is bigger 4/5 or 5/4 and stuff like this. if you fail the your "lockpick" breaks, you make a noise and gets noticed
 
CALLBACK_CREATURE_APPEAR - start an event that checks npc:getDirection(), the creatures' position, a defined line/scope of sight, maybe this can be tiered depending on the alertness of the NPC
CALLBACK_CREATURE_DISAPPEAR - end the event
CALLBACK_CREATURE_SAY - include something to catch thieves if they speak

In addition to the above, I'd probably start calculating a rolling ~3-5 second tile-per-second movement average for each character generally, and then use that variable inside the NPC event too (move too fast makes too much sound so you get caught)

That is the direction i'd probably try to take anyway!
 
Im pretty sure there is a beta of one ots which has that thief system working on NPC houses
It is plahdaria/phalmaria idk the name because i forgot but similiar to that
But instead of going to jail, on beginner island NPC hits you to red hp, on mainland NPC can kill you for stealing loot (so you need to do it with 2 people so 1 takes NPC aggro, 2nd person steal loot from NPC houses)
Interesting aswel
Post automatically merged:

Maybe if A), the NPC just tells you that you are not allowed to enter and you just get stopped. But if your ring/spell runs out while inside the area something would happen.

B) could also be a module window popping up giving you simple math questions such as which is bigger 4/5 or 5/4 and stuff like this. if you fail the your "lockpick" breaks, you make a noise and gets noticed
Yeah I don't think there is another way to do the lockpicking
Post automatically merged:

CALLBACK_CREATURE_APPEAR - start an event that checks npc:getDirection(), the creatures' position, a defined line/scope of sight, maybe this can be tiered depending on the alertness of the NPC
CALLBACK_CREATURE_DISAPPEAR - end the event
CALLBACK_CREATURE_SAY - include something to catch thieves if they speak

In addition to the above, I'd probably start calculating a rolling ~3-5 second tile-per-second movement average for each character generally, and then use that variable inside the NPC event too (move too fast makes too much sound so you get caught)

That is the direction i'd probably try to take anyway!
That's something I like, I feel more imersive that way
 
Sometimes I wonder if you guys play any Tibia at all. It's full of thiefs.
 
how come no one mentioned runescape thieving skill? :D

 
Make a monster what cannot see invisible, that monster casts every second a aoe spell. If non-invisible player is in that spell's range then that player is teleported to xyz.
Spell needs a loop to check tiles for players and another loop to check for stacks of players on one tile. Quite simple.

In monster xml file you can make it have invisible health bar and name, and also you can make it untargetable. For players it would looks like a normal item or wall.

On my server lockpicking is quite simple. You can train it from 0-100. You are able to open doors without keys what have actionid 100 times higher then your lockpicking skill. For example Black Knight key is actionid 5010. So you need atleast 51 lockpicking skill (5010 / 100 = 50.1 rounded up = 51)
 
Last edited:
Make a monster what cannot see invisible, that monster casts every second a aoe spell. If non-invisible player is in that spell's range then that player is teleported to xyz.
Spell needs a loop to check tiles for players and another loop to check for stacks of players on one tile. Quite simple.

In monster xml file you can make it have invisible health bar and name, and also you can make it untargetable. For players it would looks like a normal item or wall.

On my server lockpicking is quite simple. You can train it from 0-100. You are able to open doors without keys what have actionid 100 times higher then your lockpicking skill. For example Black Knight key is actionid 5010. So you need atleast 51 lockpicking skill (5010 / 100 = 50.1 rounded up = 51)
Very interesting, but the monster would follow the player, wouldn't it?
 
Back
Top