Anti hileleri kendi oyun modunuza uyarlayıp kullanabilirsiniz, iyi kullanımlar: :oku2:
Para & Skor Hilesi (OnPlayerUpdate)
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)
if (GetPlayerWeapon(playerid) >= 1 && GetPlayerWeapon(playerid) <= 45 && PlayerData[playerid][pGun][WeaponSlots[GetPlayerWeapon(playerid)]] != GetPlayerWeapon(playerid))
{
// kick veya log
return 0;
}
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)
if (GetPlayerSpeed(playerid) > 220 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
// kick veya log
return 1;
}
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)
if (GetPlayerState(playerid) == PLAYER_STATE_DRIVER && GetPlayerSpeed(playerid) > 260)
{
// kick veya log
}
Kill All (PawnRakNet (https://github.com/katursis/Pawn.RakNet/releases?ysclid=l72lw17vcw403311196))
const ID_RPC = 20;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;
}
:kahkaha2: :kahkaha2: :kahkaha2: :kahkaha2: :kahkaha2: :kahkaha2:
Cahilin cahilliğini kanıtlamak kolaydır fakat ona itiraf ettirmek güçtür.
(https://media.discordapp.net/attachments/1010214951211778110/1010857866757931071/sa-mp-003.png?width=640&height=480)