Prevenir bugs en puertas automбticas -
Orei - 09.08.2014
Hola comunidad,
He creado una puerta de un comando con cierre automбtico pero he encontrado un bug y es que cuando pulsas muchas veces el comando parar abrirla se acaba adelantando el cierre entonces no llega ni a abrirse del todo y entonces ya no tiene ninguna utilidad la puerta.
Lo he hecho de la forma mбs sencilla, variable arriba. En OnGameModeInit el objeto con la variable, mбs abajo el comando con MoveObject y un SetTimer. Al final un forward para cerrar la puerta automбticamente con callback nuevo y MoveObject.
Yo he pensado en poner lнmite, mientras la puerta se estб abriendo no poder usar el comando...
Gracias.
Respuesta: Prevenir bugs en puertas automбticas -
OTACON - 09.08.2014
solo debes de colocar una variable y utiliarla como restriccion.
ejemplo:
pawn Код:
new bool:PuertasAutmaticas;
pawn Код:
//colocar donde abre la puerta
if(PuertasAutmaticas == false){
PuertasAutmaticas = true;
//tu funcion que abre la puerta
}
pawn Код:
//colocar donde cierra la puerta
if(PuertasAutmaticas == true){
PuertasAutmaticas = false;
//tu funcion que cierra la puerta
}
saludos.
Re: Prevenir bugs en puertas automбticas -
Orei - 09.08.2014
Gracias OTACON, el problema es que ya tengo un if (if(IsPlayerInRangeOfPoint) metido en el comando de abrir puerta:
Код:
CMD:ap(playerid, params[])
{
if(IsPlayerInRangeOfPoint(playerid, 20.0, -717,963.09998,12.8)) //Posicion donde Se Ejecutara La Funcion
{
MoveObject(Puerta,-717,972,12.8,2); //Posicion De la Puerta Abierta
SetTimer("CerrarPuerta", 8000, true); //Tiempo que Se Cerrada Automaticamente
}
return 1;
}
їEn este caso dуnde lo pongo? Gracias!
Respuesta: Prevenir bugs en puertas automбticas -
OTACON - 09.08.2014
pawn Код:
CMD:ap(playerid, params[])
{
if(IsPlayerInRangeOfPoint(playerid, 20.0, -717,963.09998,12.8)) //Posicion donde Se Ejecutara La Funcion
{
//colocar donde abre la puerta
if(PuertasAutmaticas == false)
{
PuertasAutmaticas = true;
//tu funcion que abre la puerta
MoveObject(Puerta,-717,972,12.8,2); //Posicion De la Puerta Abierta
SetTimer("CerrarPuerta", 8000, false); //Tiempo que Se Cerrada Automaticamente
}
}
return 1;
}
igual con el otro.
Respuesta: Prevenir bugs en puertas automбticas -
xDarkuzSx - 09.08.2014
Код:
CMD:ap(playerid, params[])
{
if(IsPlayerInRangeOfPoint(playerid, 20.0, -717,963.09998,12.8)) //Posicion donde Se Ejecutara La Funcion
{
//colocar donde abre la puerta
if(PuertasAutmaticas == false)
{
PuertasAutmaticas = true;
//tu funcion que abre la puerta
MoveObject(Puerta,-717,972,12.8,2); //ID PUERTA, X, Y , Z Y VELOCIDAD, (PUERTA ABIERTA)
SetTimer("CerrarPuerta", 8000, false); //CALLBACK, TIEMPO MILISEGUNDOS y no repetir timer
}
}
return 1;
}