GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Ssk le 16 Mai 2009, 20:44:50

Titre: Touche
Posté par: Ssk le 16 Mai 2009, 20:44:50
salut tout le monde j' ai un petit probleme avec OnPlayerKeyStateChange


donc j' ai creer ca

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_JUMP && KEY_FIRE)
{
//ici ma fonction que je donne pas dsl
}
else if(newkeys & KEY_SECONDARY_ATTACK)// j ai essaye avec des if des else if tout
{
// pareille
}
}

donc pour la deuxieme condition tout fonctionne
mais la premiere je saute et tire, la fonction ce lance pas apres je saute la fonction se lance  :blink si quelqu' un peut m aider =D ca me ferais beaucoup plaisir
Titre: Re : Touche
Posté par: S!m le 16 Mai 2009, 20:50:22
salut,

tu dois plutôt écrire:

if(newkeys & KEY_FIRE && newkeys & KEY_JUMP)
++Sim++
Titre: Re : Touche
Posté par: MrFredo le 16 Mai 2009, 20:56:45
Enfet chaque combinaison de touche a sont numero propre qui n'est pas specialement defini dans les define KEY_* de sa-mp pour les obtenir c'est simple tu prend un script vide dans OnPlayerKeyStateChange tu met
Code: (pawn) [Sélectionner]
new string[128];
format(string,sizeof(string),"newkeys:%d | oldkeys:%d",newkeys, oldkeys);
SendClientMessage(playerid,0xFFFFFFFF,string);

Une fois compilé tu lance ton serveur test tu va sur ton serveur test tu apuie simultanement sur les 2 touche et tu obtiendra le numero de la combinaison
Titre: Re : Touche
Posté par: Ssk le 16 Mai 2009, 21:31:08
Ok merci a vous deux =D