Je viens de tester avec le bout de script suivant dans OnPlayerKeyStateChange :
if ((newkeys & KEY_JUMP)&&(IsPlayerInAnyVehicle(playerid)))
{
SendClientMessage (playerid, COLOR_RED, "KEY_JUMP !!");
}
Effectivement, quand on appuie sur la touche pour sauter, rien ne se passe mais lorsqu'on recule, le message est affiché. Ce qui est conforme à ce que tu décris.
Dans le jeu, la touche KEY_JUMP n'est pas utilisée lorsqu'on est en véhicule (c'est une touche réservée quand on est à pied) et je pense qu'elle n'est pas transmise à la callback OnPlayerKeyStateChange pour cette raison.
En poussant plus loin, j'ai modifié le bout de script comme suit :
if ((newkeys & KEY_JUMP)&&(IsPlayerInAnyVehicle(playerid)))
{
new Aff[128];
format (Aff, sizeof Aff, "Valeur newkeys = %d", newkeys)
SendClientMessage (playerid, COLOR_RED, Aff);
}
Lorsque que j'appuie sur "reculer", j'ai l'affichage suivant :
Valeur newkeys = 32
Et comme KEY_JUMP vaut 32 aussi, ça explique pourquoi ça marche quand on recule.
J'ai donc été encore plus loin en affichant systématiquement le newkeys lorsqu'on est en véhicule et à pied.
Voici le récapitulatif :
Touches à pied
Libellé ds options Valeur #define
Tirer 4 KEY_FIRE
Arme/cible suivante - -
Arme/cible précédente - -
Avancer ctrl groupe - -
Reculer ctrl groupe - -
Conversation non - -
Conversation oui - -
Avancer - -
Reculer - -
Aller à gauche - -
Aller à droite - -
Zoom avant - -
Zoom arrière - -
Monter+descendre 16 KEY_SECONDARY_ATTACK
Changer caméra - -
Sauter 32 KEY_JUMP
Sprinter 8 KEY_SPRINT
Viser avec une arme 128 - -> Manque un define (KEY_AIM)
S'accroupir 2 KEY_CROUCH
Action 1 KEY_ACTION
Marcher 1024 KEY_WALK
Regarder derrière 12 KEY_LOOK_BEHIND
Touches en véhicule
Libellé ds options Valeur #define
Tirer 4 KEY_FIRE
Tir secondaire 1 - -> Manque un define (KEY_SECONDARY_FIRE)
Accélérer 8 - -> Manque un define (KEY_ACCELERATE)
Freiner/marche arrière 32 - -> Manque un define (KEY_BRAKE)
Aller à gauche - -
Aller à droite - -
Avancer/bas - -
Reculer/haut - -
Monter+descendre 16 KEY_SECONDARY_ATTACK
Trajet rapide - -
Radio suivante - -
Radio précédente - -
Passer la chanson - -
Klaxonner 2 - -> Manque un define (KEY_HONK)
Sous-mission 512 KEY_SUBMISSION
Changer de caméra - -
Frein à main 128 KEY_HANDBRAKE
Regarder derrière (256+64) -
Vue souris - -
Regarder à gauche 256 KEY_LOOKLEFT
Regarder à droite 64 KEY_LOOKRIGHT
Gauche ctrl spécial 8192 KEY_ANALOG_LEFT
Droite ctrl spécial 16384 KEY_ANALOG_RIGHT
Haut ctrl spécial 2048 KEY_ANALOG_UP
Bas ctrl spécial 4096 KEY_ANALOG_DOWN
++
Syg