GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: dydjyz le 21 Août 2010, 16:48:55

Titre: probleme commande /invite
Posté par: dydjyz le 21 Août 2010, 16:48:55
Bonjour,

Bon voilà j'ai fait une commande /invite pour mon GM mais elle marche pas/mal,
quand je fait seulement /invite sa me dit "joueur déconnecter" et quand je fait /invite, + l'id d'un joueur sa me dit rien du tout ...


if (strcmp(cmdtext, "/invite", true) == 0)
{
new tmp[2000], id;
tmp = strtok(cmdtext, index);
if (strlen(tmp))
{
id = strval(tmp);
if (IsPlayerConnected(id))
{
if (stats[playerid][Faction] == 1 && stats[playerid][Rank] >= 6)
{
stats[id][Faction] = 1;
stats[id][Rank] = 1;
    SetPlayerSkin(id,280);
    stats[id][skinid] = 280;
}
else if (stats[playerid][Faction] == 2 && stats[playerid][Rank] >= 6)
{
stats[id][Faction] = 2;
stats[id][Rank] = 1;
    SetPlayerSkin(id,279);
    stats[id][skinid] = 279;
}
else if (stats[playerid][Faction] == 3 && stats[playerid][Rank] >= 6)
{
stats[id][Faction] = 3;
stats[id][Rank] = 1;
    SetPlayerSkin(id,274);
    stats[id][skinid] = 274;
}
else if (stats[playerid][Faction] == 4 && stats[playerid][Rank] >= 6)
{
stats[id][Faction] = 4;
stats[id][Rank] = 1;
    SetPlayerSkin(id,286);
    stats[id][skinid] = 286;
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Joueur déconnecter");
}
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Usage: "/invite <playerid>"");
}
return 1;
}

Merci.

Double post
UP svp...
j'ai aussi un autre probleme:

dini_Int((st), "banksfpd");

dans le fichier, il y a: banksfpd=15

je voudrait rajouter 50 a cette valeur, j'ai deja essayer plein de choses mais sans succès, help..
Titre: Re : probleme commande /invite
Posté par: Brian Turner le 22 Août 2010, 11:22:48
Salut, Essaye sa :

change    
Code: (pawn) [Sélectionner]
if (strcmp(cmdtext, "/invite", true) == 0)
{
par
Code: (pawn) [Sélectionner]
if(!strcmp(cmd, "/invite", true))
{

Verifi au debut de ton OnPlayerCommandText que ta :

Code: (pawn) [Sélectionner]
new cmd[256];
    new idx;
    cmd = strtok(cmdtext, idx);
   new tmp[256];

PS: supprime ton
Code: (pawn) [Sélectionner]
new tmp[2000]Voila de devrai marché
Titre: Re : probleme commande /invite
Posté par: dydjyz le 22 Août 2010, 14:46:06
Merci de ton aide, je teste tout de suite
Titre: Re : probleme commande /invite
Posté par: Ssk le 22 Août 2010, 15:02:49
Brian Turner



if( strcmp( CHAINE1, CHAINE2 ) == 0 )
revient au même d'écrire

if( !strcmp( CHAINE1, CHAINE2 ))

Sinon, dydjyz quand tu fait /invite + id et que ça dit rien, c'est que ça fonctionne normalement ^^



voila la commande un peu améliorée

if (strcmp(cmdtext, "/invite", true) == 0)
{
new tmp[128] = "", id = 0; // Il faut toujours initialisé les variables pour ne pas avoir de mauvaise surprise ^^
tmp = strtok(cmdtext, index);
if (strlen(tmp))
{
id = strval(tmp);
if (IsPlayerConnected(id))
{
if (stats[playerid][Faction] == 1 && stats[playerid][Rank] >= 6)
{
stats[id][Faction] = 1;
stats[id][Rank] = 1;
    SetPlayerSkin(id,280);
    stats[id][skinid] = 280;
}
else if (stats[playerid][Faction] == 2 && stats[playerid][Rank] >= 6)
{
stats[id][Faction] = 2;
stats[id][Rank] = 1;
    SetPlayerSkin(id,279);
    stats[id][skinid] = 279;
}
else if (stats[playerid][Faction] == 3 && stats[playerid][Rank] >= 6)
{
stats[id][Faction] = 3;
stats[id][Rank] = 1;
    SetPlayerSkin(id,274);
    stats[id][skinid] = 274;
}
else if (stats[playerid][Faction] == 4 && stats[playerid][Rank] >= 6)
{
stats[id][Faction] = 4;
stats[id][Rank] = 1;
    SetPlayerSkin(id,286);
    stats[id][skinid] = 286;
}

new playername[MAX_PLAYER_NAME] = "";
GetPlayerName( playerid, playername, sizeof( playername ));
format( tmp, sizeof( tmp ), "Vous avez invité %s dans votre faction.", playername );
SendClientMessage( playerid, 0xFFFFFFFF, tmp );
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Joueur déconnecter");
}
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/invite <playerid>\"");
}
return 1;
}
Titre: Re : probleme commande /invite
Posté par: dydjyz le 22 Août 2010, 15:17:17
Sa marche toujours pas .. sasuke quand je fait /invite sa m'invite dans la faction, quand je fait /invite 0, l'id d'un ami connecter sa fait rien, aucune reponse...

merci de votre aide
Titre: Re : probleme commande /invite
Posté par: Eloctro le 22 Août 2010, 15:19:40
if (strcmp(cmd, "/invite", true) == 0)
{
new tmp[128] = "", id = 0; // Il faut toujours initialisé les variables pour ne pas avoir de mauvaise surprise ^^
tmp = strtok(cmdtext, index);
if (strlen(tmp))
{
id = strval(tmp);
if (IsPlayerConnected(id))
{
if (stats[playerid][Faction] == 1 && stats[playerid][Rank] >= 6)
{
stats[id][Faction] = 1;
stats[id][Rank] = 1;
    SetPlayerSkin(id,280);
    stats[id][skinid] = 280;
}
else if (stats[playerid][Faction] == 2 && stats[playerid][Rank] >= 6)
{
stats[id][Faction] = 2;
stats[id][Rank] = 1;
    SetPlayerSkin(id,279);
    stats[id][skinid] = 279;
}
else if (stats[playerid][Faction] == 3 && stats[playerid][Rank] >= 6)
{
stats[id][Faction] = 3;
stats[id][Rank] = 1;
    SetPlayerSkin(id,274);
    stats[id][skinid] = 274;
}
else if (stats[playerid][Faction] == 4 && stats[playerid][Rank] >= 6)
{
stats[id][Faction] = 4;
stats[id][Rank] = 1;
    SetPlayerSkin(id,286);
    stats[id][skinid] = 286;
}

new playername[MAX_PLAYER_NAME] = "";
GetPlayerName( playerid, playername, sizeof( playername ));
format( tmp, sizeof( tmp ), "Vous avez invité %s dans votre faction.", playername );
SendClientMessage( playerid, 0xFFFFFFFF, tmp );
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Joueur déconnecter");
}
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/invite <playerid>\"");
}
return 1;
}
Essaye ça
Titre: Re : probleme commande /invite
Posté par: Ssk le 22 Août 2010, 15:20:45
Aaah j'avais pas vu -_-"



dans ton strcmp fait comme à dit Brian Turner remplace le cmdtext par un cmd


@Brian Turner: Désolé j'avais pas vu la différence.

EDIT: Coco plus rapide que moi ^^
Titre: Re : probleme commande /invite
Posté par: dydjyz le 22 Août 2010, 15:28:04
Maintenant meme en faisant /invite ou /invite 1(l'id de mon ami) sa me dit
"vous avez ajouter Dylan_dean(moi) dans la faction" ou une phrase du jors..

C'est un vrai casse tete lol.

Double post
C'est bon maintenant sa dit "vous invitez fabien_bean(mon ami) dans la faction" mais sa l'invite pas ...
Titre: Re : probleme commande /invite
Posté par: Eloctro le 22 Août 2010, 17:12:07
Dans tes paramètres du doit faire partie de la faction 1 à 4 et être rang 6
Titre: Re : probleme commande /invite
Posté par: dydjyz le 22 Août 2010, 18:47:44
Je fait bien partie de la faction 1 et je suis rang 6 :x
Titre: Re : probleme commande /invite
Posté par: Eloctro le 22 Août 2010, 20:50:34
Ta variable index doit renvoyer '0' ;
new index=0;
Titre: Re : probleme commande /invite
Posté par: dydjyz le 22 Août 2010, 20:55:20
Je peut pas tester maintenant parce que j'ai personne pour tester avec moi en ce moment, on verra donc demain.

merci de ton aide.