• 24 Avril 2025, 04:38:14


Auteur Sujet: Unkown Command  (Lu 1630 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Unkown Command
« le: 25 Août 2009, 11:29:47 »
Bonjour,
Je souhaiterais que si un joueur tape une commande inconnue, il y est une action spéciale, plutôt que "Unkown Command".
Comment faire ?
Merci.

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Unkown Command
« Réponse #1 le: 25 Août 2009, 11:42:59 »
c'est a dire une action special ?

si tu veut juste une phrase


a la place du return 0;

Tu met ceci

return SendClientMessage(patati patata);
« Modifié: 25 Août 2009, 11:45:19 par cristab »
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Unkown Command
« Réponse #2 le: 25 Août 2009, 11:55:49 »
Ok, mais en fait ce que je veux dire c'est :
"La commande "/machintrucbidule" n'existe pas."
Donc je pense pas qu'il faut faire un retun à chaque commande.

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Unkown Command
« Réponse #3 le: 25 Août 2009, 12:00:47 »
non du tout


tu utilise un format

new wrongcmd[128];
format(wrongcmd, sizeof(wrongcmd), "desoler %s n'existe pas sur ce serveur", cmdtext);
return SendClientMessage(playerid,Blanc,wrongcmd);

voila a la place du return 0; a la fin de la callback OnPlayerCommandText
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Unkown Command
« Réponse #4 le: 25 Août 2009, 12:40:20 »
En fait je veux affichier un TextDraw, donc je fait comme çà :
OnPlayerCMDText
{
return truc=CreateTextDraw()
TextDrawFont(..)
etc..
}

C'est comme ceci ?

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Unkown Command
« Réponse #5 le: 25 Août 2009, 12:58:33 »
euh en TD ce serais plutot textdrawhideforplayer


car tu dois surement le creer avant et utiliser un string mais pense a le detruire sinon il resteras longtemps
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Unkown Command
« Réponse #6 le: 25 Août 2009, 13:04:02 »
J'ai pas bien compris...
Pour le Hide, je ferais un timer.

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Unkown Command
« Réponse #7 le: 25 Août 2009, 13:09:20 »
le mieux ce serais

return Wrongcmd(playerid);



Wrongcmd(playerid)
{

// le code de ton td avec le timer

}
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Unkown Command
« Réponse #8 le: 25 Août 2009, 13:47:24 »
J'ai réussi, merci à toi, Cristab ;)

Double post
Arf, j'ai un autre problème.

Voilà mon code :


return Wrongcmd(playerid);//Wrongcmd(playerid);
}// Fin de OnPlayerCMDtext

Il y a quelques commandes qui utilise l'action Wrongcmd alors que les commandes sont bonnes, comment ca se fait ?

J'ai aussi ce warning :

Citer
warning 209: function "Wrongcmd" should return a value
Elle présente la dernière accolade du public Wrongcmd.
« Modifié: 25 Août 2009, 18:50:14 par lepro49 »

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Unkown Command
« Réponse #9 le: 25 Août 2009, 21:29:20 »
tu peu me faire voir en gros ton Wrondcmd et les commande qui l'affiche or qu'elle existe c'est surement une histoire de return 1; dans la commande en question
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Unkown Command
« Réponse #10 le: 25 Août 2009, 22:17:59 »
public Wrongcmd(playerid)
{
if(hidetruc[playerid] == 0)
{
txt2 = TextDrawCreate(5.0, 400.0,Text_Minimap2);
  TextDrawUseBox(txt2, 0);
TextDrawFont(txt2, 1);
TextDrawSetShadow(txt2,0);
TextDrawSetOutline(txt2,1);
TextDrawBackgroundColor(txt2,0x000000FF);
TextDrawColor(txt2,0xFFFFFFFF);
TextDrawShowForPlayer(playerid, txt2);
SetTimerEx("HideTextDraw2", 2500, false, "i", playerid);
SetTimerEx("HideTextDraw2", 4500, false, "i", playerid);
hidetruc[playerid] = 1;
}
}

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Unkown Command
« Réponse #11 le: 25 Août 2009, 22:23:38 »
essaie de lui ajouter un return 1;
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Unkown Command
« Réponse #12 le: 25 Août 2009, 23:57:27 »
Salut,

les callback doivent toujours retourner une valeur, ainsi ton OnPlayerCommandText doit se terminer avec un return, ici tu retourne la valeur de retour de ta fonction, or ta fonction ne retourne pas de valeur, bref tu doit faire comme Cristab l'a dit, ajouter un return

sinon tu peut toujours modifier ta façon d'utiliser la fonction de façon à ne pas en retourner la valeur mais une valeur "constante", retourner un nombre directement.

    WrongCmd(playerid);
    return 1;

de plus, tu devrais mettre en paramètre la commande faite par le joueur si tu désire un texte du genre :" La commande /allo n'existe pas."

j'ajouterais même que l'intérêt d'utiliser un TextDraw est plutôt limité, tu serais pratiquement mieux d'utiliser un simple SendClientMessage

++Sim++





Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Unkown Command
« Réponse #13 le: 26 Août 2009, 10:26:56 »
J'ai rajouté un return aux deux, ca s'arrange mais c'est pas toujours ça :

On m'affichais avant un "Unknown Command" dans la chat box + le text draw, maintenant il n'y a que le text draw, mais seulement il s'affiche dans certaines commandes qui peuvent être bonne.
Peut être que...
Les commandes appellent une call back, qui est par la suite non retournée ?

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Unkown Command
« Réponse #14 le: 26 Août 2009, 11:15:07 »
sa se pourrais regarde qu'elle commande reagisse comme ceci est regarde les callback appeler verifie en meme temps que ta commande se compose d'un return 1;
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici