Engine start
#1

Engine wont start when press shift

OnPlayerKeyStateChange
Код:
   if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
  if(newkeys == KEY_JUMP)
  {
     new id = GetPlayerVehicleID(playerid);
      if(id == 481 || id == 509 || id == 510) return SCM(playerid, -1, ""C_SIVA"* Ozbiljno mislis upaliti bicikl?");
   if(MotorUpaljen[id] == 0)
   {
       new msg[128];
       format(msg, sizeof(msg), "%s pokusava pokrenuti motor na vozilu %s...", GetName(playerid), GetVehicleNameEx(id));
       ProxDetector(25.0, playerid, msg, PROX);
       GameTextForPlayer(playerid, "~y~Paljenje motora...", 2500, 4);
       SetTimerEx("PaljenjeMotora", MOTOR_PALJENJE*1000, false, "i", playerid);
       Zaledi(playerid);
   }
   else if(MotorUpaljen[id] == 1)
   {
    new msg[128];
    format(msg, sizeof(msg), "%s iskljucuje motor na vozilu %s.", GetName(playerid), GetVehicleNameEx(id));
       ProxDetector(25.0, playerid, msg, PROX);
       GetVehicleParamsEx(id, engine, lights, alarm, doors, bonnet, boot, objective);
       SetVehicleParamsEx(id, VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
       MotorUpaljen[id] = 0;
   }
  }
 }
 //---------- [ Paljenje svetala ] ----------//
 if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
 {
  if(newkeys == KEY_SUBMISSION && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  {
    new id = GetPlayerVehicleID(playerid);
      if(id == 481 || id == 509 || id == 510) return SCM(playerid, -1, ""C_SIVA"* Ne mozete na biciklima upaliti svetlo.");
   if(MotorUpaljen[id] == 0) return SCM(playerid, -1, ""C_SIVA"* Morate imati upaljeno vozilo!");
   if(SvetlaUpaljena[id] == 0)
     {
    new msg[128];
    format(msg, sizeof(msg), "%s ukljucuje svetla na vozilu %s.", GetName(playerid), GetVehicleNameEx(id));
    ProxDetector(25.0, playerid, msg, PROX);
    GetVehicleParamsEx(id, engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(id, engine, VEHICLE_PARAMS_ON, alarm, doors, bonnet, boot, objective);
       SvetlaUpaljena[playerid] = 1;
      }
   else if(SvetlaUpaljena[id] == 1)
   {
    new msg[128];
    format(msg, sizeof(msg), "%s iskljucuje svetla na vozilu %s.", GetName(playerid), GetVehicleNameEx(id));
    ProxDetector(25.0, playerid, msg, PROX);
    GetVehicleParamsEx(id, engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(id, engine, VEHICLE_PARAMS_OFF, alarm, doors, bonnet, boot, objective);
       SvetlaUpaljena[id] = 0;
   }
  }
 }
OnPlayerStateChange
if(newstate == PLAYER_STATE_DRIVER)
{
new vid = GetPlayerVehicleID(playerid);
if(MotorUpaljen[vid] == 0)
{
SCM(playerid, -1, ""C_ZUTA"*Da pokrenete vozilo, pritisnite dugme 'SHIFT' na vasoj tastaturi.");
}
else if(MotorUpaljen[vid] == 1) // Skloniti
{
SCM(playerid, -1, ""C_SIVA"*Motor upaljen.");
}
if(SvetlaUpaljena[vid] == 0)
{
SCM(playerid, -1, ""C_ZUTA"*Da upalite svetla, pritisnite dugme '2' na vasoj tastaturi.");
}
if(SvetlaUpaljena[vid] == 1) // Skloniti
{
SCM(playerid, 1, ""C_SIVA"*Svetla upaljena.");
}
}

Timer starting engine
Код:
forward PaljenjeMotora(playerid);
public PaljenjeMotora(playerid)
{
 new motor = random(2), vehicleid = GetPlayerVehicleID(playerid); // Vrednost je 1(Uspesno) ili 0(Neuspesno)!
 if(motor == 1)
 {
     new msg[128];
     format(msg, sizeof(msg), "%s pokrece motor na vozilu %s.", GetName(playerid), GetVehicleNameEx(vehicleid));
  GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
     GameTextForPlayer(playerid, "~g~Motor pokrenut!", 2000, 4);
  MotorUpaljen[vehicleid] = 1;
  Odledi(playerid);
  ProxDetector(25.0, playerid, msg, PROX);
 }
 else if(motor == 0)
 {
     GameTextForPlayer(playerid, "~r~Neuspesno, pokusajte opet.", 2000, 4);
  Odledi(playerid);
    new msg[128];
     format(msg, sizeof(msg), "%s ne uspeva pokrenuti motor na vozilu %s.", GetName(playerid), GetVehicleNameEx(vehicleid));
     ProxDetector(25.0, playerid, msg, PROX);
 }
 return 1;
}
Reply
#2

If you checked OnPlayerKeyStateChange and looked at the keys section, you'd see that key isn't the same when in the vehicle.

Pressing S when in the car using KEY_JUMP, will start it. But not in your code. You want to view the OnPlayerKeyStateChange wiki.

https://sampwiki.blast.hk/wiki/OnPlayerK...heck_for_a_key



https://sampwiki.blast.hk/wiki/Keys
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)