09.12.2015, 01:27
(
Последний раз редактировалось alonxx; 09.12.2015 в 02:04.
)
Hola amigos, me encuentro haciendo un sistema de entradas/salidas con Checkpoints pero tengo un problema y es que crea un loop infinito de entrar y salir, asi le ponga restrcciones con variables.
E intentado de muchas formas y nada.. Me echan una mano?
El codigo me a llegado a funcionar a veces (solo a veces) solo la primera vez que entro en el checkpoint luego de prender el servidor es decir voy entro en el checkpoint y funciona bien pero al volver a usarlo empieza el loop.
Tambien me a funcionado como debe un par de veces o sea entro al checkpoint funciona todo bien salgo vuelto a probarlo todo bien y como a la 4ta vez empieza el loop de nuevo
E intentado de muchas formas y nada.. Me echan una mano?
El codigo me a llegado a funcionar a veces (solo a veces) solo la primera vez que entro en el checkpoint luego de prender el servidor es decir voy entro en el checkpoint y funciona bien pero al volver a usarlo empieza el loop.
Tambien me a funcionado como debe un par de veces o sea entro al checkpoint funciona todo bien salgo vuelto a probarlo todo bien y como a la 4ta vez empieza el loop de nuevo
Код:
public OnPlayerEnterDynamicCP(playerid,checkpointid)
{
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
for(new id = 1;id < sizeof(EInfo);id++)
{
if(eDentro[playerid] == 0)
{
if(checkpointid == EInfo[id][eEntrada])
{
eDentro[playerid]=1;
SetPlayerInterior(playerid,EInfo[id][eInsideInt]);
SetPlayerPos(playerid,EInfo[id][eSalidaX], EInfo[id][eSalidaY], EInfo[id][eSalidaZ]);
SetPlayerVirtualWorld(playerid,EInfo[id][eInsideWorld]);
SetCameraBehindPlayer(playerid);
}
else if(checkpointid == EInfo[id][eSalida])
{
eDentro[playerid]= 1;
SetPlayerPos(playerid,EInfo[id][eEntradaX], EInfo[id][eEntradaY], EInfo[id][eEntradaZ]);
SetPlayerInterior(playerid,EInfo[id][eInt]);
SetPlayerVirtualWorld(playerid,EInfo[id][eWorld]);
SetCameraBehindPlayer(playerid);
}
}
}
}
return 1;
}
public OnPlayerLeaveDynamicCP(playerid, checkpointid)
{
if(eDentro[playerid] == 1)
{
eDentro[playerid]=0;
}
return 1;
}

