fodev.net

Other => FOnline:2238 Forum => Archives => Suggestions => Topic started by: blahblah on February 22, 2012, 06:54:42 am

Title: A way to prevent obvious stealing.
Post by: blahblah on February 22, 2012, 06:54:42 am
As posted in another thread, here is my suggestion:

Add a simple system where you click on the player (like the karma buttons) and select "thief" and if you have this person selected as a thief (you can only have 1 person at a time, or maybe 2. Selecting a new person makes the last person stop being selected) then he will always fail stealing because your character carefully observes him.
With this solution, thieves coming in by surprise can seal from you, but if there is an annoying guy running around you for 2 minutes he cannot do anything because you EXPECT him to steal so you prevent it. Simple and doesn't break real stealing, only the annoying troll-thieves who prevent you from trading.
Title: Re: A way to prevent obvious stealing.
Post by: Catoptromancy on February 22, 2012, 07:22:05 am
1 person at a time, or maybe 2.

Fast relog.
Title: Re: A way to prevent obvious stealing.
Post by: Perteks on February 22, 2012, 10:00:38 am
Actually not soo stupid idea
Title: Re: A way to prevent obvious stealing.
Post by: Michaelh139 on February 28, 2012, 08:29:54 pm
Not too bad...
Title: Re: A way to prevent obvious stealing.
Post by: blahblah on February 28, 2012, 08:39:18 pm
Fast relog.

This is not supposed to stop thieves. This is supposed to stop people who follow you around town for minutes, preventing you from trading because you KNOW this person will steal from you the moment you stop to trade, so you move around and they follow you and it's stupid. Thieves should be about attacking from surprise, not following you with obvious intentions.
Title: Re: A way to prevent obvious stealing.
Post by: Linoleum on March 03, 2012, 12:29:46 pm
We need an upvote button for these forums, I give you +1 good sir
Title: Re: A way to prevent obvious stealing.
Post by: smoothjesus on March 04, 2012, 06:04:55 am
It's been suggested before, not to say it's a bad suggestion just that it wasn't implemented.

I'd add that if they leave your line of sight their thief status should be cleared.
Title: Re: A way to prevent obvious stealing.
Post by: z0m2h14 on March 04, 2012, 09:54:12 am
It is not so hard to implement:

in  client_main.fos,  right after strings
Code: [Select]
// Additional description
if(lookType==CRITTER_LOOK_FULL)
{
include string
Code: [Select]
if (cr.IsPlayer()) RunServerScriptUnsafe("unsafe@unsafe_CheckedOut", cr.Id, 0, 0, null, null);that will run server script every time you look at player with "binoculars" (standart action from context menu)

then in some module where devs keeping  unsafe scripts  for example in unsafe.fos  we making function

Code: [Select]
void unsafe_CheckedOut(Critter& player, int crId, int param1, int param2, string@ param3, int[]@ param4)
{
player.ParamBase[ST_VAR6]=player.Param[ST_VAR5];
player.ParamBase[ST_VAR5]=crId;
}
that will write Id of last two chars that player was checking

then in main.fos (if thieft script still there)  we making additional line
Code: [Select]
if(thief.Id == cr.Param[ST_VAR5] || thief.Id == cr.Param[ST_VAR6]) success=false;that will auto falure stealing if thief char was one of two "remembered" by victum

so basicaly thats all needed for such feature,  but it is better to make new variables instead of using ST_VAR5 and ST_VAR6
Title: Re: A way to prevent obvious stealing.
Post by: blahblah on March 04, 2012, 10:06:35 am
Thank you z0m2h14 for explaining how to do it. If it was a deleted suggestion then I'm sad. It's a very simple solution that affects only thieves who are obnoxious and doesn't affect people who plan ahead.