[Ayuda] Traba en autos
#1

Querrнa saber si me podrнan porfavor guiar mas o menos para hacer el sistema de seguro en el vehнculo, osea, ya tengo la variable (vbloqueado) en el enum de la informaciуn del vehiculo, tambien el comando /seguro para que setee esa variable a 1 y signifique que estб bloqueado, pero, ahora no se de que manera hacer que sн intenta entrar al vehнculo y la variable estй en 1 no pase nada, osea, no quiero que ni entre y luego salga, sino que le des enter y no suceda absolutamente NADA. Gracias
Reply
#2

Puedes usar las callbacks OnPlayerEnterVehicle o la callback OnPlayerStateChange.

Usa la funciуn RemovePlayerFromVehicle para expulsar al jugador cuando trate de entrar al coche.

Creo que usar OnPlayerStateChange es mбs уptimo para lo que quieres.

Solo detecta cuando el jugador estй entrando al coche con GetPlayerState y si el estado es "PLAYER_STATE_ENTER_VEHICLE_PASSENGER" entonces que lo expulse del coche.

En la wiki puedes encontrar mбs info sobre como usar apropiadamente cada callback / funciуn.
Reply
#3

https://sampwiki.blast.hk/wiki/PutPlayerInVehicle
https://sampwiki.blast.hk/wiki/OnPlayerStateChange
https://sampwiki.blast.hk/wiki/GetPlayerVehicleSeat
https://sampwiki.blast.hk/wiki/GetPlayerVehicleID
https://sampwiki.blast.hk/wiki/OnPlayerEnterVehicle

pawn Код:
new bool:Asegurado[MAX_PLAYERS],
VehiculoAsegurado[MAX_PLAYERS],
AsientoAsegurado[MAX_PLAYERS],
bool:VehiculoBloqueado[MAX_VEHICLES];
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate){

    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER){ //cuando sube al vehiculo
        if(Asegurado[playerid] == false){
            SendClientMessage(playerid,-1,"no tienes seguro");
        }
    }

    if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER){ //cuando baja del vehiculo
        if(Asegurado[playerid] == true){
            SendClientMessage(playerid,-1,"si tienes seguro");
            PutPlayerInVehicle(playerid, VehiculoAsegurado[playerid], AsientoAsegurado[playerid]);
        }
    }

    return true;
}
pawn Код:
// en el comando para colocar el seguro
new vehicleid = GetPlayerVehicleID(playerid);
Asegurado[playerid] = true;
VehiculoAsegurado[playerid] = vehicleid;
AsientoAsegurado[playerid] = GetPlayerVehicleSeat(playerid);
pawn Код:
// en el comando para quitar el seguro
new vehicleid = GetPlayerVehicleID(playerid);
Asegurado[playerid] = false;
VehiculoAsegurado[playerid] = -1;
AsientoAsegurado[playerid] = -1;
pawn Код:
//en el comando para bloquear el vehiculo
new vehicleid = GetPlayerVehicleID(playerid);
VehiculoBloqueado[vehicleid] = true;
pawn Код:
//en el comando para desbloquear el vehiculo
new vehicleid = GetPlayerVehicleID(playerid);
VehiculoBloqueado[vehicleid] = false;
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger){

    if(VehiculoBloqueado[vehicleid] == true){
        SendClientMessage(playerid,-1,"el vehiculo esta bloqueado");
        RemovePlayerFromVehicle(playerid);
    }

    return true;
}
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)