Jump to content
Geplaatst:
comment_1533879

Hallo,

Ik zou graag iets willen installeren in mijn server. Bij mij op de server moet je een auto eerst starten voor je kan rijden. Deze kan je dan ook weer uitzetten. Alleen moet je heel vaak het command typen om te starten, en na verloop van tijd wordt dit een beetje vervelend. Ik heb wel gehoord van KeyBinds, maar mensen zeiden tegen mij dat dit (soms) illegaal is en bovendien snap ik er geen :cab::cab: van. Het is dan natuurlijk ook de bedoeling dat de key-functie voor iedereen die op mijn server speelt beschikbaar is. Wie kan mij hiermee helpen?

Sean5874

Featured Replies

Geplaatst:
comment_1533898

//Top:

new MotorAan[MAX_PLAYERS];

public OnPlayerExitVehicle(playerid, vehicleid)
{
   MotorAan[playerid] = 0;
   TogglePlayerControllable(playerid, 1);
   return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
   if(newstate == PLAYER_STATE_DRIVER)
   {
       MotorAan[playerid] = 0;
TogglePlayerControllable(playerid, 0);
   }
   return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
   if(IsPlayerInAnyVehicle(playerid) && MotorAan[playerid] == 0)
   {
       if(newkeys & KEY_CROUCH)
{
    MotorAan[playerid] = 1;
    TogglePlayerControllable(playerid, 1);
       }
   }
}

Of wat je ook kan doen, als je het hele Toggle-systeem en het bijbehorende commando al hebt, is:

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
   if(IsPlayerInAnyVehicle(playerid) && MotorAan[playerid] == 0)
   {
       if(newkeys & KEY_CROUCH)
{
    OnPlayerCommandText(playerid, "/start");
       }
   }
}

Uiteraard wel de namen van de variablen aanpassen aan je eigen variabelen.

Geplaatst:
  • Auteur
comment_1533911

//Top:

new MotorAan[MAX_PLAYERS];

public OnPlayerExitVehicle(playerid, vehicleid)
{
   MotorAan[playerid] = 0;
   TogglePlayerControllable(playerid, 1);
   return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
   if(newstate == PLAYER_STATE_DRIVER)
   {
       MotorAan[playerid] = 0;
TogglePlayerControllable(playerid, 0);
   }
   return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
   if(IsPlayerInAnyVehicle(playerid) && MotorAan[playerid] == 0)
   {
       if(newkeys & KEY_CROUCH)
{
    MotorAan[playerid] = 1;
    TogglePlayerControllable(playerid, 1);
       }
   }
}

Of wat je ook kan doen, als je het hele Toggle-systeem en het bijbehorende commando al hebt, is:

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
   if(IsPlayerInAnyVehicle(playerid) && MotorAan[playerid] == 0)
   {
       if(newkeys & KEY_CROUCH)
{
    OnPlayerCommandText(playerid, "/start");
       }
   }
}

Uiteraard wel de namen van de variablen aanpassen aan je eigen variabelen.

Bedankt voor je reactie Sandra! Alles past er error-loos in, maar waar moet je de key invullen die je wilt gebruiken??

Geplaatst:
  • Auteur
comment_1534016

Deze regel:

if(newkeys & KEY_CROUCH)

In dit is het de crouch-toets.

Mocht de deze toets willen veranderen, kan je hier een lijst vinden met alle mogelijke toetsen:

http://wiki.sa-mp.com/wiki/GetPlayerKeys#Key_List

Het probleem is opgelost. De moter start nu als ik op C druk,

Bedankt voor je reactie!!

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.