Code:
#include <string>
#include <admin>
#include <adminlib>
new STRING_VERSION[MAX_TEXT_LENGTH]="0.8";
#define MAX_CLASSES 10
new g_Classes[MAX_CLASSES][MAX_NAME_LENGTH]={
"scout",
"sniper",
"soldier",
"demoman",
"medic",
"hwguy",
"pyro",
"spy",
"engineer",
"random"
};
public plugin_init() {
plugin_registerinfo("TFC Class Restriction","Restricts classes in TFC",STRING_VERSION);
plugin_registercmd("admin_tfc_restrict","restrict_class",ACCESS_CONFIG,"admin_tfc_restrict <class> <-1=restrict/0=unlimeted/number of players>: name of class, which shall be restricted/limited");
return PLUGIN_CONTINUE;
}
public restrict_class(HLCommand,HLData,HLUserName,UserIndex) {
new Data[MAX_DATA_LENGTH];
new Class[MAX_NAME_LENGTH];
new Number[MAX_NUMBER_LENGTH];
new iNumber;
new i;
convert_string(HLData,Data,MAX_DATA_LENGTH);
strbreak(Data,Class,Number,MAX_DATA_LENGTH);
if(strlen(Number)!=0){
iNumber=strtonum(Number);
for(i=0;i<=MAX_CLASSES;i++){
if (strcasecmp(Class,g_Classes[i])==0){
snprintf(Data,MAX_DATA_LENGTH,"cr_%s %i",g_Classes[i],iNumber);
exec(Data);
break;
}
}
}else{
selfmessage("[CLASS-RESTRICT] You have to use <classname> <-1=restrict or 0=unlimeted or number of players>");
}
selfmessage("---------------------------------");
selfmessage("* Restricted classes on this map:");
selfmessage("* (-1=restricted / 0=unlimeted / >0=no. of players)");
for(i=0;i<MAX_CLASSES;i++){
snprintf(Class,MAX_NAME_LENGTH,"cr_%s",g_Classes[i]);
snprintf(Data,MAX_DATA_LENGTH,"* %s : %i",g_Classes[i],getvar(Class));
selfmessage(Data);
strinit(Data);
}
selfmessage("---------------------------------");
return PLUGIN_HANDLED;
}
Naja...ein Plugin ist dann wohl eher überflüssig...aber was solls. Man sollte nun aber daran denken, die Klassen mit cr_ in der server.cfg anzulegen, in der autoexec.cfg mapchangecfgfile "server.cfg" setzen und den Server neu starten. Sonst behält er eventuelle Restriktionen immer bei. Egal welche Map.
plugin_base muss aktiviert sein:
Um dann einfach mapspezifische Restriktionen anzulegen, erstellt man einfach eine mapname.cfg und kopiert diese in das TFC Verzeichnis auf dem Server.
Und da schreibt man eben z.B. rein:
cr_scout -1
_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die
Such-Funktion