Ein neues Thema erstellen  Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 13.08.2002, 00:03 

Registriert: 28.02.2002, 20:36
Beiträge: 36
Wohnort: Ingolstadt
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

_________________
cy@ @vus

Life suxx, aber die Grafik ist geil 8)


Nach oben
   
BeitragVerfasst: 13.08.2002, 09:45 
HLDS Team
Benutzeravatar

Registriert: 26.11.2001, 01:00
Beiträge: 676
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.


Nach oben
   
 Betreff des Beitrags: AW
BeitragVerfasst: 13.08.2002, 23:30 

Registriert: 28.02.2002, 20:36
Beiträge: 36
Wohnort: Ingolstadt
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:

_________________
cy@ @vus

Life suxx, aber die Grafik ist geil 8)


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 14.08.2002, 10:21 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
get_vaultdata()
set_vaultdata()

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


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 14.08.2002, 11:02 
HLDS Team
Benutzeravatar

Registriert: 26.11.2001, 01:00
Beiträge: 676
guck auch mal hier http://www.adminmod-hilfe.de/phpnuke/ht ... age&pid=22 sind aber noch nit alle ausgefüllt


Nach oben
   
 Betreff des Beitrags: Aus Dateien lesen
BeitragVerfasst: 14.08.2002, 11:43 

Registriert: 28.02.2002, 20:36
Beiträge: 36
Wohnort: Ingolstadt
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! :-?

_________________
cy@ @vus

Life suxx, aber die Grafik ist geil 8)


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 14.08.2002, 11:51 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
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.

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


Nach oben
   
 Betreff des Beitrags: thx
BeitragVerfasst: 14.08.2002, 12:06 

Registriert: 28.02.2002, 20:36
Beiträge: 36
Wohnort: Ingolstadt
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:

_________________
cy@ @vus

Life suxx, aber die Grafik ist geil 8)


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 14.08.2002, 13:38 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
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:

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


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 17.08.2002, 10:41 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
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.

_________________
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
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 10 Beiträge ] 


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 ]"