Ein neues Thema erstellen  Auf das Thema antworten  [ 50 Beiträge ]  Gehe zu Seite Vorherige 1 2 3 Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: 12.05.2002, 12:12 

Registriert: 06.03.2002, 11:50
Beiträge: 1
Also ich hab auch sowas wie den War Creator gemacht. Ist aber schon ein bisschen länger her. Bei mir muss allerdings die cfg-Datei mit den Regeln schon bestehen. Das Command geht dann so: admin_espl <tag der gegner> <map 1> <map2>. Die maps werden in einen neuen Mapcycle (cwcycle.txt) geschrieben, so das zweimal die erste und zweimal die zweite map gespielt werden. Mit admin_end wird der Mapcycle und die cfg-Datei wieder auf die alten gesetzt. Dann hab ich noch admin_go das mach drei restarts und einige csay message (good luch & have fun, go go go) nichts aufregendes.

P.S.: Will nur mal wissen was ihr davon haltet.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 12.05.2002, 13:56 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
GENIAL !!!

Das ich da nicht selber drauf gekommen bin! *LOL*.

Das wird auf jedenfall in die Version 2.0 kommen!!!

Sehr gut. Wenn es für Dich kein Problem darstellt, kannst Du mir Dein Plugin mal schicken?

Gruß,
SDal

P.S.: Ja die Regeln.cfgs sind im Download enthalten.

_________________
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


Nach oben
   
 Betreff des Beitrags: halb halb?
BeitragVerfasst: 12.05.2002, 14:43 

Registriert: 28.02.2002, 20:36
Beiträge: 36
Wohnort: Ingolstadt
Wie wärs wenn ihr die "wichtigen" Zeilen löscht und nur den nicht gefährlichen Teil zugänglich macht? :-? :wink:

_________________
cy@ @vus

Life suxx, aber die Grafik ist geil 8)


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 12.05.2002, 15:10 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
ok. das ist eine Idee. Dann machen wir eine Version, wo nur das passwort gesetzt wird und dies nicht zusätzlich in der vault.ini gespeichert wird. Das kann man dann getrost veröffentlichen :-)

Also so, wie es im plugin_war enthalten ist. Ich berede es mal mit Blacky.

_________________
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


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 13.05.2002, 16:41 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
Da SDal, sowieso mit dem letzten Post schon den Knackpunkt verraten hat, ist es eh egal. Ts, ts, ts!
Mal sehen, ich hoffe, dass wir den Sourcecode heute abend hier reinposten.

_________________
Der schwarze Ritter triumphiert immer...
WING-Clan


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 13.05.2002, 18:08 

Registriert: 28.02.2002, 20:36
Beiträge: 36
Wohnort: Ingolstadt
ich hätts mit nem serverinfo gemacht
die werden glaub ich auch nicht zurückgesetzt nach nem mapchange :)

_________________
cy@ @vus

Life suxx, aber die Grafik ist geil 8)


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 13.05.2002, 19:49 
AM.de Team
Benutzeravatar

Registriert: 22.10.2001, 01:00
Beiträge: 839
Aber wenn Du den Server ausschaltest.

_________________
There are no stupid questions, only stupid people.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 13.05.2002, 20:38 

Registriert: 28.02.2002, 20:36
Beiträge: 36
Wohnort: Ingolstadt
Ja stimmt dann hätt ich das in ne extra datei geschrieben :)

_________________
cy@ @vus

Life suxx, aber die Grafik ist geil 8)


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 13.05.2002, 20:52 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
OK, hier ist der Code:
Code:
#include <core> 
#include <console> 
#include <string> 
#include <admin> 
#include <adminlib>  
#define ACCESS_WAR 1024  
new STRING_VERSION[MAX_DATA_LENGTH] = "1.0";

/******************************** WAR-SETTINGS ***************************************/

public admin_war_set(HLCommand,HLData,HLUserName,UserIndex) 
{
 	new Command[MAX_COMMAND_LENGTH];
 	new Data[MAX_DATA_LENGTH];
 	new User[MAX_NAME_LENGTH];
 	new ClanTag1[MAX_NAME_LENGTH];
 	new ClanTag2[MAX_NAME_LENGTH];
 	new Map[MAX_NAME_LENGTH];
 	new Password[MAX_DATA_LENGTH];
 	new Warcfg[MAX_NAME_LENGTH];
 	new HLParam[MAX_NAME_LENGTH];
 	new maxplayers = maxplayercount();
 	new Target[MAX_NAME_LENGTH];
 	new i = 0;
 	new SessionID;
 	new WONID;
 	new Team;
 	new Text[MAX_TEXT_LENGTH];
 	
 	get_vaultdata("admin_password",Password,MAX_DATA_LENGTH);
 	if(strlen(Password)==0)
 	{
		convert_string(HLCommand,Command,MAX_COMMAND_LENGTH);
	 	convert_string(HLData,Data,MAX_DATA_LENGTH);
	 	convert_string(HLUserName,User,MAX_NAME_LENGTH);
	 	strsplit(Data," ",ClanTag1,MAX_NAME_LENGTH,ClanTag2,MAX_NAME_LENGTH,Password,MAX_DATA_LENGTH,Map,MAX_NAME_LENGTH,Warcfg,MAX_NAME_LENGTH);
	
	/*-------- ÜBERPRÜFUNG, OB ALLE DATEN ANGEGEBEN WURDEN ------*/
	
	 	if (strlen(ClanTag1) == 0) 
	 	{
	 		selfmessage("Clantag 1 fehlt");
	 		selfmessage("Befehl:admin_war_set <ClanTag1> <ClanTag2> <WAR-Password> <Map> <war.cfg> ");
	 		return PLUGIN_HANDLED;
	 	}
	 	if (strlen(ClanTag2) == 0) 
	 	{
	 		selfmessage("Clantag 2 fehlt ...");
	 		selfmessage("Befehl:admin_war_set <ClanTag1> <ClanTag2> <WAR-Password> <Map> <war.cfg> ");
	 		return PLUGIN_HANDLED;
	 	}
	 	if (strlen(Password) == 0 || strcmp(Password,"none")== 0) 
	 	{
	 		selfmessage("Passwort fehlt oder falsch ...");
	 		selfmessage("Befehl:admin_war_set <ClanTag1> <ClanTag2> <WAR-Password> <Map> <war.cfg> ");
	 		return PLUGIN_HANDLED;
	 	}
	 	if (strlen(Map) == 0) 
	 	{
	 		selfmessage("Mapangabe fehlt ...");
	 		selfmessage("Befehl:admin_war_set <ClanTag1> <ClanTag2> <WAR-Password> <Map> <war.cfg> ");
	 		return PLUGIN_HANDLED;
	 	}
	 	if(valid_map(Map)!=1) 
	 	{
	 		selfmessage("Mapname ungueltig...");
	 		selfmessage("Befehl:admin_war_set <ClanTag1> <ClanTag2> <WAR-Password> <Map> <war.cfg> ");
	 		return PLUGIN_HANDLED;
	 	}
	 	if (fileexists(Warcfg) !=1 || strlen(Warcfg) == 0 || streq(Warcfg,"war.cfg") || streq(Warcfg,"server.cfg")) 
	 	{
	 		selfmessage("Name der War.cfg fehlt ( Beispiel: espl.cfg ) oder File wird nicht gefunden ...");
	 		selfmessage("Befehl:admin_war_set <ClanTag1> <ClanTag2> <WAR-Password> <Map> <war.cfg> ");
	 		return PLUGIN_HANDLED;
	 	}
	
	/*-------- ALLE LEUTE OHNE CLANTAG WERDEN GEKICKT UND BEI REST WIRD PASSWORT GESETZT  ------*/ 
		
	  	for(i=1; i<=maxplayers; i++) 
	  	{
	 		if(playerinfo(i,Target,MAX_NAME_LENGTH,SessionID,WONID,Team)==1) 
	 		{
	 			if (strstr(Target, ClanTag1) == -1 && strstr(Target, ClanTag2) == -1 && WONID != 1448) 
	 			{
	 				if(check_immunity(Target)==0 && i != UserIndex) 
	 				{
	 					message(Target, "Sorry, CW! Aber danke fuer das schnelle Disconnecten. ;p");
	 					kick(Target);
	 				}
	 			}
	 		}
	 	}
	
	/*-------- In die war.cfg wird die angegebene Regeln.cfg als Exec reingeschrieben  ------*/ 
		
		snprintf(Text,MAX_TEXT_LENGTH,"exec %s",Warcfg);
		writefile("war.cfg",Text,-1);
		snprintf(Text,MAX_TEXT_LENGTH,"vote_freq 1",Warcfg);
		writefile("war.cfg",Text,-1);
		snprintf(Text,MAX_TEXT_LENGTH,"admin_vote_echo 1",Warcfg);
		writefile("war.cfg",Text,-1);
		snprintf(Text,MAX_TEXT_LENGTH,"admin_vote_autostart 0",Warcfg);
		writefile("war.cfg",Text,-1);
		
	/*-------- PASSWORT SETZEN UND MAPCHANGE DURCHFÜHREN ------
	Sperre, damit man nicht das ursprüngliche Server-Passwort 
	mit dem neu gesetzten Passwort, durch zweimal Aufrufen des 
	admin_warsettings,überschreibt.*/
		
	 	set_vaultdata( "admin_password",Password);
		snprintf(Text,MAX_TEXT_LENGTH,"sv_password %s",Password);
		exec(Text);
	 	snprintf(Text, MAX_TEXT_LENGTH, "Das Passwort ist jetzt ^"%s^". ^n Nextmap %s", Password,Map);
	 	centersay(Text,10,255,40,44);
	 	selfmessage(Text);
	 	say_command(User,Command,Data);
	 	set_timer("mapchange",13,1,HLParam=Map);
	 	return PLUGIN_HANDLED;
	}
	selfmessage("In der vault.ini ist bereits ein Passwort gesetzt.");
	selfmessage("Bitte admin_war_end ausfuehren, um diese Einstellungen zu loeschen.");
	selfmessage("Danach admin_war_set erneut aufrufen.");
 	return PLUGIN_HANDLED;
}
public mapchange(Timer,Repeat,HLUser,HLParam) 
{
	new Map[MAX_NAME_LENGTH];
	convert_string(HLParam,Map,MAX_NAME_LENGTH);
	changelevel(Map,1);
	return PLUGIN_CONTINUE;
}
/********************************************************************************/

/********************************** CW - START **********************************/

public admin_war_start(HLCommand,HLData,HLUserName,UserIndex)
{
	new Clanname[MAX_NAME_LENGTH];
	new Text[MAX_TEXT_LENGTH];
	new dummy[10];

	convert_string(HLData,Clanname,MAX_DATA_LENGTH);
	if(strlen(Clanname) > 20)
	{
		selfmessage("der zu begruessender Clanname ist zu lang !! ...");
		selfmessage("mach es was kuerzer...");
		return PLUGIN_HANDLED;
	}
	if (strlen(Clanname) == 0) 
 	{
 		snprintf(Text,MAX_TEXT_LENGTH,"Wenn alle die Frage,'Seid Ihr bereit' mit JA beantworten, ^n kommt 2 mal Restartround und los gehts.");
		centersay(Text,30,68,255,125);
 		selfmessage("zu begruessender Clanname fehlt ...");
		vote("Seid ihr bereit ?","Ja","Nein","HandleWarVote",dummy);
 		return PLUGIN_HANDLED;
 	}
	snprintf(Text,MAX_TEXT_LENGTH,"Wir begruessen den Clan %s zum heutigen Clanwar^nWenn alle die Frage,'Seid Ihr bereit' mit JA beantworten, ^n kommt 2 mal Restartround und los gehts.",Clanname);
	centersay(Text,30,68,255,125);
	
	vote("Seid ihr bereit ?","Ja","Nein","HandleWarVote",dummy);
	
	return PLUGIN_HANDLED;
}
public HandleWarVote(WinningOption,HLMap,VoteCount,UserCount) {
	new Text[MAX_TEXT_LENGTH];
	new VoteMap[MAX_DATA_LENGTH];
	convert_string(HLMap,VoteMap,MAX_DATA_LENGTH);
	
	if (WinningOption == 1) {
		new Ratio = 100;
		if (VoteCount >= Ratio*UserCount/100) {
			snprintf(Text, MAX_TEXT_LENGTH, "Gut. Alle sind bereit.^nDann kann es ja nach 2 mal Restart Round losgehen.");
			centersay(Text,10,68,255,125);
			set_timer("Restart_Round",10,1);
			set_timer("Restart_Round",13,1);
			set_timer("War_Starts",15,1);
		} else {
			snprintf(Text, MAX_TEXT_LENGTH, "Es haben leider nicht alle mit JA geantwortet.^n Es muessen alle mit JA abstimmen, ^n um den CW zu starten.");
			centersay(Text,10,255,40,44);
		}
	} else {
		snprintf(Text, MAX_TEXT_LENGTH, "Es haben leider nicht alle mit JA geantwortet.^n Es muessen alle mit JA abstimmen, ^n um den CW zu starten.");
		centersay(Text,10,255,40,44);
	}
	return PLUGIN_CONTINUE;
}
public Restart_Round(Timer,Repeat,HLUser,HLParam) 
{
	exec("sv_restartround 1");
	return PLUGIN_CONTINUE;
}
public War_Starts(Timer,Repeat,HLUser,HLParam) 
{
	new Text[MAX_TEXT_LENGTH];
	snprintf(Text,MAX_TEXT_LENGTH,"Und los gehts ! ^n Viel Glueck allen Beteiligten !");
	centersay(Text,10,68,255,125);
	
	return PLUGIN_CONTINUE;
}
/********************************************************************************/

/********************************** CW - END ************************************/
public admin_war_end(HLCommand,HLData,HLUserName,UserIndex)
{
	new Text[MAX_TEXT_LENGTH];
	set_vaultdata("admin_password","");
	resetfile("war.cfg" );
	selfmessage("Die normalen Einstellungen werden nach einem Mapchange wiederhergestellt.");
	snprintf(Text, MAX_TEXT_LENGTH, "Der War ist beendet.^n Vielen Dank an alle Beteiligten.");
	centersay(Text,10,68,255,125);
	return PLUGIN_HANDLED;
}

public plugin_init() 
{
 	plugin_registerinfo("Clan War Creator","Kick everyone without clan tags and set a password on the server. After that comes the mapchange.",STRING_VERSION);
 	plugin_registercmd("admin_war_set","admin_war_set",ACCESS_WAR,"admin_war_set <ClanTag1> <ClanTag2> <WAR-Password> <Map> <war.cfg>");
 	plugin_registercmd("admin_war_start","admin_war_start",ACCESS_WAR,"admin_war_start <Clanname>");
 	plugin_registercmd("admin_war_end","admin_war_end",ACCESS_WAR,"admin_war_end");
 	
 	new Password[MAX_DATA_LENGTH];
 	new Text[MAX_TEXT_LENGTH];
 	get_vaultdata("admin_password",Password,MAX_DATA_LENGTH);
 	if(strlen(Password)!=0)
 	{
 		exec("say War-Password ist gesetzt!");
	 	get_vaultdata("admin_password",Password,MAX_DATA_LENGTH);
		snprintf(Text,MAX_TEXT_LENGTH,"sv_password %s",Password);
		exec(Text);
	}
 	return PLUGIN_CONTINUE; 
}

_________________
Der schwarze Ritter triumphiert immer...
WING-Clan


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 17.05.2002, 22:37 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
Und wir gehen in die nächste Runde.

v1.1 wird jetzt vorgestellt. Wir haben die Bugs rausgenommen und es wird eine cwmapcycle.txt geschrieben und ausgeführt:
Code:
#include <core> 
#include <console> 
#include <string> 
#include <admin> 
#include <adminlib>  
#define ACCESS_WAR 1024  
new STRING_VERSION[MAX_DATA_LENGTH] = "1.1";

/******************************** WAR-SETTINGS ***************************************/

public admin_war_set(HLCommand,HLData,HLUserName,UserIndex) 
{
 	new Command[MAX_COMMAND_LENGTH];
 	new Data[MAX_DATA_LENGTH];
 	new User[MAX_NAME_LENGTH];
 	new ClanTag1[MAX_NAME_LENGTH];
 	new ClanTag2[MAX_NAME_LENGTH];
 	new Map[MAX_NAME_LENGTH];
	new Map2[MAX_NAME_LENGTH];
 	new Password[MAX_DATA_LENGTH];
 	new Warcfg[MAX_NAME_LENGTH];
 	new HLParam[MAX_NAME_LENGTH];
 	new maxplayers = maxplayercount();
 	new Target[MAX_NAME_LENGTH];
 	new i = 0;
 	new SessionID;
 	new WONID;
 	new Team;
 	new Text[MAX_TEXT_LENGTH];
	new OldPassword[MAX_TEXT_LENGTH];
 	
 	get_vaultdata("admin_password",Password,MAX_DATA_LENGTH);
 	if(strlen(Password)==0)
 	{
		convert_string(HLCommand,Command,MAX_COMMAND_LENGTH);
	 	convert_string(HLData,Data,MAX_DATA_LENGTH);
	 	convert_string(HLUserName,User,MAX_NAME_LENGTH);
	 	strsplit(Data," ",ClanTag1,MAX_NAME_LENGTH,ClanTag2,MAX_NAME_LENGTH,Password,MAX_DATA_LENGTH,Map,MAX_NAME_LENGTH,Map2,MAX_NAME_LENGTH,Warcfg,MAX_NAME_LENGTH);
	
	/*-------- ÜBERPRÜFUNG, OB ALLE DATEN ANGEGEBEN WURDEN ------*/
	
	 	if (strlen(ClanTag1) == 0) 
	 	{
	 		selfmessage("Clantag 1 fehlt");
	 		selfmessage("Befehl:admin_war_set <ClanTag1> <ClanTag2> <WAR-Password> <Map> <Map2> <war.cfg> ");
	 		return PLUGIN_HANDLED;
	 	}
	 	if (strlen(ClanTag2) == 0) 
	 	{
	 		selfmessage("Clantag 2 fehlt ...");
	 		selfmessage("Befehl:admin_war_set <ClanTag1> <ClanTag2> <WAR-Password> <Map> <Map2> <war.cfg> ");
	 		return PLUGIN_HANDLED;
	 	}
	 	if (strlen(Password) == 0 || strcmp(Password,"none")== 0) 
	 	{
	 		selfmessage("Passwort fehlt oder falsch ...");
	 		selfmessage("Befehl:admin_war_set <ClanTag1> <ClanTag2> <WAR-Password> <Map> <Map2> <war.cfg> ");
	 		return PLUGIN_HANDLED;
	 	}
	 	if (strlen(Map) == 0 || strlen(Map2) == 0) 
	 	{
	 		selfmessage("Mapangabe fehlt ...");
	 		selfmessage("Befehl:admin_war_set <ClanTag1> <ClanTag2> <WAR-Password> <Map> <Map2> <war.cfg> ");
	 		return PLUGIN_HANDLED;
	 	}
	 	if(valid_map(Map)!=1 && valid_map(Map2)!=1) 
	 	{
	 		selfmessage("Mapname ungueltig...");
	 		selfmessage("Befehl:admin_war_set <ClanTag1> <ClanTag2> <WAR-Password> <Map> <Map2> <war.cfg> ");
	 		return PLUGIN_HANDLED;
	 	}
	 	if (fileexists(Warcfg) !=1 || strlen(Warcfg) == 0 || streq(Warcfg,"war.cfg") || streq(Warcfg,"server.cfg")) 
	 	{
	 		selfmessage("Name der War.cfg fehlt ( Beispiel: espl.cfg ) oder File wird nicht gefunden ...");
	 		selfmessage("Befehl:admin_war_set <ClanTag1> <ClanTag2> <WAR-Password> <Map> <Map2> <war.cfg> ");
	 		return PLUGIN_HANDLED;
	 	}
	
	/*-------- ALLE LEUTE OHNE CLANTAG WERDEN GEKICKT UND BEI REST WIRD PASSWORT GESETZT  ------*/ 
		
	  	for(i=1; i<=maxplayers; i++) 
	  	{
	 		if(playerinfo(i,Target,MAX_NAME_LENGTH,SessionID,WONID,Team)==1) 
	 		{
	 			if (strstr(Target, ClanTag1) == -1 && strstr(Target, ClanTag2) == -1 && WONID != 1448) 
	 			{
	 				if(check_immunity(Target)==0 && i != UserIndex) 
	 				{
	 					message(Target, "Sorry, CW! Aber danke fuer das schnelle Disconnecten. ;p");
	 					kick(Target);
	 				}
	 			}
	 		}
	 	}
	
	/*-------- In die war.cfg wird die angegebene Regeln.cfg als Exec reingeschrieben  ------*/ 
		
		snprintf(Text,MAX_TEXT_LENGTH,"exec %s",Warcfg);
		writefile("war.cfg",Text,-1);
		writefile("war.cfg","vote_freq 1",-1);
		writefile("war.cfg","admin_vote_echo 1",-1);
		writefile("war.cfg","admin_vote_autostart 0",-1);
		
	/*-------- PASSWORT SETZEN UND MAPCHANGE DURCHFÜHREN ------
	Sperre, damit man nicht das ursprüngliche Server-Passwort 
	mit dem neu gesetzten Passwort, durch zweimal Aufrufen des 
	admin_warsettings,überschreibt.*/
		
		getstrvar("sv_password",OldPassword,MAX_TEXT_LENGTH);
		set_vaultdata("admin_oldpassword",OldPassword);
	 	set_vaultdata("admin_password",Password);
		snprintf(Text,MAX_TEXT_LENGTH,"sv_password %s",Password);
		exec(Text);
	 	snprintf(Text, MAX_TEXT_LENGTH, "Das Passwort ist jetzt ^"%s^". ^n Nextmap %s", Password,Map);
	 	centersay(Text,10,255,40,44);
	 	selfmessage(Text);
	 	say_command(User,Command,Data);
		/* Mapcyclefile anlegen*/
		writefile("war.cfg","mapcyclefile cwmapcycle.txt",-1);
		resetfile("cwmapcycle.txt");
		writefile("cwmapcycle.txt",Map,-1);
		writefile("cwmapcycle.txt",Map,-1);
		writefile("cwmapcycle.txt",Map2,-1);
		writefile("cwmapcycle.txt",Map2,-1);
	 	set_timer("mapchange",13,1,HLParam=Map);
	 	return PLUGIN_HANDLED;
	}
	selfmessage("In der vault.ini ist bereits ein Passwort gesetzt.");
	selfmessage("Bitte admin_war_end ausfuehren, um diese Einstellungen zu loeschen.");
	selfmessage("Danach admin_war_set erneut aufrufen.");
 	return PLUGIN_HANDLED;
}
public mapchange(Timer,Repeat,HLUser,HLParam) 
{
	new Map[MAX_NAME_LENGTH];
	convert_string(HLParam,Map,MAX_NAME_LENGTH);
	changelevel(Map,1);
	return PLUGIN_CONTINUE;
}
/********************************************************************************/

/********************************** CW - START **********************************/

public admin_war_start(HLCommand,HLData,HLUserName,UserIndex)
{
	new Clanname[MAX_NAME_LENGTH];
	new Text[MAX_TEXT_LENGTH];
	new dummy[10];

	convert_string(HLData,Clanname,MAX_DATA_LENGTH);
	if(strlen(Clanname) > 20)
	{
		selfmessage("der zu begruessender Clanname ist zu lang !! ...");
		selfmessage("mach es was kuerzer...");
		return PLUGIN_HANDLED;
	}
	if (strlen(Clanname) == 0) /*Soll es trotzdem Vote geben ohne Clanname anzugeben? */
 	{
 		snprintf(Text,MAX_TEXT_LENGTH,"Wenn alle die Frage,'Seid Ihr bereit' mit JA beantworten, ^n kommt 2 mal Restartround und los gehts.");
		centersay(Text,30,68,255,125);
 		selfmessage("zu begruessender Clanname fehlt ...");
		vote("Seid ihr bereit ?","Ja","Nein","HandleWarVote",dummy);
 		return PLUGIN_HANDLED;
 	}
	snprintf(Text,MAX_TEXT_LENGTH,"Wir begruessen den Clan %s zum heutigen Clanwar^nWenn alle die Frage,'Seid Ihr bereit' mit JA beantworten, ^n kommt 2 mal Restartround und los gehts.",Clanname);
	centersay(Text,30,68,255,125);
	
	vote("Seid ihr bereit ?","Ja","Nein","HandleWarVote",dummy);
	
	return PLUGIN_HANDLED;
}
public HandleWarVote(WinningOption,HLMap,VoteCount,UserCount) {
	new Text[MAX_TEXT_LENGTH];
	new VoteMap[MAX_DATA_LENGTH];
	new Target[MAX_NAME_LENGTH];
	new a=0;
	new i;
	new SessionID;
	new WONID;
	new Team;
	new maxplayers = maxplayercount();
	
	for(i=1; i<=maxplayers; i++) 
  	{
 		if(playerinfo(i,Target,MAX_NAME_LENGTH,SessionID,WONID,Team)==1) 
 		{
 			if (WONID == 1448) 
 			{
 				a=1;
 				break;
 			}
 		}
 	}
	convert_string(HLMap,VoteMap,MAX_DATA_LENGTH);
	
	if (WinningOption == 1) {
		
		if (VoteCount >= (UserCount-a)) {
			snprintf(Text, MAX_TEXT_LENGTH, "Gut. Alle sind bereit.^nDann kann es ja nach 2 mal Restart Round losgehen.");
			centersay(Text,10,68,255,125);
			set_timer("Restart_Round",10,1);
			set_timer("Restart_Round",13,1);
			set_timer("War_Starts",15,1);
		} else {
			snprintf(Text, MAX_TEXT_LENGTH, "Es haben leider nicht alle mit JA geantwortet.^n Es muessen alle mit JA abstimmen, ^n um den CW zu starten.");
			centersay(Text,10,255,40,44);
		}
	} else {
		snprintf(Text, MAX_TEXT_LENGTH, "Es haben leider nicht alle mit JA geantwortet.^n Es muessen alle mit JA abstimmen, ^n um den CW zu starten.");
		centersay(Text,10,255,40,44);
	}
	return PLUGIN_CONTINUE;
}
public Restart_Round(Timer,Repeat,HLUser,HLParam) 
{
	exec("sv_restartround 1");
	return PLUGIN_CONTINUE;
}
public War_Starts(Timer,Repeat,HLUser,HLParam) 
{
	new Text[MAX_TEXT_LENGTH];
	snprintf(Text,MAX_TEXT_LENGTH,"Und los gehts ! ^n Viel Glueck allen Beteiligten !");
	centersay(Text,10,68,255,125);
	
	return PLUGIN_CONTINUE;
}
/********************************************************************************/

/********************************** CW - END ************************************/
public admin_war_end(HLCommand,HLData,HLUserName,UserIndex)
{
	new Text[MAX_TEXT_LENGTH];
	new Password[MAX_TEXT_LENGTH];
	get_vaultdata("admin_oldpassword",Password,MAX_TEXT_LENGTH);
	if (strlen(Password)==0){
		strcpy(Password,"none",MAX_TEXT_LENGTH);
	}
	set_vaultdata("admin_password","");
	snprintf(Text,MAX_TEXT_LENGTH,"sv_password %s",Password);
	exec(Text);
	resetfile("war.cfg");
	selfmessage("Die normalen Einstellungen werden nach einem Mapchange wiederhergestellt.");
	snprintf(Text, MAX_TEXT_LENGTH, "Der War ist beendet.^n Vielen Dank an alle Beteiligten.");
	centersay(Text,10,68,255,125);
	return PLUGIN_HANDLED;
}

public plugin_init() 
{
 	plugin_registerinfo("Clan War Creator","Kick everyone without clan tags and set a password on the server. After that comes the mapchange.",STRING_VERSION);
 	plugin_registercmd("admin_war_set","admin_war_set",ACCESS_WAR,"admin_war_set <ClanTag1> <ClanTag2> <WAR-Password> <Map> <Map2> <war.cfg>");
 	plugin_registercmd("admin_war_start","admin_war_start",ACCESS_WAR,"admin_war_start <Clanname>");
 	plugin_registercmd("admin_war_end","admin_war_end",ACCESS_WAR,"admin_war_end");
 	
 	new Password[MAX_DATA_LENGTH];
 	new Text[MAX_TEXT_LENGTH];
 	get_vaultdata("admin_password",Password,MAX_DATA_LENGTH);
 	if(strlen(Password)!=0)
 	{
 		exec("say War-Password ist gesetzt!");
	 	get_vaultdata("admin_password",Password,MAX_DATA_LENGTH);
		snprintf(Text,MAX_TEXT_LENGTH,"sv_password %s",Password);
		exec(Text);
	}
 	return PLUGIN_CONTINUE; 
}
Known Bugs:
- HLTV wird nicht im LAN erkannt!
- Sonstige Spectators neben dem HLTV machen bei der Funktion admin_war_start Probleme!

History:
v1.1:
Bugfixes:
- Das Passwort wird jetzt am Ende des Wars auf den alten Wert gesetzt (CS1.4-"Problem").
- Der HLTV wird beim Vote ausgeklammert. Gilt NICHT für zusätzliche Spectator
- In der espl.cfg wurde eine fehlende Zeile angefügt. (admin_plugin_file) Bitte updaten!
- Die README.txt wurde um die fehlende Information zum User-Recht erweitert. (1024)

Erweiterungen:
- Es wird jetzt eine cwmapcycle.txt geschrieben. Daher eine zusätzliche Variable beim admin_war_set. (<Map2>) Alle Upgrader bitte eine leere cwmapcycle.txt hochladen oder erstellen.

v1.0:
Erste offizielle Version!

_________________
Der schwarze Ritter triumphiert immer...
WING-Clan


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 27.05.2002, 00:05 

Registriert: 23.02.2002, 16:24
Beiträge: 27
hi hmm habe folgendes problem bei mir werden die configs nicht übernommen egal welche ich nehme... configs liegen alle im cstrike verzeichnis! das pw wird aber geändert usw... nur die configs werden nicht übernommen... an was kann das liegen?


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 27.05.2002, 01:10 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
steht in deiner server.cfg

file_access_write 1?

Ohne diesen Eintrag wird keine z.B. espl.cfg in die war.cfg geschrieben.

und mach auch gleich

file_access_read 1

man weiss nie, was in der neuen Version noch kommt :-)

_________________
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


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 27.05.2002, 03:19 

Registriert: 23.02.2002, 16:24
Beiträge: 27
allow_client_exec 1
amv_autoban 0
default_access 1
encrypt_password 0
file_access_read 1
file_access_write 1

steht beides drin!


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 27.05.2002, 10:02 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
Dann sieht es so aus, als ob die war.cfg nicht, zu früh ausgeführt wurde oder nicht beschrieben werden kann.
Zunächst überprüfe, ob der Eintrag "exec war.cfg" existiert und der letzte in der server.cfg ist. Wenn dies der Fall ist, könnte es sein, dass beim Hochladen ein Schreibschutz auf alle Dateien gelegt wird (inkl. war.cfg). Dann kann auch AdminMod nichts machen. In letztem Falle versuch mal die war.cfg zu löschen und das Plugin so zu starten. AdminMod legt die evtl. selber an. Jedenfalls meinte SDal gestern, dass AdminMod das evtl. kann.
Ich habe von jemanden bei 4PNetplayers gehört, der vermutlich Probleme mit dem Schreibschutz hatte.

_________________
Der schwarze Ritter triumphiert immer...
WING-Clan


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 27.05.2002, 14:20 

Registriert: 23.02.2002, 16:24
Beiträge: 27
tjo die chmods stehen wie bei jeder datei auf 666 also read und write! müsste also gehen exec war.cfg steht ebenfalls ganz unten in der server.cfg bin die installationsanleitung nochmal durchgegangen.... einige befehle werden ja ausgeführt so wie pw ändern aber nicht die espl.cfg wird übernommen... ist eigentlich schade denn das is für mich ein sehhhr brauchbares plugin nur wüsste ich nich wo der fehler liegt


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 27.05.2002, 14:49 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
Ich glaube kaum, dass es ein Problem des Plugins ist. Das hat bisher funktioniert.
OK, machen wir Debugging. Starte das Plugin und zeig mir mal den Inhalt der war.cfg.

_________________
Der schwarze Ritter triumphiert immer...
WING-Clan


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 28.05.2002, 04:15 

Registriert: 23.02.2002, 16:24
Beiträge: 27
steht gar nix drin in der cwmapcycle ebenfalls nicht


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 28.05.2002, 09:43 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
OK,
irgendetwas ist da ganz faul. In der cwmapcycle.txt muss in jedem Fall etwas stehen. Nach dem ersten erfolgreichen admin_war_set steht da immer etwas.
Allmählich steh ich auf dem Schlauch, da hier definitiv kein Schreiben in Deinem System möglich ist. Normal hätte ich auf fehlendes file_access_write 1 getippt, aber das scheint ja nicht der Fall zu sein.

_________________
Der schwarze Ritter triumphiert immer...
WING-Clan


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 28.05.2002, 11:42 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
Ihr redet doch von einem Linux-System, oder?

Da ich leider keine Ahnung von Linux habe, ihr das aber schon mit den Zugriffsrechten write und read geklärt habt, habe ich nur Gedanken, dass die cwmapcycle.txt vielleicht irgendwie schreibgeschützt ist. Oder ist das bei Linux auch wieder anders?

_________________
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


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 28.05.2002, 13:42 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
Zitat:
tjo die chmods stehen wie bei jeder datei auf 666 also read und write!
Ja, das ist geklärt. Vorausgesetzt er hat es nicht mit WS-FTP überprüft. Das erkennt es nach meiner Erfahrung nich besonders zuverlässig.

_________________
Der schwarze Ritter triumphiert immer...
WING-Clan


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 50 Beiträge ]  Gehe zu Seite Vorherige 1 2 3 Nächste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de
Original Design von "[ Half-Life Admin Mod © Alfred Reynolds 2000-2003 ] - [ site design by Jägermeister ]"