Ein neues Thema erstellen  Auf das Thema antworten  [ 29 Beiträge ]  Gehe zu Seite Vorherige 1 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: 04.07.2002, 15:07 

Registriert: 25.06.2002, 11:44
Beiträge: 16
Bist wie immer etwas schneller :lol:
Aber ich hatte gestern keine Zeit mehr ...

Naja, die sma kannst Du natürlich haben. Aber sag mir bloß nicht das Variablen wie "Text2" "Text3" ... nicht besonders viel sagend sind :roll:

Deine Funktionen muß ich mir gleich morgen Abend mal ansehen ( heute bin ich nicht zuhause ) ... und dann in alter Gewohnheit bei mir einfügen :lol:

Viper


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 04.07.2002, 17:06 
AM.de Team
Benutzeravatar

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

Du setzt aber immer sehr viele große Arrays in Deinen Funktionen. Da kann es mal zu einem AMX-Error 3 kommen, was ja eigentlich der Grund war für diesen Beitrag hier.

Die Rename-Funktion ist auch etwas heftig, da Du ja eigentlich die WONID aller auf dem Server mit denen in der Faker-Liste vergleichst und bei gleichen WONIDs umbenennst.

Ich habe mich dazu entschlossen, wirklich nur die umzubenennen, die auch wirklich mit gefaktem Namen spielen.

ich habe einfach wieder die look Funktion dafür genommen:
Code:
public look(a) {
	new i;
	new j;
	new maxplayers = maxplayercount();
	new Name[MAX_DATA_LENGTH];
	new SessionID;
	new Team;
	new Text[MAX_TEXT_LENGTH];
	new WONID;
	new WONID2;
	
	if (fileexists(TextFile) == 1) 
	{
	        selfmessage( "------------------------------- Spielerliste: ------------------------------");
		snprintf(Text,MAX_TEXT_LENGTH,"ORIGINALNAME^t^t^t^t^t^t^t^t^t^t^t^t^t^tSPIELER-FAKE-NAME");
		selfmessage(Text);
		selfmessage("");
		new strMessage[MAX_DATA_LENGTH];
		for(j=1; j <= LOOK_COUNTER; j++) {
			for(i=1; i<=maxplayers; i++) {
				if(playerinfo(i,Name,MAX_DATA_LENGTH,SessionID,WONID,Team)==1) {
					if (readfile(TextFile, strMessage, j, MAX_DATA_LENGTH) != 0) {
						new strWONID[MAX_DATA_LENGTH];
						strbreak(strMessage, strWONID, strMessage, MAX_DATA_LENGTH);
						WONID2 = (strtonum(strWONID));
						if(a==0){
							if (WONID2 == WONID){
								snprintf(Text, MAX_TEXT_LENGTH, "%s ^t^t^t^tspielt als %s", strMessage, Name);
								selfmessage(Text);
							}
						}else{
							if (WONID2 == WONID && streq(strMessage,Name)==0){
								snprintf(Text, MAX_TEXT_LENGTH, "%s ^t^t^t^twurde umbenannt in %s", Name, strMessage);
								snprintf(Text,MAX_TEXT_LENGTH,"name ^"%s^"",strMessage);
								selfmessage(Text);
								execclient(Name,Text);
							}
						}	
					}
				}
			}
		}
		selfmessage( "------------------------------------------------------------------------------");
	} else {
		selfmessage("-------------- ADMIN_LOOK --------------");
		selfmessage("");
		selfmessage("Fehler:");
		selfmessage("Kann LOOK.TXT nicht finden");
		selfmessage("");
		selfmessage("-----------------------------------------------");
		
	}
	return PLUGIN_HANDLED;
}
jetzt wird mit admin_look einfach die look(0) aufgerufen, also a==0 und mit admin_look_rename look(1).

Das kann man natürlich noch feiner machen in der Funktion look(). Aber ich war jetzt zu faul....wie so häufig...

_________________
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: 05.07.2002, 13:46 

Registriert: 25.06.2002, 11:44
Beiträge: 16
Hallo !

Naja, ich weiß das das PlugIn weder schön aussieht noch besonders clever gecoded ist.

Normalerweise bin ich es von Visual C++ auch gewohnt den Variablen kennzeichnendere Namen zu geben wie iWonID und sText.
Das ich die Funktion look() nicht als eigenständige Funktion gecoded hab ist ebenfalls unschön.

Aber eigentlich sollte das PlugIn nur die WonIDs der Spieler ausgeben, weil es eigentlich nur ein Test sein sollte um mich mit Small und der PlugIn coderei vertraut zu machen.

heute würde das ganze auch besser aussehen, aber das ganze Ding neu zu schreiebn ... naja, da bin ich zu faul zu :roll:

Bei rename ist bei mir auch noch ein kleiner Fehler.
Ein Spieler bei uns heißt" -=[S:M]=-|blabla "( oder so ) ... nach rename heißt er aber nur noch " -=[ " .
Ich denke das es daran liegt das ich den String der das Kommando
"name Name" enthällt nicht so aussieht wie bei Dir
"name ^"Name^" "
Aber da ich nicht wußte wie man die _"_ hinbekommt, und ich erst mal sehen wollte ob es überhaubt läuft denke ich das es nach dieser Änderung funktionieren wird.
Code:
streq(strMessage,Name)==0)
Das ist ne gute Idee, werde ich bei mir auch mal einbauen, obwohl ich nicht denke das es ein Problem ist wenn ich einen Spieler mit dem gleichen namen rename den er schon hat.
Code:
snprintf(Text, MAX_TEXT_LENGTH, "%s ^t^t^t^twurde umbenannt in %s", Name, strMessage); 
Aber was sollen die ^t Anweisungen ? Also ich kann mir jetzt nicht ganz vorstellen wie "Text" nach dieser Anweisung aussehen soll. ^t = tilde ???

Naja, das nächste PlugIn wird schöner :D

Viper


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 05.07.2002, 14:16 

Registriert: 17.12.2001, 01:00
Beiträge: 697
^t dürfte Tabulator sein.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 05.07.2002, 18:15 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
korrekt. ^t sind horizontale Tabulatoren. Sieht aber immer noch scheiße aus :-(.

Ich wollte die Anzeige mal was besser darstellen in der selfmessage.

Hier mal mehr:
Code:
Control characters
'^a' Audible alarm (beep)
'^b' Backspace
'^e' Escape
'^f' Formfeed
'^n' Newline
'^r' Carriage Return
'^t' Horizontal tab
'^v' Ver t i cal t ab
'^^' ^ the caret itself
'^'' ' single quote
'^"' " double quote
'^ddd;' character code with decimal code \ddd"
weiß aber nicht, ob alle gehen.

_________________
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: 05.07.2002, 18:49 

Registriert: 25.06.2002, 11:44
Beiträge: 16
Damit es besser aussieht habe ich folgendes gemacht:
Code:
snprintf(Text3,20,"%s                      ",Name);
strncat(Text3,Text4,62,MAX_TEXT_LENGTH);
Eigentlich sollte jetzt einem String "Name" soviele Leerzeichen angehängt werden bis halt die Stringlänge von 20 erreicht ist. "Text4" sollte somit immer ab Zeichen 20 ( mal /0 nicht mitgezählt ) beginnen.

So 100% funzt es nicht, aber es ist besser als vorher.

Thx übrigens für die ^Liste :)

Viper


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 05.07.2002, 19:37 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
Diese Idee mit strcat ist mir auch gerade eingefallen.

Das werde ich wohl noch so ändern.

_________________
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: 09.07.2002, 15:54 

Registriert: 06.01.2002, 01:00
Beiträge: 415
Wohnort: nicht weit weg von Köln
Evtl. könnt ihr noch ein paar Zeilen aus dem plugin_logd_spooky_names zur Umbenennung der Player verwenden.

www.ekclan.de/plugins/plugin_logd_spooky_names.zip

Bio

_________________
It's not a bug, it's a feature !


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 09.07.2002, 16:07 

Registriert: 25.06.2002, 11:44
Beiträge: 16
Da das mit dem umbenennen schon abgehackt ist, kann ich ( bzw. wir ) das PlugIn dafür nicht mehr brauchen.

Aber ich habe was anderes darin gefunden was ich brauchen kann. :D

Danke


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


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