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); } } } }
//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; }
El callback que buscas es OnVehicleDeath.
|
public OnVehicleDeath(vehicleid, killerid) { for(new i=0;i<MAX_PLAYERS;i++) { if(vehicleid==VehiculoDerby[i]) { DestroyVehicle(vehicleid); } } return 1; }