Da wir jetzt schon auf Seite 2 sind und noch kein Lösungsansatz kam und (ohh wie unerwartet) mal wieder nur rumgelästert wird.
Du kannst es so lösen:
Erstelle eine Tabelle in w00_Character die eine spalte für charIDs hat. (zb tAnnounceLogin mit der Spalte nCharNo (unique-flag kann gesetzt werden, zum vorteil so taucht keiner doppelt auf))
Editiere die gespeicherte Prozedur w00_Character.dbo.p_Char_Login Erstelle dort eine Insert anweisung die die CharID in tAnnounceLogin (oder wie du deine erstellte Tabelle genannt hast) schreibt.
im nächsten Schritt benötigst du einen Cronjob (eine Anwendung / Script die etwas in bestimmten Zeitabständen ausführt) mit dieser Anwendung die in verschiedenen Sprachen geschrieben werden kann muss alle 5-15 sec die erstellte tabelle (im Beispiel w00_Character.dbo.tAnnounceLogin) ausgelesen und geleert werden (Select mit inner join auf w00_Character.dbo.tCharacter und den Namen abholen / Truncate von w00_Character.dbo.tAnnounceLogin).
Nun sendest du für jede gelesene Zeile der Tabelle eine GM-Shout.
Dies ist zb möglich indem du Snippets aus der C# GM-Shouts zur Hilfe nimmst.
Dadurch das die Tabelle geleert wurde werden die Leute nich doppelt Announced. und 5-15sec später werden dann die nächsten die neu on gekommen sind Announced.
Soviel zur Programierlogik, ich wünsche dir viel Erfolg bei der Umsetzung. Was für so ein System notwenig ist weisst du nun.
Ehrlich Leute... anstatt in nem thread wo jemand Hilfe sucht rumzulästern über andere Leute, wie wärs mit Hilfestellungen geben die zum Threadthema gehören?
Naja wers nötig hat. Nur mal so weils mich doch iwo interessiert: fühlt ihr euch jetzt besser? xD
Bei der Community ist es kein wunder das kaum noch wer hilft...