їComo asignar una letra para arrancar el motor de un vehiculo?
#1

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?
Reply
#2

pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
    if(newkeys == KEY_YES) { //Letra 'Y'
        //ACA TU FUNCION
        //ACA TU FUNCION
    }
    return true;
}
https://sampwiki.blast.hk/wiki/GetPlayerKeys#Special_Keys
Reply
#3

Letra o tecla?
Reply
#4

Quote:
Originally Posted by xSDx
Посмотреть сообщение
Letra o tecla?
La Tecla Letra 'Y'.

PD: Te cague xDD
Reply
#5

Nosй como ponerlo,perdon mi ignorancia x)

Este es el comando para encenderlo
Код:
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);
			
			
		}
	}
Reply
#6

pawn Код:
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;
}
Reply
#7

Quote:
Originally Posted by Daniel_Ruiz
Посмотреть сообщение
pawn Код:
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;
}
Ya lo habia puesto asi,pensй que estaba mal x)
El problema esque la tecla "y" que estб asignada, al pulsarla se enciende,pero tambien al pulsarla nuevamente se apaga, solo necesitaria que encienda nada mas, y si pulsa "y" varias veces seguidas , sale un tremendo flood.
їComo seria solo para encenderlo?
Y como seria solo para apagarlo?
Reply
#8

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;
}
Para apagarlo:

pawn Код:
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;
}
Y en OnPlayerConnect seteas las variables a 0.

pawn Код:
public OnPlayerConnect(playerid) {
EncendioMotor[playerid] = 0;
ApagoMotor[playerid] = 0;
return 1;
}
Reply
#9

Me sirvio ,muchas gracias, hay un problema -
Cuando lo enciendo va perfectamente, osйa si lo pulso otra vez no pasa nada..
Pero luego lo apago con /v motor
y pulsa la tecla , no pasa nada.
Osea la tecla solo sirve una vez al pulsarlo.
Reply
#10

Creo que debes setear cuando apaga el vehiculo

pawn Код:
ApagoMotor[playerid] = 0;
agrega eso en la linea que lo apaga
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)