Si estas cosas estбn bien hecho...
#1

Hola! Gran bug aparece en el minijuego derby que estoy haciendo, y todo pasa porque como por el lag a veces el mapa no carga y los players se caen al agua se generan bugs...

miren hice esto que es un timer, que se usa cada 2 segundos es para llevar a su posicion que le tocу en el derby, este timer solo se estб ejecutando mientras las puertas del minijuego estйn abiertas, de ahн se desactiva el timer para que cada uno ande libremente a chocar a los demбs y votarlos...

pero siempre tengo problemas con que se cae al agua, el vehiculo se destruye y bla bla se generan bugs y problemas...

lo que quiero esque me digan si esto estб bien

Код:
funcion PosicionarVehiculo(vehfrz,Float:VX,Float:VY,Float:VZ,Float:VA)
{
	if(EstadoDerby == false) // si el minijuego aun no estб activado, osea en espera de mбs jugadores que entren
	{
		foreach(new i: Player)
		{
			if(MiniJuego[i] == MJ_DERBY) // para los jugadores que esten en derby
			{
				SetVehiclePos(vehfrz,VX,VY,VZ); //llevar el vehiculo a la posiciуn que le toco en el derby, se ejecuta cada 2 segundos
  				SetVehicleZAngle(vehfrz,VA); //el angulo de la posicion que le toco en el derby

  				if(!IsPlayerInAnyVehicle(i)) //si no esta en vehнculo lo vuelve al vehнculo.. PERO AQUI EL PROBLEMA:
  				//pasa que si de destruye antes de que el timer vuelva a hacer la funcion de llevar el vehнculo al agua,
				// a veces por el lag se cae y solo lleva al jugador a la posicion etc
  				    PutPlayerInVehicle(playerid, vehfrz, 0);
      		}
		}
	}
}
ahora la siguiente public que no se usarla muy bien...

Код:
//para lo que usaria la public seria para cuando el vehiculo se destruya
public OnVehicleSpawn(vehicleid)
{
	if(EstadoDerby == true) //esta funcion solo se ejecutara si el minijuego estб activo, osea que ya estб cerrado y los jugadores no podrбn entrar
							//es para ver a los que se caen y quiero que el vehiculo se destruya, porque el vehнculo reaparece y molesta...
	{
	    for(new i=0;i<MAX_PLAYERS;i++)
		{
			if(vehicleid==VehiculoDerby[i]) //aqui si el vehiculo destuido es el vehiculo el derby del jugador
			{
				DestroyVehicle(vehicleid); //destruira el vehiculo al spawnear, eso ocurriria cuando el vehiculo spawnee despues de caer al agua...
			}
		}
	}
	else if(EstadoDerby == false) //AHORA AQUI...si el vehiculo se cae al agua PERO EL MINIJUEGO AUN no ha comenzado, quiero que el vehiculo al
	                                //morir le spawnee al jugadores, osea que se lo devuelva porque a veces por el lag se cae al agua cuando el minijuego aun no ha empezado y bla bla bla...
	                                //y luego que al spawnear el vehiculo lo suba al vehiculo con PutPlayerInVehicle
	{
	    SetVehicleToRespawn(VehiCuloDerby[i]);
        PutPlayerInVehicle(playerid, VehiculoDerby[i], 0);
	}
	
    return 1;
}
en fin quiero que si me pueden revisar el codigo, que el problema es el vehiculo que genera los bugs al morir y todo eso y no se muy bien como manejar eso de OnVehicleSpawn...

Agradesco su ayuda y porfa lean lo que estб comentado en el cуdigo para que entiendan del bug o que pueda estar mal para que me digan y lo pueda correjir! Gracias de ante mano
Reply
#2

El callback que buscas es OnVehicleDeath.
Reply
#3

Quote:
Originally Posted by [J]ulian
Посмотреть сообщение
El callback que buscas es OnVehicleDeath.
estonces asн funcionarнa bien...?

Код:
public OnVehicleDeath(vehicleid, killerid)
{
    for(new i=0;i<MAX_PLAYERS;i++)
	{
		if(vehicleid==VehiculoDerby[i])
		{
			DestroyVehicle(vehicleid);
		}
	}
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)