Ein neues Thema erstellen  Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Abgeaendertes Plugin_message
BeitragVerfasst: 07.08.2002, 11:08 

Registriert: 30.03.2002, 15:03
Beiträge: 140
Wohnort: Käse und Schoggi Land (Schweiz)
so, ich wollte 2 Repeat Messages haben, auf meinem Server, darum hab ich plugin_message erweitert, und in der server.cfg steht nun folgendes:

// How often, in seconds, the repeat_message should be shown on
// the screen during the game. Minimum value is 15 seconds.
// So, a value of 600 = 10 minutes between messages.
admin_repeat_freq 240
admin_repeat_freqi 300

// Message that is show to everyone on the server every
// ten minutes by the message plugin.
admin_repeat_msg ":: CoWs & [UFoS] Clanserver ::"
admin_repeat_msgi "::visit | games-net.ch::"

und hier das PLugin:
Code:
/* This plugin will show a message to everyone who connects,
 * and will show another message every ten minutes. 
 */

/* $Id: plugin_message.sma,v 1.2.2.5 2002/03/17 01:53:29 sbrownlow Exp $ */

#include <core>
#include <string>
#include <admin>
#include <adminlib>

new STRING_VERSION[] = "2.50.0";

public say_hello(Timer,Repeat,HLName,HLParam) {
	new User[MAX_NAME_LENGTH];
	new Msg[MAX_TEXT_LENGTH];
	
	getstrvar("admin_connect_msg",Msg,MAX_TEXT_LENGTH);
	if ( Msg[0] == '0' && Msg[1] == '^0' ) return;
	convert_string(HLName,User,MAX_NAME_LENGTH);
	messageex(User,Msg,print_center);
}

public say_stuff(Timer,Repeat,HLName,HLParam) {
	new Msg[MAX_TEXT_LENGTH];
	
	getstrvar("admin_repeat_msg",Msg,MAX_TEXT_LENGTH);
	if ( Msg[0] == '0' && Msg[1] == '^0' ) return;
	centersay(Msg,10,255,255,10);
}

public say_stuffi(Timer,Repeat,HLName,HLParam) {
	new Msgi[MAX_TEXT_LENGTH];
	
	getstrvar("admin_repeat_msgi",Msgi,MAX_TEXT_LENGTH);
	if ( Msgi[0] == '0' && Msgi[1] == '^0' ) return;
	centersay(Msgi,10,255,255,0);
}

public plugin_connect(HLUserName, HLIP, UserIndex) {
	set_timer("say_hello",45,0);
	return PLUGIN_CONTINUE;
}

public plugin_init() {
	plugin_registerinfo("Auto-Messaging Plugin","Zeigt eine Nachricht alle x Minuten, sowie am Anfang.",STRING_VERSION);
	new iRepeatInterval = getvar("admin_repeat_freq");
	new iRepeatIntervali = getvar("admin_repeat_freqi");
	if ( iRepeatInterval >= 15 ) {
	  set_timer("say_stuff", iRepeatInterval, 99999);
	}
	if ( iRepeatIntervali >= 15 ) {
	  set_timer("say_stuffi", iRepeatIntervali, 99999);
	} 
	return PLUGIN_CONTINUE;
}
Ich hoffe jemand findet den Fehler, die 2. nachricht wird naemlich nicht angezeigt... :roll:

ich weiss bin nicht der beste im programmieren, aber eigentlich sollt ich sowas schon noch hinbekommen... :(


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 07.08.2002, 11:58 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
Man kann mit AdminMod-Plugins keine Servervariablen definieren. Du versuchst aber eine solche auszulesen (admin_repeat_freqi). Der Rückgabewert dürfte im günstigsten Fall wohl 0 sein.
Entweder verdrahtest Du den Wert direkt im Quelltext oder führst eine vault.ini-Variable ein, die dann ausgelesen wird.

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


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 08.08.2002, 11:32 

Registriert: 30.03.2002, 15:03
Beiträge: 140
Wohnort: Käse und Schoggi Land (Schweiz)
schade, schade...wie muesste das denn aussehen, wenn man dass mit einer vault.ini loest? :-?


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 08.08.2002, 11:35 

Registriert: 30.03.2002, 15:03
Beiträge: 140
Wohnort: Käse und Schoggi Land (Schweiz)
aber noch was, admin_repeat_msgi muesst ich dann wohl ode ruebel auch in der vault.ini definieren, hab ich recht?


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 08.08.2002, 11:55 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
BINGO!

Für die vault.ini benutzt man die get_vaultdata() Funktion.

vault.ini-Eintrag:
admin_repeat_msgi "::visit | games-net.ch::"

Zeile zum Abfragen:
get_vaultdata("admin_repeat_msgi",Msg,MAX_TEXT_LENGTH)

Für die Frequency dann genauso. Es muss nur noch der String in eine Zahl umgewandelt werden. Entweder numtostr() oder bei direkt (neuere AM-Beta-Versionen) get_numvaultdata().

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


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 08.08.2002, 16:34 

Registriert: 30.03.2002, 15:03
Beiträge: 140
Wohnort: Käse und Schoggi Land (Schweiz)
Jo, dann werd ich mich gleich mal auf den code stuerzen, danke fuer deine hilfe!!


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