• 05 Juin 2026, 14:10:01


Auteur Sujet: Commande Admin !  (Lu 2696 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Commande Admin !
« le: 21 Octobre 2007, 20:50:48 »
Salut !

Je viens vers vous car j'ai un petit probleme avec une commande Admin Rcon que je n'arrive pas a faire fonctionner !

if(strcmp(cmdtext, "/ann", true) == 0) {

if(!IsPlayerAdmin(playerid))  return SendClientMessage(playerid, 0xDEEE20FF, "Vous n'êtes pas admin.");

new announce[256];

format(announce, sizeof(announce), "%s",cmdtext[4]) ;

GameTextForAll(announce,4000,5);

return 1 ;

}

Je ne trouve pas ou est l'erreur ou le probleme !

J'ai retourner le code dans tout les sens mais non je ne vois pas ! :(

Pourrais-je avoir de l'aide ?

Merci beaucoup !

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 : Commande Admin !
« Réponse #1 le: 21 Octobre 2007, 22:23:19 »
Ton erreur vient du fait que tu utilises cmdtext en entier pour faire le strcmp.
Or cmdtext n'est jamais égal à "/ann" puisque normallement tu vas completer le "/ann" par le message que tu veux afficher.
Du genre : "/ann JE SUIS ADMIN".

Donc la solution réside dans le fait de ne tester que les 4 premiers caractères de la chaîne cmdtext.
Ceci est très simple :
if(strcmp(cmdtext, "/ann", true, 4) == 0)
Voilà qui resoudra ton problème.

Maintenant, ce n'est pas la peine d'afficher le 5ème caractère de la chaîne (cmdtext[4]) puisque c'est forcément un espace.
Donc n'affiche qu'à partir du 6ème (cmdtext[5]) :
format (announce, sizeof (announce), "%s", cmdtext[5]);
Mais ceci n'est pas très grave.

Par contre, beaucoup plus grave, il faut absolument tester le fait que la chaîne que tu vas afficher ne soit pas vide sinon ton serveur va se planter.
Ce sera le cas si un admin entre "/ann" sans rien derrière ou même "/ann " (avec un espace à la fin).
Le test est simple :
if (strlen (cmdtext[5]) != 0)
{
   format ..
   GameTextForAll ...
}


++
Syg

Courtesy of GtaManiac

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : Commande Admin !
« Réponse #2 le: 21 Octobre 2007, 22:32:37 »
Bah oui, J'allais le dire ! :P. Ça explique pourquoi ça marchais chez moi et pas chez toi AK  :)

˙·٠•● 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 : Commande Admin !
« Réponse #3 le: 21 Octobre 2007, 22:34:48 »
Je n'arrive pas a placer le

if (strlen (cmdtext[5]) != 0)
{
   format ..
   GameTextForAll ...
}


:(

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 : Commande Admin !
« Réponse #4 le: 21 Octobre 2007, 22:43:25 »
Bon alors je te le donne en entier, je sais que ça ne te fera pas plaisir mais bon  :) :
Code: (cpp) [Sélectionner]
if(strcmp(cmdtext, "/ann", true, 4) == 0) {

if(!IsPlayerAdmin(playerid))  return SendClientMessage(playerid, 0xDEEE20FF, "Vous n'êtes pas admin.");

new announce[256];

if (strlen (cmdtext[5]) != 0)
{
format(announce, sizeof(announce), "%s",cmdtext[5]) ;

GameTextForAll(announce,4000,5);
}

return 1 ;

}
++
Syg
Courtesy of GtaManiac

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : Commande Admin !
« Réponse #5 le: 22 Octobre 2007, 18:39:45 »
Merci encore une fois SYG tu me sauve la "Vie" ;)

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 : Commande Admin !
« Réponse #6 le: 22 Octobre 2007, 19:06:06 »
Ouais ca m'est déjà arriver d'être autour de 24 Karatéka que j'ai pas payer, Jusqu'a ce que je voille Syg arriver avec un GivePlayerWeapon(playerid,36); à la main  :)

Mais bon je commence à être en HS lol

˙·٠•● 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 : Commande Admin !
« Réponse #7 le: 22 Octobre 2007, 22:14:06 »
Ouais ca m'est déjà arriver d'être autour de 24 Karatéka que j'ai pas payer, Jusqu'a ce que je voille Syg arriver avec un GivePlayerWeapon(playerid,36); à la main 

 :lmfao :lmfao Je la trouve super drôle celle là, mais si tu me voyais, tu ferais pas le fier au milieu de tes karatékas  :P !!!

++
Syg
Courtesy of GtaManiac

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : Commande Admin !
« Réponse #8 le: 22 Octobre 2007, 23:53:25 »
Je vois ca... xD

˙·٠•● 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 ●•٠·˙