Code

Posts 1–3 of 3 · Page 1 of 1
Code
Hope you can all learn something from this, or use it to your advantage.

Aimbot Detection
Code:
//---------------------------------------------------------------------------- 
  // AimBot Detector interface 

  /// 
  /// @fn void EnableAimBotDetector(); 
  /// Explicity Enable the AimBotDetector 
  /// <p> 
  /// 
  GB_DllExport void EnableAimBotDetector(); 

  /// 
  /// @fn void EnableAimBotDetector(size_t historyTimeLength, float historyRateMax); 
  /// Enable the AimBotDetector 
  /// <p> 
  /// Allows manual configuration and enabling of AimBotDetector when using the 
  /// manual Connect call. Consult your GameBlocks support team for appropriate values. 
  ///   @param historyTimeLength Length in seconds of per player movement history. 
  ///   @param historyRateMax Rate in seconds for how often detector will store player frame data 
  /// 
  GB_DllExport void EnableAimBotDetector(size_t historyTimeLength, float historyRateMax); 

  /// Explicitly disable the AimBotDetector 
  /// <p> 
  /// Note that the detector stores internal game state, and it isn't intended 
  /// to be toggled off and on with accurate results. This function is provided for 
  /// testing purposes. 
  GB_DllExport void AimBotDisableDetector(); 

  /// Enables sending of Aimbot verification data for a specific player. 
  /// <p> 
  /// SetAimBotDetectorDebugPlayer is used during the final integration verification 
  /// phase so that the GameBlocks team can verify the incoming aimbot data. 
  /// This should only be enabled while tuning and verifying the Aimbot integration 
  /// with the GameBlocks team. 
  GB_DllExport void SetAimBotDetectorDebugPlayer(const GBPublicPlayerId & playerId); 

  /// Marks the beginning of a frame for AimBotDetector. 
  /// <p> 
  /// This must be called once per frame when using the AimBotDetector before 
  /// calling AimBotDetector_Add() or AimBotDetector_EndFrame() 
  GB_DllExport void AimBotDetector_BeginFrame(); 

  /// Adds a frame of data for a given player. 
  /// <p> 
  /// Must be called once per frame, per active player. Do not call for players 
  /// which are not currently spawned or in some other way not part of the  
  /// active game world. Must be called after AimBotDetector_BeginFrame()  
  /// and before AimBotDetector_EndFrame() 
  ///   @param playerId Unique player identifier 
  ///   @param locX Player center X 
  ///   @param locY Player center Y 
  ///   @param locZ Player center Z 
  ///   @param viewLocX Player camera center X 
  ///   @param viewLocY Player camera center Y 
  ///   @param viewLocZ Player camera center Z 
  ///   @param dirX Player camera direction X 
  ///   @param dirY Player camera direction Y 
  ///   @param dirZ Player camera direction Z 
  GB_DllExport void AimBotDetector_Add(const GBPublicPlayerId & playerId, float locX, float locY, float locZ, 
  float viewLocX,float viewLocY,float viewLocZ,float dirX, float dirY, float dirZ); 

  /// Marks the end of a frame for AimBotDetector. 
  /// <p> 
  /// This must be called once per frame when using the AimBotDetector after 
  /// calling AimBotDetector_BeginFrame() and AimBotDetector_Add() 
  GB_DllExport void AimBotDetector_EndFrame(); 

  /// Triggers the sending of a packet of AimBotDetector data to the GameBlocks 
  /// server. 
  /// <p> 
  /// This function is used by the helper Event_AimBotDetect_Send() and should 
  /// not be called explicitly by the client. 
  ///   @param sourceId Unique Source Id 
  ///   @param playerId Unique player identifier of aggressor 
  ///   @param targetId Unique player identifier for target 
  EGBClientError AimBotDetector_Send(const GBPublicSourceId & sourceId, const GBPublicPlayerId & playerId,  
  const GBPublicPlayerId & targetId);
Weps
Code:
//---------------------------------------------------------------------------- 
  // WeaponCheat Detector interface 

  /// 
  /// @fn void EnableWeaponCheatDetector(); 
  /// Enable the WeaponCheatDetector 
  /// <p> 
  /// This gets called automatically if the config-based Connect call is used. 
  /// This can also be called manually if the manual Connect call is used to 
  /// enable the detector using default values. 
  /// 
  GB_DllExport void EnableWeaponCheatDetector(); 

  /// 
  /// @fn void EnableWeaponCheatDetector(size_t sampleCount); 
  /// Enable the WeaponCheatDetector 
  /// <p> 
  /// Allows manual configuration and enabling of WeaponCheatDetector when using the 
  /// manual Connect call. Consult your GameBlocks support team for appropriate values. 
  ///   @param sampleCount Number of weapon events to store and send. 
  /// 
  GB_DllExport void EnableWeaponCheatDetector(size_t sampleCount); 

  /// 
  /// @fn void WeaponCheatDetector_Add(const GBPublicPlayerId & playerId, int weaponId, bool didHit, float dist, int bodyPart); 
  /// Add the information for a weapon fired event for processing.  
  /// <p> 
  /// Call this every time a weapon impact occurs. 
  ///   @param playerId Unique player identifier of aggressor 
  ///   @param weaponId Unique Weapon Identifier 
  ///   @param didHit True if weapon hit a target (player or AI), false if weapon 
  /// missed (environmental impact or other). 
  ///   @param dist Distance to impacted object. 
  ///   @param bodyPart Id of body part which was hit. -1 if not body part was hit. 
  /// Breaking up your targets into sections identified by bodyPart allows  
  /// for higher fidelity pattern detection based on Aim consistency analysis. 
  /// 
  GB_DllExport void WeaponCheatDetector_Add(const GBPublicPlayerId & playerId, int weaponId,  
  bool didHit, float dist, int bodyPart); 

  /// Triggers the sending of a packet of WeaponCheatDetector data to the GameBlocks 
  /// server. 
  /// <p> 
  /// This function is used by the helper Event_WeaponCheatDetect_Send() and should 
  /// not be called explicitly by the client. Note this function does nothing  
  /// if playerId == targetId. 
  ///   @param sourceId Unique Source Id 
  ///   @param playerId Unique player identifier of aggressor 
  EGBClientError WeaponCheatDetector_Send(const GBPublicSourceId & sourceId, const GBPublicPlayerId & playerId);
Esp/bones
Code:
if (fp::GetBonePosition(pSold->m_boneCollisionComponent, 45, &BonePosition))
fp::W2S(BonePosition, &Out);

float BoxEspX = 1, BoxEspY = 1;
 
                    char State[255];
                    sprintf(State, "%d", pSold->Pose());//without "char" I received a crash in bf4 ((
 
                    if (strcmp(State, "0") == 0)
                    {
                        BoxEspX = 0.4 / (Distance / 1000 * FovState); //стоя
                        BoxEspY = 0.8 / (Distance / 1000 * FovState);
                    }
 
                    if (strcmp(State, "1") == 0)
                    {
                        BoxEspX = 0.4 / (Distance / 1000 * FovState);//сидя
                        BoxEspY = 0.6 / (Distance / 1000 * FovState);
                    }
                    if (strcmp(State, "2") == 0)
                    {
                        BoxEspX = 0.7 / (Distance / 1000 * FovState);// лежа
                        BoxEspY = 0.4 / (Distance / 1000 * FovState);
                    }
 
  if (bCheckMenu[6] &&  !GetVisible)Manager->DrawBorder(Out.x - BoxEspX / 2, Out.y + 6,  BoxEspX, BoxEspY, 1, Manager->retColorCode(iSlideCol[0])); // Draw  Enemy Bounding Box
  if (bCheckMenu[6] &&  GetVisible)Manager->DrawBorder(Out.x - BoxEspX / 2, Out.y + 6,  BoxEspX, BoxEspY, 1, Manager->retColorCode(iSlideCol[17])); // Draw  Enemy Visible Bounding Box
Weapon data
Code:
SoldierWeaponData* pSWD = reinterpret_cast< SoldierWeaponData* >( MyClientSoldierWeapon->m_data );
Code:
wClass = pSWD->m_weaponClass;
		//wType=pSWD->m_animBaseSet;
		weponname = pSWD->m_damageGiverName.GetString();
Code:
#ifndef SoldierWeaponData_H_
#define SoldierWeaponData_H_

namespace fb
{
	
	class __declspec(align(16)) fb::SoldierWeaponData :
		public fb::WeaponEntityData //0x00
	{
	public:
		//enumeration is wrong 
	  fb::PickupSettingsData m_pickupSettings;//0x90
	  fb::Vec3 m_interactionOffset;//0xB0
	  fb::CustomizationAccessoryPivots m_customizationAccessoryPivots;//0xC0
	  fb::String m_damageGiverName;//0x110
	  fb::RefArray<fb::WeaponZoomLevelData> m_zoomLevels;//0x114
	  fb::SoldierAimingSimulationData* m_aimingController;//0x11C
	  fb::FirstPersonCameraData* m_firstPersonCamera;//0x120
	  fb::HudData m_hud;//0x124
	  fb::WeaponAnimBaseSetEnum m_animBaseSet;//0x174
	  fb::QuickThrowTypeEnum m_quickThrowType;//0x178
	  fb::SoldierWeaponBlueprint* m_soldierWeaponBlueprint;//0x17C
	  fb::String m_persistenceId;//0x180
	//  fb::RefArray<fb::SocketData> m_socketsWithoutUnlocks;//0x184
	  __int32 m_secondaryActionInputAction;//0x18C
	  fb::CtrRefBase m_voiceOverInfo;//0x190
	  float m_weaponFloatParam;//0x194
	  float m_maxRangeMeterDistance;//0x198
	  bool m_hideWhenOutOfAmmo;//0x19C
	  bool m_allowSwitchingToWeaponOutOfAmmo;//0x19D
	  bool m_allowSwitchingToWeaponReloading;//0x19E
	  bool m_switchToPrimaryWhenOutOfAmmo;//0x19F
	  bool m_fireAndSwitchBackToPrevSupported;//0x1A0
	  bool m_allowSwitchingToWeaponInVehicles;//0x1A1
	  bool m_allowSwitchingToWeaponInWater;//0x1A2
	  bool m_lowerOnOwnTeam;//0x1A3
	  bool m_redeployWhenSwitchingWeaponStates;//0x1A4
	  bool m_useQuickThrowOnAutomaticSwitchback;//0x1A5
	  bool m_enableBreathControl;//0x1A6
	  bool m_canBeInSupportedShooting;//0x1A7
	  bool m_useDetailedRangeMeterQuery;//0x1A8
	  bool m_isSilenced;//0x1A9
	};//Size 0x000001B0
};

#endif
Code:
#ifndef WeaponEntityData_H_
#define WeaponEntityData_H_

namespace fb
{
		class __declspec(align(16)) WeaponEntityData :
		public fb::GameComponentEntityData	//0x0
	{
	public:
		fb::WeaponClassEnum m_weaponClass;//0x70   
		fb::Arrray<fb::WeaponStateData> m_weaponStates;//0x74
		WeaponFiringData* m_weaponFiring;//0x78  
		ZeroingWeaponData* m_customWeaponType;//0x7c
		fb::BFAIWeaponData* m_aIData;//0x80
		char _pad_0x84[0xc];	//0x84
	};// Size 0x00000090
};

#endif
Game AI Weapon Data
Code:
#ifndef BFAIWeaponData_H_
#define BFAIWeaponData_H_

namespace fb
{
	struct fb::BFAIWeaponData :
			public fb::GameAIWeaponData
	{
	  fb::FiringWeaponClass m_firingWeaponClass;
	  fb::VoPrimaryFireType m_voPrimaryFireType;
	  float m_weaponRange;
	  float m_minimumUsageDistance;
	  float m_maximumUsageDistance;
	  fb::PreferredRange* m_preferredRange;
	  fb::PreferredRange* m_indoorPreferredRange;
	  fb::PreferredRange* m_outdoorPreferredRange;
	  fb::FiringIntervalPattern *m_firingIntervalPattern;
	  fb::BurstIntervalPattern* m_burstIntervalPattern;
	  fb::SprayPattern* m_sprayPattern;
	  fb::VehicleAimerSettings* m_vehicleAimerSettings;
	  fb::VisionModifier* m_visionModifier;
	  fb::HearingModifier* m_hearingModifier;
	  fb::TargetModifier* m_targetModifier;
	  fb::VehicleInaccuracySettings* m_vehicleInaccuracySettings;
	  fb::SuppressedBehavior* m_suppressedBehavior;
	  fb::DamageModifier* m_damageModifier;
	  fb::WeaponRestrictions* m_friendlyWeaponRestrictions;
	  fb::SpecialBehavior* m_specialBehavior;
	  fb::WeaponHitProbability * m_humanTargetHitProbability;
	  fb::ValidAgainst m_validAgainst;
	};
};

#endif

Thanks!
Is it on C++?
Yes it is.
@ @Bs
Posts 1–3 of 3 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Talk with us