Bah s'il n'y en a qu'une c'est simple....
// ZCMD, Commande KICK tirée de mon GM //
CMD:kick(playerid, params[])
{
new id, raison[MAX_TEXT], str[MAX_TEXT], str2[MAX_TEXT];
if(sscanf(params, "is", id, raison)) SendClientMessage(playerid, COLOR_RED, "Usage: /kick <id> <raison>");
else
{
format(str2, MAX_TEXT, "~w~Vous avez ete kick du serveur ! (~r~Raison: %s~w~)", raison);
GameTextForPlayer(id, str2, 3000, 4);
format(str, MAX_TEXT, "* ID %i a été kické du serveur. (Raison: %s)", id, raison);
SendClientMessageToAll(COLOR_RED, str);
printf(str);
SetTimerEx("kick1", 1000, false, "d", id);
}
return 1;
}
public kick1(id)
{
Kick(id);
return 1;
}
/////////////////////En STRCMP, ça devient....
if(!strcmp(cmdtext, "kick", true) == 0)
{
new id, raison[MAX_TEXT], str[MAX_TEXT], str2[MAX_TEXT];
if(sscanf(cmdtext, "is", id, raison)) SendClientMessage(playerid, COLOR_RED, "Usage: /kick <id> <raison>");
else
{
format(str2, MAX_TEXT, "~w~Vous avez ete kick du serveur ! (~r~Raison: %s~w~)", raison);
GameTextForPlayer(id, str2, 3000, 4);
format(str, MAX_TEXT, "* ID %i a été kické du serveur. (Raison: %s)", id, raison);
SendClientMessageToAll(COLOR_RED, str);
printf(str);
SetTimerEx("kick1", 1000, false, "d", id);
}
return 1;
}
public kick1(id)
{
Kick(id);
return 1;
}
J'ai juste changé:
CMD:kick(playerid, params[])
/* par */
if(!strcmp(cmdtext, "kick", true) == 0)
/* et */
if(sscanf(params, "is", id, raison))
/* par */
if(sscanf(cmdtext, "is", id, raison))
Et pour ceux qui se posent la question "Pourquoi il utilise un timer pour kick la personne"? Car quand on kick une personne, la personne kické ne voit pas la raison. Alors que là, je lance le timer de 1 seconde et bim, kick.