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; }