29.03.2013, 14:48
He visto en algunos servers, que por ejemplo lo normal es poner "/v motor" y arranca el auto y lo que quiero saber es si se puede asignar una letra por ejemplo "y" y solo pulsandola arrancaria el motor.. їComo?
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
if(newkeys == KEY_YES) { //Letra 'Y'
//ACA TU FUNCION
//ACA TU FUNCION
}
return true;
}
if(strcmp(params, "motor", true) == 0 && IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { new engine,lights,alarm,doors,bonnet,boot,objective,vehicleid; vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510) return SendClientMessageEx(playerid,COLOR_WHITE,"[ERROR]: No puedes usar este comando si estбs en este tipo de vehiculos."); GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective); if(engine == VEHICLE_PARAMS_ON) { SetVehicleEngine(vehicleid, playerid); } else if((engine == VEHICLE_PARAMS_OFF || engine == VEHICLE_PARAMS_UNSET)) { SendClientMessageEx(playerid, COLOR_WHITE, "Motor del vehнculo se estб prendiendo, por favor espera ..."); SetTimerEx("SetVehicleEngine", 1000, 0, "dd", vehicleid, playerid); } }
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
if(newkeys == KEY_YES)
{
new engine,lights,alarm,doors,bonnet,boot,objective,vehicleid;
vehicleid = GetPlayerVehicleID(playerid);
if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510) return SendClientMessageEx(playerid,COLOR_WHITE,"[ERROR]: No puedes usar este comando si estбs en este tipo de vehiculos.");
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
if(engine == VEHICLE_PARAMS_ON)
{
SetVehicleEngine(vehicleid, playerid);
}
else if((engine == VEHICLE_PARAMS_OFF || engine == VEHICLE_PARAMS_UNSET))
{
SendClientMessageEx(playerid, COLOR_WHITE, "Motor del vehнculo se estб prendiendo, por favor espera ...");
SetTimerEx("SetVehicleEngine", 1000, 0, "dd", vehicleid, playerid);
}
return 1;
}
pawn Код:
|
new EncendioMotor[MAX_PLAYERS]; // creas la variable que almacena si el motor estб encendido
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
if(newkeys == KEY_YES)
{
if(EncendioMotor[playerid] == 1) return 0; // si ya estб encendido y pulsa la tecla y no ocurrirб nada
/*if(EncendioMotor[playerid] == 1) return SendClientMessage(playerid, -1, "El motor ya estб encendido."); */ // puedes retornar a 0 y que no se ejecute la funciуn o retornar con un mensaje informando de que el motor ya estб encendido.
new engine,lights,alarm,doors,bonnet,boot,objective,vehicleid;
vehicleid = GetPlayerVehicleID(playerid);
if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510) return SendClientMessageEx(playerid,COLOR_WHITE,"[ERROR]: No puedes usar este comando si estбs en este tipo de vehiculos.");
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective
if(engine == VEHICLE_PARAMS_ON)
{
SetVehicleEngine(vehicleid, playerid)
}
else if((engine == VEHICLE_PARAMS_OFF || engine == VEHICLE_PARAMS_UNSET))
{
SendClientMessageEx(playerid, COLOR_WHITE, "Motor del vehнculo se estб prendiendo, por favor espera ...");
EncendioMotor[playerid] == 1; // cuando se encienda seteamos la variable a 1
SetTimerEx("SetVehicleEngine", 1000, 0, "dd", vehicleid, playerid);
}
return 1;
}
new ApagoMotor[MAX_PLAYERS];
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
if(newkeys == AQUН LA TECLA)
{
if(ApagoMotor[playerid] == 1) return 0; // si ya estб apagado no se ejecuta la funciуn
// Aquн las funciones
// Mбs funciones
ApagoMotor[playerid] = 1;
}
return 1;
}
public OnPlayerConnect(playerid) {
EncendioMotor[playerid] = 0;
ApagoMotor[playerid] = 0;
return 1;
}
ApagoMotor[playerid] = 0;