• 06 Juin 2026, 13:21:15


Auteur Sujet: En quoi consiste "cmdtext[x]"?  (Lu 3138 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Karika

  • *
  • Criminel
  • Messages: 43
    • Voir le profil
En quoi consiste "cmdtext[x]"?
« le: 06 Juillet 2011, 15:09:06 »
Bonjour, je suis en train de modifier 2/3 trucs sur un FS et je suis tombé à un moment sur une commande /dire permettant de faire IG "Admin : Salut" (c'est un exemple) et le cmdtext était en 5 (cmdtext[5]). J'ai remplacé ce /dire par /ao et quand je tape IG /ao salut, la console crash donc le serveur plante. J'ai eu l'idée de remplacer ce cmdtext qui était de 5 j'ai mis 3 car dans la commande il n'y a que 3 caractères /ao .
C'est ce qu'il faut faire? Je peux pas test je suis en pleine ré-installation de GTA SA. Merci pour vos réponses !
[Information sur le développement d'un futur serveur STUNT / DM]
[Administration terminée à 0%]
[Mapping terminé à 0%]
[Commandes diverses terminé à 0%]
[Serveur en général terminé à 0%]

[Bases du serveur remises à 0!]

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : En quoi consiste "cmdtext[x]"?
« Réponse #1 le: 06 Juillet 2011, 15:24:36 »
deja pour le /dire j'aurais mis cmdtext[6] et non 5 a cause de l'espace /dire coucou avant le c il y a bien 6  donc /ao = 4 et non trois mais je te rassure sa ne fait pas planter le serveur si la valeur est erronée
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 Karika

  • *
  • Criminel
  • Messages: 43
    • Voir le profil
Re : En quoi consiste "cmdtext[x]"?
« Réponse #2 le: 06 Juillet 2011, 15:39:31 »
Merci de ta réponse! Pourtant quand j'ai fais /ao sans rien marqué il a envoyé un message "Admin : " et ensuite le serveur s'est planté.
Je test ça dès que mon GTA est disponible, merci  :)
[Information sur le développement d'un futur serveur STUNT / DM]
[Administration terminée à 0%]
[Mapping terminé à 0%]
[Commandes diverses terminé à 0%]
[Serveur en général terminé à 0%]

[Bases du serveur remises à 0!]

Hors ligne Xolokos

  • PAWN/XHTML/CSS/PHP/SQL/JS
  • *
  • Grand Banditisme
  • What are you waiting for ?
  • Messages: 681
    • Voir le profil
Re : En quoi consiste "cmdtext[x]"?
« Réponse #3 le: 06 Juillet 2011, 15:44:13 »
Je pense que c'est mon FS X-Adminsitration pour ça tu peut le remplacé par :

Code: (pawn) [Sélectionner]
if (!strcmp(Cmd, "/dire", true))
{
    new Tmpp[256];
Tmpp = strtok(cmdtext, Idx);
    if (!strlen(Tmpp))
{
SendClientMessage(playerid, GRIS, "USAGE: /dire [Texte]");
return 1;
}
if (Levels[playerid] == 6)
        {
GetPlayerName(playerid, NomAdmin, sizeof(NomAdmin));
    format(Tmpp, sizeof(Tmpp), "[Fondateur] %s dit, %s",NomAdmin,cmdtext[5]);
SendClientMessageToAll(POURPRE, Tmpp);
Dire(Tmpp);
}
else if (Levels[playerid] == 5)
        {
GetPlayerName(playerid, NomAdmin, sizeof(NomAdmin));
    format(Tmpp, sizeof(Tmpp), "[Administrateur Suprême] %s dit, %s",NomAdmin,cmdtext[5]);
SendClientMessageToAll(POURPRE, Tmpp);
Dire(Tmpp);
}
else if (Levels[playerid] == 4)
        {
GetPlayerName(playerid, NomAdmin, sizeof(NomAdmin));
    format(Tmpp, sizeof(Tmpp), "[Administrateur] %s dit, %s",NomAdmin,cmdtext[5]);
SendClientMessageToAll(POURPRE, Tmpp);
Dire(Tmpp);
}
else if (Levels[playerid] == 3)
        {
GetPlayerName(playerid, NomAdmin, sizeof(NomAdmin));
    format(Tmpp, sizeof(Tmpp), "[Modérateur] %s dit, %s",NomAdmin,cmdtext[5]);
SendClientMessageToAll(POURPRE, Tmpp);
Dire(Tmpp);
}
else if (Levels[playerid] == 2)
        {
GetPlayerName(playerid, NomAdmin, sizeof(NomAdmin));
    format(Tmpp, sizeof(Tmpp), "[Animateur] %s dit, %s",NomAdmin,cmdtext[5]);
SendClientMessageToAll(POURPRE, Tmpp);
Dire(Tmpp);
}
else if (Levels[playerid] == 1)
        {
GetPlayerName(playerid, NomAdmin, sizeof(NomAdmin));
    format(Tmpp, sizeof(Tmpp), "[Membre de Confiance] %s dit, %s",NomAdmin,cmdtext[5]);
SendClientMessageToAll(POURPRE, Tmpp);
Dire(Tmpp);
}
else if (Levels[playerid] == 0)
        {
SendClientMessage(playerid,POURPRE, "Tu n'as pas les droits approprié pour utilisé cette commande.");
}
  return 1;
  }

Encore un truc que je modifierais dans la prochaine version.
Nippah !

Hors ligne Karika

  • *
  • Criminel
  • Messages: 43
    • Voir le profil
Re : Re : En quoi consiste "cmdtext[x]"?
« Réponse #4 le: 06 Juillet 2011, 15:51:09 »
Je pense que c'est mon FS X-Adminsitration pour ça tu peut le remplacé par :

Code: (pawn) [Sélectionner]
if (!strcmp(Cmd, "/dire", true))
{
    new Tmpp[256];
Tmpp = strtok(cmdtext, Idx);
    if (!strlen(Tmpp))
{
SendClientMessage(playerid, GRIS, "USAGE: /dire [Texte]");
return 1;
}
if (Levels[playerid] == 6)
        {
GetPlayerName(playerid, NomAdmin, sizeof(NomAdmin));
    format(Tmpp, sizeof(Tmpp), "[Fondateur] %s dit, %s",NomAdmin,cmdtext[5]);
SendClientMessageToAll(POURPRE, Tmpp);
Dire(Tmpp);
}
else if (Levels[playerid] == 5)
        {
GetPlayerName(playerid, NomAdmin, sizeof(NomAdmin));
    format(Tmpp, sizeof(Tmpp), "[Administrateur Suprême] %s dit, %s",NomAdmin,cmdtext[5]);
SendClientMessageToAll(POURPRE, Tmpp);
Dire(Tmpp);
}
else if (Levels[playerid] == 4)
        {
GetPlayerName(playerid, NomAdmin, sizeof(NomAdmin));
    format(Tmpp, sizeof(Tmpp), "[Administrateur] %s dit, %s",NomAdmin,cmdtext[5]);
SendClientMessageToAll(POURPRE, Tmpp);
Dire(Tmpp);
}
else if (Levels[playerid] == 3)
        {
GetPlayerName(playerid, NomAdmin, sizeof(NomAdmin));
    format(Tmpp, sizeof(Tmpp), "[Modérateur] %s dit, %s",NomAdmin,cmdtext[5]);
SendClientMessageToAll(POURPRE, Tmpp);
Dire(Tmpp);
}
else if (Levels[playerid] == 2)
        {
GetPlayerName(playerid, NomAdmin, sizeof(NomAdmin));
    format(Tmpp, sizeof(Tmpp), "[Animateur] %s dit, %s",NomAdmin,cmdtext[5]);
SendClientMessageToAll(POURPRE, Tmpp);
Dire(Tmpp);
}
else if (Levels[playerid] == 1)
        {
GetPlayerName(playerid, NomAdmin, sizeof(NomAdmin));
    format(Tmpp, sizeof(Tmpp), "[Membre de Confiance] %s dit, %s",NomAdmin,cmdtext[5]);
SendClientMessageToAll(POURPRE, Tmpp);
Dire(Tmpp);
}
else if (Levels[playerid] == 0)
        {
SendClientMessage(playerid,POURPRE, "Tu n'as pas les droits approprié pour utilisé cette commande.");
}
  return 1;
  }

Encore un truc que je modifierais dans la prochaine version.

Je suis en train de bien le modifier :D mais si on est en /ao je vais bien mettre cmd4 alors.

genre /ao va donner -> Admin %s : %s // premier %s pour pseudo de l'admin et deuxième %s pour le texte. Je met cmdtext[4]
[Information sur le développement d'un futur serveur STUNT / DM]
[Administration terminée à 0%]
[Mapping terminé à 0%]
[Commandes diverses terminé à 0%]
[Serveur en général terminé à 0%]

[Bases du serveur remises à 0!]

Hors ligne Xolokos

  • PAWN/XHTML/CSS/PHP/SQL/JS
  • *
  • Grand Banditisme
  • What are you waiting for ?
  • Messages: 681
    • Voir le profil
Re : En quoi consiste "cmdtext[x]"?
« Réponse #5 le: 06 Juillet 2011, 15:54:00 »
Tu compte le '/''a''o''ESPACE' Et la le texte s'affiche...
En bref / - 1 a - 2 o - 3  - 4 donc c'est bon c'est bête c'est le nombre de caractère que tu saute en bref en comptant le / et espace.
Nippah !

Hors ligne Karika

  • *
  • Criminel
  • Messages: 43
    • Voir le profil
Re : En quoi consiste "cmdtext[x]"?
« Réponse #6 le: 06 Juillet 2011, 15:57:11 »
Ok, merci je vais tester :p Et aussi Xolokos, je sais pas si c'es moi mais la commande /rapport a aussi fait planter le serveur  :laugh et j'ai pas encore penser à le faire, je vais le changer après :p

EDIT : J'ai fais "/ao test" il a bien affiché "[Fondateur] Aaron : Test" puis le serveur a crashé.

if (!strcmp(Cmd, "/ao", true))
{
if (Levels[playerid] == 6)
        {
new Tmpp[256];
Tmpp = strtok(cmdtext, Idx);
GetPlayerName(playerid, NomAdmin, sizeof(NomAdmin));
    format(Tmpp, sizeof(Tmpp), "[Fondateur] %s : %s",NomAdmin,cmdtext[4]);
SendClientMessageToAll(ROUGE, Tmpp);
Dire(Tmpp);
}
« Modifié: 06 Juillet 2011, 16:05:45 par Karika »
[Information sur le développement d'un futur serveur STUNT / DM]
[Administration terminée à 0%]
[Mapping terminé à 0%]
[Commandes diverses terminé à 0%]
[Serveur en général terminé à 0%]

[Bases du serveur remises à 0!]

Hors ligne Xolokos

  • PAWN/XHTML/CSS/PHP/SQL/JS
  • *
  • Grand Banditisme
  • What are you waiting for ?
  • Messages: 681
    • Voir le profil
Re : En quoi consiste "cmdtext[x]"?
« Réponse #7 le: 06 Juillet 2011, 16:07:49 »
Créer le dossier Administration dans Scriptefile et Comptes aussi ça enregistre les Rapport Dire Kick Ban etc si il est pas créer il crash je pense.
Nippah !

Hors ligne Karika

  • *
  • Criminel
  • Messages: 43
    • Voir le profil
Re : En quoi consiste "cmdtext[x]"?
« Réponse #8 le: 06 Juillet 2011, 16:10:03 »
Aaaaaaaaah! Le dossier...... moi j'avais deux fichiers texte "Comptes" et "Administration"  :laugh
[Information sur le développement d'un futur serveur STUNT / DM]
[Administration terminée à 0%]
[Mapping terminé à 0%]
[Commandes diverses terminé à 0%]
[Serveur en général terminé à 0%]

[Bases du serveur remises à 0!]

Hors ligne Xolokos

  • PAWN/XHTML/CSS/PHP/SQL/JS
  • *
  • Grand Banditisme
  • What are you waiting for ?
  • Messages: 681
    • Voir le profil
Re : En quoi consiste "cmdtext[x]"?
« Réponse #9 le: 06 Juillet 2011, 16:11:18 »
Il y a même une Define en haut si tu veut modifier le dossier ou tu enregistres Comptes et les Kick&Ban Dire etc...

Code: (pawn) [Sélectionner]
/*== LES LOGIN ==*/

#define ENREGISTREMENT "Comptes/%s.ini"// A modifier si vous voulez enregistrez les comptes autre par...
#define FICHIER "Administration"//Le répertoire d'enregistrement des Ban Kick et autre.

Lignes 95 et 96.
« Modifié: 06 Juillet 2011, 16:14:07 par Xolokos »
Nippah !

Hors ligne Karika

  • *
  • Criminel
  • Messages: 43
    • Voir le profil
Re : En quoi consiste "cmdtext[x]"?
« Réponse #10 le: 06 Juillet 2011, 16:27:38 »
J'ai pas trop compris comment le système de /rapport fonctionne...
Du moins, il y a un bug, quand je fais "/rapport help" sans être connecté en admin je reçois 2 fois [[RAPPORT]] Aaron : Help

Mais comme j'ai pas trop compris comment la commande fonctionnait j'ai pas trouvé d'où le doublon venait :s
[Information sur le développement d'un futur serveur STUNT / DM]
[Administration terminée à 0%]
[Mapping terminé à 0%]
[Commandes diverses terminé à 0%]
[Serveur en général terminé à 0%]

[Bases du serveur remises à 0!]

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : En quoi consiste "cmdtext[x]"?
« Réponse #11 le: 06 Juillet 2011, 16:34:25 »
cela fonctionne comme commande mais un peu bete en meme temps a quoi sert le cmdtext

if (!strcmp(Cmd, "/ao", true))
{
if (Levels[playerid] == 6)
        {

GetPlayerName(playerid, NomAdmin, sizeof(NomAdmin));
   format(Tmpp, sizeof(Tmpp), "[Fondateur] %s : %s",NomAdmin,cmdtext[4]);
SendClientMessageToAll(ROUGE, Tmpp);
Dire(Tmpp);
}
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 Karika

  • *
  • Criminel
  • Messages: 43
    • Voir le profil
Re : En quoi consiste "cmdtext[x]"?
« Réponse #12 le: 06 Juillet 2011, 17:01:23 »
if (!strcmp(Cmd, "/rapport", true))
{
        new Tmp[256];
        Tmp = strtok(cmdtext, Idx);
if (!strlen(Tmp))
{
SendClientMessage(playerid, BLANC, "[Usage] /rapport [Texte]");
return 1;
}
new Str[256];
GetPlayerName(playerid, Str, sizeof(Str));
format(Str, sizeof(Str), "[[REPORT %s]]-[%s]", Str, cmdtext[8]);
        SendClientMessage(playerid, ZAZOLIN, Str);
        Rapport(Str);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && Levels[i] != 0)
{

SendClientMessage(i, ZAZOLIN, Str);

    }
    }
  return 1;

Comme je l'ai dit plus tôt, je n'ai pas trop compris cette commande et je ne vois pas d'où viens le problème que la personne et les admins voient le rapport doublés et pareil.. enfin pareil c'est normal j'ai pas encore fais la réponse.
[Information sur le développement d'un futur serveur STUNT / DM]
[Administration terminée à 0%]
[Mapping terminé à 0%]
[Commandes diverses terminé à 0%]
[Serveur en général terminé à 0%]

[Bases du serveur remises à 0!]

Hors ligne Xolokos

  • PAWN/XHTML/CSS/PHP/SQL/JS
  • *
  • Grand Banditisme
  • What are you waiting for ?
  • Messages: 681
    • Voir le profil
Re : Re : En quoi consiste "cmdtext[x]"?
« Réponse #13 le: 06 Juillet 2011, 18:32:35 »
if (!strcmp(Cmd, "/rapport", true))
{
        new Tmp[256];
        Tmp = strtok(cmdtext, Idx);
if (!strlen(Tmp))
{
SendClientMessage(playerid, BLANC, "[Usage] /rapport [Texte]");
return 1;
}
new Str[256];
GetPlayerName(playerid, Str, sizeof(Str));
format(Str, sizeof(Str), "[[REPORT %s]]-[%s]", Str, cmdtext[8]);
        SendClientMessage(playerid, ZAZOLIN, Str);
        Rapport(Str);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && Levels[i] != 0)
{

SendClientMessage(i, ZAZOLIN, Str);

    }
    }
  return 1;

Comme je l'ai dit plus tôt, je n'ai pas trop compris cette commande et je ne vois pas d'où viens le problème que la personne et les admins voient le rapport doublés et pareil.. enfin pareil c'est normal j'ai pas encore fais la réponse.

Si c'est toi qui fait la commande tu vas le voir fois si tu est Administrateur et que tu fait la commande ça lui renvoie son rapport et l'envoie au Administrateur comme ça il vois ce qu'il a écrit.
Nippah !

Hors ligne Karika

  • *
  • Criminel
  • Messages: 43
    • Voir le profil
Re : En quoi consiste "cmdtext[x]"?
« Réponse #14 le: 06 Juillet 2011, 18:38:28 »
Pourtant, je me suis co sans faire /service + /fondateur et j'ai aussi eu 2 fois [A moins qu'il m'envoit car dès que je me co je suis en admin]
[Information sur le développement d'un futur serveur STUNT / DM]
[Administration terminée à 0%]
[Mapping terminé à 0%]
[Commandes diverses terminé à 0%]
[Serveur en général terminé à 0%]

[Bases du serveur remises à 0!]