28.12.2017, 13:10
the only thing that occurs to me is an area and rotating object
Edit:
you can do some like this:
(no tested)
the object has to be rotated to seem like a original pickup
Code:
CreateDynamicCylinder(Float:x, Float:y, Float:minz, Float:maxz, Float:size, worldid = -1, interiorid = -1, playerid = -1, priority = 0);
you can do some like this:
(no tested)
Code:
#define AREA_TYPE_FIXED_PICKUP 1000
forward OnPlayerEnterFixedPickup(playerid, pickupid);
forward OnPlayerLeaveFixedPickup(playerid, pickupid);
Fixed_CreatePickup(model, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1, playerid = -1)
{
CreateDynamicObject(model, x, y, z, 0.0, 0.0, 0.0, worldid, interiorid, playerid);
new areaid = CreateDynamicCylinder(x, y, z - 1.0, z + 3.0, 1.0, worldid, interiorid, playerid);
Streamer_SetIntData(STREAMER_TYPE_AREA, areaid, E_STREAMER_EXTRA_ID, AREA_TYPE_FIXED_PICKUP);
return areaid;
}
public OnPlayerEnterDynamicArea(playerid, areaid)
{
if(Streamer_GetIntData(STREAMER_TYPE_AREA, areaid, E_STREAMER_EXTRA_ID) == AREA_TYPE_FIXED_PICKUP)
{
OnPlayerEnterFixedPickup(playerid, areaid);
}
return 1;
}
public OnPlayerLeaveDynamicArea(playerid, areaid)
{
if(Streamer_GetIntData(STREAMER_TYPE_AREA, areaid, E_STREAMER_EXTRA_ID) == AREA_TYPE_FIXED_PICKUP)
{
OnPlayerLeaveFixedPickup(playerid, areaid);
}
return 1;
}
//inc
public OnPlayerEnterFixedPickup(playerid, pickupid)
{
new str[45];
format(str, sizeof str, "OnPlayerEnterFixedPickup, ID: %d", pickupid);
SendClientMessage(playerid, -1, str);
return 1;
}
public OnPlayerLeaveFixedPickup(playerid, pickupid)
{
new str[45];
format(str, sizeof str, "OnPlayerLeaveFixedPickup, ID: %d", pickupid);
SendClientMessage(playerid, -1, str);
return 1;
}
