GTAMulti - GTA Türkiye

San Andreas Multiplayer => PAWN Kodlama => Mod Galerisi => Konuyu başlatan: theunkgod - 21 Ağustos 2022, 03:31:59

Başlık: [T-AC] Anti Hile
Gönderen: theunkgod - 21 Ağustos 2022, 03:31:59
Anti hileleri kendi oyun modunuza uyarlayıp kullanabilirsiniz, iyi kullanımlar: :oku2:

Para & Skor Hilesi (OnPlayerUpdate)

PAWN Kodu: Seç
if (GetPlayerMoney(playerid) != PlayerData[playerid][pMoney]) ResetPlayerMoney(playerid), GivePlayerMoney(playerid, PlayerData[playerid][pMoney]);
if (GetPlayerScore(playerid) != PlayerData[playerid][pLevel]) SetPlayerScore(playerid, PlayerData[playerid][pLevel]);

Silah Hilesi (OnPlayerWeaponShot)

PAWN Kodu: Seç
if (GetPlayerWeapon(playerid) >= 1 && GetPlayerWeapon(playerid) <= 45 && PlayerData[playerid][pGun][WeaponSlots[GetPlayerWeapon(playerid)]] != GetPlayerWeapon(playerid))
    {
        // kick veya log
        return 0;
    }

PAWN Kodu: Seç
new const WeaponSlots[] =
{
0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 10, 10, 10, 10, 10, 10, 8, 8, 8, 0, 0, 0, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 4, 6, 6, 7, 7, 7, 7, 8, 12, 9, 9, 9, 11, 11, 11
};

AirBreak (OnPlayerUpdate)

PAWN Kodu: Seç
if (GetPlayerSpeed(playerid) > 220 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    // kick veya log
    return 1;
    }

PAWN Kodu: Seç
stock GetPlayerSpeed(playerid)
{
    new Float:ST[4];
    if(IsPlayerInAnyVehicle(playerid))
    GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
    else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
    ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 179.28625;
    return floatround(ST[3]);
}

Hız Hilesi (OnPlayerUpdate)

PAWN Kodu: Seç
if (GetPlayerState(playerid) == PLAYER_STATE_DRIVER && GetPlayerSpeed(playerid) > 260)
{
// kick veya log
}

Kill All (PawnRakNet (https://github.com/katursis/Pawn.RakNet/releases?ysclid=l72lw17vcw403311196))

PAWN Kodu: Seç
const ID_RPC = 20;
PAWN Kodu: Seç
IRawPacket:ID_RPC(playerid, BitStream:bs)
{
    new rpcid, numberOfBitsOfData;

    BS_ReadValue(bs,
        PR_IGNORE_BITS, 8, // packet id
        PR_UINT8, rpcid,
        PR_CUINT32, numberOfBitsOfData
    );
    if (rpcid == RPC_Damage)
    {
        new bGiveOrTake;
        new uiPlayerID;
        new float: fDamageAmountToSend;
        new iWeaponID;
        new iBodyPart;


        BS_ReadValue(bs,
            PR_BOOL, bGiveOrTake
        );
        BS_ReadValue(bs,
            PR_UINT8, uiPlayerID
        );
        BS_ReadValue(bs,
            PR_FLOAT, fDamageAmountToSend
        );
        BS_ReadValue(bs,
            PR_UINT32, iWeaponID
        );
        BS_ReadValue(bs,
            PR_UINT8, iBodyPart
        );
        //printf("[%d]: Isim = (%s(%d)) Weapon = (%d) Amount = (%f) BodyPart =  (%d)", uiPlayerID, ReturnName(playerid), playerid, iWeaponID, fDamageAmountToSend, iBodyPart);
        if(iWeaponID == 4) return Kick(playerid);
        if(uiPlayerID == 255)
        {
            //printf("[%d]: Isim = (%s(%d)) Weapon = (%d) Amount = (%f) BodyPart =  (%d), uiPlayerID (Kill All Hilesi Deneniyor)", uiPlayerID, ReturnName(playerid), playerid, iWeaponID, fDamageAmountToSend, iBodyPart);
            return false;
        }
        if(fDamageAmountToSend == 889126912.000000)
        {
            //printf("[%d]: Isim = (%s(%d)) Weapon = (%d) Amount = (%f) BodyPart =  (%d), uiPlayerID (Kill All Hilesi Deneniyor)", uiPlayerID, ReturnName(playerid), playerid, iWeaponID, fDamageAmountToSend, iBodyPart);
            return false;
        }
        if(iWeaponID == 13888)
        {
            //printf("[%d]: Isim = (%s(%d)) Weapon = (%d) Amount = (%f) BodyPart =  (%d), uiPlayerID (Kill All Hilesi Deneniyor)", uiPlayerID, ReturnName(playerid), playerid, iWeaponID, fDamageAmountToSend, iBodyPart);
//Kick(playerid);
return false;
        }
        if(iWeaponID == 1024)
        {
            //printf("[%d]: Isim = (%s(%d)) Weapon = (%d) Amount = (%f) BodyPart =  (%d), uiPlayerID (Kill All Hilesi Deneniyor)", uiPlayerID, ReturnName(playerid), playerid, iWeaponID, fDamageAmountToSend, iBodyPart);
            return false;
        }
        if(iWeaponID == 1092)
        {
            //printf("[%d]: Isim = (%s(%d)) Weapon = (%d) Amount = (%f) BodyPart =  (%d), uiPlayerID (Kill All Hilesi Deneniyor)", uiPlayerID, ReturnName(playerid), playerid, iWeaponID, fDamageAmountToSend, iBodyPart);
            return false;
        }
    }
    return 1;
}
Başlık: Ynt: [T-AC] Anti Hile
Gönderen: Lenard - 21 Ağustos 2022, 11:36:17
 :kahkaha2:  :kahkaha2:  :kahkaha2:  :kahkaha2:  :kahkaha2:  :kahkaha2:
Başlık: Ynt: [T-AC] Anti Hile
Gönderen: Murat Budak - 21 Ağustos 2022, 12:38:12
Cahilin cahilliğini kanıtlamak kolaydır fakat ona itiraf ettirmek güçtür.
Başlık: Ynt: [T-AC] Anti Hile
Gönderen: feickthelord - 21 Ağustos 2022, 13:28:01
(https://media.discordapp.net/attachments/1010214951211778110/1010857866757931071/sa-mp-003.png?width=640&height=480)