17.12.2016, 19:17
Hi, I've bumped into this error:
On the marked lines:
I know I can't do it like that and I can do that with an if statement, but is it the only way? I would like to use a switch for that because I'm pretty sure I will make more pickups this way.
Code:
must be a constant expression; assumed zero
Code:
public OnPlayerPickUpDynamicPickup(playerid, pickupid) { switch (pickupid) { case PlayerInfo[playerid][pPickup][0]: { if (PlayerInfo[playerid][pInAirport]) { DestroyDynamicPickup(PlayerInfo[playerid][pPickup][0]); DestroyDynamicObject(PlayerInfo[playerid][pBaggageObject]); SetPlayerAttachedObject(playerid, 0, 11745, 6, 0.216000, 0.035000, 0.017999, -83.600013, -94.400039, -6.899996, 0.632999, 1.093000, 1.214999); PlayerPlaySound(playerid, 1149, 0.0, 0.0, 0.0); SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have collected your baggage, please proceed to the exit (white arrows)."); PlayerInfo[playerid][pPickup][1] = CreateDynamicPickup(1318, 23, 1727.2003, -2368.4248, -73.3924, AIRPORT_WORLD, 0, playerid); PlayerInfo[playerid][pPickup][2] = CreateDynamicPickup(1318, 23, 1719.7932,-2368.6470,-73.3924, AIRPORT_WORLD, 0, playerid); } } case PlayerInfo[playerid][pPickup][1], PlayerInfo[playerid][pPickup][2]: { if (PlayerInfo[playerid][pInAirport]) { DestroyDynamicPickup(PlayerInfo[playerid][pPickup][1]); DestroyDynamicPickup(PlayerInfo[playerid][pPickup][2]); RemovePlayerAttachedObject(playerid, 0); PlayerInfo[playerid][pInAirport] = 0; SetPlayerVirtualWorld(playerid, 0); SetPlayerPos(playerid, 1642.3411, -2238.3843, 13.4976); SetPlayerFacingAngle(playerid, 180.0); SetCameraBehindPlayer(playerid); ClearChat(playerid); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Welcome to Los Santos Life Roleplay!"); SendClientMessage(playerid, COLOR_LIGHTBLUE, "If you need help getting around in the server, then please type /guide."); SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have been given $2500 to get started."); GiveMoney(playerid, 2500); } } } return 1; }