Korath
Platinum Üye
- Katılım
- 13 Şub 2026
- Mesajlar
- 168
- Beğeniler
- 49
- İletişim

std::string ApexLegends::get_weapon_name(uintptr_t pEntityBase)
{
if (!pEntityBase)
return "none";
int weapon_handle = read<int>(pEntityBase + APEXOffsets.OFFSET_WEAPON);
if (weapon_handle == 0)
return "none";
int entity_index = weapon_handle & 0x7FFF;
uintptr_t weapon_entity = GetEntityBase(entity_index);
if (!weapon_entity)
return "none";
int weapon_name_index = read<int>(weapon_entity + APEXOffsets.OFFSET_WEAPON_NAME);
static const std::unordered_map<int, std::string> weapon_map = {
{0, "r301"}, // correct
{2, "sentinel"}, // no in game
{3, "bocek"}, // correct
{7, "rampage"}, // correct
{87, "alternator"}, // correct
{90, "re-45"}, // correct
{90, "charge rifle"}, // correct
{213, "shield battery"}, // correct
{92, "devotion"}, // correct
{94, "longbow"}, // correct
{95, "havoc"}, // correct
{97, "eva-8"}, // correct
{99, "flatline"}, // correct
{101, "g7 scout"}, // correct
{104, "hemlok"}, // correct
{105, "kraber"}, // correct
{107, "l-star"}, // correct
{109, "mastiff"}, // correct
{111, "mozambique"}, // correct
{116, "prowler"}, // correct
{118, "peacekeeper"}, // correct
{120, "r-99"}, // correct
{122, "p2020 akimbo"}, // correct
{124, "spitfire"}, // correct
{125, "tripletake"}, // correct
{127, "wingman"}, // correct
{129, "volt smg"}, // correct
{130, "30-30"}, // correct
{134, "c.a.r"}, // correct
{135, "nemesis"}, // correct
{133, "no weapon / hand"}, // correct
{207, "knife"},// correct
};
auto it = weapon_map.find(weapon_name_index);
if (it != weapon_map.end())
return it->second;
return "unknown_" + std::to_string(weapon_name_index);
}
OFFSETS
OFFSET_WEAPON = 0x19C4; // m_latestPrimaryWeapons
OFFSET_WEAPON_NAME = 0x1888; //[RecvTable.DT_WeaponX]->m_weaponNameIndex
PREVIEW
{
if (!pEntityBase)
return "none";
int weapon_handle = read<int>(pEntityBase + APEXOffsets.OFFSET_WEAPON);
if (weapon_handle == 0)
return "none";
int entity_index = weapon_handle & 0x7FFF;
uintptr_t weapon_entity = GetEntityBase(entity_index);
if (!weapon_entity)
return "none";
int weapon_name_index = read<int>(weapon_entity + APEXOffsets.OFFSET_WEAPON_NAME);
static const std::unordered_map<int, std::string> weapon_map = {
{0, "r301"}, // correct
{2, "sentinel"}, // no in game
{3, "bocek"}, // correct
{7, "rampage"}, // correct
{87, "alternator"}, // correct
{90, "re-45"}, // correct
{90, "charge rifle"}, // correct
{213, "shield battery"}, // correct
{92, "devotion"}, // correct
{94, "longbow"}, // correct
{95, "havoc"}, // correct
{97, "eva-8"}, // correct
{99, "flatline"}, // correct
{101, "g7 scout"}, // correct
{104, "hemlok"}, // correct
{105, "kraber"}, // correct
{107, "l-star"}, // correct
{109, "mastiff"}, // correct
{111, "mozambique"}, // correct
{116, "prowler"}, // correct
{118, "peacekeeper"}, // correct
{120, "r-99"}, // correct
{122, "p2020 akimbo"}, // correct
{124, "spitfire"}, // correct
{125, "tripletake"}, // correct
{127, "wingman"}, // correct
{129, "volt smg"}, // correct
{130, "30-30"}, // correct
{134, "c.a.r"}, // correct
{135, "nemesis"}, // correct
{133, "no weapon / hand"}, // correct
{207, "knife"},// correct
};
auto it = weapon_map.find(weapon_name_index);
if (it != weapon_map.end())
return it->second;
return "unknown_" + std::to_string(weapon_name_index);
}
OFFSETS
OFFSET_WEAPON = 0x19C4; // m_latestPrimaryWeapons
OFFSET_WEAPON_NAME = 0x1888; //[RecvTable.DT_WeaponX]->m_weaponNameIndex
PREVIEW