AdminMod.de
https://www.adminmod.de/

Variablen erstellen --> admin_fun_mode
https://www.adminmod.de/viewtopic.php?t=3845
Seite 1 von 1

Autor:  @vus [ 13.08.2002, 00:03 ]
Betreff des Beitrags:  Variablen erstellen --> admin_fun_mode

Hallo zusammen,

da ich immer wieder in meinen Plugins, auf Variablen zurückgreifen möchte z.B. sind Bots ein?!, möchte ich gerne selber Variablen programmieren!


Zur Zeit ändere ich das Plugin logd_timerem!

Ich hab es so verändert, dass es entweder Map wechselt wenn die letzte Runde fertig gespielt ist, oder die Zeit um ist! So, wie überprüft man am besten was der Benutzer haben möchte? Ich dachte mir, mit nem schönen Eintrag in die server.cfg, unter den Variablen von Adminmod (admin_bot_protection) eine eigene einzutragen! Leider muss man die erst selber scripten, oder gibts da was extra in AM?

Ich würd mal gerne wissen, wie ihr das mit Variablen lösen würdet?
Mit ner Datei? oder was anderes?

naja schreibt mal Servus @vus

Autor:  MrClone [ 13.08.2002, 09:45 ]
Betreff des Beitrags:  Re: Variablen erstellen --> admin_fun_mode

Die Befehle die du meinst sind in der admin_MM.dll festgelegt, die verarbeitet die dll auch, und die plugins können die data dann abrufen, was du machen willst würde ich in die vault.ini schreiben, dazu ist die da.

Autor:  @vus [ 13.08.2002, 23:30 ]
Betreff des Beitrags:  AW

Das hab ich mir schon gedacht, dass die Variablen in der dll mit drin sind!

Was mich interessieren würde, wie du das in nem Plugin programmierst! :-?
Ich bin zwar ständig am rumtesten, komme aber zu keinem richtigen Ergebnis, dass ohne Probs funzt! :wink:

Autor:  [WING] Black Knight [ 14.08.2002, 10:21 ]
Betreff des Beitrags: 

get_vaultdata()
set_vaultdata()

Autor:  MrClone [ 14.08.2002, 11:02 ]
Betreff des Beitrags: 

guck auch mal hier http://www.adminmod-hilfe.de/phpnuke/ht ... age&pid=22 sind aber noch nit alle ausgefüllt

Autor:  @vus [ 14.08.2002, 11:43 ]
Betreff des Beitrags:  Aus Dateien lesen

Zitat:
get_vaultdata()
set_vaultdata()
hmm ich mein, wie programmiert ihr das? :roll:
Wenn ich jetzt den Befehl admin_timer_lastround ausführe! Sollte ich die Variable ändern können!
z.B.: --> admin_timer_lastround 1
Wenn ich dann wieder ->admin_timer_lastround<- eingebe sollte es mir die gesetzte Variable zurückgeben (1)! Wie macht ihr dass genau? Kann hier wer mal nen Code oder Anregungen posten, weil ich da net so fit bin mit "aus Dateien lesen" ! :wink:

Und erklärt mir mal bitte für was die vault.ini wirklich da ist, dass man da Variablen deklarieren kann, die bei jedem Mapchange neu geladen werden, weiß ich auch! aber ich möchte meine Variablen gerne mit in der server.cfg stehen haben! :-?

Autor:  [WING] Black Knight [ 14.08.2002, 11:51 ]
Betreff des Beitrags: 

OK,

hier mal ein Beispiel aus meinem AFK Slay Plugin:
Code:
public admin_afk_timeout(HLCommand,HLData,HLUserName,UserIndex){
	new Msg[MAX_TEXT_LENGTH];
	new afktimeoutold[MAX_DATA_LENGTH];
	new Data[MAX_DATA_LENGTH];
	new iData;

	/* Setting new Timeout value */	
	get_vaultdata("afk_timeout", afktimeoutold, MAX_DATA_LENGTH);
	convert_string(HLData,Data,MAX_DATA_LENGTH);
	if(strlen(Data)!=0){
		iData=strtonum(Data);
		switch(iData){
			case 30..999:{
				set_vaultdata("afk_timeout",Data);
				snprintf(Msg,MAX_TEXT_LENGTH,"Timeout value set from %s to %s.",afktimeoutold,Data);
			}
			default:{
				strcpy(Msg,"Sorry, value must be between 30 and 999 seconds!",MAX_TEXT_LENGTH);
			}
		}
	}
	else{
		snprintf(Msg,MAX_TEXT_LENGTH,"Timeout value is %s. (actual, depending on Roundtime: %d)",afktimeoutold,iafk_timeout);
	}
	selfmessage(Msg);
	return PLUGIN_HANDLED;
}
Das ist sowohl das auslesen als auch das einlesen von vault.ini Einträgen inkl. Wertüberprüfung und Ausgabe, wenn nichts weiter angegeben wurde.

Autor:  @vus [ 14.08.2002, 12:06 ]
Betreff des Beitrags:  thx

THX für deine schnelle Antwort!

Ich werd mir den Code mal geben und bei Fragen rühr ich mich wieder! :P

Weitere Vorschläge, Möglichkeiten oder Verbesserungen würden mich freuen! Was sagt unser Sir drink a lot dazu? <- Der würd mich mal interessieren wie der das macht! Vielleicht auch mit der vault.ini?
Tja, THX nomal! :lol:

Autor:  [WING] Black Knight [ 14.08.2002, 13:38 ]
Betreff des Beitrags: 

Natürlich macht er das genauso. Die Einstellungen von AdminMod gehen ja beim Mapwechsel verloren. Also muss man sie zwischenspeichern.
Entweder man macht das manuell in eine eigene ini-Datei oder man nimmt den einfachen Weg über die oben genannten Funktionen.
Aber frag ihn ruhig. Steigert sein Ego wieder ein wenig. :wink:

Autor:  Sir Drink a lot [ 17.08.2002, 10:41 ]
Betreff des Beitrags: 

nanana...Was soll das heißen... :lol:

Aber Blacky hat schon recht, wenn er sagt, dass ich die vault.ini benutze, um Einstellungen über den Mapwechsel behalten zu können.
Dafür ist sie ja schließlich da :-)

Ausserdem ist es viel einfacher, als immer readfile und writefile zu benutzen.

Nun denn, auch ein Beispiel von mir:
Code:
public admin_hp(HLCommand,HLData,HLUserName,UserIndex) 
{
	new Data[MAX_DATA_LENGTH];
	new Text[MAX_TEXT_LENGTH];
	new OldData[MAX_DATA_LENGTH];
	convert_string(HLData,Data,MAX_DATA_LENGTH); 
	if(strcmp(Data,"0")==0){
		get_vaultdata("HP_STATUS",OldData,MAX_DATA_LENGTH);
		set_vaultdata("HP_STATUS",Data);
		snprintf(Text,MAX_TEXT_LENGTH,"Der HP_STATUS wurde von %s auf %s eingestellt",OldData,Data);
		selfmessage(Text);
		selfmessage("HP-Plugin ist deaktiviert worden.Für IMMER !!!");
	}else if(strcmp(Data,"1")==0){
		get_vaultdata("HP_STATUS",OldData,MAX_DATA_LENGTH);
		set_vaultdata("HP_STATUS",Data);
		snprintf(Text,MAX_TEXT_LENGTH,"Der HP_STATUS wurde von %s auf %s eingestellt",OldData,Data);
		selfmessage(Text);
		selfmessage("HP-Plugin ist aktiviert worden.Für IMMER !!!");
        }else{
        	get_vaultdata("HP_STATUS",Data,MAX_DATA_LENGTH);
		snprintf(Text,MAX_TEXT_LENGTH,"Der Wert fuer HP_STATUS steht zur Zeit auf %s",Data);
        	selfmessage("Ungueltiger Wert fuer den Befehl admin_hp.");
        	selfmessage("Entweder 1 = HP Anzeige AN oder 0 = HP Anzeige AUS.");
		selfmessage(Text);
        }
	return PLUGIN_HANDLED;
}
Das setzt natürlich vorraus, dass man auch admin_vault_file "vault.ini" in der (listen)server.cfg gesetzt hat. Aber das hat ja jeder Serverbetreiber gesetzt, hoffe ich.

Seite 1 von 1 Alle Zeiten sind UTC+01:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/