[Ayuda] Errores con 'switch' mбs raro que Role Play desde 0.
#1

Bueno, estaba mejorando mi GM, y estaba haciendo pickup's. Entonces, voy a trabajar con la callback 'OnPlayerPickUpPickup' y al usar 'switch' para optimizar el cуdigo, me aparecieron miles de errores.

No sй que serб, ya que todo el code estб bien. Cualquier cosa lo hice asн:


pawn Код:
public OnPlayerPickUpPickup(playerid, pickupid)
{
    switch(pickupid)
    {
        case Pickup1: SetPlayerPos(playerid, -1753.0775, 772.4846, 167.6572); // Salida Edificio 1
        case Pickup2: SetPlayerPos(playerid, -1785.6886, 789.9453, 24.8921); // Salida Edificio 2
       
        case PickupTeleport1: SetPlayerPos(playerid, -2240.6086, 577.2409, 35.1719); // SalidaCuartelGeneral
        case PickupTeleport2: SetPlayerPos(playerid, -2063.0867, 248.2919, 35.2891); // SalidaCentroSFConstruccion
       
        case PickupEnterAmmu1: SetPlayerPos(playerid, -2322.5291, 555.1179, 8.8414); // Salida 1
        case PickupEnterAmmu2: SetPlayerPos(playerid, -2315.6853, 555.2104, 8.8414); // Salida 2
       
       
        case PickupCuartelGeneral1:
        {
            if(Team[playerid] == HUMANO)
            {
                SetPlayerPos(playerid, -2310.5901, 539.4765, 8.8414);
                GameTextForPlayer(playerid,"~g~ ~h~ bienvenido al refugio", 4000, 6);
            }
        }
        case PickupCuartelGeneral2:
        {
            if(Team[playerid] == HUMANO)
            {
                SetPlayerPos(playerid, -2274.4131, 541.2997, 35.0311); // Salida 2
                GameTextForPlayer(playerid,"~r~ ~h~ has salido del refugio",4000,6);
            }
        }
    }
    return 1;
}
Y en cada "case" tira este error:

Код:
D:\Juegos\Grand Theft Auto SA\GTA San Andreas\SAMP Server\Servidor Windows\gamemodes\RebelionZ.pwn(Lнnea "case") : error 008: must be a constant expression; assumed zero
Quй estб mal?.

Saludos.
Reply
#2

Asegъrate de que las variables de los pickups estйn siendo definidas globalmente, y no dentro de alguna funciуn o comando.

Es lo ъnico que se me ocurre.
Reply
#3

Quote:
Originally Posted by CrossOv3r
Посмотреть сообщение
Asegъrate de que las variables de los pickups estйn siendo definidas globalmente, y no dentro de alguna funciуn o comando.

Es lo ъnico que se me ocurre.
Bueno, no es por nada, pero no iba a crear los Pickups's en esa callback O.o
Reply
#4

La estructura switch solo funciona con constantes. Las variables que utilizas, al no ser constantes, no te funcionarб.
Reply
#5

Eso sуlo se puede hacer con constantes.

e.j.
pawn Код:
#define Pickup1 1
#define Pickup2 2
//o...
enum
{
    Pickup1=1,
    Pickup2
}
//o...
const Pickup1=1;
const Pickup2=2;
       
public OnPlayerPickUpPickup(playerid, pickupid)
{
    switch(pickupid)
    {
        case Pickup1:
        {
            return 1;
        }
        case Pickup2:
        {
            return 1;
        }
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)