• 10 Juillet 2025, 02:37:23


Auteur Sujet: Command Key...  (Lu 2540 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Command Key...
« le: 12 Septembre 2007, 00:29:53 »
Bonjour tout le monde.

Voila, J'ai envie de créer une commande, Qui execute une actions, Qui cette action est activable par une touche.

Alors j'ai pencer a GetPlayerKey mais ca prend seulement les touches du clavier du joueur.

Apres j'ai créer une commande dans ce genre :

if (strcmp("/key", cmdtext, true, 10) == 0)
{
TogglePlayerControllable(playerid,0);
if (KEY_ACTION(playerid)) {
SendClientMessage(playerid,0xAA3333AA,"Test");
}
return 1;
}

Mais ca marche pas il y a quel que erreurs...

Alors si vous pouviez m'aider ca serais sympa.

PS: Merci de ne pas me donner le code, Expliquez moi juste le principale, je ferais le reste tout seul  :)

Merci d'avance  ;)
« Modifié: 12 Septembre 2007, 00:36:07 par urbanghetto »

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Command Key...
« Réponse #1 le: 12 Septembre 2007, 00:40:02 »
La fonction magique pour ce que tu veux faire c'est la callback OnPlayerKeyStateChange.
Je ne t'en dit pas plus.

++
Syg
Courtesy of GtaManiac

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : Command Key...
« Réponse #2 le: 12 Septembre 2007, 00:41:47 »
Merci Syg  :)

Si je réussi je vous donnerais le code  :D

Edit : Tu pourais m'en dit un tout petit peux plus quand même  ::)
« Modifié: 12 Septembre 2007, 00:59:22 par urbanghetto »

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : Command Key...
« Réponse #3 le: 12 Septembre 2007, 05:57:42 »
Et moi l'expliquation complete lol je voulais en faire une :)

AK NV.


Tu vois avant? Bah j'étais là encore avant!

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Command Key...
« Réponse #4 le: 12 Septembre 2007, 22:19:14 »
Y'a déjà quelqu'un qui avait demandé sur ce topic :
http://www.gtaonline.fr/forums/index.php/topic,1284.msg11210.html#msg11210

++
Syg
Courtesy of GtaManiac

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : Command Key...
« Réponse #5 le: 12 Septembre 2007, 23:46:25 »
Oui, Mais moi je cherche a faire une commande qui active l'action qui cette action est activable par une Key  :(
« Modifié: 13 Septembre 2007, 00:05:47 par urbanghetto »

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Command Key...
« Réponse #6 le: 13 Septembre 2007, 01:50:39 »
J'ai pas compris.

++
Syg
Courtesy of GtaManiac

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : Command Key...
« Réponse #7 le: 13 Septembre 2007, 12:08:45 »
Bon si tu veux, Je lance une commande (/key) Ensuite quand j'appuis sur JUMP il y a un SendClientMessage qui s'affiche. Mais je n'ai envie pas envie que JUMP soit utilisable avant que tu tappe /Key... J'espert avoir été clair  :)

Mais bon le SendClientMessage c'est juste un exemple...

Alors j'ai pençer a faire ça :

if (strcmp("/key", cmdtext, true, 10) == 0)
{
TogglePlayerControllable(playerid,0);
if (KEY_ACTION(playerid)) {
SendClientMessage(playerid,0xAA3333AA,"Test");
}
return 1;
}

Mais la encors il y a des erreurs  :(

Merci d'avance  :)

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Re : Command Key...
« Réponse #8 le: 13 Septembre 2007, 16:12:15 »
Je reste persuadé que tu dois passer pas la callback OnPlayerKeyStateChange.
Pour faire ce que tu veux faire, tu déclares un tableau d'indicateur (un par joueur) que tu positionnes à VRAI quand le joueur saisie la commande et tu testes cette indicateur dans OnPlayerKeyStateChange quand le joueur appuie sur une touche :

Code: (cpp) [Sélectionner]
new PlayerAllowed[MAX_PLAYERS] =) 0;

public OnPlayerCommandText (playerid, cmdtext[])
{
if (strcmp(cmd, "/key", true) == 0)
{
PlayerAllowed[playerid] = 1;
}
}

public OnPlayerKeyStateChange (playerid, newkeys, oldkeys)
{
if (newkeys & KEY_JUMP)
{
if (PlayerAllowed[playerid] == 1)
{
/* Faire l'action */
}
}
}

Voilà.
++
Syg
Courtesy of GtaManiac

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : Command Key...
« Réponse #9 le: 13 Septembre 2007, 18:44:53 »
Pas mal comme idée  :)

Merci Syg  ;)

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : Command Key...
« Réponse #10 le: 13 Septembre 2007, 19:01:33 »
C'est possible de mettre autre chose a la place de KEY_SECONDARY_ATTACK par exemple > KEY_(premiere attack) (c'est un exemple) ??

AK NV.


Tu vois avant? Bah j'étais là encore avant!

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : Command Key...
« Réponse #11 le: 13 Septembre 2007, 19:32:46 »
-----------NOM-----------------------------ID--------
KEY_ACTION                            1
KEY_CROUCH                            2
KEY_FIRE                                 4
KEY_SPRINT                             8
KEY_SECONDARY_ATTACK         16
KEY_JUMP            32
KEY_LOOK_RIGHT            64
KEY_HANDBRAKE            128
KEY_LOOK_LEFT             256
KEY_SUBMISSION            512
KEY_LOOK_BEHIND          512
KEY_WALK              1024
KEY_ANALOG_UP          2048
KEY_ANALOG_DOWN            4096
KEY_ANALOG_RIGHT          16384
KEY_ANALOG_LEFT                 8192
KEY_UP                                  65408
KEY_DOWN                            128
KEY_LEFT                               65408
KEY_RIGHT                             128

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : Command Key...
« Réponse #12 le: 13 Septembre 2007, 19:37:45 »
Merci ^^

AK NV.


Tu vois avant? Bah j'étais là encore avant!