Dizzy wrote:OK, forget about my specific use-case. My question is more a theoretical one and I want to figure out if it's possible or not to draw some kind of message window on a client without the client needing to download an extra package?
As you know, I'm new to UScript and used to other languages but in my mind it's crazy that in order to display a simple message box, you have to subclass 3/4/5 different things and force the client to download a package.
Then please give an example of a language you're used to work with and the kind of things you generally do with it (at a high level, such as "sites", "apps", "games", you don't need to detail), so I can then maybe at least try to do an analogy between what you know and how stuff is supposed to work in languages like UScript (and similar ones, like Java, C#, etc).
However, I must say first that whichever language you use, if you don't have this concept on your mind, then probably you're doing stuff that only runs in a single machine, rather than a client-server architecture with RPCs, which is how most gaming engines work, or you're doing client-server stuff but you don't seem to understand how it actually works underneath since it may abstract some things for you, hence your confusion.
That is to say that either a client already has the necessary code and resources to be able to process a remote call from a server, or it has to get them somehow first before executing anything, either through downloading a client package (which is what engines generally do), or downloading the actual code to execute it (on-demand code, this could be something like a PHP server returning Javascript for the browser to run).
Otherwise, if the server does everything and just sends a view back to the client, instead of a client-server architecture, what you have at most is a terminal, not really a "client" per say in the context of client-server architectures.
In other words, if you want a UT99 server to draw something to a UT99 client, either the client must be already prepared to handle the exact task you want it to perform, or you need to provide the code and resources to it in order to do so, otherwise it's impossible.
But generally what you really want to do is not for the server to "draw" anything, what you want is for the server to send the message alone to the client (in other words, only the stuff that changes and is held by the server), and have the client just draw the window and show the message by itself (since the process of drawing and showing a message is always the same for the client).
But UT99 doesn't provide much for you to be able to do this (you can send messages themselves, but not really render a window from a server), so what you want it's quite impossible without creating a client package with the necessary code for the client to receive the message and render it.
However you seem to want to use Nexgen for this, therefore the question is then if whether or not Nexgen already has support to do something like that. In principle I would say so, but I don't know for sure since I never looked into it, but I have seen some servers doing some customization with it and such, but I don't remember if I had to download an extra package.
And if it cannot do what you want, and you're required to send a client package, it should be small enough to make no difference for the client to download it, be it a client package of your own or an existent mod/addon like Jack suggested, so I am not sure what your real worries are here either, I am not sure what problem you're trying to prevent here, and some insights on your reasoning would be helpful to understand what you're really struggling with.