• 24 Avril 2025, 08:38:07


Auteur Sujet: Probleme newkeys  (Lu 755 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne jerem428

  • *
  • Tueur en série
  • Messages: 143
    • Voir le profil
Probleme newkeys
« le: 15 Avril 2011, 13:13:23 »
Code: (pawn) [Sélectionner]
if((newkeys & KEY_JUMP)&&(IsPlayerInAnyVehicle(playerid))&&(GetPlayerState(playerid)==PLAYER_STATE_DRIVER))
        {
        if(IsPlayerConnected(playerid))
    {
        new vehicleid = GetPlayerVehicleID(playerid);
    if(EnPanne[playerid] == 0)
{
if(VehiculeInfo[vehicleid][Moteur] == 0)
    {
VehiculeInfo[vehicleid][Moteur] = 1;
SendClientMessage(playerid,COL_WHITE,"Vous demarrez le Moteur");
TogglePlayerControllable(playerid,1);
}
else
    {
VehiculeInfo[vehicleid][Moteur] = 0;
SendClientMessage(playerid,COL_WHITE,"Vous eteignez  le Moteur, Vous pouvez decendre /decendre");
TogglePlayerControllable(playerid,0);
}
}
if(EnPanne[playerid] == 1)
{
SendClientMessage(playerid,COL_WHITE,"Ce Vehicule est en Panne");
}
        }
}
Voila quand je fai la touche saute le vehicule ne fais rien mais quand je recule sa marche ???
Je ne vois pas d'ou cela peut provenir

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Probleme newkeys
« Réponse #1 le: 18 Avril 2011, 11:57:48 »
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
Courtesy of GtaManiac

Hors ligne jerem428

  • *
  • Tueur en série
  • Messages: 143
    • Voir le profil
Re : Probleme newkeys [RESOLU]
« Réponse #2 le: 18 Avril 2011, 22:22:59 »
Ok merci de ton aide.
Bonne continuation