Just a general question

Started by Bluscream, January 20, 2019, 10:20:04 AM

Previous topic - Next topic

Bluscream

I always asked myself why JTS3M uses a loop through clientlist instead of event's. Is there a special reason for that?

For example scripts like https://github.com/Bluscream/pyTSon_plugins/blob/master/scripts/quickPerm/__init__.py work just fine because they are faster then JTS3Mod's ServerGroup"Protection"

Stefan1200

Well, never checked the current server version, but some years ago there was no event for the most stuff. Only channel/server joins and leaves and channel changes trigger (or triggered) an event. And of course, chat messages.

Bluscream



from the serverquerydocs:

Usage: servernotifyregister
       event={server|channel|textserver|textchannel|textprivate}
       [id={channelID}]

Permissions:
  b_virtualserver_notify_register

Description:
  Registers for a specified category of events on a virtual server to receive
  notification messages. Depending on the notifications you've registered for,
  the server will send you a message on every event in the view of your
  ServerQuery client (e.g. clients joining your channel, incoming text
  messages, server configuration changes, etc). The event source is declared by
  the event parameter while id can be used to limit the notifications to a
  specific channel.

Example:
  servernotifyregister event=server
  error id=0 msg=ok

  servernotifyregister event=channel id=123
  error id=0 msg=ok


error id=0 msg=ok

Stefan1200

Ja, das nutze ich ja alles schon. Aber wer gerade aufnimmt, idle ist oder sich away geschaltet hat, wird nicht per Event übertragen. Ca. 50% aller Funktionen arbeiten mit den Events, halt überall, wo es möglich ist.

Bluscream

Ah okay, ja hast recht query ist echt nicht ausgelegt auf sowas. Dafür ist das lowlevel protokoll besser.