feat(Backend): Added godmode & speedo_meter

This commit is contained in:
Yimura 2021-05-19 18:09:48 +02:00
parent d6072b26b6
commit 4d942c998e
No known key found for this signature in database
GPG Key ID: 3D8FF4397E768682
4 changed files with 82 additions and 0 deletions

View File

@ -8,6 +8,10 @@ namespace big
{
void backend::loop()
{
QUEUE_JOB_BEGIN_CLAUSE()
{
looped::self_godmode();
}QUEUE_JOB_END_CLAUSE
QUEUE_JOB_BEGIN_CLAUSE()
{
looped::self_noclip();
@ -17,5 +21,10 @@ namespace big
{
looped::weapons_gravity_gun();
}QUEUE_JOB_END_CLAUSE
QUEUE_JOB_BEGIN_CLAUSE()
{
looped::vehicle_speedo_meter();
}QUEUE_JOB_END_CLAUSE
}
}

View File

@ -5,8 +5,10 @@ namespace big
{
class looped {
public:
static void self_godmode();
static void self_noclip();
static void weapons_gravity_gun();
static void vehicle_speedo_meter();
};
}

View File

@ -0,0 +1,20 @@
#include "backend/looped/looped.hpp"
#include "core/globals.hpp"
#include "natives.hpp"
namespace big
{
static bool bLastGodMode = false;
void looped::self_godmode()
{
bool bGodMode = g.self.godmode;
if (bGodMode || (!bGodMode && bGodMode != bLastGodMode))
{
ENTITY::SET_ENTITY_INVINCIBLE(PLAYER::PLAYER_PED_ID(), g.self.godmode);
bLastGodMode = g.self.godmode;
}
}
}

View File

@ -0,0 +1,51 @@
#include "backend/looped/looped.hpp"
#include "core/data/speedo_meters.hpp"
#include "core/globals.hpp"
#include "natives.hpp"
namespace big
{
void looped::vehicle_speedo_meter()
{
static const float x = .9f;
static const float y = .72f;
SpeedoMeter speedo_type = g.vehicle.speedo_meter;
if (speedo_type == SpeedoMeter::DISABLED || HUD::IS_PAUSE_MENU_ACTIVE()) return;
Vehicle veh = PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), false);
if (veh == 0) return;
char speed_type[16], speed[16];
float veh_speed = ENTITY::GET_ENTITY_SPEED(veh);
switch (speedo_type)
{
case SpeedoMeter::KMH:
veh_speed *= 3.6;
strcpy(speed_type, "kph");
break;
case SpeedoMeter::MPH:
veh_speed *= 2.2369;
strcpy(speed_type, "mph");
break;
}
sprintf(speed, "%d", (int)veh_speed);
HUD::SET_TEXT_FONT(2);
HUD::SET_TEXT_SCALE(.9f, .9f);
HUD::SET_TEXT_OUTLINE();
HUD::BEGIN_TEXT_COMMAND_DISPLAY_TEXT("STRING");
HUD::ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(speed);
HUD::END_TEXT_COMMAND_DISPLAY_TEXT(x, y + .04f, 1);
HUD::SET_TEXT_FONT(2);
HUD::SET_TEXT_SCALE(.91f, .91f);
HUD::SET_TEXT_OUTLINE();
HUD::BEGIN_TEXT_COMMAND_DISPLAY_TEXT("STRING");
HUD::ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(speed_type);
HUD::END_TEXT_COMMAND_DISPLAY_TEXT(x, y, 1);
}
}