Ein neues Thema erstellen  Auf das Thema antworten  [ 15 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 10.03.2003, 23:48 
hi ich suche ein plugin fuer unseren server der die runden zahl spricht also round 1
round 2 usw wo gibbet so was


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 11.03.2003, 01:19 
AM.de Team
Benutzeravatar

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

Hast es ja gefunden. Fein :-)

Ich werde mal sehen, ob ich sowas für Dich doch noch mache, wenn es dieses plugin noch nicht gibt, was mich aber schwer wundern würde.

_________________
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: 11.03.2003, 09:22 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
Lass mal jemanden mit weniger Programmiererfahrung ran. Z.B. Stillsetzhut könnte mal versuchen so ein Plugin zu schreiben. Ist ja nicht besonders schwer. Ist eigentlich ein perfektes Plugin für den Einstieg in die AM und LogD Programmierung.

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


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 11.03.2003, 09:38 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
jo stimmt.

Ich habe die Überschrift mal etwas konkretisiert.
Sollte man immer tun, damit jeder bescheid weiss.

_________________
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: 11.03.2003, 21:32 
AM.de Team

Registriert: 08.07.2002, 21:11
Beiträge: 2192
Hmm,

wenn ich es mache, wird es aber etwas dauern.

greez

[-=THH=-]Stillsetzhut

_________________
it's better to burn out, than to fade away


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 11.03.2003, 22:15 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
Macht nichts, bei Fragen kannst Du Dich selbstredend an uns wenden. ;) Und silent bekommt über kurz oder lang sein Plugin. Wird sich auch freuen.
Find ich klasse, dass Du das machst.

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


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 22.03.2003, 13:37 
AM.de Team

Registriert: 08.07.2002, 21:11
Beiträge: 2192
Mal eine Frage an Silent: Wie weit soll das Plugin denn zaehlen?

Die 'gesprochenen' Runden muessen, wenn ich hier nicht falsch liege, jede einzeln definiert werden. Ich dachte so an eine Rundenzahl bis 100, oder sind das dann zu viele Vergleiche? Danach nur noch Textausgaben (csay). Naja, fuer die Dauerdustserver. :D

greez

[-=THH=-]Stillsetzhut

_________________
it's better to burn out, than to fade away


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 22.03.2003, 15:57 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
nicht ganz richtig :-)

Ich habe gerade eine Version vom timemanager gebastelt, die eine Timeleft-Zeit Ansage drin hat. Das heißt, er muss meine Sekunden in Minute und Sekunde und dann auch in ein Wort umwandeln. Die Funktion kannst Du entsprechend für Deine Zwecke umwandeln. Das Prinzip bleibt ja das selbe.

Du nutzt einmal einen Array 1 - 19 und dann einen Zehner-Array.

Hier nun die Funktion: (oder ist es sogar die Funktion, die ich mal mit Warhead geabstelt habe...ganz ganz früher :-)
Code:
/*Alles zum Timeleft*/
SpeakTimeleft() {
        new i;
	new maxplayers = maxplayercount();
	new SessionID;
	new Target[MAX_NAME_LENGTH];
	new WONID;
	new outputstring[MAX_DATA_LENGTH];
	new seconds;
	new minutes;
	new first; 
        new second; 
        new third; 
        new fourth;
        new Minutes[MAX_TEXT_LENGTH];
        new Seconds[MAX_TEXT_LENGTH];
        new Authid[MAX_AUTHID_LENGTH];
		
	new low[20][]={"","one ", "two ","three ","four ","five ","six ","seven ","eight ","nine ","ten ","eleven ","twelve ","thirteen ","fourteen ","fifteen ","sixteen ","seventeen ","eighteen ","nineteen "}; 
        new high[10][]={"", "", "twenty ","thirty ","fourty ","fifty ","sixty ","seventy ","eighty ","ninety "}; 
        
        minutes=time/60; 
        seconds=time%60; 
        
        if(minutes<=0 && seconds <=0){
        	 return PLUGIN_FAILURE;
       	}

        first=minutes/10; 
        second=minutes%10; 
        
        if(first==1){ 
            second=minutes; 
            first=0; 
        } 
        
        third=seconds/10; 
        fourth=seconds%10; 
        
        if(third==1){ 
            fourth=seconds; 
            third=0; 
        } 
               
        if(minutes>0){ 
            snprintf(Minutes, MAX_DATA_LENGTH, "%s%s", high[first], low[second]); 
        } 
        
        if(seconds>0){ 
            snprintf(Seconds, MAX_DATA_LENGTH, "%s%s ", high[third], low[fourth]); 
        } 
        
        snprintf(outputstring,MAX_DATA_LENGTH,"fvox/%s minutes %s seconds remaining",Minutes,Seconds ); 
        
	for(i=1; i<=maxplayers; i++) {
		strinit(Target);
		if(playerinfo(i,Target,MAX_NAME_LENGTH,SessionID,WONID,_,_,Authid)==1) {
			if(strcmp(Authid,"BOT")!=0){
				speakto(Target,outputstring);
			}
		}
	}
	return PLUGIN_HANDLED;
}

public HandleSay(HLCommand,HLData,HLUserName,UserIndex) {
	new Command[MAX_COMMAND_LENGTH];
	new Data[MAX_DATA_LENGTH];
	new User[MAX_NAME_LENGTH];
	
	convert_string(HLCommand,Command,MAX_COMMAND_LENGTH);
	convert_string(HLData,Data,MAX_DATA_LENGTH);
	convert_string(HLUserName,User,MAX_NAME_LENGTH);

	strstripquotes(Data);
	if (streq(Data, "timeleft")==1) {
		checktime = systemtime()-(systemtime()- checktime);
		map_time();
		if (systemtime() < iLastSpeak) {
			return PLUGIN_CONTINUE;
  		} else {
			SpeakTimeleft();
			iLastSpeak = systemtime();
			iLastSpeak += 60;
		}
	}
	return PLUGIN_CONTINUE;
}

Und hier auch mal, wie es SR71GOKU generell gemacht hat. Die Lösung ist wahrscheinlich schon passender für Dich.
Code:
/* The library of words for numtoword */
static OnesLib[10][] = { "", "one ", "two ", "three ", "four ", "five ", "six ", "seven ", "eight ", "nine " };
static TensLib[10][] = {"", "ten ", "twenty ", "thirty ", "fourty ", "fifty ", "sixty ", "seventy ", "eighty ", "ninety " } ;
static TeensLib[10][] = {"", "eleven ", "twelve ", "thirteen ", "fourteen ", "fifteen ", "sixteen ", "seventeen ", "eighteen ", "nineteen " };
static HundredsLib[10][] = { "", "one hundred ", "two hundred ", "three hundred ", "four hundred ", "five hundred ", "six hundred ", "seven hundred ", "eight hundred ", "nine hundred " };
static GroupNamesLib[5][] = {"", "thousand ", "million ", "billion ", "trillion " };

stock do_numtoword(iNum,str[],iLevel,iLength) {
	
	/* If there is more than one group of 3, then take care of the others first. */
	if(iNum >= 1000) do_numtoword(iNum / 1000,str,iLevel + 1,iLength);
	
	/* Grab the the first 3 digits only */
	iNum %= 1000;	
	
	/* Isolate each digit */
	new _hundreds = iNum / 100;
	new _tens = (iNum / 10) % 10;
	new _ones = iNum % 10;
	
	/* Take care of the teen numbers */
	if(_tens == 1 && _ones != 0) {
		snprintf(str,iLength,"%s%s%s%s",str,HundredsLib[_hundreds],TeensLib[_ones],GroupNamesLib[iLevel]);
	} else {
		snprintf(str,iLength,"%s%s%s%s%s",str,HundredsLib[_hundreds], TensLib[_tens], OnesLib[_ones],GroupNamesLib[iLevel]);
	}
	
	if(iLevel==0) str[strlen(str)-1] = 0; /* Gets rid of the trailing space*/
	return 1;
}

stock numtoword(iNum,str[],iLength) {
	/* Empties the first char of the string */
	str[0] = 0;
	str[iLength-1] = 0;
	if(iNum == 0) {
		snprintf(str,iLength,"zero");
		return 1;
	}
	if(iNum < 0) {
		iNum *= -1;
		snprintf(str,iLength,"negative ");
	}
	
	return do_numtoword(iNum,str,0,iLength); 
}
Diesen Code habe ich aus seiner .inc Datei.

_________________
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: 22.03.2003, 17:01 
AM.de Team

Registriert: 08.07.2002, 21:11
Beiträge: 2192
Genial! THX das hilft weiter. :D

_________________
it's better to burn out, than to fade away


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 22.03.2003, 17:46 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
ich habe hier mal einen Beispielcode :-)

Ich konnte mich nicht zurückhalten und musste selber die Funktionen testen.

_________________
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: 22.03.2003, 19:32 
AM.de Team

Registriert: 08.07.2002, 21:11
Beiträge: 2192
Naja, Beispiel ist gut, das ist ein fertiges Plugin! :lol:
Da ist nicht mehr viel hinzuzufuegen :D
Ich lass es mal auf unserem I-Net Server laufen.

greez

[-=THH=-]Stillsetzhut

_________________
it's better to burn out, than to fade away


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 22.03.2003, 21:30 
AM.de Team

Registriert: 08.07.2002, 21:11
Beiträge: 2192
So, hab mir gerade mal die Funktion auf unserem I-Netserver angesehen. Funktioniert einwandfrei! :D
Saubere Arbeit.

_________________
it's better to burn out, than to fade away


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 23.03.2003, 13:53 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
ich werde das Ganze wahrscheinlich noch in die neue Version vom Impressive basteln.

Mal sehen.

_________________
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.03.2003, 14:38 
AM.de Team

Registriert: 08.07.2002, 21:11
Beiträge: 2192
Hab's mal ein wenig daheim laufen lassen

mp_timelimit 0
mp_roundtime 1

Eben mal reingehorcht: Es kam einwandfrei die Meldung 1368 (akustisch natuerlich) :lol:

_________________
it's better to burn out, than to fade away


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 29.03.2003, 17:54 
AM.de Team
Benutzeravatar

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

_________________
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  [ 15 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 ]"