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

Schrift auch rechts oben möglich???
https://www.adminmod.de/viewtopic.php?t=9184
Seite 1 von 1

Autor:  Spinne [ 30.01.2005, 20:49 ]
Betreff des Beitrags:  Schrift auch rechts oben möglich???

Hallo Leutz,
ich arbeite zur Zeit an einem Plugin, das jedem Player am Server einen Text aus einer Datei einblendet. Das funktioniert mittlerweile auch :)
Aber irgendwie finde ich dass diese Nachrichten stören, wenn die entweder links unten oder in der Mitte auftauchen.
Habe mir gedacht, dass es rechts oben besser wäre!!!! Geht das überhaupt??? Wenn ja, wie?!?!
Großes Danke an die Small-Fangemeinde :wink:

mfg Spinne

Autor:  [WING] Black Knight [ 30.01.2005, 22:12 ]
Betreff des Beitrags: 

Derzeit geht das leider nicht.

Autor:  Spinne [ 31.01.2005, 01:04 ]
Betreff des Beitrags: 

Oh, das ist aber blöd. Und warum funkt das nicht; nur so aus Interesse. . .

mfg Spinne

Autor:  Sir Drink a lot [ 31.01.2005, 02:56 ]
Betreff des Beitrags: 

da keine Option in der dll / so dafür vorgesehen ist.

Autor:  Spinne [ 31.01.2005, 22:47 ]
Betreff des Beitrags: 

Aha.
Ich will ja nicht lästig sein, aber wie steht es mit "Mitte-unten"???

mfg Spinne

Autor:  [WING] Black Knight [ 01.02.2005, 10:46 ]
Betreff des Beitrags: 

Da könnte man evtl. was mit vielen Returnzeichen (CSay) versuchen. Aber, ob das bei allen Auflösungen klappt, fraglich...

Autor:  Sir Drink a lot [ 01.02.2005, 18:51 ]
Betreff des Beitrags: 

poste mal die sma in CODE Tags oder häng mal die Datei hier rein mit den zugehörigen Text Dateien.

Man könnte, wie Blacky schon erwähnt, mit vielen Zeilenumbrüchen arbeiten.

Hier ein Beispiel für admin_lcsay an einen Spieler:

admin_lcsay "Name des Spielers" Textnachricht

Nachtrag: Nun...bei 1024 * 768 ist die Nachricht dann knapp über dem Timer in der Mitte, bei 800*600 unterhalb des Timers...

Dateianhänge:
plugin_sdal_lcentersay.zip [655 Bytes]
327-mal heruntergeladen

Autor:  Spinne [ 01.02.2005, 21:51 ]
Betreff des Beitrags: 

OKAY,
hier kommt das Weltklasse Plugin von der Spinne :( Aber bitte nicht lachen *hrhr
Das mit den Umbrüchen hab ich zwar noch nicht ganz verstanden, aber man wird mich sicher aufklären. . . :D

Die STEAM_0_blabla.txt wird von einem Perl-Skript geschrieben, welches die Log-Files von meinem TFC-Server auswertet. Für jeden, der einmal auf diesem Server war, gibt es dann halt so eine Datei.

mfg Spinne

PS: Danke für die Anteilnahme

Dateianhänge:
STEAM_0_1_1816136.txt [332 Bytes]
354-mal heruntergeladen
plugin.sma [2.67 KiB]
384-mal heruntergeladen

Autor:  [WING] Black Knight [ 01.02.2005, 22:20 ]
Betreff des Beitrags: 

Hmm, theoretisch müsste man auf ein Perl Skript verzichten können.
Man müsste eigentlich per Plugin die Rollenwahl abfangen können und eigenständig eine solche Datei erstellen können.
Für die Kills bräuchte man allerdings Logd, nehme ich an.

Ein Zeilenumbruch ist ^n

Autor:  Spinne [ 01.02.2005, 23:30 ]
Betreff des Beitrags: 

Oooooh,
diese Umbrüche, jetzt hab ich es geschnallt. Bin halt nicht der schnellste. . .
Dieses Perl-Skript kann etwas mehr. Die Sache mit dem Adminplugin ist eigentlich nur ein "Nebenprodukt". So etwas wollt ich halt immer schon haben :lol:
Würde es also reichen, wenn der Inhalt von der STEAM_blabla.txt so aussieht:

^n^n^n^n^n^n^nYou played bla bla as Soldier
^n^n^n^n^n^n^nYou played bla bla as Sniper
usw...
????

Weil das wäre sehr einfach. Aber gibt es da nicht eine Begrenzung in Sachen "Zeichen pro Zeile"???

mfg Spinne

Autor:  Sir Drink a lot [ 01.02.2005, 23:52 ]
Betreff des Beitrags: 

ach das ist ja schon mal gar nicht so schlecht, Spinne. Wusste nicht, dass Du eins selber geschrieben hast.

Also:

Wie Blacky schon sagte, ist ein Zeilenumbruch ^n

Jetzt schau mal mein plugin_lcentersay an.

Ich habe einfach ein Array Text[MAX_TEXT_LENGTH]="^n^n^n^n^n usw."

und mit strcat hänge ich einfach die eigentliche Message an Text dran.

So...

Jetzt würde ich es also so machen, um !eine! zufällige ausgewählte Zeile ihm unten in der Mitte anzeigen zu lassen:

iTimer[UserIndex]=set_timer("display_line_of_file",99999,5,strUserIndex);

man müsste also UserIndex noch mit numtostr in eine String umwanden, welchen man an die Timerfunktion übergibt. (Spielernamen können sich ändern und sind eventuell unzuverlässig)

in der Timer-Funktion den HLParam mit convert_string in Small-String umwandeln und dann mit strtonum wieder in den UserIndex.

Mit playerinfo(UserIndex,UserName,MAX_NAME_LENGTH,_,_,_,_,AuthID); den Spielernamen und dessen AuthID gerrausfinden.
AuthID umwandeln, damit man Textfile auslesen kann.
strsubst(AuthID, ":", "_", MAX_TEXT_LENGTH);

fileexist und iFile=filesize(AuthID.txt)

iLine=random(iFile);

readfile(AuthID.txt,Data,iLine,MAX_DATA_LENGTH);

new Output[MAX_TEXT_LENGTH];
snprintf(Output,MAX_TEXT_LENGTH,"%s%s",Text,Data);
centersayex(UserName,Output,12,255,255,255);

Zu Timern:
public babbel() muss so aussehen:
public Timer(Timer,Repeat,HLName,HLParam) {

Autor:  Sir Drink a lot [ 01.02.2005, 23:55 ]
Betreff des Beitrags: 

maximal 80 Zeichen in einer Zeile.
Hmm...oder kann centersayex 100 Zeichen in der Zeile? Hab gerade getestet und es kann wohl mehr...

Vielleicht kann man es dann sogar alles nebeneinander hinbekommen :) als zufällig eine Zeile auslesen

Autor:  Spinne [ 07.02.2005, 19:34 ]
Betreff des Beitrags: 

Hallo Leutz,
erstmal thx für die vielen Antworten; besonders Sir Drink a lot hat sich da ja mächtig ins Zeug gelegt :D

Ich hab ziemlich lange herumprobiert, aber Black Knight hatte recht. Da jeder mit einer anderen Auflösung spielt, ist das nicht vorteilhaft!!!!
Was bei einem in der Hälfte des unteren Drittels ist, ist bei jemand anders in der Hälfte des Schirms.
Nuju, ich hab mich mal mit links-unten angefreundet.

mfg Spinne

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