AdminMod.de https://www.adminmod.de/ |
|
PLUGIN: Time-Manager https://www.adminmod.de/viewtopic.php?t=4540 |
Seite 1 von 6 |
Autor: | Sir Drink a lot [ 18.12.2002, 23:54 ] |
Betreff des Beitrags: | PLUGIN: Time-Manager |
Hi Leute! Ich habe mal einen Time-Manager gemacht, der Befehle zu gewissen Zeitpunkten innerhalb der 'korrekten' Mapzeit ausführt. Es basiert auf dem logd_timerem2. Man hat eine command.ini. Diese wird unter addons/adminmod/config gespeichert. In die command.ini kommen die Zeitpunkte in Sekunden und der Befehl der ausgeführt werden soll. Die höchste Zeitangabe mit Befehl kommt als aller erstes und darunter die zweithöchste etc.!! Wenn ihr euch daran haltet, funktioniert es auch. Pro Zeile kann maximal ein Befehl ausgeführt werden. Also in 1 Sekunde ein Befehl. Beiligend im Download ein Beispiel für ein 'Time-Remaining' Aber Achtung: Ich übernehme keine Verantwortung für das was ihr in die command.ini schreibt. Wenn ihr z.B. zu irgendeinem Zeitpunkt 'quit' ausführt und der Server runter fährt, ist das eure eigene Schuld!!! Es ist noch Beta. Es besitzt auch keinerlei Befehle. Es läuft gänzlich automatisch. Also testet es mal, wenn Bedarf besteht! Gruß, SDal |
Autor: | [WING] Black Knight [ 19.12.2002, 00:21 ] |
Betreff des Beitrags: | |
An sowas hatte ich als Erweiterung für mein Cron Plugin gedacht. Das ist Konzept ist stark verbesserungswürdig. Aber das Plugin sollte für einfache Anwendungen hervorragend funktionieren. Am besten beschnacken wir das morgen mal. |
Autor: | Sir Drink a lot [ 19.12.2002, 00:21 ] |
Betreff des Beitrags: | |
In dem Beispiel benutze ich auch das Plugin admin_speech, um die HL-Sprachausgaben zu machen! Habe ich ganz vergessen zu sagen!! Nachtrag: Die Anzahl an Befehlen/Zeilen ist erstmal großzügig auf 100 begrenzt, |
Autor: | Sir Drink a lot [ 19.12.2002, 11:15 ] |
Betreff des Beitrags: | |
Lalalala..."das Konzept ist stark verbesserungswürdig"..lalala Dann hau mal rein und zeigs mir, wie es geht |
Autor: | [WING] Black Knight [ 19.12.2002, 19:05 ] |
Betreff des Beitrags: | |
Meld Dich mal. Du hast so wie ich das sehe echt einen "Bug" im Programm, für den Du aber nichts kannst. |
Autor: | DarkEyes1 [ 19.12.2002, 20:33 ] |
Betreff des Beitrags: | |
jau, trotz bug funzt es aber... sdal ? überarbeitest es nochmal ? wollen ja ne bugfreie version... gell ? |
Autor: | Sir Drink a lot [ 19.12.2002, 20:47 ] |
Betreff des Beitrags: | |
ja. Das einzige wobei ihr eben aufpassen müsst ist, dass eure einzelne Zeile nicht über 98 Zeichen kommt. Habe gerade mit Blacky darüber gesprochen. Ich sehe mir jetzt mal seine Lösungen an. |
Autor: | Sir Drink a lot [ 19.12.2002, 23:25 ] |
Betreff des Beitrags: | |
So..habe es mal überarbeitet. Hat jetzt einen Befehl: admin_tm_list Damit kann man sich ansehen, welche Befehle und Zeiten geladen wurden und wie lange es dauert, bis der nächste Befehl ausgeführt wird. Es dient auch gleichzeitig der Zeitkorrektur. Also sollte Euch etwas komisch vorkommen, einfach mal den Befehl ausführen. Vielleicht gehts dann wieder. Ausserdem neu: ihr könnt // benutzen, um Zeilen auszukommentieren. Leerzeilen werden hoffentlich auch nicht mehr eingelesen. Es sollten auch keine AMX Error 10 mehr kommen. Zumindest werden sie nicht von diesem Plugin verursacht. Wenn ihr natürlich kilometerlange Messages machen wollt, benutz '\n' (Zeilenumbruch) zwischendurch. Sonst kommt sicherlich ein Error bei dem Plugin, was ihr ausführen wollt. Ok. Berichtet von Bugs. |
Autor: | Sir Drink a lot [ 20.12.2002, 13:29 ] |
Betreff des Beitrags: | |
So. Das ist jetzt mal eine Testversion. Ich habe es so geändert, dass man in der vault.ini den Namen der command.ini angibt. z.B. TM_FILE command.ini Um die command.ini jederzeit zu ändern, gibt es jetzt den Befehl: admin_tm_config 'Filename' Es bewirkt das Einlesen des neuen Files und die Analyse der Ausführung anhand der neuen Zeiten und der dazugehörigen Befehle. Mit admin_tm_list kann man das nochmal überprüfen. Die Daten aus der alten geladenen ini-Datei (Zeiten und die dazugehörigen Befehle) werden überschrieben. Jetzt kann man ja gewaltige Sachen damit machen.... Man setzt z.B. in der ersten command.ini bei 1sek mit admin_tm_config command2.ini auf die nächste ini-Datei...Und somit ist bei der nächsten Map die command2.ini aktiv. Und so weiter. Man kann auch eine "Hauptcommand.ini" machen. Dazu würde sich z.B. das Beispiel-Timerem eignen... Und dann macht man viele "Untercommand.ini"s mit der man die Hauptcommand.ini verlässt und nach Ausführen der Untercommand.ini wieder automatisch zurück in die Hauptcommand.ini springt... Oder man ändert mit dem bk_cron einfach die ini-Datei... Aber Ort der command.inis ist immer addons/adminmod/config. In die vault.ini kommt nur TM_LIST 'Filename.Endung' (könnt sie auch .cfg, .txt, .tm nennen...) Oh Gott...grenzenlose, unendliche Anwendung... P.S.: Blacky hat mich darauf hingewiesen, dass man vielleicht auch gerne mehrere Befehle in einer Sekunde ausführen möchte. Oder einen Befehl kontinuierlich in x Minuten... Das würde aber eine komplette Umstrukturierung des Plugins bedeuten......anderes Konzept. Ich weiß noch nicht, ob ich es machen will und ob man nicht mit der jetzigen Lösung auch zufrieden sein kann. Man hat mit dem Plugin zwar viele Zeilen, aber ist doch auch kein Beinbruch Was denkt ihr? |
Autor: | metaxa [ 23.12.2002, 03:59 ] |
Betreff des Beitrags: | |
hmm wieso sehe ich das jetz erst, naja war halt ein hartes weekend, werde das plugin gerne testen. Grüße metaxa P.s. Aber erst wenn ich wieder alles peile |
Autor: | Sir Drink a lot [ 23.12.2002, 10:39 ] |
Betreff des Beitrags: | |
Sorry. Hatte im Thread vom Vote For it nicht darauf hingewiesen, dass ich hier schon was Neues gemacht habe. Obwohl der Wunsch auf diese erweiterte Funktion sogar von Dir kam. (glaube ich). Zum besseren Verständniss, nochmal eine Beschreibung der Änderung und der Funktionsweise dieses Plugins.(ich weiß, ich drücke mich immer so umständlich aus...): - Das Plugin dient generell dazu, Befehle zu einem gewissen Zeitpunkt automatisch auszuführen. - Die Zeitpunkte, wann ein Befehl ausgeführt werden soll, werden in Sekunden angegeben. - Die Zeitpunkte werden nach Mapstart überprüft. Stimmt die Mapzeit mit dem angegebenen Zeitpunkt überein, wird der entsprechende Befehl ausgeführt. - Die Zeitpunkte und die dazugehörigen Befehle werden in eine Datei geschrieben. Die Datei wird unter addons/adminmod/config gespeichert. Damit das Plugin auch weiß, welche Datei benutzt werden soll, wird in die vault.ini als Erkennung TM_LIST Filename.Fileendung geschrieben. - Ist unter TM_LIST kein Eintrag zu finden oder ist der Filename falsch geschrieben, ist das Plugin deaktiviert. - Innerhalb des Spiels kann man über die Console mit dem Befehl: admin_tm_config 'Filename.FileEndung' jeder Zeit die Datei ändern. Das Plugin ließt also die neue Datei ein und überprüft die Zeitpunkte und deren Befehle und führt sie entsprechend aus. Die alten Zeitpunkte und deren Befehle werden überschrieben. - Mit dem Befehl admin_tm_list kann man sich ansehen, welche Datei geladen wurde, welche Zeitpunkte und Befehle anstehen, wie lange die Mapzeit in Sekunden noch beträgt und wie lange es dauert, bis der nächste Befehl ausgeführt wird. - Zum Aufbau der Datei ist zu sagen, dass sie chronologisch aufgebaut sein muss. Man fängt also mit dem höchsten Zeitunkt an. z.B. so: 1800 admin_csay blue Es sind noch 30 Minuten bis zum Mapwechsel 1500 admin_csay white Noch 25 Minuten bis mapchange! usw. bis 1 Sekunde. - da einem der Befehl admin_tm_config zur Verfügung steht, kann man ihn ja selbst in der Datei benutzen, um automatisch die Datei zu wechseln. Soll heißen, dass man in der letzten Sekunde die Datei wechseln kann, so daß bei der neuen Map nach mapchange eine andere Datei aktiv ist. - oder man benutzt Black Knights plugin_bk_cron, um die Datei zu einer gewissen Uhrzeit und Datum zu ändern. Mit diesen beiden Plugins kann man sozusagen den Server komplett automatisch steuern. Das plugin_bk_cron dient zur globalen Steuerung anhand der Uhrzeit und Datum und der time-manager zur lokalen Steuerung auf der gerade gespielten Map.(gemessen am mp_timelimit) Ich hoffe, die Erklärung macht es etwas deutlicher, was für ein Potential dahinter steckt. (ich meine jetzt die Plugin Möglichkeiten...nicht die Plugin-Autoren ) |
Autor: | [WING] Black Knight [ 23.12.2002, 12:07 ] |
Betreff des Beitrags: | |
Zitat: Ich hoffe, die Erklärung macht es etwas deutlicher, was für ein Potential dahinter steckt. (ich meine jetzt die Plugin Möglichkeiten...nicht die Plugin- Autoren )
Das war jetzt aber eindeutig zweideutig.
|
Autor: | Sir Drink a lot [ 23.12.2002, 12:59 ] |
Betreff des Beitrags: | |
hihi |
Autor: | Sir Drink a lot [ 23.12.2002, 15:18 ] |
Betreff des Beitrags: | |
So. Ich arbeite gerade an einer neuen Version. ich werde wohl ein admin_tm_exec 'Zeilennummer' einbauen. Damit kann man direkt die Ausführung eines Befehls erzwingen. Die Zeilennummer bekommt man mit admin_tm_list. Und dann habe ich noch eine Idee, die ich mich gar nicht traue zu erklären. Die Idee ist, zu einem bestimmten Zeitpunkt während der Mapzeit auch mehrere Befehle durchfüren zu lassen. Bisher geht ja immer nur einer. Also habe ich mir ein admin_tm_exectask 'filename' ausgedacht. Jaja...schon wieder eine Datei.... In dieser Datei soll dann die Wartezeit, Wiederholung und der Befehl eingetragen werden. Wenn der Befehl sofort ausgeführt werden soll, muss man als Wartezeit eine 0 und Wiederholung auch eine 0 eintragen. Die Wartezeit, Wiederholung und der Befehl werden einfach mit Leerzeichen voneinander getrennt. Dieser Task wird direkt komplett abgearbeitet und läuft dann völlig automatisch je nach Wartezeit und Wiederholung. Mit admin_tm_killtask kann man höchstens die Abarbeitung aller Tasks komplett manuell löschen/stoppen. Wenn sich die Mapzeit verändert oder eine andere command.ini (Hauptdatei) geladen wird, werden die gestarteten tasks automatisch gelöscht. Nun, ich erkläre mal besser nicht weiter...Sonst versteht nach her keiner mehr was. Noch fragen? P.S.: Um nicht in Durcheinander zu kommen, nennen wir ab jetzt die Datei, die die Zeitpunkte und Befehle bezogen auf die Mapzeit enthält command.ini. Die Datei, die Tasks enthält, nennen wir tm_Task.cfg. |
Autor: | Sir Drink a lot [ 27.12.2002, 22:27 ] |
Betreff des Beitrags: | |
So..hier mal das Update. Bitte die readme lesen. Da mein Englisch zu schlecht ist, wie sicherlich viele schon bemerkt haben, habe ich sie in Deutsch gemacht. Bitte haltet die 'mapzeitungebundenen' Tasklisten so klein wie möglich. Es können insgesamt nur maximal 99 Timer gleichzeitig laufen. Sonst kippt mein Array, welches die Indizes der Timer speichert....Mir ist keine bessere Lösung eingefallen. Gruß, SDal P.S.: Falls es mal wirklich gut laufen sollte, kann ich die ganzen Nachrichten dieses Plugins rausmachen, bzw. einen Debug-Mode einführen. Dann zeigt es nicht mehr in den Logs, was es gerade macht. |
Autor: | metaxa [ 28.12.2002, 21:22 ] |
Betreff des Beitrags: | |
SAGE NUR EINS: BRAVO läuft super dickes Lob an den Programmierer THX metaxa |
Autor: | Sir Drink a lot [ 29.12.2002, 02:30 ] |
Betreff des Beitrags: | |
Danke Dir. Also ist das Prinzip auch nicht zu kompliziert, oder? Der Unterschied sind eben die'mapzeitgebundenen' und 'mapzeitungebundenen' Tasks. Die 'mapzeitgebundenen' Tasks sollen eben zu der Sekunde ausgeführt werden, die der Mapzeit entspricht. (von mp_timelimit bis 0) Die 'mapzeitungebundenen' Tasks werden eben ab Startpunkt des Aufrufs gemessen. Das Problem ist eigentlich, dass der Server eine Menge anderes zu tun hat, als die Timer zu überwachen. Deswegen rate ich auch dazu, die 'mapzeitungebundenen' Tasks klein zu halten. Wenn der Server wirklich voll besetzt ist, kann schon einmal ein Timer verschluckt werden. Ich versuche natürlich das 'Risiko des Vergessens' mit oft wiederkehrenden Überprüfungen abzufangen, was den Code sehr unschön macht. Man kann es sicherlich optimieren. Nunja. Ich gehöre aber eben zu den Schreib-und Ausprobier-Skriptern anstatt zu den Konzept- und Schreib-Programmierern. Ich hoffe, man vergibt mir |
Autor: | DarkEyes1 [ 29.12.2002, 11:11 ] |
Betreff des Beitrags: | |
also, mein server ist ziemlich oft voll... zwar nur nen 12er, aber verschluckt hat er noch kein command... das plugin ist simpel aber nützlich... ich benutze es sogar zu wars... immer ne neue command.ini |
Autor: | -imts.ProBus- [ 05.01.2003, 15:22 ] |
Betreff des Beitrags: | |
bei mir funktioniert das plugin nicht, obwohl ich es genau nach Anleitung installiert habe... kann mir nicht jemand erklären, wie dio_motm mit adminmo 2.50.50 geht? thx |
Autor: | DarkEyes1 [ 05.01.2003, 15:28 ] |
Betreff des Beitrags: | |
kann ich mir kaum vorstellen... das ist ja wohl ganz einfach... mit anleitung... die ist nämlich sehr gut geschrieben... die beiden c*.ini`s in den config-ordner die daten der vault.ini in deine eintragen... dann das plugin ganz normal installieren... fertig... |
Seite 1 von 6 | Alle Zeiten sind UTC+01:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |