feat(ViewPlayer): Give health, armour, ammo, weapons (#261)

Co-authored-by: maybegreat48 <96936658+maybegreat48@users.noreply.github.com>
Co-authored-by: Yimura <andreas.maerten@scarlet.be>
This commit is contained in:
mentolixite 2022-07-03 00:03:07 +02:00 committed by GitHub
parent e987b665c2
commit f41b44478b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 464 additions and 162 deletions

View File

@ -23,6 +23,8 @@ namespace big::functions
using get_gameplay_cam_coords = Vector3();
using give_pickup_rewards = void(int players, uint32_t hash);
// Received Event Signatures START
using read_bitbuf_array = bool(rage::datBitBuffer* buffer, PVOID read, int bits, int);
using read_bitbuf_dword = bool(rage::datBitBuffer* buffer, PVOID read, int bits);

View File

@ -1,160 +1,160 @@
#pragma once
#include "natives.hpp"
#include "gta\joaat.hpp"
enum Rewards : Hash
{
REWARD_AMMO_ADVANCEDRIFLE = RAGE_JOAAT("REWARD_AMMO_ADVANCEDRIFLE"),
REWARD_AMMO_APPISTOL = RAGE_JOAAT("REWARD_AMMO_APPISTOL"),
REWARD_AMMO_ASSAULTRIFLE = RAGE_JOAAT("REWARD_AMMO_ASSAULTRIFLE"),
REWARD_AMMO_ASSAULTSHOTGUN = RAGE_JOAAT("REWARD_AMMO_ASSAULTSHOTGUN"),
REWARD_AMMO_ASSAULTSMG = RAGE_JOAAT("REWARD_AMMO_ASSAULTSMG"),
REWARD_AMMO_AUTOSHOTGUN = RAGE_JOAAT("REWARD_AMMO_AUTOSHOTGUN"),
REWARD_AMMO_BULLET_MP = RAGE_JOAAT("REWARD_AMMO_BULLET_MP"),
REWARD_AMMO_BULLPUPRIFLE = RAGE_JOAAT("REWARD_AMMO_BULLPUPRIFLE"),
REWARD_AMMO_BULLPUPSHOTGUN = RAGE_JOAAT("REWARD_AMMO_BULLPUPSHOTGUN"),
REWARD_AMMO_CARBINERIFLE = RAGE_JOAAT("REWARD_AMMO_CARBINERIFLE"),
REWARD_AMMO_COMBATMG = RAGE_JOAAT("REWARD_AMMO_COMBATMG"),
REWARD_AMMO_COMBATPDW = RAGE_JOAAT("REWARD_AMMO_COMBATPDW"),
REWARD_AMMO_COMBATPISTOL = RAGE_JOAAT("REWARD_AMMO_COMBATPISTOL"),
REWARD_AMMO_COMPACTLAUNCHER = RAGE_JOAAT("REWARD_AMMO_COMPACTLAUNCHER"),
REWARD_AMMO_COMPACTRIFLE = RAGE_JOAAT("REWARD_AMMO_COMPACTRIFLE"),
REWARD_AMMO_DBSHOTGUN = RAGE_JOAAT("REWARD_AMMO_DBSHOTGUN"),
REWARD_AMMO_DOUBLEACTION = RAGE_JOAAT("REWARD_AMMO_DOUBLEACTION"),
REWARD_AMMO_FIREWORK = RAGE_JOAAT("REWARD_AMMO_FIREWORK"),
REWARD_AMMO_FIREWORK_MP = RAGE_JOAAT("REWARD_AMMO_FIREWORK_MP"),
REWARD_AMMO_FLAREGUN = RAGE_JOAAT("REWARD_AMMO_FLAREGUN"),
REWARD_AMMO_GRENADE = RAGE_JOAAT("REWARD_AMMO_GRENADE"),
REWARD_AMMO_GRENADELAUNCHER = RAGE_JOAAT("REWARD_AMMO_GRENADELAUNCHER"),
REWARD_AMMO_GRENADELAUNCHER_MP = RAGE_JOAAT("REWARD_AMMO_GRENADELAUNCHER_MP"),
REWARD_AMMO_GUSENBERG = RAGE_JOAAT("REWARD_AMMO_GUSENBERG"),
REWARD_AMMO_HEAVYPISTOL = RAGE_JOAAT("REWARD_AMMO_HEAVYPISTOL"),
REWARD_AMMO_HEAVYSHOTGUN = RAGE_JOAAT("REWARD_AMMO_HEAVYSHOTGUN"),
REWARD_AMMO_HEAVYSNIPER = RAGE_JOAAT("REWARD_AMMO_HEAVYSNIPER"),
REWARD_AMMO_HOMINGLAUNCHER = RAGE_JOAAT("REWARD_AMMO_HOMINGLAUNCHER"),
REWARD_AMMO_MACHINEPISTOL = RAGE_JOAAT("REWARD_AMMO_MACHINEPISTOL"),
REWARD_AMMO_MARKSMANPISTOL = RAGE_JOAAT("REWARD_AMMO_MARKSMANPISTOL"),
REWARD_AMMO_MARKSMANRIFLE = RAGE_JOAAT("REWARD_AMMO_MARKSMANRIFLE"),
REWARD_AMMO_MG = RAGE_JOAAT("REWARD_AMMO_MG"),
REWARD_AMMO_MICROSMG = RAGE_JOAAT("REWARD_AMMO_MICROSMG"),
REWARD_AMMO_MINIGUN = RAGE_JOAAT("REWARD_AMMO_MINIGUN"),
REWARD_AMMO_MINISMG = RAGE_JOAAT("REWARD_AMMO_MINISMG"),
REWARD_AMMO_MISSILE_MP = RAGE_JOAAT("REWARD_AMMO_MISSILE_MP"),
REWARD_AMMO_MOLOTOV = RAGE_JOAAT("REWARD_AMMO_MOLOTOV"),
REWARD_AMMO_MUSKET = RAGE_JOAAT("REWARD_AMMO_MUSKET"),
REWARD_AMMO_PETROLCAN = RAGE_JOAAT("REWARD_AMMO_PETROLCAN"),
REWARD_AMMO_PIPEBOMB = RAGE_JOAAT("REWARD_AMMO_PIPEBOMB"),
REWARD_AMMO_PISTOL = RAGE_JOAAT("REWARD_AMMO_PISTOL"),
REWARD_AMMO_PISTOL50 = RAGE_JOAAT("REWARD_AMMO_PISTOL50"),
REWARD_AMMO_PROXMINE = RAGE_JOAAT("REWARD_AMMO_PROXMINE"),
REWARD_AMMO_PUMPSHOTGUN = RAGE_JOAAT("REWARD_AMMO_PUMPSHOTGUN"),
REWARD_AMMO_PUMPSHOTGUN_ENTER_VEHICLE = RAGE_JOAAT("REWARD_AMMO_PUMPSHOTGUN_ENTER_VEHICLE"),
REWARD_AMMO_RAILGUN = RAGE_JOAAT("REWARD_AMMO_RAILGUN"),
REWARD_AMMO_RAYPISTOL = RAGE_JOAAT("REWARD_AMMO_RAYPISTOL"),
REWARD_AMMO_REVOLVER = RAGE_JOAAT("REWARD_AMMO_REVOLVER"),
REWARD_AMMO_RPG = RAGE_JOAAT("REWARD_AMMO_RPG"),
REWARD_AMMO_SAWNOFFSHOTGUN = RAGE_JOAAT("REWARD_AMMO_SAWNOFFSHOTGUN"),
REWARD_AMMO_SMG = RAGE_JOAAT("REWARD_AMMO_SMG"),
REWARD_AMMO_SMOKEGRENADE = RAGE_JOAAT("REWARD_AMMO_SMOKEGRENADE"),
REWARD_AMMO_SNIPERRIFLE = RAGE_JOAAT("REWARD_AMMO_SNIPERRIFLE"),
REWARD_AMMO_SNSPISTOL = RAGE_JOAAT("REWARD_AMMO_SNSPISTOL"),
REWARD_AMMO_SPECIALCARBINE = RAGE_JOAAT("REWARD_AMMO_SPECIALCARBINE"),
REWARD_AMMO_STICKYBOMB = RAGE_JOAAT("REWARD_AMMO_STICKYBOMB"),
REWARD_AMMO_STUNGUN = RAGE_JOAAT("REWARD_AMMO_STUNGUN"),
REWARD_AMMO_VINTAGEPISTOL = RAGE_JOAAT("REWARD_AMMO_VINTAGEPISTOL"),
REWARD_ARMOUR = RAGE_JOAAT("REWARD_ARMOUR"),
REWARD_HEALTH = RAGE_JOAAT("REWARD_HEALTH"),
REWARD_HEALTH_ENTER_VEHICLE = RAGE_JOAAT("REWARD_HEALTH_ENTER_VEHICLE"),
REWARD_HEALTH_VARIABLE = RAGE_JOAAT("REWARD_HEALTH_VARIABLE"),
REWARD_MONEY_VARIABLE = RAGE_JOAAT("REWARD_MONEY_VARIABLE"),
REWARD_PARACHUTE = RAGE_JOAAT("REWARD_PARACHUTE"),
REWARD_STAT_HEALTH = RAGE_JOAAT("REWARD_STAT_HEALTH"),
REWARD_STAT_HEALTH_VARIABLE = RAGE_JOAAT("REWARD_STAT_HEALTH_VARIABLE"),
REWARD_STAT_WEAPON = RAGE_JOAAT("REWARD_STAT_WEAPON"),
REWARD_VEHICLE_FIX = RAGE_JOAAT("REWARD_VEHICLE_FIX"),
REWARD_WEAPON_ADVANCEDRIFLE = RAGE_JOAAT("REWARD_WEAPON_ADVANCEDRIFLE"),
REWARD_WEAPON_APPISTOL = RAGE_JOAAT("REWARD_WEAPON_APPISTOL"),
REWARD_WEAPON_ASSAULTRIFLE = RAGE_JOAAT("REWARD_WEAPON_ASSAULTRIFLE"),
REWARD_WEAPON_ASSAULTRIFLE_MK2 = RAGE_JOAAT("REWARD_WEAPON_ASSAULTRIFLE_MK2"),
REWARD_WEAPON_ASSAULTSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_ASSAULTSHOTGUN"),
REWARD_WEAPON_ASSAULTSMG = RAGE_JOAAT("REWARD_WEAPON_ASSAULTSMG"),
REWARD_WEAPON_AUTOSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_AUTOSHOTGUN"),
REWARD_WEAPON_BAT = RAGE_JOAAT("REWARD_WEAPON_BAT"),
REWARD_WEAPON_BATTLEAXE = RAGE_JOAAT("REWARD_WEAPON_BATTLEAXE"),
REWARD_WEAPON_BOTTLE = RAGE_JOAAT("REWARD_WEAPON_BOTTLE"),
REWARD_WEAPON_BULLPUPRIFLE = RAGE_JOAAT("REWARD_WEAPON_BULLPUPRIFLE"),
REWARD_WEAPON_BULLPUPRIFLE_MK2 = RAGE_JOAAT("REWARD_WEAPON_BULLPUPRIFLE_MK2"),
REWARD_WEAPON_BULLPUPSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_BULLPUPSHOTGUN"),
REWARD_WEAPON_CARBINERIFLE = RAGE_JOAAT("REWARD_WEAPON_CARBINERIFLE"),
REWARD_WEAPON_CARBINERIFLE_MK2 = RAGE_JOAAT("REWARD_WEAPON_CARBINERIFLE_MK2"),
REWARD_WEAPON_COMBATMG = RAGE_JOAAT("REWARD_WEAPON_COMBATMG"),
REWARD_WEAPON_COMBATMG_MK2 = RAGE_JOAAT("REWARD_WEAPON_COMBATMG_MK2"),
REWARD_WEAPON_COMBATPDW = RAGE_JOAAT("REWARD_WEAPON_COMBATPDW"),
REWARD_WEAPON_COMBATPISTOL = RAGE_JOAAT("REWARD_WEAPON_COMBATPISTOL"),
REWARD_WEAPON_COMPACTLAUNCHER = RAGE_JOAAT("REWARD_WEAPON_COMPACTLAUNCHER"),
REWARD_WEAPON_COMPACTRIFLE = RAGE_JOAAT("REWARD_WEAPON_COMPACTRIFLE"),
REWARD_WEAPON_CROWBAR = RAGE_JOAAT("REWARD_WEAPON_CROWBAR"),
REWARD_WEAPON_DAGGER = RAGE_JOAAT("REWARD_WEAPON_DAGGER"),
REWARD_WEAPON_DBSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_DBSHOTGUN"),
REWARD_WEAPON_DOUBLEACTION = RAGE_JOAAT("REWARD_WEAPON_DOUBLEACTION"),
REWARD_WEAPON_FIREWORK = RAGE_JOAAT("REWARD_WEAPON_FIREWORK"),
REWARD_WEAPON_FLAREGUN = RAGE_JOAAT("REWARD_WEAPON_FLAREGUN"),
REWARD_WEAPON_FLASHLIGHT = RAGE_JOAAT("REWARD_WEAPON_FLASHLIGHT"),
REWARD_WEAPON_GOLFCLUB = RAGE_JOAAT("REWARD_WEAPON_GOLFCLUB"),
REWARD_WEAPON_GRENADE = RAGE_JOAAT("REWARD_WEAPON_GRENADE"),
REWARD_WEAPON_GRENADELAUNCHER = RAGE_JOAAT("REWARD_WEAPON_GRENADELAUNCHER"),
REWARD_WEAPON_GUSENBERG = RAGE_JOAAT("REWARD_WEAPON_GUSENBERG"),
REWARD_WEAPON_HAMMER = RAGE_JOAAT("REWARD_WEAPON_HAMMER"),
REWARD_WEAPON_HATCHET = RAGE_JOAAT("REWARD_WEAPON_HATCHET"),
REWARD_WEAPON_HEAVYPISTOL = RAGE_JOAAT("REWARD_WEAPON_HEAVYPISTOL"),
REWARD_WEAPON_HEAVYSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_HEAVYSHOTGUN"),
REWARD_WEAPON_HEAVYSNIPER = RAGE_JOAAT("REWARD_WEAPON_HEAVYSNIPER"),
REWARD_WEAPON_HEAVYSNIPER_MK2 = RAGE_JOAAT("REWARD_WEAPON_HEAVYSNIPER_MK2"),
REWARD_WEAPON_HOMINGLAUNCHER = RAGE_JOAAT("REWARD_WEAPON_HOMINGLAUNCHER"),
REWARD_WEAPON_KNIFE = RAGE_JOAAT("REWARD_WEAPON_KNIFE"),
REWARD_WEAPON_KNUCKLE = RAGE_JOAAT("REWARD_WEAPON_KNUCKLE"),
REWARD_WEAPON_MACHETE = RAGE_JOAAT("REWARD_WEAPON_MACHETE"),
REWARD_WEAPON_MACHINEPISTOL = RAGE_JOAAT("REWARD_WEAPON_MACHINEPISTOL"),
REWARD_WEAPON_MARKSMANPISTOL = RAGE_JOAAT("REWARD_WEAPON_MARKSMANPISTOL"),
REWARD_WEAPON_MARKSMANRIFLE = RAGE_JOAAT("REWARD_WEAPON_MARKSMANRIFLE"),
REWARD_WEAPON_MARKSMANRIFLE_MK2 = RAGE_JOAAT("REWARD_WEAPON_MARKSMANRIFLE_MK2"),
REWARD_WEAPON_MG = RAGE_JOAAT("REWARD_WEAPON_MG"),
REWARD_WEAPON_MICROSMG = RAGE_JOAAT("REWARD_WEAPON_MICROSMG"),
REWARD_WEAPON_MINIGUN = RAGE_JOAAT("REWARD_WEAPON_MINIGUN"),
REWARD_WEAPON_MINISMG = RAGE_JOAAT("REWARD_WEAPON_MINISMG"),
REWARD_WEAPON_MOLOTOV = RAGE_JOAAT("REWARD_WEAPON_MOLOTOV"),
REWARD_WEAPON_MUSKET = RAGE_JOAAT("REWARD_WEAPON_MUSKET"),
REWARD_WEAPON_NIGHTSTICK = RAGE_JOAAT("REWARD_WEAPON_NIGHTSTICK"),
REWARD_WEAPON_PETROLCAN = RAGE_JOAAT("REWARD_WEAPON_PETROLCAN"),
REWARD_WEAPON_PIPEBOMB = RAGE_JOAAT("REWARD_WEAPON_PIPEBOMB"),
REWARD_WEAPON_PISTOL = RAGE_JOAAT("REWARD_WEAPON_PISTOL"),
REWARD_WEAPON_PISTOL50 = RAGE_JOAAT("REWARD_WEAPON_PISTOL50"),
REWARD_WEAPON_PISTOL_MK2 = RAGE_JOAAT("REWARD_WEAPON_PISTOL_MK2"),
REWARD_WEAPON_POOLCUE = RAGE_JOAAT("REWARD_WEAPON_POOLCUE"),
REWARD_WEAPON_PROXMINE = RAGE_JOAAT("REWARD_WEAPON_PROXMINE"),
REWARD_WEAPON_PUMPSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_PUMPSHOTGUN"),
REWARD_WEAPON_PUMPSHOTGUN_MK2 = RAGE_JOAAT("REWARD_WEAPON_PUMPSHOTGUN_MK2"),
REWARD_WEAPON_RAILGUN = RAGE_JOAAT("REWARD_WEAPON_RAILGUN"),
REWARD_WEAPON_RAYCARBINE = RAGE_JOAAT("REWARD_WEAPON_RAYCARBINE"),
REWARD_WEAPON_RAYMINIGUN = RAGE_JOAAT("REWARD_WEAPON_RAYMINIGUN"),
REWARD_WEAPON_RAYPISTOL = RAGE_JOAAT("REWARD_WEAPON_RAYPISTOL"),
REWARD_WEAPON_REVOLVER = RAGE_JOAAT("REWARD_WEAPON_REVOLVER"),
REWARD_WEAPON_REVOLVER_MK2 = RAGE_JOAAT("REWARD_WEAPON_REVOLVER_MK2"),
REWARD_WEAPON_RPG = RAGE_JOAAT("REWARD_WEAPON_RPG"),
REWARD_WEAPON_SAWNOFFSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_SAWNOFFSHOTGUN"),
REWARD_WEAPON_SMG = RAGE_JOAAT("REWARD_WEAPON_SMG"),
REWARD_WEAPON_SMG_MK2 = RAGE_JOAAT("REWARD_WEAPON_SMG_MK2"),
REWARD_WEAPON_SMOKEGRENADE = RAGE_JOAAT("REWARD_WEAPON_SMOKEGRENADE"),
REWARD_WEAPON_SNIPERRIFLE = RAGE_JOAAT("REWARD_WEAPON_SNIPERRIFLE"),
REWARD_WEAPON_SNSPISTOL = RAGE_JOAAT("REWARD_WEAPON_SNSPISTOL"),
REWARD_WEAPON_SNSPISTOL_MK2 = RAGE_JOAAT("REWARD_WEAPON_SNSPISTOL_MK2"),
REWARD_WEAPON_SPECIALCARBINE = RAGE_JOAAT("REWARD_WEAPON_SPECIALCARBINE"),
REWARD_WEAPON_SPECIALCARBINE_MK2 = RAGE_JOAAT("REWARD_WEAPON_SPECIALCARBINE_MK2"),
REWARD_WEAPON_STICKYBOMB = RAGE_JOAAT("REWARD_WEAPON_STICKYBOMB"),
REWARD_WEAPON_STONE_HATCHET = RAGE_JOAAT("REWARD_WEAPON_STONE_HATCHET"),
REWARD_WEAPON_STUNGUN = RAGE_JOAAT("REWARD_WEAPON_STUNGUN"),
REWARD_WEAPON_SWITCHBLADE = RAGE_JOAAT("REWARD_WEAPON_SWITCHBLADE"),
REWARD_WEAPON_VINTAGEPISTOL = RAGE_JOAAT("REWARD_WEAPON_VINTAGEPISTOL"),
REWARD_WEAPON_WRENCH = RAGE_JOAAT("REWARD_WEAPON_WRENCH")
#pragma once
#include "natives.hpp"
#include "gta\joaat.hpp"
enum Rewards : Hash
{
REWARD_AMMO_ADVANCEDRIFLE = RAGE_JOAAT("REWARD_AMMO_ADVANCEDRIFLE"),
REWARD_AMMO_APPISTOL = RAGE_JOAAT("REWARD_AMMO_APPISTOL"),
REWARD_AMMO_ASSAULTRIFLE = RAGE_JOAAT("REWARD_AMMO_ASSAULTRIFLE"),
REWARD_AMMO_ASSAULTSHOTGUN = RAGE_JOAAT("REWARD_AMMO_ASSAULTSHOTGUN"),
REWARD_AMMO_ASSAULTSMG = RAGE_JOAAT("REWARD_AMMO_ASSAULTSMG"),
REWARD_AMMO_AUTOSHOTGUN = RAGE_JOAAT("REWARD_AMMO_AUTOSHOTGUN"),
REWARD_AMMO_BULLET_MP = RAGE_JOAAT("REWARD_AMMO_BULLET_MP"),
REWARD_AMMO_BULLPUPRIFLE = RAGE_JOAAT("REWARD_AMMO_BULLPUPRIFLE"),
REWARD_AMMO_BULLPUPSHOTGUN = RAGE_JOAAT("REWARD_AMMO_BULLPUPSHOTGUN"),
REWARD_AMMO_CARBINERIFLE = RAGE_JOAAT("REWARD_AMMO_CARBINERIFLE"),
REWARD_AMMO_COMBATMG = RAGE_JOAAT("REWARD_AMMO_COMBATMG"),
REWARD_AMMO_COMBATPDW = RAGE_JOAAT("REWARD_AMMO_COMBATPDW"),
REWARD_AMMO_COMBATPISTOL = RAGE_JOAAT("REWARD_AMMO_COMBATPISTOL"),
REWARD_AMMO_COMPACTLAUNCHER = RAGE_JOAAT("REWARD_AMMO_COMPACTLAUNCHER"),
REWARD_AMMO_COMPACTRIFLE = RAGE_JOAAT("REWARD_AMMO_COMPACTRIFLE"),
REWARD_AMMO_DBSHOTGUN = RAGE_JOAAT("REWARD_AMMO_DBSHOTGUN"),
REWARD_AMMO_DOUBLEACTION = RAGE_JOAAT("REWARD_AMMO_DOUBLEACTION"),
REWARD_AMMO_FIREWORK = RAGE_JOAAT("REWARD_AMMO_FIREWORK"),
REWARD_AMMO_FIREWORK_MP = RAGE_JOAAT("REWARD_AMMO_FIREWORK_MP"),
REWARD_AMMO_FLAREGUN = RAGE_JOAAT("REWARD_AMMO_FLAREGUN"),
REWARD_AMMO_GRENADE = RAGE_JOAAT("REWARD_AMMO_GRENADE"),
REWARD_AMMO_GRENADELAUNCHER = RAGE_JOAAT("REWARD_AMMO_GRENADELAUNCHER"),
REWARD_AMMO_GRENADELAUNCHER_MP = RAGE_JOAAT("REWARD_AMMO_GRENADELAUNCHER_MP"),
REWARD_AMMO_GUSENBERG = RAGE_JOAAT("REWARD_AMMO_GUSENBERG"),
REWARD_AMMO_HEAVYPISTOL = RAGE_JOAAT("REWARD_AMMO_HEAVYPISTOL"),
REWARD_AMMO_HEAVYSHOTGUN = RAGE_JOAAT("REWARD_AMMO_HEAVYSHOTGUN"),
REWARD_AMMO_HEAVYSNIPER = RAGE_JOAAT("REWARD_AMMO_HEAVYSNIPER"),
REWARD_AMMO_HOMINGLAUNCHER = RAGE_JOAAT("REWARD_AMMO_HOMINGLAUNCHER"),
REWARD_AMMO_MACHINEPISTOL = RAGE_JOAAT("REWARD_AMMO_MACHINEPISTOL"),
REWARD_AMMO_MARKSMANPISTOL = RAGE_JOAAT("REWARD_AMMO_MARKSMANPISTOL"),
REWARD_AMMO_MARKSMANRIFLE = RAGE_JOAAT("REWARD_AMMO_MARKSMANRIFLE"),
REWARD_AMMO_MG = RAGE_JOAAT("REWARD_AMMO_MG"),
REWARD_AMMO_MICROSMG = RAGE_JOAAT("REWARD_AMMO_MICROSMG"),
REWARD_AMMO_MINIGUN = RAGE_JOAAT("REWARD_AMMO_MINIGUN"),
REWARD_AMMO_MINISMG = RAGE_JOAAT("REWARD_AMMO_MINISMG"),
REWARD_AMMO_MISSILE_MP = RAGE_JOAAT("REWARD_AMMO_MISSILE_MP"),
REWARD_AMMO_MOLOTOV = RAGE_JOAAT("REWARD_AMMO_MOLOTOV"),
REWARD_AMMO_MUSKET = RAGE_JOAAT("REWARD_AMMO_MUSKET"),
REWARD_AMMO_PETROLCAN = RAGE_JOAAT("REWARD_AMMO_PETROLCAN"),
REWARD_AMMO_PIPEBOMB = RAGE_JOAAT("REWARD_AMMO_PIPEBOMB"),
REWARD_AMMO_PISTOL = RAGE_JOAAT("REWARD_AMMO_PISTOL"),
REWARD_AMMO_PISTOL50 = RAGE_JOAAT("REWARD_AMMO_PISTOL50"),
REWARD_AMMO_PROXMINE = RAGE_JOAAT("REWARD_AMMO_PROXMINE"),
REWARD_AMMO_PUMPSHOTGUN = RAGE_JOAAT("REWARD_AMMO_PUMPSHOTGUN"),
REWARD_AMMO_PUMPSHOTGUN_ENTER_VEHICLE = RAGE_JOAAT("REWARD_AMMO_PUMPSHOTGUN_ENTER_VEHICLE"),
REWARD_AMMO_RAILGUN = RAGE_JOAAT("REWARD_AMMO_RAILGUN"),
REWARD_AMMO_RAYPISTOL = RAGE_JOAAT("REWARD_AMMO_RAYPISTOL"),
REWARD_AMMO_REVOLVER = RAGE_JOAAT("REWARD_AMMO_REVOLVER"),
REWARD_AMMO_RPG = RAGE_JOAAT("REWARD_AMMO_RPG"),
REWARD_AMMO_SAWNOFFSHOTGUN = RAGE_JOAAT("REWARD_AMMO_SAWNOFFSHOTGUN"),
REWARD_AMMO_SMG = RAGE_JOAAT("REWARD_AMMO_SMG"),
REWARD_AMMO_SMOKEGRENADE = RAGE_JOAAT("REWARD_AMMO_SMOKEGRENADE"),
REWARD_AMMO_SNIPERRIFLE = RAGE_JOAAT("REWARD_AMMO_SNIPERRIFLE"),
REWARD_AMMO_SNSPISTOL = RAGE_JOAAT("REWARD_AMMO_SNSPISTOL"),
REWARD_AMMO_SPECIALCARBINE = RAGE_JOAAT("REWARD_AMMO_SPECIALCARBINE"),
REWARD_AMMO_STICKYBOMB = RAGE_JOAAT("REWARD_AMMO_STICKYBOMB"),
REWARD_AMMO_STUNGUN = RAGE_JOAAT("REWARD_AMMO_STUNGUN"),
REWARD_AMMO_VINTAGEPISTOL = RAGE_JOAAT("REWARD_AMMO_VINTAGEPISTOL"),
REWARD_ARMOUR = RAGE_JOAAT("REWARD_ARMOUR"),
REWARD_HEALTH = RAGE_JOAAT("REWARD_HEALTH"),
REWARD_HEALTH_ENTER_VEHICLE = RAGE_JOAAT("REWARD_HEALTH_ENTER_VEHICLE"),
REWARD_HEALTH_VARIABLE = RAGE_JOAAT("REWARD_HEALTH_VARIABLE"),
REWARD_MONEY_VARIABLE = RAGE_JOAAT("REWARD_MONEY_VARIABLE"),
REWARD_PARACHUTE = RAGE_JOAAT("REWARD_PARACHUTE"),
REWARD_STAT_HEALTH = RAGE_JOAAT("REWARD_STAT_HEALTH"),
REWARD_STAT_HEALTH_VARIABLE = RAGE_JOAAT("REWARD_STAT_HEALTH_VARIABLE"),
REWARD_STAT_WEAPON = RAGE_JOAAT("REWARD_STAT_WEAPON"),
REWARD_VEHICLE_FIX = RAGE_JOAAT("REWARD_VEHICLE_FIX"),
REWARD_WEAPON_ADVANCEDRIFLE = RAGE_JOAAT("REWARD_WEAPON_ADVANCEDRIFLE"),
REWARD_WEAPON_APPISTOL = RAGE_JOAAT("REWARD_WEAPON_APPISTOL"),
REWARD_WEAPON_ASSAULTRIFLE = RAGE_JOAAT("REWARD_WEAPON_ASSAULTRIFLE"),
REWARD_WEAPON_ASSAULTRIFLE_MK2 = RAGE_JOAAT("REWARD_WEAPON_ASSAULTRIFLE_MK2"),
REWARD_WEAPON_ASSAULTSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_ASSAULTSHOTGUN"),
REWARD_WEAPON_ASSAULTSMG = RAGE_JOAAT("REWARD_WEAPON_ASSAULTSMG"),
REWARD_WEAPON_AUTOSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_AUTOSHOTGUN"),
REWARD_WEAPON_BAT = RAGE_JOAAT("REWARD_WEAPON_BAT"),
REWARD_WEAPON_BATTLEAXE = RAGE_JOAAT("REWARD_WEAPON_BATTLEAXE"),
REWARD_WEAPON_BOTTLE = RAGE_JOAAT("REWARD_WEAPON_BOTTLE"),
REWARD_WEAPON_BULLPUPRIFLE = RAGE_JOAAT("REWARD_WEAPON_BULLPUPRIFLE"),
REWARD_WEAPON_BULLPUPRIFLE_MK2 = RAGE_JOAAT("REWARD_WEAPON_BULLPUPRIFLE_MK2"),
REWARD_WEAPON_BULLPUPSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_BULLPUPSHOTGUN"),
REWARD_WEAPON_CARBINERIFLE = RAGE_JOAAT("REWARD_WEAPON_CARBINERIFLE"),
REWARD_WEAPON_CARBINERIFLE_MK2 = RAGE_JOAAT("REWARD_WEAPON_CARBINERIFLE_MK2"),
REWARD_WEAPON_COMBATMG = RAGE_JOAAT("REWARD_WEAPON_COMBATMG"),
REWARD_WEAPON_COMBATMG_MK2 = RAGE_JOAAT("REWARD_WEAPON_COMBATMG_MK2"),
REWARD_WEAPON_COMBATPDW = RAGE_JOAAT("REWARD_WEAPON_COMBATPDW"),
REWARD_WEAPON_COMBATPISTOL = RAGE_JOAAT("REWARD_WEAPON_COMBATPISTOL"),
REWARD_WEAPON_COMPACTLAUNCHER = RAGE_JOAAT("REWARD_WEAPON_COMPACTLAUNCHER"),
REWARD_WEAPON_COMPACTRIFLE = RAGE_JOAAT("REWARD_WEAPON_COMPACTRIFLE"),
REWARD_WEAPON_CROWBAR = RAGE_JOAAT("REWARD_WEAPON_CROWBAR"),
REWARD_WEAPON_DAGGER = RAGE_JOAAT("REWARD_WEAPON_DAGGER"),
REWARD_WEAPON_DBSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_DBSHOTGUN"),
REWARD_WEAPON_DOUBLEACTION = RAGE_JOAAT("REWARD_WEAPON_DOUBLEACTION"),
REWARD_WEAPON_FIREWORK = RAGE_JOAAT("REWARD_WEAPON_FIREWORK"),
REWARD_WEAPON_FLAREGUN = RAGE_JOAAT("REWARD_WEAPON_FLAREGUN"),
REWARD_WEAPON_FLASHLIGHT = RAGE_JOAAT("REWARD_WEAPON_FLASHLIGHT"),
REWARD_WEAPON_GOLFCLUB = RAGE_JOAAT("REWARD_WEAPON_GOLFCLUB"),
REWARD_WEAPON_GRENADE = RAGE_JOAAT("REWARD_WEAPON_GRENADE"),
REWARD_WEAPON_GRENADELAUNCHER = RAGE_JOAAT("REWARD_WEAPON_GRENADELAUNCHER"),
REWARD_WEAPON_GUSENBERG = RAGE_JOAAT("REWARD_WEAPON_GUSENBERG"),
REWARD_WEAPON_HAMMER = RAGE_JOAAT("REWARD_WEAPON_HAMMER"),
REWARD_WEAPON_HATCHET = RAGE_JOAAT("REWARD_WEAPON_HATCHET"),
REWARD_WEAPON_HEAVYPISTOL = RAGE_JOAAT("REWARD_WEAPON_HEAVYPISTOL"),
REWARD_WEAPON_HEAVYSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_HEAVYSHOTGUN"),
REWARD_WEAPON_HEAVYSNIPER = RAGE_JOAAT("REWARD_WEAPON_HEAVYSNIPER"),
REWARD_WEAPON_HEAVYSNIPER_MK2 = RAGE_JOAAT("REWARD_WEAPON_HEAVYSNIPER_MK2"),
REWARD_WEAPON_HOMINGLAUNCHER = RAGE_JOAAT("REWARD_WEAPON_HOMINGLAUNCHER"),
REWARD_WEAPON_KNIFE = RAGE_JOAAT("REWARD_WEAPON_KNIFE"),
REWARD_WEAPON_KNUCKLE = RAGE_JOAAT("REWARD_WEAPON_KNUCKLE"),
REWARD_WEAPON_MACHETE = RAGE_JOAAT("REWARD_WEAPON_MACHETE"),
REWARD_WEAPON_MACHINEPISTOL = RAGE_JOAAT("REWARD_WEAPON_MACHINEPISTOL"),
REWARD_WEAPON_MARKSMANPISTOL = RAGE_JOAAT("REWARD_WEAPON_MARKSMANPISTOL"),
REWARD_WEAPON_MARKSMANRIFLE = RAGE_JOAAT("REWARD_WEAPON_MARKSMANRIFLE"),
REWARD_WEAPON_MARKSMANRIFLE_MK2 = RAGE_JOAAT("REWARD_WEAPON_MARKSMANRIFLE_MK2"),
REWARD_WEAPON_MG = RAGE_JOAAT("REWARD_WEAPON_MG"),
REWARD_WEAPON_MICROSMG = RAGE_JOAAT("REWARD_WEAPON_MICROSMG"),
REWARD_WEAPON_MINIGUN = RAGE_JOAAT("REWARD_WEAPON_MINIGUN"),
REWARD_WEAPON_MINISMG = RAGE_JOAAT("REWARD_WEAPON_MINISMG"),
REWARD_WEAPON_MOLOTOV = RAGE_JOAAT("REWARD_WEAPON_MOLOTOV"),
REWARD_WEAPON_MUSKET = RAGE_JOAAT("REWARD_WEAPON_MUSKET"),
REWARD_WEAPON_NIGHTSTICK = RAGE_JOAAT("REWARD_WEAPON_NIGHTSTICK"),
REWARD_WEAPON_PETROLCAN = RAGE_JOAAT("REWARD_WEAPON_PETROLCAN"),
REWARD_WEAPON_PIPEBOMB = RAGE_JOAAT("REWARD_WEAPON_PIPEBOMB"),
REWARD_WEAPON_PISTOL = RAGE_JOAAT("REWARD_WEAPON_PISTOL"),
REWARD_WEAPON_PISTOL50 = RAGE_JOAAT("REWARD_WEAPON_PISTOL50"),
REWARD_WEAPON_PISTOL_MK2 = RAGE_JOAAT("REWARD_WEAPON_PISTOL_MK2"),
REWARD_WEAPON_POOLCUE = RAGE_JOAAT("REWARD_WEAPON_POOLCUE"),
REWARD_WEAPON_PROXMINE = RAGE_JOAAT("REWARD_WEAPON_PROXMINE"),
REWARD_WEAPON_PUMPSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_PUMPSHOTGUN"),
REWARD_WEAPON_PUMPSHOTGUN_MK2 = RAGE_JOAAT("REWARD_WEAPON_PUMPSHOTGUN_MK2"),
REWARD_WEAPON_RAILGUN = RAGE_JOAAT("REWARD_WEAPON_RAILGUN"),
REWARD_WEAPON_RAYCARBINE = RAGE_JOAAT("REWARD_WEAPON_RAYCARBINE"),
REWARD_WEAPON_RAYMINIGUN = RAGE_JOAAT("REWARD_WEAPON_RAYMINIGUN"),
REWARD_WEAPON_RAYPISTOL = RAGE_JOAAT("REWARD_WEAPON_RAYPISTOL"),
REWARD_WEAPON_REVOLVER = RAGE_JOAAT("REWARD_WEAPON_REVOLVER"),
REWARD_WEAPON_REVOLVER_MK2 = RAGE_JOAAT("REWARD_WEAPON_REVOLVER_MK2"),
REWARD_WEAPON_RPG = RAGE_JOAAT("REWARD_WEAPON_RPG"),
REWARD_WEAPON_SAWNOFFSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_SAWNOFFSHOTGUN"),
REWARD_WEAPON_SMG = RAGE_JOAAT("REWARD_WEAPON_SMG"),
REWARD_WEAPON_SMG_MK2 = RAGE_JOAAT("REWARD_WEAPON_SMG_MK2"),
REWARD_WEAPON_SMOKEGRENADE = RAGE_JOAAT("REWARD_WEAPON_SMOKEGRENADE"),
REWARD_WEAPON_SNIPERRIFLE = RAGE_JOAAT("REWARD_WEAPON_SNIPERRIFLE"),
REWARD_WEAPON_SNSPISTOL = RAGE_JOAAT("REWARD_WEAPON_SNSPISTOL"),
REWARD_WEAPON_SNSPISTOL_MK2 = RAGE_JOAAT("REWARD_WEAPON_SNSPISTOL_MK2"),
REWARD_WEAPON_SPECIALCARBINE = RAGE_JOAAT("REWARD_WEAPON_SPECIALCARBINE"),
REWARD_WEAPON_SPECIALCARBINE_MK2 = RAGE_JOAAT("REWARD_WEAPON_SPECIALCARBINE_MK2"),
REWARD_WEAPON_STICKYBOMB = RAGE_JOAAT("REWARD_WEAPON_STICKYBOMB"),
REWARD_WEAPON_STONE_HATCHET = RAGE_JOAAT("REWARD_WEAPON_STONE_HATCHET"),
REWARD_WEAPON_STUNGUN = RAGE_JOAAT("REWARD_WEAPON_STUNGUN"),
REWARD_WEAPON_SWITCHBLADE = RAGE_JOAAT("REWARD_WEAPON_SWITCHBLADE"),
REWARD_WEAPON_VINTAGEPISTOL = RAGE_JOAAT("REWARD_WEAPON_VINTAGEPISTOL"),
REWARD_WEAPON_WRENCH = RAGE_JOAAT("REWARD_WEAPON_WRENCH")
};

View File

@ -10,18 +10,18 @@
#include "script_mgr.hpp"
#include "thread_pool.hpp"
#include "backend/backend.hpp"
#include "native_hooks/native_hooks.hpp"
#include "services/context_menu/context_menu_service.hpp"
#include "services/globals/globals_service.hpp"
#include "services/gui/gui_service.hpp"
#include "services/mobile/mobile_service.hpp"
#include "services/pickups/pickup_service.hpp"
#include "services/players/player_service.hpp"
#include "services/notifications/notification_service.hpp"
#include "services/vehicle_preview/vehicle_preview_service.hpp"
#include "services/vehicle/vehicle_service.hpp"
#include "backend/backend.hpp"
BOOL APIENTRY DllMain(HMODULE hmod, DWORD reason, PVOID)
{
using namespace big;
@ -75,6 +75,7 @@ BOOL APIENTRY DllMain(HMODULE hmod, DWORD reason, PVOID)
auto globals_service_instace = std::make_unique<globals_service>();
auto mobile_service_instance = std::make_unique<mobile_service>();
auto notification_service_instance = std::make_unique<notification_service>();
auto pickup_service_instance = std::make_unique<pickup_service>();
auto player_service_instance = std::make_unique<player_service>();
auto vehicle_preview_service_instance = std::make_unique<vehicle_preview_service>();
auto vehicle_service_instance = std::make_unique<vehicle_service>();
@ -128,6 +129,8 @@ BOOL APIENTRY DllMain(HMODULE hmod, DWORD reason, PVOID)
LOG(INFO) << "Mobile Service reset.";
player_service_instance.reset();
LOG(INFO) << "Player Service reset.";
pickup_service_instance.reset();
LOG(INFO) << "Pickup Service reset.";
globals_service_instace.reset();
LOG(INFO) << "Globals Service reset.";
context_menu_service_instance.reset();
@ -173,4 +176,4 @@ BOOL APIENTRY DllMain(HMODULE hmod, DWORD reason, PVOID)
}
return true;
}
}

View File

@ -230,6 +230,12 @@ namespace big
m_get_gamplay_cam_coords = ptr.sub(0xE).as<functions::get_gameplay_cam_coords*>();
});
// Give Pickup Reward
main_batch.add("GPR", "48 8B C8 33 C0 48 85 C9 74 0A 44 8B C3 8B D7 E8", [this](memory::handle ptr)
{
m_give_pickup_rewards = ptr.sub(0x28).as<decltype(m_give_pickup_rewards)>();
});
// net array handler - version mismatch patch
main_batch.add("NAH", "44 8B E0 89 45 F4 48 8B 03 48 8B CB FF 90", [this](memory::handle ptr)
{

View File

@ -69,6 +69,8 @@ namespace big
functions::get_gameplay_cam_coords* m_get_gamplay_cam_coords;
functions::give_pickup_rewards* m_give_pickup_rewards{};
functions::increment_stat_event* m_increment_stat_event{};
functions::trigger_script_event* m_trigger_script_event{};

View File

@ -0,0 +1,173 @@
#pragma once
#include "gta\joaat.hpp"
namespace big
{
struct rewards
{
using pickup_map = std::map<const std::string_view, const Hash>;
inline static const pickup_map misc = {
{ "ARMOUR", RAGE_JOAAT("REWARD_ARMOUR") },
{ "HEALTH", RAGE_JOAAT("REWARD_HEALTH") },
{ "HEALTH_ENTER_VEHICLE", RAGE_JOAAT("REWARD_HEALTH_ENTER_VEHICLE") },
{ "HEALTH_VARIABLE", RAGE_JOAAT("REWARD_HEALTH_VARIABLE") },
{ "MONEY_VARIABLE", RAGE_JOAAT("REWARD_MONEY_VARIABLE") },
{ "PARACHUTE", RAGE_JOAAT("REWARD_PARACHUTE") },
{ "STAT_HEALTH", RAGE_JOAAT("REWARD_STAT_HEALTH") },
{ "STAT_HEALTH_VARIABLE", RAGE_JOAAT("REWARD_STAT_HEALTH_VARIABLE") },
{ "STAT_WEAPON", RAGE_JOAAT("REWARD_STAT_WEAPON") },
{ "VEHICLE_FIX", RAGE_JOAAT("REWARD_VEHICLE_FIX") }
};
inline static const pickup_map ammo =
{
{ "ADVANCEDRIFLE", RAGE_JOAAT("REWARD_AMMO_ADVANCEDRIFLE") },
{ "APPISTOL", RAGE_JOAAT("REWARD_AMMO_APPISTOL") },
{ "ASSAULTRIFLE", RAGE_JOAAT("REWARD_AMMO_ASSAULTRIFLE") },
{ "ASSAULTSHOTGUN", RAGE_JOAAT("REWARD_AMMO_ASSAULTSHOTGUN") },
{ "ASSAULTSMG", RAGE_JOAAT("REWARD_AMMO_ASSAULTSMG") },
{ "AUTOSHOTGUN", RAGE_JOAAT("REWARD_AMMO_AUTOSHOTGUN") },
{ "BULLET_MP", RAGE_JOAAT("REWARD_AMMO_BULLET_MP") },
{ "BULLPUPRIFLE", RAGE_JOAAT("REWARD_AMMO_BULLPUPRIFLE") },
{ "BULLPUPSHOTGUN", RAGE_JOAAT("REWARD_AMMO_BULLPUPSHOTGUN") },
{ "CARBINERIFLE", RAGE_JOAAT("REWARD_AMMO_CARBINERIFLE") },
{ "COMBATMG", RAGE_JOAAT("REWARD_AMMO_COMBATMG") },
{ "COMBATPDW", RAGE_JOAAT("REWARD_AMMO_COMBATPDW") },
{ "COMBATPISTOL", RAGE_JOAAT("REWARD_AMMO_COMBATPISTOL") },
{ "COMPACTLAUNCHER", RAGE_JOAAT("REWARD_AMMO_COMPACTLAUNCHER") },
{ "COMPACTRIFLE", RAGE_JOAAT("REWARD_AMMO_COMPACTRIFLE") },
{ "DBSHOTGUN", RAGE_JOAAT("REWARD_AMMO_DBSHOTGUN") },
{ "DOUBLEACTION", RAGE_JOAAT("REWARD_AMMO_DOUBLEACTION") },
{ "FIREWORK", RAGE_JOAAT("REWARD_AMMO_FIREWORK") },
{ "FIREWORK_MP", RAGE_JOAAT("REWARD_AMMO_FIREWORK_MP") },
{ "FLAREGUN", RAGE_JOAAT("REWARD_AMMO_FLAREGUN") },
{ "GRENADE", RAGE_JOAAT("REWARD_AMMO_GRENADE") },
{ "GRENADELAUNCHER", RAGE_JOAAT("REWARD_AMMO_GRENADELAUNCHER") },
{ "GRENADELAUNCHER_MP", RAGE_JOAAT("REWARD_AMMO_GRENADELAUNCHER_MP") },
{ "GUSENBERG", RAGE_JOAAT("REWARD_AMMO_GUSENBERG") },
{ "HEAVYPISTOL", RAGE_JOAAT("REWARD_AMMO_HEAVYPISTOL") },
{ "HEAVYSHOTGUN", RAGE_JOAAT("REWARD_AMMO_HEAVYSHOTGUN") },
{ "HEAVYSNIPER", RAGE_JOAAT("REWARD_AMMO_HEAVYSNIPER") },
{ "HOMINGLAUNCHER", RAGE_JOAAT("REWARD_AMMO_HOMINGLAUNCHER") },
{ "MACHINEPISTOL", RAGE_JOAAT("REWARD_AMMO_MACHINEPISTOL") },
{ "MARKSMANPISTOL", RAGE_JOAAT("REWARD_AMMO_MARKSMANPISTOL") },
{ "MARKSMANRIFLE", RAGE_JOAAT("REWARD_AMMO_MARKSMANRIFLE") },
{ "MG", RAGE_JOAAT("REWARD_AMMO_MG") },
{ "MICROSMG", RAGE_JOAAT("REWARD_AMMO_MICROSMG") },
{ "MINIGUN", RAGE_JOAAT("REWARD_AMMO_MINIGUN") },
{ "MINISMG", RAGE_JOAAT("REWARD_AMMO_MINISMG") },
{ "MISSILE_MP", RAGE_JOAAT("REWARD_AMMO_MISSILE_MP") },
{ "MOLOTOV", RAGE_JOAAT("REWARD_AMMO_MOLOTOV") },
{ "MUSKET", RAGE_JOAAT("REWARD_AMMO_MUSKET") },
{ "PETROLCAN", RAGE_JOAAT("REWARD_AMMO_PETROLCAN") },
{ "PIPEBOMB", RAGE_JOAAT("REWARD_AMMO_PIPEBOMB") },
{ "PISTOL", RAGE_JOAAT("REWARD_AMMO_PISTOL") },
{ "PISTOL50", RAGE_JOAAT("REWARD_AMMO_PISTOL50") },
{ "PROXMINE", RAGE_JOAAT("REWARD_AMMO_PROXMINE") },
{ "PUMPSHOTGUN", RAGE_JOAAT("REWARD_AMMO_PUMPSHOTGUN") },
{ "PUMPSHOTGUN_ENTER_VEHICLE", RAGE_JOAAT("REWARD_AMMO_PUMPSHOTGUN_ENTER_VEHICLE") },
{ "RAILGUN", RAGE_JOAAT("REWARD_AMMO_RAILGUN") },
{ "RAYPISTOL", RAGE_JOAAT("REWARD_AMMO_RAYPISTOL") },
{ "REVOLVER", RAGE_JOAAT("REWARD_AMMO_REVOLVER") },
{ "RPG", RAGE_JOAAT("REWARD_AMMO_RPG") },
{ "SAWNOFFSHOTGUN", RAGE_JOAAT("REWARD_AMMO_SAWNOFFSHOTGUN") },
{ "SMG", RAGE_JOAAT("REWARD_AMMO_SMG") },
{ "SMOKEGRENADE", RAGE_JOAAT("REWARD_AMMO_SMOKEGRENADE") },
{ "SNIPERRIFLE", RAGE_JOAAT("REWARD_AMMO_SNIPERRIFLE") },
{ "SNSPISTOL", RAGE_JOAAT("REWARD_AMMO_SNSPISTOL") },
{ "SPECIALCARBINE", RAGE_JOAAT("REWARD_AMMO_SPECIALCARBINE") },
{ "STICKYBOMB", RAGE_JOAAT("REWARD_AMMO_STICKYBOMB") },
{ "STUNGUN", RAGE_JOAAT("REWARD_AMMO_STUNGUN") },
{ "VINTAGEPISTOL", RAGE_JOAAT("REWARD_AMMO_VINTAGEPISTOL") }
};
inline static const pickup_map weapons =
{
{ "ADVANCEDRIFLE", RAGE_JOAAT("REWARD_WEAPON_ADVANCEDRIFLE") },
{ "APPISTOL", RAGE_JOAAT("REWARD_WEAPON_APPISTOL") },
{ "ASSAULTRIFLE", RAGE_JOAAT("REWARD_WEAPON_ASSAULTRIFLE") },
{ "ASSAULTRIFLE_MK2", RAGE_JOAAT("REWARD_WEAPON_ASSAULTRIFLE_MK2") },
{ "ASSAULTSHOTGUN", RAGE_JOAAT("REWARD_WEAPON_ASSAULTSHOTGUN") },
{ "ASSAULTSMG", RAGE_JOAAT("REWARD_WEAPON_ASSAULTSMG") },
{ "AUTOSHOTGUN", RAGE_JOAAT("REWARD_WEAPON_AUTOSHOTGUN") },
{ "BAT", RAGE_JOAAT("REWARD_WEAPON_BAT") },
{ "BATTLEAXE", RAGE_JOAAT("REWARD_WEAPON_BATTLEAXE") },
{ "BOTTLE", RAGE_JOAAT("REWARD_WEAPON_BOTTLE") },
{ "BULLPUPRIFLE", RAGE_JOAAT("REWARD_WEAPON_BULLPUPRIFLE") },
{ "BULLPUPRIFLE_MK2", RAGE_JOAAT("REWARD_WEAPON_BULLPUPRIFLE_MK2") },
{ "BULLPUPSHOTGUN", RAGE_JOAAT("REWARD_WEAPON_BULLPUPSHOTGUN") },
{ "CARBINERIFLE", RAGE_JOAAT("REWARD_WEAPON_CARBINERIFLE") },
{ "CARBINERIFLE_MK2", RAGE_JOAAT("REWARD_WEAPON_CARBINERIFLE_MK2") },
{ "COMBATMG", RAGE_JOAAT("REWARD_WEAPON_COMBATMG") },
{ "COMBATMG_MK2", RAGE_JOAAT("REWARD_WEAPON_COMBATMG_MK2") },
{ "COMBATPDW", RAGE_JOAAT("REWARD_WEAPON_COMBATPDW") },
{ "COMBATPISTOL", RAGE_JOAAT("REWARD_WEAPON_COMBATPISTOL") },
{ "COMPACTLAUNCHER", RAGE_JOAAT("REWARD_WEAPON_COMPACTLAUNCHER") },
{ "COMPACTRIFLE", RAGE_JOAAT("REWARD_WEAPON_COMPACTRIFLE") },
{ "CROWBAR", RAGE_JOAAT("REWARD_WEAPON_CROWBAR") },
{ "DAGGER", RAGE_JOAAT("REWARD_WEAPON_DAGGER") },
{ "DBSHOTGUN", RAGE_JOAAT("REWARD_WEAPON_DBSHOTGUN") },
{ "DOUBLEACTION", RAGE_JOAAT("REWARD_WEAPON_DOUBLEACTION") },
{ "FIREWORK", RAGE_JOAAT("REWARD_WEAPON_FIREWORK") },
{ "FLAREGUN", RAGE_JOAAT("REWARD_WEAPON_FLAREGUN") },
{ "FLASHLIGHT", RAGE_JOAAT("REWARD_WEAPON_FLASHLIGHT") },
{ "GOLFCLUB", RAGE_JOAAT("REWARD_WEAPON_GOLFCLUB") },
{ "GRENADE", RAGE_JOAAT("REWARD_WEAPON_GRENADE") },
{ "GRENADELAUNCHER", RAGE_JOAAT("REWARD_WEAPON_GRENADELAUNCHER") },
{ "GUSENBERG", RAGE_JOAAT("REWARD_WEAPON_GUSENBERG") },
{ "HAMMER", RAGE_JOAAT("REWARD_WEAPON_HAMMER") },
{ "HATCHET", RAGE_JOAAT("REWARD_WEAPON_HATCHET") },
{ "HEAVYPISTOL", RAGE_JOAAT("REWARD_WEAPON_HEAVYPISTOL") },
{ "HEAVYSHOTGUN", RAGE_JOAAT("REWARD_WEAPON_HEAVYSHOTGUN") },
{ "HEAVYSNIPER", RAGE_JOAAT("REWARD_WEAPON_HEAVYSNIPER") },
{ "HEAVYSNIPER_MK2", RAGE_JOAAT("REWARD_WEAPON_HEAVYSNIPER_MK2") },
{ "HOMINGLAUNCHER", RAGE_JOAAT("REWARD_WEAPON_HOMINGLAUNCHER") },
{ "KNIFE", RAGE_JOAAT("REWARD_WEAPON_KNIFE") },
{ "KNUCKLE", RAGE_JOAAT("REWARD_WEAPON_KNUCKLE") },
{ "MACHETE", RAGE_JOAAT("REWARD_WEAPON_MACHETE") },
{ "MACHINEPISTOL", RAGE_JOAAT("REWARD_WEAPON_MACHINEPISTOL") },
{ "MARKSMANPISTOL", RAGE_JOAAT("REWARD_WEAPON_MARKSMANPISTOL") },
{ "MARKSMANRIFLE", RAGE_JOAAT("REWARD_WEAPON_MARKSMANRIFLE") },
{ "MARKSMANRIFLE_MK2", RAGE_JOAAT("REWARD_WEAPON_MARKSMANRIFLE_MK2") },
{ "MG", RAGE_JOAAT("REWARD_WEAPON_MG") },
{ "MICROSMG", RAGE_JOAAT("REWARD_WEAPON_MICROSMG") },
{ "MINIGUN", RAGE_JOAAT("REWARD_WEAPON_MINIGUN") },
{ "MINISMG", RAGE_JOAAT("REWARD_WEAPON_MINISMG") },
{ "MOLOTOV", RAGE_JOAAT("REWARD_WEAPON_MOLOTOV") },
{ "MUSKET", RAGE_JOAAT("REWARD_WEAPON_MUSKET") },
{ "NIGHTSTICK", RAGE_JOAAT("REWARD_WEAPON_NIGHTSTICK") },
{ "PETROLCAN", RAGE_JOAAT("REWARD_WEAPON_PETROLCAN") },
{ "PIPEBOMB", RAGE_JOAAT("REWARD_WEAPON_PIPEBOMB") },
{ "PISTOL", RAGE_JOAAT("REWARD_WEAPON_PISTOL") },
{ "PISTOL50", RAGE_JOAAT("REWARD_WEAPON_PISTOL50") },
{ "PISTOL_MK2", RAGE_JOAAT("REWARD_WEAPON_PISTOL_MK2") },
{ "POOLCUE", RAGE_JOAAT("REWARD_WEAPON_POOLCUE") },
{ "PROXMINE", RAGE_JOAAT("REWARD_WEAPON_PROXMINE") },
{ "PUMPSHOTGUN", RAGE_JOAAT("REWARD_WEAPON_PUMPSHOTGUN") },
{ "PUMPSHOTGUN_MK2", RAGE_JOAAT("REWARD_WEAPON_PUMPSHOTGUN_MK2") },
{ "RAILGUN", RAGE_JOAAT("REWARD_WEAPON_RAILGUN") },
{ "RAYCARBINE", RAGE_JOAAT("REWARD_WEAPON_RAYCARBINE") },
{ "RAYMINIGUN", RAGE_JOAAT("REWARD_WEAPON_RAYMINIGUN") },
{ "RAYPISTOL", RAGE_JOAAT("REWARD_WEAPON_RAYPISTOL") },
{ "REVOLVER", RAGE_JOAAT("REWARD_WEAPON_REVOLVER") },
{ "REVOLVER_MK2", RAGE_JOAAT("REWARD_WEAPON_REVOLVER_MK2") },
{ "RPG", RAGE_JOAAT("REWARD_WEAPON_RPG") },
{ "SAWNOFFSHOTGUN", RAGE_JOAAT("REWARD_WEAPON_SAWNOFFSHOTGUN") },
{ "SMG", RAGE_JOAAT("REWARD_WEAPON_SMG") },
{ "SMG_MK2", RAGE_JOAAT("REWARD_WEAPON_SMG_MK2") },
{ "SMOKEGRENADE", RAGE_JOAAT("REWARD_WEAPON_SMOKEGRENADE") },
{ "SNIPERRIFLE", RAGE_JOAAT("REWARD_WEAPON_SNIPERRIFLE") },
{ "SNSPISTOL", RAGE_JOAAT("REWARD_WEAPON_SNSPISTOL") },
{ "SNSPISTOL_MK2", RAGE_JOAAT("REWARD_WEAPON_SNSPISTOL_MK2") },
{ "SPECIALCARBINE", RAGE_JOAAT("REWARD_WEAPON_SPECIALCARBINE") },
{ "SPECIALCARBINE_MK2", RAGE_JOAAT("REWARD_WEAPON_SPECIALCARBINE_MK2") },
{ "STICKYBOMB", RAGE_JOAAT("REWARD_WEAPON_STICKYBOMB") },
{ "STONE_HATCHET", RAGE_JOAAT("REWARD_WEAPON_STONE_HATCHET") },
{ "STUNGUN", RAGE_JOAAT("REWARD_WEAPON_STUNGUN") },
{ "SWITCHBLADE", RAGE_JOAAT("REWARD_WEAPON_SWITCHBLADE") },
{ "VINTAGEPISTOL", RAGE_JOAAT("REWARD_WEAPON_VINTAGEPISTOL") },
{ "WRENCH", RAGE_JOAAT("REWARD_WEAPON_WRENCH") }
};
};
}

View File

@ -0,0 +1,67 @@
#include "pickup_service.hpp"
#include "pickup_helper.hpp"
#include "pointers.hpp"
#include "script.hpp"
namespace big
{
pickup_service::pickup_service()
{
g_pickup_service = this;
}
pickup_service::~pickup_service()
{
g_pickup_service = nullptr;
}
void pickup_service::give_player_ammo(const Player player) const
{
give_ammo(1 << player);
}
void pickup_service::give_player_armour(const Player player) const
{
give_armour(1 << player);
}
void pickup_service::give_player_health(const Player player) const
{
give_health(1 << player);
}
void pickup_service::give_player_weapons(const Player player) const
{
give_weapons(1 << player);
}
void pickup_service::give_ammo(const int targets) const
{
for (const auto& [_, hash] : rewards::ammo)
{
g_pointers->m_give_pickup_rewards(targets, hash);
script::get_current()->yield(20ms);
}
}
void pickup_service::give_armour(const int targets) const
{
g_pointers->m_give_pickup_rewards(targets, rewards::misc.at("ARMOUR"));
}
void pickup_service::give_health(const int targets) const
{
g_pointers->m_give_pickup_rewards(targets, rewards::misc.at("HEALTH"));
}
void pickup_service::give_weapons(const int targets) const
{
for (const auto& [_, hash] : rewards::weapons)
{
g_pointers->m_give_pickup_rewards(targets, hash);
script::get_current()->yield(20ms);
}
}
}

View File

@ -0,0 +1,28 @@
#pragma once
namespace big
{
class pickup_service final
{
public:
pickup_service();
~pickup_service();
pickup_service(const pickup_service&) = delete;
pickup_service(pickup_service&&) noexcept = delete;
pickup_service& operator=(const pickup_service&) = delete;
pickup_service& operator=(pickup_service&&) noexcept = delete;
void give_player_ammo(const Player player) const;
void give_player_armour(const Player player) const;
void give_player_health(const Player player) const;
void give_player_weapons(const Player player) const;
void give_ammo(const int targets) const;
void give_armour(const int targets) const;
void give_health(const int targets) const;
void give_weapons(const int targets) const;
};
inline pickup_service* g_pickup_service{};
}

View File

@ -1,4 +1,5 @@
#include "gta_util.hpp"
#include "services/pickups/pickup_service.hpp"
#include "services/players/player_service.hpp"
#include "util/globals.hpp"
#include "util/misc.hpp"
@ -42,6 +43,26 @@ namespace big
ImGui::Checkbox("Never Wanted", &g->player.player_never_wanted);
components::button("Give Health", [] {
g_pickup_service->give_player_health(g_player_service->get_selected()->id());
});
ImGui::SameLine();
components::button("Give Armour", [] {
g_pickup_service->give_player_armour(g_player_service->get_selected()->id());
});
components::button("Give Ammo", [] {
g_pickup_service->give_player_ammo(g_player_service->get_selected()->id());
});
ImGui::SameLine();
components::button("Give Weapons", [] {
g_pickup_service->give_player_weapons(g_player_service->get_selected()->id());
});
ImGui::TreePop();
}