refactor: Only act on an entity if we have control

This commit is contained in:
Yimura 2022-01-07 17:00:42 +01:00
parent df92a95aa9
commit 121553a3f5
3 changed files with 12 additions and 12 deletions

View File

@ -85,11 +85,12 @@ namespace big
} }
else if (bNoclip != bLastNoclip) else if (bNoclip != bLastNoclip)
{ {
entity::take_control_of(ent); if (entity::take_control_of(ent))
{
ENTITY::FREEZE_ENTITY_POSITION(ent, false); ENTITY::FREEZE_ENTITY_POSITION(ent, false);
ENTITY::SET_ENTITY_COLLISION(ent, true, false); ENTITY::SET_ENTITY_COLLISION(ent, true, false);
} }
}
bLastNoclip = bNoclip; bLastNoclip = bNoclip;
} }

View File

@ -52,14 +52,15 @@ namespace big
} }
else else
{ {
entity::take_control_of(ent); if (entity::take_control_of(ent) && ENTITY::IS_ENTITY_A_PED(ent) && !PED::IS_PED_RAGDOLL(ent))
{
if (ENTITY::IS_ENTITY_A_PED(ent) && !PED::IS_PED_RAGDOLL(ent)) TASK::SET_HIGH_FALL_TASK(ent, 0, 0, 0); TASK::SET_HIGH_FALL_TASK(ent, 0, 0, 0);
notify::above_map("Selected entity at crosshair."); notify::above_map("Selected entity at crosshair.");
} }
} }
} }
}
else else
{ {
ent = 0; ent = 0;
@ -75,7 +76,7 @@ namespace big
if (PAD::IS_DISABLED_CONTROL_PRESSED(0, 15)) if (PAD::IS_DISABLED_CONTROL_PRESSED(0, 15))
dist += 5; dist += 5;
entity::take_control_of(ent); if (!entity::take_control_of(ent)) return;
ENTITY::SET_ENTITY_COLLISION(ent, false, false); ENTITY::SET_ENTITY_COLLISION(ent, false, false);

View File

@ -35,9 +35,7 @@ namespace big::vehicle
inline bool repair(Vehicle veh) inline bool repair(Vehicle veh)
{ {
if (!ENTITY::IS_ENTITY_A_VEHICLE(veh)) return false; if (!ENTITY::IS_ENTITY_A_VEHICLE(veh) || !entity::take_control_of(veh)) return false;
entity::take_control_of(veh);
VEHICLE::SET_VEHICLE_FIXED(veh); VEHICLE::SET_VEHICLE_FIXED(veh);
VEHICLE::SET_VEHICLE_DEFORMATION_FIXED(veh); VEHICLE::SET_VEHICLE_DEFORMATION_FIXED(veh);