Чем тебе ЭТОТ ответ не понравился?Как найти какое оружие в руках сейчас
Только external, лучше c#
CBaseCombatWeapon* IClientEntity::GetWeapon()
{
HANDLE hActiveWeapon = *(PHANDLE)((PUCHAR)this + Engine::Dynamic::Weapon::m_hActiveWeapon);
return (CBaseCombatWeapon*)pClientEntList->GetClientEntityFromHandle(hActiveWeapon);
}
int CBaseCombatWeapon::GetWeaponID()
{
typedef int(__thiscall* GetWeaponIDFn)(void*);
return call_vfunc<GetWeaponIDFn>(this, 458)(this);
}
class CBaseCombatWeapon
{
public:
char __pad[0x64];
int index;
int GetWeaponID();
float& GetNextPrimaryAttack();
float& GetAccuracyPenalty();
int& GetXUIDLow();
int& GetXUIDHigh();
int& GetEntityQuality();
int& GetAccountID();
int& GetItemIDHigh();
int& GetItemDefinitionIndex();
int& GetFallbackPaintKit();
int& GetFallbackStatTrak();
float& GetFallbackWear();
bool IsEmpty();
bool IsReloading();
void UpdateAccuracyPenalty();
float GetWeaponSpread();
float GetWeaponCone();
const char* GetName()
{
typedef const char* (__thiscall* GetNameFn)(void*);
return call_vfunc<GetNameFn>(this, 378)(this);
}
HANDLE GetOwnerHandle(void)
{
return *(HANDLE*)((DWORD)this + (DWORD)0x00000148);
}
float GetNextAttack()
{
return *(float*)((DWORD)this + (DWORD)Engine::Dynamic::Weapon::m_flNextPrimaryAttack);
}
};
я на с++ не особо понимаюЕсли тебе ID нужен,то вот тебе :Код:CBaseCombatWeapon* IClientEntity::GetWeapon() { HANDLE hActiveWeapon = *(PHANDLE)((PUCHAR)this + Engine::Dynamic::Weapon::m_hActiveWeapon); return (CBaseCombatWeapon*)pClientEntList->GetClientEntityFromHandle(hActiveWeapon); }
Класс вот :Код:int CBaseCombatWeapon::GetWeaponID() { typedef int(__thiscall* GetWeaponIDFn)(void*); return call_vfunc<GetWeaponIDFn>(this, 458)(this); }
Код:class CBaseCombatWeapon { public: char __pad[0x64]; int index; int GetWeaponID(); float& GetNextPrimaryAttack(); float& GetAccuracyPenalty(); int& GetXUIDLow(); int& GetXUIDHigh(); int& GetEntityQuality(); int& GetAccountID(); int& GetItemIDHigh(); int& GetItemDefinitionIndex(); int& GetFallbackPaintKit(); int& GetFallbackStatTrak(); float& GetFallbackWear(); bool IsEmpty(); bool IsReloading(); void UpdateAccuracyPenalty(); float GetWeaponSpread(); float GetWeaponCone(); const char* GetName() { typedef const char* (__thiscall* GetNameFn)(void*); return call_vfunc<GetNameFn>(this, 378)(this); } HANDLE GetOwnerHandle(void) { return *(HANDLE*)((DWORD)this + (DWORD)0x00000148); } float GetNextAttack() { return *(float*)((DWORD)this + (DWORD)Engine::Dynamic::Weapon::m_flNextPrimaryAttack); } };
Да ты и на диезе особо-то тоже не понимаешь...я на с++ не особо понимаю
int GetActiveWeaponIndex(int ID)
{
int ActiveWeaponID = mem.Read<int>(ID + netvars.m_hActiveWeapon) & 0xFFF;
int entity = mem.Read<int>((EntityList + (ActiveWeaponID - 1) * 0x10));
int index = mem.Read<int>(entity + netvars.m_iItemDefinitionIndex);
return index;
}
enum ItemDefinitionIndex
{
WEAPON_DEAGLE = 1,
WEAPON_ELITE = 2,
WEAPON_FIVESEVEN = 3,
WEAPON_GLOCK = 4,
WEAPON_AK47 = 7,
WEAPON_AUG = 8,
WEAPON_AWP = 9,
WEAPON_FAMAS = 10,
WEAPON_G3SG1 = 11,
WEAPON_GALILAR = 13,
WEAPON_M249 = 14,
WEAPON_M4A1 = 16,
WEAPON_MAC10 = 17,
WEAPON_P90 = 19,
WEAPON_UMP45 = 24,
WEAPON_XM1014 = 25,
WEAPON_BIZON = 26,
WEAPON_MAG7 = 27,
WEAPON_NEGEV = 28,
WEAPON_SAWEDOFF = 29,
WEAPON_TEC9 = 30,
WEAPON_TASER = 31,
WEAPON_HKP2000 = 32,
WEAPON_MP7 = 33,
WEAPON_MP9 = 34,
WEAPON_NOVA = 35,
WEAPON_P250 = 36,
WEAPON_SCAR20 = 38,
WEAPON_SG556 = 39,
WEAPON_SSG08 = 40,
WEAPON_KNIFE = 42,
WEAPON_FLASHBANG = 43,
WEAPON_HEGRENADE = 44,
WEAPON_SMOKEGRENADE = 45,
WEAPON_MOLOTOV = 46,
WEAPON_DECOY = 47,
WEAPON_INCGRENADE = 48,
WEAPON_C4 = 49,
WEAPON_KNIFE_T = 59,
WEAPON_M4A1_SILENCER = 60,
WEAPON_USP_SILENCER = 61,
WEAPON_CZ75A = 63,
WEAPON_REVOLVER = 64,
WEAPON_KNIFE_BAYONET = 500,
WEAPON_KNIFE_FLIP = 505,
WEAPON_KNIFE_GUT = 506,
WEAPON_KNIFE_KARAMBIT = 507,
WEAPON_KNIFE_M9_BAYONET = 508,
WEAPON_KNIFE_TACTICAL = 509,
WEAPON_KNIFE_FALCHION = 512,
WEAPON_KNIFE_SURVIVAL_BOWIE = 514,
WEAPON_KNIFE_BUTTERFLY = 515,
WEAPON_KNIFE_PUSH = 516
};
спасибоВот енам с этими индексами
Код:enum ItemDefinitionIndex { WEAPON_DEAGLE = 1, WEAPON_ELITE = 2, WEAPON_FIVESEVEN = 3, WEAPON_GLOCK = 4, WEAPON_AK47 = 7, WEAPON_AUG = 8, WEAPON_AWP = 9, WEAPON_FAMAS = 10, WEAPON_G3SG1 = 11, WEAPON_GALILAR = 13, WEAPON_M249 = 14, WEAPON_M4A1 = 16, WEAPON_MAC10 = 17, WEAPON_P90 = 19, WEAPON_UMP45 = 24, WEAPON_XM1014 = 25, WEAPON_BIZON = 26, WEAPON_MAG7 = 27, WEAPON_NEGEV = 28, WEAPON_SAWEDOFF = 29, WEAPON_TEC9 = 30, WEAPON_TASER = 31, WEAPON_HKP2000 = 32, WEAPON_MP7 = 33, WEAPON_MP9 = 34, WEAPON_NOVA = 35, WEAPON_P250 = 36, WEAPON_SCAR20 = 38, WEAPON_SG556 = 39, WEAPON_SSG08 = 40, WEAPON_KNIFE = 42, WEAPON_FLASHBANG = 43, WEAPON_HEGRENADE = 44, WEAPON_SMOKEGRENADE = 45, WEAPON_MOLOTOV = 46, WEAPON_DECOY = 47, WEAPON_INCGRENADE = 48, WEAPON_C4 = 49, WEAPON_KNIFE_T = 59, WEAPON_M4A1_SILENCER = 60, WEAPON_USP_SILENCER = 61, WEAPON_CZ75A = 63, WEAPON_REVOLVER = 64, WEAPON_KNIFE_BAYONET = 500, WEAPON_KNIFE_FLIP = 505, WEAPON_KNIFE_GUT = 506, WEAPON_KNIFE_KARAMBIT = 507, WEAPON_KNIFE_M9_BAYONET = 508, WEAPON_KNIFE_TACTICAL = 509, WEAPON_KNIFE_FALCHION = 512, WEAPON_KNIFE_SURVIVAL_BOWIE = 514, WEAPON_KNIFE_BUTTERFLY = 515, WEAPON_KNIFE_PUSH = 516 };
а что за id игрока? - я понял, у меня функция выдаёт 0 всегдаID это адрес игрокаКод:int GetActiveWeaponIndex(int ID) { int ActiveWeaponID = mem.Read<int>(ID + netvars.m_hActiveWeapon) & 0xFFF; int entity = mem.Read<int>((EntityList + (ActiveWeaponID - 1) * 0x10)); int index = mem.Read<int>(entity + netvars.m_iItemDefinitionIndex); return index; }
Например адрес LocalPlayer или EntityList + (index - 1) * 0x10а что за id игрока? - я понял, у меня функция выдаёт 0 всегда
чтобы узнать какое сейчас оружие в руках нужно так ?Например адрес LocalPlayer или EntityList + (index - 1) * 0x10
Где индекс число от 1 до 64
GetActiveWeaponIndex(LocalPlayer);
EntityList = mem.Read<int>(CheatData.bClient + Offsets.oEntityList + (i - 1) * 0x10)
В последнем коде есть форма. Которая тебе нужначтобы узнать какое сейчас оружие в руках нужно так ?EntityList - это?Код:GetActiveWeaponIndex(LocalPlayer);
Код:EntityList = mem.Read<int>(CheatData.bClient + Offsets.oEntityList + (i - 1) * 0x10)
Бля я тебя люблю (почти) спасибо огромноеНапример адрес LocalPlayer или EntityList + (index - 1) * 0x10
Где индекс число от 1 до 64
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz