take look at Here and Help ME

04/11/2014 04:56 blackway33#1
at first i have to say sorry for my English , then lets start
iam trying to make anti cheeet system like Harovan and Olymbs-O i need to know from where i can get the full town RefRigon
PS : This is My Procedure About it maybe some one can help em in him :-
Quote:
IF @Operation = 30 And @ItemRefID Between 2147 and 2158 and @JobType = 2 BEGIN DECLARE @AreaName INT = (SELECT AreaName FROM SRO_VT_SHARD.dbo._RefRegion Where AreaName = wRegionID) DECLARE @ItemID int BEGIN IF @AreaName = 'Town_Jangan' OR @AreaName = 'Town_Dunhwang' OR @AreaName = 'Town_Khotan' BEGIN DELETE FROM SRO_VT_SHARD.dbo._InvCOS where @ItemID between 187574 and 187577 INSERT INTO SRO_VT_LOG.dbo._JobNotice VALUES ('0',+@CharName+' : has been spotted trying to break the rules!"',GETDATE()) END END END
04/11/2014 10:26 iNhaLaToR#2
_ref... tables are the "core" so they define General information, in your case General regions that exist. You have to link to char table where you'll find the latestregion of the char
04/11/2014 18:04 Dallin¥#3
Quote:
Originally Posted by blackway33 View Post
Olymbs-O
what the hell is that :facepalm:
04/11/2014 18:58 Crue*#4
Quote:
Originally Posted by M̷r̷.̷X̷ View Post
what the hell is that :facepalm:
lel you didn't see that Harovan
04/12/2014 03:01 Royalblade*#5
There are two problems with this.

1st. _Char is updated to slowly. This means, the character could already have moved to the Jangan bridge, however _Char will say he's still in town.

Why? Because SQL would simply die if every position change would be directly updated at the DB. There is AT LEAST a 45 sec delay up to 120 sec day between the position update. The only way you can trigger the GS to write it to the table is by world reloading... meaning, by teleportation or login.

This means, that if you really want to have a anti cheat, you need to find their REAL position.. not their position 2 minutes ago.

I can simply go outside of the map, with a jobsuit.. wait there 5 minutes. Then go into town, spawn a transport pet, get items quickly and drop them. Then get the thief char which was waiting outside and go n pick the items quickly.
=> No cheat detection.
The only real way of overcoming that problem is by doing it like I have.
I've got 6 bot chars ingame, which teleport to every theif who picks items. If the bot spawns inside a safezone, he assslaps the cheaters directly. No questions asked.

If you want to make it better, check the hardwareid of the trader.. check the IP of both. Check how may past goods the thief has been able to take from the trader and check how many successfull trades ahve been made. Check the friendlist and check their chatlog count. Check if certain words were used. Check if the jobname has been changed a lot recently. Check if their passwords are the same. Check if their registration email is similiar.

There are tons of things that you can use to make a REAL anti cheat.. The stuff that your doing is simple bullshit.
However, I'll help ya.

DECLARE @IsBattlefield BIT;
SELECT @IsBattlefield = isBattlefield
FROM SRO_VT_SHARD.._RefRegion R
JOIN SRO_VT_SHARD.._Char CH
ON R.wRegionID = CH.LatestRegion
WHERE CH.CharID = @CharID

IF @isBattlefield = 1
-- Code to to w/e you want with the cheater.

Soz for typing mistakes. Forum sucks for writing.

Keep in mind, people will RAGE at you because of false bans. This is a VERY VERY VERY unreliable way of doing a anti cheat system. Keep that in mind.