tztz nichtmal richtig einkopieren konnt ich das, scheiss montag
.
so nach dem 2. anlauf funzt es jetzt @ sdal
.
in der userban.cfg steht jetzt
banid 0.0 wonid // rest
.
so und aufnahmeleiter sein fehler hab ich auch gerade gefunden *gg*.
hat ne config.cfg mit inhalt
exec banned.cfg
exec userban.cfg
und hat die net in der server.cfg geexect *gg*
so für den rest, wer das plugin auch will, hier der code
Code:
#include <core>
#include <console>
#include <string>
#include <admin>
#include <adminlib>
new STRING_VERSION[MAX_DATA_LENGTH] = "14.07.02";
new Adminname[MAX_DATA_LENGTH];
public admin_userban(HLCommand,HLData,HLUserName,UserIndex) {
new Command[MAX_COMMAND_LENGTH];
new Data[MAX_DATA_LENGTH];
new User[MAX_DATA_LENGTH];
new Message[MAX_TEXT_LENGTH];
new Player[MAX_NAME_LENGTH];
new TargetName[MAX_NAME_LENGTH];
new Text[MAX_TEXT_LENGTH];
new ST[MAX_DATA_LENGTH];
new BanTime[MAX_NUMBER_LENGTH];
new Banid[MAX_TEXT_LENGTH];
new adminwonid;
new playerwonid;
new bantime=0;
convert_string(HLCommand,Command,MAX_COMMAND_LENGTH);
convert_string(HLData,Data,MAX_DATA_LENGTH);
convert_string(HLUserName,User,MAX_DATA_LENGTH);
/*--- Die Dateneingabe des Admins in seine Einzelteile zerlegen. ---*/
/*--- Einzelteile werden durch das Leerzeichen erkannt. ---*/
/*--- Reihenfolge muss lauten: Eindeutiger Teil des Playernamens, ---*/
/*--- Dauer des Bans und Grund des Bans.(Grund ist nicht zwingend notwendig). ---*/
strbreak(Data,Player,Message,MAX_TEXT_LENGTH);
strbreak(Message,BanTime,Message,MAX_TEXT_LENGTH);
/*--- Spielernamen überprüfen, Admin-Check ---*/
if (check_user(Player)==1) {
get_username(Player,TargetName,MAX_NAME_LENGTH);
if(check_immunity(Player)==1) {
snprintf(Text, MAX_TEXT_LENGTH, "Laf. You can't ban '%s', you silly bear.", TargetName);
selfmessage(Text);
return PLUGIN_HANDLED;
}
/*--- Daten für das Textfile herausfinden und reinschreiben ---*/
get_userWONID(Player,playerwonid);
get_userWONID(User,adminwonid);
look(adminwonid,User); /*korrekten Admin-Namen raussuchen*/
servertime(ST, MAX_DATA_LENGTH, "%d.%m.%y %H:%M:%S");
/*--- Dauer des Bans checken ---*/
bantime=strtonum(BanTime);
if(bantime==0){
snprintf(Banid,MAX_TEXT_LENGTH,"banid 0.0 %i //",playerwonid);
}else{
snprintf(Banid,MAX_TEXT_LENGTH,"//");
}
/*--- ALT+Numpad 169 ergibt ®. Feines Trennungszeichen ---*/
snprintf(Text,MAX_TEXT_LENGTH,"%s %s ® %i ® %s ® %s ® %i ® %s ® %i",Banid,TargetName,playerwonid,ST,Adminname,adminwonid,Message,bantime);
writefile("userban.cfg",Text,-1);
/*--- Message für den Admin, der den Ban auspricht ---*/
selfmessage("");
selfmessage("Player banned:");
selfmessage(Text);
selfmessage("");
/*--- Player bannen ---*/
ban(Player,bantime,bBanByID);
}else{
selfmessage("");
selfmessage("Spieler wurde nicht eindeutig identifiziert.");
selfmessage("");
}
return PLUGIN_HANDLED;
}
public look(a,User[]) {
new j;
new WONID;
new iLine;
new x=0;
if (fileexists("admins.cfg") == 1)
{
iLine=filesize("admins.cfg",1);
new strMessage[MAX_DATA_LENGTH];
for(j=1; j <= iLine; j++) {
if (readfile("admins.cfg", strMessage, j, MAX_DATA_LENGTH) != 0) {
new strWONID[MAX_DATA_LENGTH];
strbreak(strMessage, strWONID, strMessage, MAX_DATA_LENGTH);
WONID = strtonum(strWONID);
if (WONID == a){
strcpy(Adminname,strMessage,MAX_DATA_LENGTH);
x=1;
break;
}
}
}
if(x==0){
strcpy(Adminname,User,MAX_DATA_LENGTH);
}
} else {
selfmessage("Fehler:");
selfmessage("Kann admins.cfg nicht finden");
selfmessage("");
}
return PLUGIN_HANDLED;
}
public plugin_init() {
plugin_registerinfo("BAN-Plugin","Bans Player and stores Data in userban.cfg",STRING_VERSION);
plugin_registercmd("admin_userban","admin_userban",ACCESS_BAN,"admin_userban <playername> <bantime> <reason>");
return PLUGIN_CONTINUE;
}
--- bertl ---