GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Bayshore le 31 Mai 2008, 21:21:04
-
Bonsoir,
j'aimerais savoir comment faire pour kicker un joueur lorsqu'il fait tant de fois /rcon login
J'ai essayé ceci:
public OnRconCommand(cmd[])
{
if(cmd == "login")
{
BadRcon[playerid]++;
if(BadRcon[playerid] >= MaxRconPass) autokick(playerid,"Bad rcon pass");
}
return true;
}Mais ça ne marche pas, pour la simple et bonne raison que playerid n'est pas défini...
Si quelqu'un pouvait m'aider. :)
-
automatique normalement au bous d'un certain temp
-
Nop :happy
Et puis même si ça l'était, le nombre avant le kick serait trop élevé à mon goût. :D
-
Tu met un
new playerid
et tu défini BadRcon
if(BadRcon[playerid] == 2)
{
Kick(playerid);
return 1;
}
En gros c'est ça
-
Salut.
Ça ne peut pas marcher vu que playerid est vide. :(
++
Alexandre
-
salut,
Et en mettant ca: public OnRconCommand(cmd[](playerid)) ou un truc comme ca, ca marche pas ??
++
nikko
-
Si je fait ça, ça me mettrait que le nombre d'arguments ne correspond pas. :)
++
Alexandre
-
Au moins tu peu définir ton playerid
++
nikko
-
Bah non il ne sera pas défini, vu que OnRconCommand ne tient pas compte du joueur qui la tape (vu qu'elle est comptabile console + script). :D
Les warnings ne sont pas là pour rien. :happy
++
Alexandre
-
Alors met ca:
Dans ta commande tu met
new Playerid;
et pour kicker
Kick(Playerid);
++
nikko
-
C'est ce que m'avait dit de faire mAn...
-
Dsl et ca marche pas ?
++
nikko
-
Que dirait-tu de regarder quelques posts plus haut ?
-
Ce n'est pas possible, la callback OnRconCommand ne marche pas.
Pour vous en convaincre vous pouvez essayer ça :
public OnRconCommand(cmd[])
{
printf ("Commande : %s", cmd);
}Lorsque l'on saisie une commande RCON (players, gravity, login, ...), aucune trace n'est faîte dans la console ou dans le fichier log.
++
Syg