Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Гайд [Сурс] Valorant — Определение текущего оружия и способностей через ObjID

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
600
Реакции
16
В Валоранте адекватное определение того, что именно игрок держит в руках (будь то Vandal или ульта рейза), порой превращается в костыльный забег. Делюсь рабочим методом через ObjID.

Логика тут стандартная для external-проектов: читаем инвентарь актора, выходим на текущий используемый предмет и дергаем его ID.

Техническая реализация на C++:
Код:
Expand Collapse Copy
inline auto GetCurrentWeapon(uintptr_t Actor) -> std::string {
    auto Inventory = Driver::Read<intptr_t>(Actor + Offsets::Inventory);
    intptr_t CurrentEquip = Driver::Read<intptr_t>(Inventory + Offsets::CurrentEquipable);
    int weaponObj = Driver::Read<int>(CurrentEquip + Offsets::ObjID);
    return GetWeaponName(weaponObj);
}

Далее идет обычный свитч-кейс. Да, это хардкод, но для тех, кто не хочет возиться с FName или чтением строк из памяти напрямую — вариант вполне живучий.

  1. 14391538 — Knife
  2. 14228826 — Classic
  3. 14344465 — Shorty
  4. 14337836 — Sheriff
  5. 14318008 — Frenzy
  6. 14332155 — Ghost
  7. 14381675 — Stinger
  8. 14372761 — Spectre
  9. 14311523 — Bucky
  10. 14307093 — Judge
  11. 14291226 — Bulldog
  12. 14359498 — Guardian
  13. 14296107 — Phantom
  14. 14282114 — Vandal
  15. 14367503 — Marshal
  16. 14348192 — Operator
  17. 14277573 — Ares
  18. 14273931 — Odin
  19. 14246916 — Spike
  20. 14246939 — Defuser
  21. 14231466 — Orb
  22. 14229727 — Dark Cover (Omen)
  23. 14230055 — Paranoia (Omen)
  24. 14210631 — Raze Ult
  25. 14228592 — Sage Revive
  26. 14213404 — TOUR DE FORCE (Chamber)
  27. 14225817 — Neon Ult
  28. 0 — AFK

В основном цикле это просто вешается на структуру павна:
Код:
Expand Collapse Copy
pawn.WeaponName = GetCurrentWeapon(pawn.Player);

Риски и нюансы:
Этот метод требует актуальных оффсетов Inventory, CurrentEquipable и самого ObjID. Если игра обновляется, ID предметов могут поплыть, хотя обычно они статичны долгое время.

Кто пробовал тянуть названия через FNamePool в текущем патче, есть ли профит по производительности или безопасности? Пишите свои мысли по реализации нормального инвентарь-чекера.
 
Назад
Сверху Снизу