SA-MP Forums Archive
Prevenir bugs en puertas automбticas - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Prevenir bugs en puertas automбticas (/showthread.php?tid=530829)



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