Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Creator : ANDR3X
- * For : KillZone.fr
- * Credits : Zeex for ZCMD
- */
- /**
- * INCLUDES
- */
- #include <zcmd>
- /**
- * DEFINES
- */
- #if !defined KEY_AIM
- #define KEY_AIM (128)
- #endif
- #if !defined HOLDING
- #define HOLDING(%0) ((newkeys & (%0)) == (%0))
- #endif
- #if !defined PRESSED
- #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
- #endif
- #if !defined RELEASED
- #define RELEASED(%0) (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
- #endif
- #if !defined ALTCOMMAND
- #define ALTCOMMAND:%1->%2; COMMAND:%1(playerid, params[]) \
- return cmd_%2(playerid, params);
- #endif
- /**
- * VARIABLES
- */
- enum e_AimbotInfo
- {
- bool: e_ON,
- bool: e_KeyPressed,
- e_Velocity[2]
- }
- new AimbotInfo[MAX_PLAYERS][e_AimbotInfo];
- /**
- * COMMANDS
- */
- ALTCOMMAND:aimbot->aim;
- CMD:aim(playerid, params[])
- {
- new id;
- if(sscanf(params,"u", id))
- return SendClientMessage(playerid, -1, "/aimbot <Pseudo / ID>");
- if(!IsPlayerConnected(id))
- return SendClientMessage(playerid, -1, "Ce joueur n'est pas connecté");
- // vérifier si "id" est spawn
- if(AimbotInfo[id][e_ON])
- return SendClientMessage(playerid, -1, "Veuillez réessayer");
- // Message aux admins (%s suspicion aimbot sur %s)
- AimbotInfo[id][e_ON] = true;
- return 1;
- }
- /**
- * HOOKED CALLBACKS
- */
- // OnPlayerUpdate
- public OnPlayerUpdate(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- if(AimbotInfo[playerid][e_Velocity][0] == 1)
- {
- AddPlayerVelocityDirection(AimbotInfo[playerid][e_Velocity][1], playerid, -0.9);
- }
- if(AimbotInfo[playerid][e_ON])
- {
- new id = GetPlayerTargetPlayer(playerid);
- if(id != INVALID_PLAYER_ID)
- {
- OnPlayerTarget(playerid, id);
- }
- }
- }
- #if defined AIM_OnPlayerUpdate
- return AIM_OnPlayerUpdate(playerid);
- #else
- return 1;
- #endif
- }
- #if defined AIM_OnPlayerUpdate
- forward AIM_OnPlayerUpdate(playerid);
- #endif
- #if defined _ALS_OnPlayerUpdate
- #undef OnPlayerUpdate
- #else
- #define _ALS_OnPlayerUpdate
- #endif
- #define OnPlayerUpdate AIM_OnPlayerUpdate
- // OnPlayerKeyStateChange
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(HOLDING(KEY_AIM) && PRESSED(KEY_FIRE))
- AimbotInfo[playerid][e_KeyPressed] = true;
- if((RELEASED(KEY_FIRE) || RELEASED(KEY_AIM)) && AimbotInfo[playerid][e_KeyPressed] == true)
- AimbotInfo[playerid][e_KeyPressed] = false;
- #if defined AIM_OnPlayerKeyStateChange
- return AIM_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
- #else
- return 1;
- #endif
- }
- #if defined AIM_OnPlayerKeyStateChange
- forward AIM_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
- #endif
- #if defined _ALS_OnPlayerKeyStateChange
- #undef OnPlayerKeyStateChange
- #else
- #define _ALS_OnPlayerKeyStateChange
- #endif
- #define OnPlayerKeyStateChange AIM_OnPlayerKeyStateChange
- // OnPlayerConnect
- public OnPlayerConnect(playerid)
- {
- AimbotInfo[playerid][e_Velocity][0] = 0;
- AimbotInfo[playerid][e_Velocity][1] = 0;
- #if defined AIM_OnPlayerConnect
- return AIM_OnPlayerConnect(playerid);
- #else
- return 1;
- #endif
- }
- #if defined AIM_OnPlayerConnect
- forward AIM_OnPlayerConnect(playerid);
- #endif
- #if defined _ALS_OnPlayerConnect
- #undef OnPlayerConnect
- #else
- #define _ALS_OnPlayerConnect
- #endif
- #define OnPlayerConnect AIM_OnPlayerConnect
- // OnPlayerDeath
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(AimbotInfo[playerid][e_ON])
- AimbotInfo[playerid][e_ON] = false;
- #if defined AIM_OnPlayerDeath
- return AIM_OnPlayerDeath(playerid, killerid, reason);
- #else
- return 1;
- #endif
- }
- #if defined AIM_OnPlayerDeath
- forward AIM_OnPlayerDeath(playerid, killerid, reason);
- #endif
- #if defined _ALS_OnPlayerDeath
- #undef OnPlayerDeath
- #else
- #define _ALS_OnPlayerDeath
- #endif
- #define OnPlayerDeath AIM_OnPlayerDeath
- /**
- * CALLBACKS
- */
- forward ResetAimbot(targetID, Float:x, Float:y, Float:z, Float: hp);
- public ResetAimbot(targetID, Float:x, Float:y, Float:z, Float: hp)
- {
- AimbotInfo[targetID][e_Velocity][0] = 0;
- AimbotInfo[targetID][e_Velocity][1] = 0;
- SetPlayerPos(targetID, x, y, z);
- SetPlayerHealth(targetID, hp);
- }
- forward OnPlayerTarget(cheaterID, targetID);
- public OnPlayerTarget(cheaterID, targetID)
- {
- if(AimbotInfo[cheaterID][e_ON] && AimbotInfo[cheaterID][e_KeyPressed])
- {
- new
- Float: cheaterPos[3],
- Float: targetPos[3],
- Float: hp;
- GetPlayerHealth(targetID, hp);
- SetPlayerHealth(targetID, 5000.0);
- GetPlayerPos(cheaterID, cheaterPos[0], cheaterPos[1], cheaterPos[2]);
- GetPlayerPos(targetID, targetPos[0], targetPos[1], targetPos[2]);
- GetXYRightOfPlayer(cheaterID, 9.0, cheaterPos[0], cheaterPos[1]);
- SetPlayerPos(targetID, cheaterPos[0], cheaterPos[1], cheaterPos[2] + 2.0);
- AimbotInfo[targetID][e_Velocity][0] = 1;
- AimbotInfo[targetID][e_Velocity][1] = cheaterID;
- SetTimerEx("ResetAimbot", 300, 0, "dffff", targetID, targetPos[0], targetPos[1], targetPos[2], hp);
- AimbotInfo[cheaterID][e_ON] = false;
- }
- }
- /**
- * FUNCTIONS
- */
- GetXYRightOfPlayer(playerid, Float: distance, &Float: x, &Float: y)
- {
- new Float: a;
- GetPlayerFacingAngle(playerid, a);
- a += 5.0;
- x += floatmul(floatsin(-a, degrees), distance);
- y += floatmul(floatcos(-a, degrees), distance);
- }
- AddPlayerVelocityDirection(cheaterID, targetID, Float: power = -0.9)
- {
- new
- Float: x,
- Float: y,
- Float: z,
- Float: a;
- GetPlayerVelocity(targetID, x, y, z);
- GetPlayerFacingAngle(cheaterID, a);
- x += (power * floatcos(a, degrees));
- y += (power * floatsin(a, degrees));
- SetPlayerVelocity(targetID, x, y, z);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement