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
-
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..
-
Salut, Essaye sa :
change if (strcmp(cmdtext, "/invite", true) == 0)
{
par
if(!strcmp(cmd, "/invite", true))
{
Verifi au debut de ton OnPlayerCommandText que ta :
new cmd[256];
new idx;
cmd = strtok(cmdtext, idx);
new tmp[256];
PS: supprime ton
new tmp[2000]
Voila de devrai marché
-
Merci de ton aide, je teste tout de suite
-
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;
}
-
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
-
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
-
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 ^^
-
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 ...
-
Dans tes paramètres du doit faire partie de la faction 1 à 4 et être rang 6
-
Je fait bien partie de la faction 1 et je suis rang 6 :x
-
Ta variable index doit renvoyer '0' ;
new index=0;
-
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.