GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Xoss le 28 Décembre 2009, 20:50:20
-
Bonjour
J'aurais un peu besoin d'aide pour une commande
GM : LARP moodifier a 50%
Problème : Quand on ban une personne ou que quelqu'un se fait bannir, je suis obliger d'effacer son nom dans samp.ban et reupload puis redemarrez le serveur
Voici la commande /ban
if(strcmp(cmd, "/ban", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /ban [playerid/PartOfName] [reason]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /ban [playerid/PartOfName] [reason]");
return 1;
}
new year, month,day;
getdate(year, month, day);
format(string, sizeof(string), "[MIAMI] %s a Bannie %s, reason: %s (%d-%d-%d)", giveplayer, sendername, (result),month,day,year);
BanLog(string);
format(string, sizeof(string), "[MIAMI]%s a été bannie par %s, raison: %s", giveplayer, sendername, (result));
SendClientMessageToAll(COLOR_LIGHTRED, string);
PlayerInfo[giveplayerid][pLocked] = 1;
Ban(giveplayerid);
return 1;
}
}//not connected
}
else
{
format(string, sizeof(string), " %d Est un joueurs inactif.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}
COmment modifier cette commande pour que deja ça fasse a peu pres ça /ban [raison]
Et une commande /deban [nom] qui permet de deban la personnne
Merci beaucoup de votre aide
-
pour debannir ig tu doit faire /rcon unbanip ensuite /rcon reloadbans
-
Modifie la a ta sauce
if (strcmp(cmd, "/unban", true)==0)
{
if((IsPlayerAdmin(playerid)) || PlayerInfo[playerid][pAdmin] >=3)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /unban [Prenom_Nom]");
return 1;
}
format(string,sizeof(string),"%s.ini",tmp);
fremove(string);
SendRconCommand(string);
SendRconCommand("reloadbans");
}
return 1;
}
Double post
GM : LARP moodifier a 50%
Elle se trouve dans tout les LARP
Deso pour le double post
-
je voit tres mal la commande rcon debannir un fichier :s
-
pour debannir ig tu doit faire /rcon unbanip ensuite /rcon reloadbans
Ce qui est embêtant avec cette commande c'est qu'il faut savoir l'ip du banni
Pour la commande /unban moi elle etait un peu bizard je vais tester ça et vous tient au courant merci !
-
la commande et meme illogique
if (strcmp(cmd, "/unban", true)==0)
{
if((IsPlayerAdmin(playerid)) || PlayerInfo[playerid][pAdmin] >=3)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /unban [Prenom_Nom]");
return 1;
}
format(string,sizeof(string),"%s.ini",tmp);
fremove(string);//je suprimme popol.ini
SendRconCommand(string);//la je dit au serveur de fair cette commande /rcon popol.ini
SendRconCommand("reloadbans");//la je dit au serveur de recharger la liste samp.ban
}
return 1;
}
je pense qu'il faut reflechire un tout petit peu
-
Pourquoi ne pas tout simplement ouvrir le samp.ban et supprimer le banni du fichier ? Puis, modifier son level, donc lui remettre son petit level 1 ^^, comme quand on est banni notre level se met automatiquement à -999 :)
-
Problème : Quand on ban une personne ou que quelqu'un se fait bannir, je suis obliger d'effacer son nom dans samp.ban et reupload puis redemarrez le serveur
Voici la commande /ban
Voila pourquoi
-
Oui mais doit bien avoir une commande pour faire ça
Car la commande donner en haut ne fonctionne pas
-
Ce qu'il faut faire, je pense, c'est rechercher le nom du joueur dans le fichier samp.ban puis supprimer la ligne.
-
Si tu lis la phrase que je dit je demande si Il y a une possibilité de faire une commande pour carrément unban IG
Ce que tu me dit je le sais déjà et ça répond pas a la questions
Oui il ya une possibilité il faut faire comme ça :
Non dsl ce n'est pas possible
-
Mais on ne vas pas tout de donner sa servirais a rien :-[
-
Bon en gros tu va devoir coder une fonction qui va chercher une chaîne de caractère dans un fichier.
Pour sa tu as les fonction contenue dans file.inc
comme :
- fopen
- fseek
- fgetchar etc...
-
Impossible, SAMP.BAN est a la racine du serveur hors les fonction Fopen etc... ne lisent uniquement que les fichier qui sont dans scriptfile ;)
-
ou alors cree ton systeme de ban :)
-
Oé je pense c'est ce que je vais essayer de faire ^^
Merci
-
Impossible, SAMP.BAN est a la racine du serveur hors les fonction Fopen etc... ne lisent uniquement que les fichier qui sont dans scriptfile ;)
Ah ok je pensait que il y avait moyen de faire ../ pour allez dans le dossier parent.