Quote:
Originally Posted by spell
pawn Код:
new PlayerPickupID[MAX_PLAYERS] = {-1, ...}, Float:PICKUP_POS[MAX_PICKUPS][3];
#define GetPlayerPickup(%0) (PlayerPickupID[%0])
stock CreatePickup2(model, type, Float:x, Float:y, Float:z, vw) { new PickupID = CreatePickup(model, type, x, y, z, vw); PICKUP_POS[PickupID][0] = x; PICKUP_POS[PickupID][1] = y; PICKUP_POS[PickupID][2] = z; return PickupID; }
#define CreatePickup CreatePickup2 #define AddStaticPickup CreatePickup2
forward OnPlayerLeavePickup(playerid, pickupid);
public OnPlayerEnterPickup(playerid, pickupid) { PlayerPickupID[playerid] = pickupid; return 1; }
public OnPlayerConnect(playerid) { PlayerPickupID[playerid] = -1; return 1; }
public OnPlayerUpdate(playerid) { if(PlayerPickupID[playerid] != -1)// FASTER { new i = GetPlayerPickup(playerid); if( !IsPlayerInRangeOfPoint(playerid, 2.0, PICKUP_POS[i][0], PICKUP_POS[i][1], PICKUP_POS[i][2]) ) { CallLocalFunction("OnPlayerLeavePickup", "ii", playerid, i); PlayerPickupID[playerid] = -1; } } return 1; }
public OnPlayerLeavePickup(playerid, pickupid) { return 1; }
Ya se que lo resolviste, pero tenia ganas de hacer este codigo :c
|
Muchas gracias, me ha facilitado todo.
PD: Ahora mismo le hago un ALS y lo convierto a CreateDynamic.
Muchas gracias.
Un saludo.