Skip to content

Commit ca86acd

Browse files
Fix player entity aiming at and blip attached
1 parent 9200f77 commit ca86acd

File tree

5 files changed

+19
-11
lines changed

5 files changed

+19
-11
lines changed

api/AltV.Net/Elements/Entities/ColShape.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public override short Dimension
3636
AltNative.ColShape.ColShape_SetDimension(NativePointer, value);
3737
}
3838
}
39-
39+
4040
public override void GetMetaData(string key, ref MValue value) =>
4141
AltNative.ColShape.ColShape_SetMetaData(NativePointer, key, ref value);
4242

@@ -59,10 +59,7 @@ public ColShape(IntPtr nativePointer) : base(nativePointer, BaseObjectType.Check
5959
public bool IsEntityIn(IEntity entity)
6060
{
6161
CheckIfEntityExists();
62-
if (!entity.Exists)
63-
{
64-
throw new EntityRemovedException(entity);
65-
}
62+
entity.CheckIfEntityExists();
6663

6764
return AltNative.ColShape.ColShape_IsEntityIn(NativePointer, entity.NativePointer);
6865
}

runtime/src/altv-c-api/blip.cpp

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,20 @@ bool Blip_IsAttached(alt::IBlip* blip) {
3939
return blip->IsAttached();
4040
}
4141

42-
alt::IEntity* Blip_AttachedTo(alt::IBlip* blip, alt::IBaseObject::Type &type) {
43-
type = blip->AttachedTo()->GetType();
44-
return blip->AttachedTo();
42+
void* Blip_AttachedTo(alt::IBlip* blip, alt::IBaseObject::Type &type) {
43+
auto entity = blip->AttachedTo();
44+
if (entity != nullptr) {
45+
type = entity->GetType();
46+
switch (type) {
47+
case alt::IBaseObject::Type::PLAYER:
48+
return dynamic_cast<alt::IPlayer*>(entity);
49+
case alt::IBaseObject::Type::VEHICLE:
50+
return dynamic_cast<alt::IVehicle*>(entity);
51+
default:
52+
return nullptr;
53+
}
54+
}
55+
return nullptr;
4556
}
4657

4758
uint8_t Blip_GetType(alt::IBlip* blip) {

runtime/src/altv-c-api/blip.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ EXPORT void Blip_SetMetaData(alt::IBlip* blip, const char* key, alt::MValue* val
2929
// Blip
3030
EXPORT bool Blip_IsGlobal(alt::IBlip* blip);
3131
EXPORT bool Blip_IsAttached(alt::IBlip* blip);
32-
EXPORT alt::IEntity* Blip_AttachedTo(alt::IBlip* blip, alt::IBaseObject::Type &type);
32+
EXPORT void* Blip_AttachedTo(alt::IBlip* blip, alt::IBaseObject::Type &type);
3333
EXPORT uint8_t Blip_GetType(alt::IBlip* blip);
3434
EXPORT void Blip_SetSprite(alt::IBlip* blip, uint16_t sprite);
3535
EXPORT void Blip_SetColor(alt::IBlip* blip, uint8_t color);

runtime/src/altv-c-api/player.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ uint8_t Player_GetSeat(alt::IPlayer* player) {
249249
return player->GetSeat();
250250
}
251251

252-
alt::IEntity* Player_GetEntityAimingAt(alt::IPlayer* player, alt::IBaseObject::Type &type) {
252+
void* Player_GetEntityAimingAt(alt::IPlayer* player, alt::IBaseObject::Type &type) {
253253
auto entity = player->GetEntityAimingAt();
254254
if (entity != nullptr) {
255255
type = entity->GetType();

runtime/src/altv-c-api/player.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ EXPORT bool Player_IsInVehicle(alt::IPlayer* player);
119119
EXPORT alt::IVehicle* Player_GetVehicle(alt::IPlayer* player);
120120
EXPORT uint8_t Player_GetSeat(alt::IPlayer* player);
121121

122-
EXPORT alt::IEntity* Player_GetEntityAimingAt(alt::IPlayer* player, alt::IBaseObject::Type &type);
122+
EXPORT void* Player_GetEntityAimingAt(alt::IPlayer* player, alt::IBaseObject::Type &type);
123123
EXPORT void Player_GetEntityAimOffset(alt::IPlayer* player, position_t &position);
124124

125125
EXPORT bool Player_IsFlashlightActive(alt::IPlayer* player);

0 commit comments

Comments
 (0)