public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new IDVEH = GetPlayerVehicleID(playerid);
if(Vehiculo[IDVEH][Gasolina] >= 0)
{
SendClientMessage(playerid,-1,"Vehiculo sin gasolina.");
}
else if(Vehiculo[IDVEH][Gasolina] >= 0)
{
if(Vehiculo[vehicleid][Motor] == 0) {
SendClientMessage(playerid, -1, "El motor estб apagado. Usa /encender o apreta Right Click para encenederlo.");
}
else if(Vehiculo[vehicleid][Motor] == 1)
{
SetTimerEx("Comprobargasolina", 35000, false, "i", playerid);
SendClientMessage(playerid,-1,"El vehнculo estб abierto, ahora gasta gasolina.");
}
}
return 0;
}
if(Vehiculo[IDVEH][Gasolina] >= 0)
if(Vehiculo[IDVEH][Gasolina] == 0)
// // 'OnPlayerEnterVehicle' - Es llamada cuando un jugador estб entrando a un vehнculo (aъn sin estar adentro de йl).
// 'OnPlayerStateChange' - Es llamada cuando un jugador cambia de estado. En este caso, verifica si el jugador cambiу su estado a conductor de un vehнculo.
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER) // Si el nuevo estado es 'conductor'.
{
new IDVEH = GetPlayerVehicleID(playerid);
if(Vehiculo[IDVEH][Gasolina] <= 0) // Si la variable 'gasolina' de la ID del vehнculo es menos o igual que '0'.
{
SendClientMessage(playerid,-1,"Vehiculo sin gasolina.");
}
else if(Vehiculo[IDVEH][Gasolina] >= 0) // Caso contrario...
{
if(Vehiculo[vehicleid][Motor] == 0)
{
SendClientMessage(playerid, -1, "El motor estб apagado. Usa /encender o apreta Right Click para encenederlo.");
}
else if(Vehiculo[vehicleid][Motor] == 1)
{
SetTimerEx("Comprobargasolina", 35000, false, "i", playerid);
SendClientMessage(playerid,-1,"El vehнculo estб abierto, ahora gasta gasolina.");
}
}
}
return 1;
}
CMD:gasolinavar(playerid, params[])
{
if(!IsPlayerInAnyVehicle(playerid)) return 0; // Si no estбs en un vehнculo, te aparecerб que el comando no existe.
else
{
Vehiculo[GetPlayerVehicleID(playerid)][Gasolina] = 100;
}
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(!Vehiculo[vehicleid][Gasolina])
return SendClientMessage(playerid, -1, "Vehiculo sin gasolina.");
if(!Vehiculo[vehicleid][Motor])
return SendClientMessage(playerid, -1, "El motor estб apagado. Usa /encender o apreta Right Click para encenederlo.");
SetTimerEx("Comprobargasolina", 35000, false, "i", playerid);
SendClientMessage(playerid, -1, "El vehнculo estб abierto, ahora gasta gasolina.");
return 1;
}
pawn Код:
|
OnPlayerEnterVehicle causara problemas por la razon que dice en la wiki y en el mensaje que eliminaste.
es recomendable utilizar OnPlayerStateChange. saludos. |
Estas equivocado, el codigo que le deje si funciona, el problema con el codigo que el tenia es que utilizaba el id del vehiculo en el cual ESTABA el jugador (utiliza GetPlayerVehicleID), mi codigo utiliza vehicleid. Entonces їPodes explicarme que problemas causaria?
|