Jump to content
  • 0

Anticheat surfly


TheGodfather

Question

Salut, aveti idee ce verificari trebuie facute pentru detectarea de surfly? Am incercat sa ma iau dupa id de animatii sau viteza dar nu e ceva care se aplica strict la surfly. De exemplu daca un jucator sare cu parasuta sistemul poate zice fals ca are surfly din cauza idului animatiei.

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0
On 10/29/2022 at 1:17 PM, TheGodfather said:

Salut, aveti idee ce verificari trebuie facute pentru detectarea de surfly? Am incercat sa ma iau dupa id de animatii sau viteza dar nu e ceva care se aplica strict la surfly. De exemplu daca un jucator sare cu parasuta sistemul poate zice fals ca are surfly din cauza idului animatiei.

new AntiFly[ MAX_PLAYERS ]; 

ONPLAYERCONNECT 

AntiFly[ playerid ] = 0;

onplayerdisconect 

 AntiFly[ playerid ] = 0;

//timer

timer antiFlyTimer[1000](playerid) return AntiFly[ playerid ] = 0; 

task cheats[1000]() {

   new Float: animposX, Float: animposY, Float: animposZ;
        GetPlayerVelocity(i, animposX, animposY, animposZ);
        if(animposX <= -0.800000 || animposY <= -0.800000 || animposZ <= -0.800000 && GetPlayerAnimationIndex(i) == 1008) {
            if(GetPlayerSurfingVehicleID(i) == INVALID_VEHICLE_ID && !IsABike(gLastCar[i]) && PlayerInfo[i][pAdmin] == 0) { 
                va_SendClientMessageToAll(COLOR_RED2, "AntiCheat >> %s kicked from AdmBot. Reason: Cheat( Fly-Hack )", GetName( i ) );
                KickEx(i);
            }
        }

}

Incerca ;) 

 Încearcă să fii un om de valoare și nu neapărat un om de succes.

 

Link to comment
Share on other sites

  • 0
37 minutes ago, KB.HERO said:

new AntiFly[ MAX_PLAYERS ]; 

ONPLAYERCONNECT 

AntiFly[ playerid ] = 0;

onplayerdisconect 

 AntiFly[ playerid ] = 0;

//timer

timer antiFlyTimer[1000](playerid) return AntiFly[ playerid ] = 0; 

task cheats[1000]() {

   new Float: animposX, Float: animposY, Float: animposZ;
        GetPlayerVelocity(i, animposX, animposY, animposZ);
        if(animposX <= -0.800000 || animposY <= -0.800000 || animposZ <= -0.800000 && GetPlayerAnimationIndex(i) == 1008) {
            if(GetPlayerSurfingVehicleID(i) == INVALID_VEHICLE_ID && !IsABike(gLastCar[i]) && PlayerInfo[i][pAdmin] == 0) { 
                va_SendClientMessageToAll(COLOR_RED2, "AntiCheat >> %s kicked from AdmBot. Reason: Cheat( Fly-Hack )", GetName( i ) );
                KickEx(i);
            }
        }

}

Incerca ;) 

Mersi, voi incerca

Link to comment
Share on other sites

  • 0
On 10/31/2022 at 9:18 AM, KB.HERO said:

new AntiFly[ MAX_PLAYERS ]; 

ONPLAYERCONNECT 

AntiFly[ playerid ] = 0;

onplayerdisconect 

 AntiFly[ playerid ] = 0;

//timer

timer antiFlyTimer[1000](playerid) return AntiFly[ playerid ] = 0; 

task cheats[1000]() {

   new Float: animposX, Float: animposY, Float: animposZ;
        GetPlayerVelocity(i, animposX, animposY, animposZ);
        if(animposX <= -0.800000 || animposY <= -0.800000 || animposZ <= -0.800000 && GetPlayerAnimationIndex(i) == 1008) {
            if(GetPlayerSurfingVehicleID(i) == INVALID_VEHICLE_ID && !IsABike(gLastCar[i]) && PlayerInfo[i][pAdmin] == 0) { 
                va_SendClientMessageToAll(COLOR_RED2, "AntiCheat >> %s kicked from AdmBot. Reason: Cheat( Fly-Hack )", GetName( i ) );
                KickEx(i);
            }
        }

}

Incerca ;) 

Daca foloseste codul si zboara incet sau doar merge, nu da niciun warning (asta daca e pe jos)

Daca e in masina nici atat, nici macar un warning

Edited by TheGodfather
Link to comment
Share on other sites

  • 0

recomand sa te folosesti de pluginu' pawn.raknet, ai aici un mic exemplu
 

#define ID_PLAYER_SYNC		(207)

hook OnGameModeInit() {
	PR_RegHandler(ID_PLAYER_SYNC, "OP_FootSync", PR_INCOMING_PACKET);
}

CB:OP_FootSync(playerid, BitStream:bs) {
	new onFootData[PR_OnFootSync];
	BS_IgnoreBits(bs, 8);
	BS_ReadOnFootSync(bs, onFootData);

	if(onFootData[PR_animationId] == 958 && onFootData[PR_weaponId] != WEAPON_PARACHUTE || onFootData[PR_animationId] == 959 && onFootData[PR_weaponId] != WEAPON_PARACHUTE) {
		submitToAdmins(COLOR_ADMWARNING, "%s (%d) may be using surfly.", N(playerid), playerid);
		return 0;
	}
	return 1;
}

 

Edited by irinelbro69
  • Upvote 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.