feat(players): Vehicle Tree (#903)
* feat(player_info): Open Social Club Overlay
This commit is contained in:
parent
64106cb6a0
commit
2d44f14a22
36
src/backend/commands/player/troll/boost_vehicle.cpp
Normal file
36
src/backend/commands/player/troll/boost_vehicle.cpp
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
#include "backend/player_command.hpp"
|
||||||
|
#include "natives.hpp"
|
||||||
|
#include "pointers.hpp"
|
||||||
|
#include "util/teleport.hpp"
|
||||||
|
|
||||||
|
namespace big
|
||||||
|
{
|
||||||
|
class boost_vehicle : player_command
|
||||||
|
{
|
||||||
|
using player_command::player_command;
|
||||||
|
|
||||||
|
virtual void execute(player_ptr player, const std::vector<std::uint64_t>& _args, const std::shared_ptr<command_context> ctx)
|
||||||
|
{
|
||||||
|
Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id());
|
||||||
|
if (!PED::IS_PED_IN_ANY_VEHICLE(ped, true))
|
||||||
|
{
|
||||||
|
g_notification_service->push_warning("Toxic", "Target player is not in a vehicle.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Vehicle vehicle = PED::GET_VEHICLE_PED_IS_USING(ped);
|
||||||
|
|
||||||
|
if (entity::take_control_of(vehicle))
|
||||||
|
{
|
||||||
|
VEHICLE::SET_VEHICLE_FORWARD_SPEED(vehicle, 79);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_notification_service->push_warning("Toxic", "Failed to take control of player vehicle.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
boost_vehicle g_boost_vehicle("boostveh", "Boost Vehicle", "Boosts their car very fast.", 0);
|
||||||
|
}
|
39
src/backend/commands/player/troll/burst_tyres.cpp
Normal file
39
src/backend/commands/player/troll/burst_tyres.cpp
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#include "backend/player_command.hpp"
|
||||||
|
#include "natives.hpp"
|
||||||
|
#include "pointers.hpp"
|
||||||
|
#include "util/teleport.hpp"
|
||||||
|
|
||||||
|
namespace big
|
||||||
|
{
|
||||||
|
class burst_tyres : player_command
|
||||||
|
{
|
||||||
|
using player_command::player_command;
|
||||||
|
|
||||||
|
virtual void execute(player_ptr player, const std::vector<std::uint64_t>& _args, const std::shared_ptr<command_context> ctx)
|
||||||
|
{
|
||||||
|
Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id());
|
||||||
|
if (!PED::IS_PED_IN_ANY_VEHICLE(ped, true))
|
||||||
|
{
|
||||||
|
g_notification_service->push_warning("Toxic", "Target player is not in a vehicle.");
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Vehicle vehicle = PED::GET_VEHICLE_PED_IS_USING(ped);
|
||||||
|
if (entity::take_control_of(vehicle))
|
||||||
|
{
|
||||||
|
Vehicle vehicle = PED::GET_VEHICLE_PED_IS_USING(ped);
|
||||||
|
entity::take_control_of(vehicle);
|
||||||
|
VEHICLE::SET_VEHICLE_TYRES_CAN_BURST(vehicle, true);
|
||||||
|
static int tireID = 0;
|
||||||
|
for (tireID = 0; tireID < 8; tireID++)
|
||||||
|
{
|
||||||
|
VEHICLE::SET_VEHICLE_TYRE_BURST(vehicle, tireID, true, 1000.0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
burst_tyres g_burst_tyres("burstwheels", "Burst Vehicle Tyres", "Removes their tyres.", 0);
|
||||||
|
}
|
35
src/backend/commands/player/troll/close_doors.cpp
Normal file
35
src/backend/commands/player/troll/close_doors.cpp
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#include "backend/player_command.hpp"
|
||||||
|
#include "natives.hpp"
|
||||||
|
#include "pointers.hpp"
|
||||||
|
#include "util/teleport.hpp"
|
||||||
|
namespace big
|
||||||
|
{
|
||||||
|
class close_doors : player_command
|
||||||
|
{
|
||||||
|
using player_command::player_command;
|
||||||
|
|
||||||
|
virtual void execute(player_ptr player, const std::vector<std::uint64_t>& _args, const std::shared_ptr<command_context> ctx)
|
||||||
|
{
|
||||||
|
Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id());
|
||||||
|
if (!PED::IS_PED_IN_ANY_VEHICLE(ped, true))
|
||||||
|
{
|
||||||
|
g_notification_service->push_warning("Toxic", "Target player is not in a vehicle.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Vehicle vehicle = PED::GET_VEHICLE_PED_IS_USING(ped);
|
||||||
|
|
||||||
|
if (entity::take_control_of(vehicle))
|
||||||
|
{
|
||||||
|
VEHICLE::SET_VEHICLE_DOORS_SHUT(vehicle, false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_notification_service->push_warning("Toxic", "Failed to take control of vehicle.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
close_doors g_close_doors("closedoors", "Close Vehicle Doors", "Closes all vehicle doors", 0);
|
||||||
|
}
|
36
src/backend/commands/player/troll/downgrade_vehicle.cpp
Normal file
36
src/backend/commands/player/troll/downgrade_vehicle.cpp
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
#include "backend/player_command.hpp"
|
||||||
|
#include "natives.hpp"
|
||||||
|
#include "pointers.hpp"
|
||||||
|
#include "util/teleport.hpp"
|
||||||
|
|
||||||
|
namespace big
|
||||||
|
{
|
||||||
|
class downgrade_vehicle : player_command
|
||||||
|
{
|
||||||
|
using player_command::player_command;
|
||||||
|
|
||||||
|
virtual void execute(player_ptr player, const std::vector<std::uint64_t>& _args, const std::shared_ptr<command_context> ctx)
|
||||||
|
{
|
||||||
|
Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id());
|
||||||
|
Vehicle vehicle = PED::GET_VEHICLE_PED_IS_IN(ped, false);
|
||||||
|
if (!PED::IS_PED_IN_ANY_VEHICLE(vehicle, true))
|
||||||
|
{
|
||||||
|
g_notification_service->push_warning("Toxic", "Target player is not in a vehicle.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Vehicle vehicle = PED::GET_VEHICLE_PED_IS_USING(ped);
|
||||||
|
if (entity::take_control_of(vehicle))
|
||||||
|
{
|
||||||
|
VEHICLE::SET_VEHICLE_MOD_KIT(vehicle, 0);
|
||||||
|
for (int i = 0; i < 50; i++)
|
||||||
|
{
|
||||||
|
VEHICLE::REMOVE_VEHICLE_MOD(vehicle, i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
downgrade_vehicle g_downgrade_vehicle("downgradeveh", "Downgrade Vehicle", "Removes all upgrades", 0);
|
||||||
|
}
|
44
src/backend/commands/player/troll/flip_180.cpp
Normal file
44
src/backend/commands/player/troll/flip_180.cpp
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
#include "backend/player_command.hpp"
|
||||||
|
#include "natives.hpp"
|
||||||
|
#include "pointers.hpp"
|
||||||
|
#include "util/teleport.hpp"
|
||||||
|
|
||||||
|
namespace big
|
||||||
|
{
|
||||||
|
class flip_180 : player_command
|
||||||
|
{
|
||||||
|
using player_command::player_command;
|
||||||
|
|
||||||
|
virtual void execute(player_ptr player, const std::vector<std::uint64_t>& _args, const std::shared_ptr<command_context> ctx)
|
||||||
|
{
|
||||||
|
Entity ent = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id());
|
||||||
|
float Heading = ENTITY::GET_ENTITY_HEADING(ent);
|
||||||
|
Vector3 flipCar180Coords = ENTITY::GET_ENTITY_COORDS(ent, 1);
|
||||||
|
if (!PED::IS_PED_IN_ANY_VEHICLE(ent, true))
|
||||||
|
{
|
||||||
|
g_notification_service->push_warning("Toxic", "Target player is not in any vehicle.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (entity::take_control_of(ent))
|
||||||
|
{
|
||||||
|
if (Heading > 180.0)
|
||||||
|
{
|
||||||
|
Heading -= 180.0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Heading += 180.0;
|
||||||
|
ENTITY::SET_ENTITY_COORDS(ent, flipCar180Coords.x, flipCar180Coords.y, flipCar180Coords.z, 0, 0, 0, 1);
|
||||||
|
ENTITY::SET_ENTITY_HEADING(ent, Heading);
|
||||||
|
VEHICLE::SET_VEHICLE_FORWARD_SPEED(ent, ENTITY::GET_ENTITY_SPEED(ent));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
flip_180
|
||||||
|
g_flip_180("flip180", "Rotate 180", "Rotates their car around", 0)
|
||||||
|
;
|
||||||
|
}
|
32
src/backend/commands/player/troll/flying_vehicle.cpp
Normal file
32
src/backend/commands/player/troll/flying_vehicle.cpp
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
#include "backend/player_command.hpp"
|
||||||
|
#include "natives.hpp"
|
||||||
|
#include "pointers.hpp"
|
||||||
|
#include "util/teleport.hpp"
|
||||||
|
|
||||||
|
namespace big
|
||||||
|
{
|
||||||
|
class flying_vehicle : player_command
|
||||||
|
{
|
||||||
|
using player_command::player_command;
|
||||||
|
|
||||||
|
virtual void execute(player_ptr player, const std::vector<std::uint64_t>& _args, const std::shared_ptr<command_context> ctx)
|
||||||
|
{
|
||||||
|
Entity ent = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id());
|
||||||
|
if (!PED::IS_PED_IN_ANY_VEHICLE(ent, true))
|
||||||
|
{
|
||||||
|
g_notification_service->push_warning("Toxic", "Target player is not in any vehicle.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ent = PED::GET_VEHICLE_PED_IS_IN(ent, false);
|
||||||
|
|
||||||
|
if (entity::take_control_of(ent))
|
||||||
|
{
|
||||||
|
ENTITY::APPLY_FORCE_TO_ENTITY(ent, 1, 0.f, 0.f, 50000.f, 0.f, 0.f, 0.f, 0, 0, 1, 1, 0, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
flying_vehicle g_flying_vehicle("flyingveh", "Flying Vehicle", "Catapults their car to the sky.", 0);
|
||||||
|
}
|
35
src/backend/commands/player/troll/kill_engine.cpp
Normal file
35
src/backend/commands/player/troll/kill_engine.cpp
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#include "backend/player_command.hpp"
|
||||||
|
#include "natives.hpp"
|
||||||
|
#include "pointers.hpp"
|
||||||
|
#include "util/teleport.hpp"
|
||||||
|
namespace big
|
||||||
|
{
|
||||||
|
class kill_engine : player_command
|
||||||
|
{
|
||||||
|
using player_command::player_command;
|
||||||
|
|
||||||
|
virtual void execute(player_ptr player, const std::vector<std::uint64_t>& _args, const std::shared_ptr<command_context> ctx)
|
||||||
|
{
|
||||||
|
Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id());
|
||||||
|
if (!PED::IS_PED_IN_ANY_VEHICLE(ped, true))
|
||||||
|
{
|
||||||
|
g_notification_service->push_warning("Toxic", "Target player is not in a vehicle.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Vehicle vehicle = PED::GET_VEHICLE_PED_IS_USING(ped);
|
||||||
|
|
||||||
|
if (entity::take_control_of(vehicle))
|
||||||
|
{
|
||||||
|
VEHICLE::SET_VEHICLE_ENGINE_HEALTH(vehicle, -4000);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_notification_service->push_warning("Toxic", "Failed to take control of player vehicle.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
kill_engine g_kill_engine("killengine", "Kill Vehicle Engine", "Breaks their engine", 0);
|
||||||
|
}
|
32
src/backend/commands/player/troll/lock_doors.cpp
Normal file
32
src/backend/commands/player/troll/lock_doors.cpp
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
#include "backend/player_command.hpp"
|
||||||
|
#include "natives.hpp"
|
||||||
|
#include "pointers.hpp"
|
||||||
|
#include "util/teleport.hpp"
|
||||||
|
|
||||||
|
namespace big
|
||||||
|
{
|
||||||
|
class lock_vehicle : player_command
|
||||||
|
{
|
||||||
|
using player_command::player_command;
|
||||||
|
|
||||||
|
virtual void execute(player_ptr player, const std::vector<std::uint64_t>& _args, const std::shared_ptr<command_context> ctx)
|
||||||
|
{
|
||||||
|
int lockStatus = VEHICLE::GET_VEHICLE_DOOR_LOCK_STATUS(player->id());
|
||||||
|
Entity ent = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id());
|
||||||
|
if (!PED::IS_PED_IN_ANY_VEHICLE(ent, true))
|
||||||
|
{
|
||||||
|
g_notification_service->push_warning("Toxic", "Target player is not in a vehicle.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (entity::take_control_of(ent))
|
||||||
|
{
|
||||||
|
entity::take_control_of(PED::GET_VEHICLE_PED_IS_USING(player->id()));
|
||||||
|
VEHICLE::SET_VEHICLE_DOORS_LOCKED(PED::GET_VEHICLE_PED_IS_USING(player->id()), 4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
lock_vehicle g_lock_vehicle("lockveh", "Lock Vehicle", "Locks vehicle doors", 0);
|
||||||
|
}
|
39
src/backend/commands/player/troll/open_doors.cpp
Normal file
39
src/backend/commands/player/troll/open_doors.cpp
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#include "backend/player_command.hpp"
|
||||||
|
#include "natives.hpp"
|
||||||
|
#include "pointers.hpp"
|
||||||
|
#include "util/teleport.hpp"
|
||||||
|
|
||||||
|
namespace big
|
||||||
|
{
|
||||||
|
class open_doors : player_command
|
||||||
|
{
|
||||||
|
using player_command::player_command;
|
||||||
|
|
||||||
|
virtual void execute(player_ptr player, const std::vector<std::uint64_t>& _args, const std::shared_ptr<command_context> ctx)
|
||||||
|
{
|
||||||
|
Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id());
|
||||||
|
if (!PED::IS_PED_IN_ANY_VEHICLE(ped, true))
|
||||||
|
{
|
||||||
|
g_notification_service->push_warning("Toxic", "Target player is not in a vehicle.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Vehicle vehicle = PED::GET_VEHICLE_PED_IS_USING(ped);
|
||||||
|
|
||||||
|
if (entity::take_control_of(vehicle))
|
||||||
|
{
|
||||||
|
for (int i = 0; i < 7; i++)
|
||||||
|
{
|
||||||
|
VEHICLE::SET_VEHICLE_DOOR_OPEN(vehicle, i, true, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_notification_service->push_warning("Toxic", "Failed to take control of vehicle");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
open_doors g_open_doors("opendoors", "Opens Vehicle Doors", "Opens all vehicle doors", 0);
|
||||||
|
}
|
29
src/backend/commands/player/troll/smash_windows.cpp
Normal file
29
src/backend/commands/player/troll/smash_windows.cpp
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#include "backend/player_command.hpp"
|
||||||
|
#include "natives.hpp"
|
||||||
|
#include "pointers.hpp"
|
||||||
|
#include "util/teleport.hpp"
|
||||||
|
|
||||||
|
namespace big
|
||||||
|
{
|
||||||
|
class smash_windows : player_command
|
||||||
|
{
|
||||||
|
using player_command::player_command;
|
||||||
|
|
||||||
|
virtual void execute(player_ptr player, const std::vector<std::uint64_t>& _args, const std::shared_ptr<command_context> ctx)
|
||||||
|
{
|
||||||
|
Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id());
|
||||||
|
if (PED::IS_PED_IN_ANY_VEHICLE(ped, false))
|
||||||
|
{
|
||||||
|
entity::take_control_of(PED::GET_VEHICLE_PED_IS_USING(ped));
|
||||||
|
Vehicle UserVeh = PED::GET_VEHICLE_PED_IS_IN(ped, false);
|
||||||
|
static int windowID = 0;
|
||||||
|
for (windowID = 0; windowID < 10; windowID++)
|
||||||
|
{
|
||||||
|
VEHICLE::SMASH_VEHICLE_WINDOW(UserVeh, windowID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
smash_windows g_smash_windows("smashwindows", "Smash Vehicle Windows", "Smashes all their windows", 0);
|
||||||
|
}
|
34
src/backend/commands/player/troll/stop_vehicle.cpp
Normal file
34
src/backend/commands/player/troll/stop_vehicle.cpp
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
#include "backend/player_command.hpp"
|
||||||
|
#include "natives.hpp"
|
||||||
|
#include "pointers.hpp"
|
||||||
|
#include "util/teleport.hpp"
|
||||||
|
namespace big
|
||||||
|
{
|
||||||
|
class stop_vehicle : player_command
|
||||||
|
{
|
||||||
|
using player_command::player_command;
|
||||||
|
|
||||||
|
virtual void execute(player_ptr player, const std::vector<std::uint64_t>& _args, const std::shared_ptr<command_context> ctx)
|
||||||
|
{
|
||||||
|
Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id());
|
||||||
|
if (!PED::IS_PED_IN_ANY_VEHICLE(ped, true))
|
||||||
|
{
|
||||||
|
g_notification_service->push_warning("Toxic", "Target player is not in a vehicle.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Vehicle vehicle = PED::GET_VEHICLE_PED_IS_USING(ped);
|
||||||
|
if (entity::take_control_of(vehicle))
|
||||||
|
{
|
||||||
|
VEHICLE::SET_VEHICLE_FORWARD_SPEED(vehicle, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_notification_service->push_warning("Toxic", "Failed to take control of player vehicle.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
stop_vehicle g_stop_vehicle("stopveh", "Stop Vehicle", "Stops players vehicle", 0);
|
||||||
|
}
|
@ -18,5 +18,5 @@ namespace big
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
teleport_into_vehicle g_teleport_into_vehicle("playervehtp", "Teleport Into Vehicle", "Take control of the player's vehicle. Spectate the player beforehand for best results", 0, false);
|
teleport_into_vehicle g_teleport_into_vehicle("playervehtp", "Teleport Into Vehicle", "Teleports into the players vehicle. Spectate the player beforehand for best results", 0, false);
|
||||||
}
|
}
|
22
src/backend/commands/player/troll/unlock_doors.cpp
Normal file
22
src/backend/commands/player/troll/unlock_doors.cpp
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
#include "backend/player_command.hpp"
|
||||||
|
#include "natives.hpp"
|
||||||
|
#include "pointers.hpp"
|
||||||
|
#include "util/teleport.hpp"
|
||||||
|
namespace big
|
||||||
|
{
|
||||||
|
class unlock_vehicle : player_command
|
||||||
|
{
|
||||||
|
using player_command::player_command;
|
||||||
|
|
||||||
|
virtual void execute(player_ptr player, const std::vector<std::uint64_t>& _args, const std::shared_ptr<command_context> ctx)
|
||||||
|
{
|
||||||
|
if (PED::IS_PED_IN_ANY_VEHICLE((player->id()), false))
|
||||||
|
{
|
||||||
|
entity::take_control_of(PED::GET_VEHICLE_PED_IS_USING(player->id()));
|
||||||
|
VEHICLE::SET_VEHICLE_DOORS_LOCKED(PED::GET_VEHICLE_PED_IS_USING(player->id()), 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
unlock_vehicle g_unlock_vehicle("unlockveh", "Unlock Vehicle Doors", "Unlocks Vehicle Doors", 0);
|
||||||
|
}
|
21
src/backend/commands/player/troll/upgrade_vehicle.cpp
Normal file
21
src/backend/commands/player/troll/upgrade_vehicle.cpp
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#include "backend/player_command.hpp"
|
||||||
|
#include "natives.hpp"
|
||||||
|
#include "pointers.hpp"
|
||||||
|
#include "util/teleport.hpp"
|
||||||
|
#include "util/vehicle.hpp"
|
||||||
|
|
||||||
|
namespace big
|
||||||
|
{
|
||||||
|
class upgrade_vehicle : player_command
|
||||||
|
{
|
||||||
|
using player_command::player_command;
|
||||||
|
|
||||||
|
virtual void execute(player_ptr player, const std::vector<std::uint64_t>& _args, const std::shared_ptr<command_context> ctx)
|
||||||
|
{
|
||||||
|
Vehicle vehicle = PED::GET_VEHICLE_PED_IS_IN(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id()), false);
|
||||||
|
vehicle::max_vehicle(vehicle);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
upgrade_vehicle g_upgrade_vehicle("upgradeveh", "Upgrade Vehicle", "Upgrades players vehicle", 0);
|
||||||
|
}
|
27
src/backend/commands/player/troll/window_tint.cpp
Normal file
27
src/backend/commands/player/troll/window_tint.cpp
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#include "backend/player_command.hpp"
|
||||||
|
#include "natives.hpp"
|
||||||
|
#include "pointers.hpp"
|
||||||
|
#include "util/teleport.hpp"
|
||||||
|
#include "util/vehicle.hpp"
|
||||||
|
|
||||||
|
namespace big
|
||||||
|
{
|
||||||
|
class black_tint : player_command
|
||||||
|
{
|
||||||
|
using player_command::player_command;
|
||||||
|
|
||||||
|
virtual void execute(player_ptr player, const std::vector<std::uint64_t>& _args, const std::shared_ptr<command_context> ctx)
|
||||||
|
{
|
||||||
|
Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id());
|
||||||
|
if (PED::IS_PED_IN_ANY_VEHICLE(ped, false))
|
||||||
|
{
|
||||||
|
entity::take_control_of(PED::GET_VEHICLE_PED_IS_USING(ped));
|
||||||
|
Vehicle UserVeh = PED::GET_VEHICLE_PED_IS_IN(ped, false);
|
||||||
|
|
||||||
|
VEHICLE::SET_VEHICLE_WINDOW_TINT(UserVeh, WINDOWTINT_BLACK);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
black_tint g_black_tint("blacktint", "Black Window Tint", "Makes their windows black.", 0);
|
||||||
|
}
|
@ -3,6 +3,7 @@
|
|||||||
#include "core/scr_globals.hpp"
|
#include "core/scr_globals.hpp"
|
||||||
#include "services/player_database/player_database_service.hpp"
|
#include "services/player_database/player_database_service.hpp"
|
||||||
#include "views/view.hpp"
|
#include "views/view.hpp"
|
||||||
|
#include "natives.hpp"
|
||||||
|
|
||||||
#include <script/globals/GPBD_FM.hpp>
|
#include <script/globals/GPBD_FM.hpp>
|
||||||
#include <script/globals/GPBD_FM_3.hpp>
|
#include <script/globals/GPBD_FM_3.hpp>
|
||||||
@ -14,6 +15,11 @@ namespace big
|
|||||||
{
|
{
|
||||||
if (ImGui::TreeNode("INFO"_T.data()))
|
if (ImGui::TreeNode("INFO"_T.data()))
|
||||||
{
|
{
|
||||||
|
components::button("Open SC Overlay", [] {
|
||||||
|
int gamerHandle;
|
||||||
|
NETWORK::NETWORK_HANDLE_FROM_PLAYER(g_player_service->get_selected()->id(), &gamerHandle, 13);
|
||||||
|
NETWORK::NETWORK_SHOW_PROFILE_UI(&gamerHandle);
|
||||||
|
});
|
||||||
ImGui::Text("PLAYER_INFO_ID"_T.data(), g_player_service->get_selected()->id());
|
ImGui::Text("PLAYER_INFO_ID"_T.data(), g_player_service->get_selected()->id());
|
||||||
|
|
||||||
ImGui::Text("PLAYER_INFO_SESSION_HOST"_T.data(),
|
ImGui::Text("PLAYER_INFO_SESSION_HOST"_T.data(),
|
||||||
|
44
src/views/players/player/player_vehicle.cpp
Normal file
44
src/views/players/player/player_vehicle.cpp
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
#include "views/view.hpp"
|
||||||
|
|
||||||
|
namespace big
|
||||||
|
{
|
||||||
|
void view::player_vehicle()
|
||||||
|
{
|
||||||
|
if (ImGui::TreeNode("Vehicle"))
|
||||||
|
{
|
||||||
|
components::player_command_button<"vehkick">(g_player_service->get_selected(), {});
|
||||||
|
ImGui::SameLine();
|
||||||
|
components::player_command_button<"flyingveh">(g_player_service->get_selected(), {});
|
||||||
|
|
||||||
|
components::player_command_button<"boostveh">(g_player_service->get_selected(), {});
|
||||||
|
ImGui::SameLine();
|
||||||
|
components::player_command_button<"stopveh">(g_player_service->get_selected(), {});
|
||||||
|
|
||||||
|
components::player_command_button<"flip180">(g_player_service->get_selected(), {});
|
||||||
|
ImGui::SameLine();
|
||||||
|
components::player_command_button<"rcplayer">(g_player_service->get_selected(), {});
|
||||||
|
|
||||||
|
components::player_command_button<"killengine">(g_player_service->get_selected(), {});
|
||||||
|
ImGui::SameLine();
|
||||||
|
components::player_command_button<"burstwheels">(g_player_service->get_selected(), {});
|
||||||
|
|
||||||
|
components::player_command_button<"smashwindows">(g_player_service->get_selected(), {});
|
||||||
|
ImGui::SameLine();
|
||||||
|
components::player_command_button<"blacktint">(g_player_service->get_selected(), {});
|
||||||
|
|
||||||
|
components::player_command_button<"lockveh">(g_player_service->get_selected(), {});
|
||||||
|
ImGui::SameLine();
|
||||||
|
components::player_command_button<"unlockveh">(g_player_service->get_selected(), {});
|
||||||
|
|
||||||
|
components::player_command_button<"opendoors">(g_player_service->get_selected(), {});
|
||||||
|
ImGui::SameLine();
|
||||||
|
components::player_command_button<"closedoors">(g_player_service->get_selected(), {});
|
||||||
|
|
||||||
|
components::player_command_button<"upgradeveh">(g_player_service->get_selected(), {});
|
||||||
|
ImGui::SameLine();
|
||||||
|
components::player_command_button<"downgradeveh">(g_player_service->get_selected(), {});
|
||||||
|
|
||||||
|
ImGui::TreePop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -14,6 +14,7 @@ namespace big
|
|||||||
view::player_kick();
|
view::player_kick();
|
||||||
view::player_toxic();
|
view::player_toxic();
|
||||||
view::player_misc();
|
view::player_misc();
|
||||||
|
view::player_vehicle();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -63,5 +63,6 @@ namespace big
|
|||||||
static void player_kick();
|
static void player_kick();
|
||||||
static void player_toxic();
|
static void player_toxic();
|
||||||
static void player_misc();
|
static void player_misc();
|
||||||
|
static void player_vehicle();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user