Hacking Blaxxun multiuser VRML for offline use: Difference between revisions

From Flashpoint Datahub
Jump to navigation Jump to search
No edit summary
No edit summary
Line 2: Line 2:


This page will hopefully explain how to hack VRML that uses Blaxxun multiuser features to work properly while offline.
This page will hopefully explain how to hack VRML that uses Blaxxun multiuser features to work properly while offline.
Any world that uses Blaxxun multiuser features will have a node named <code>SharedZone</code>, and hence have <code>DEF SharedZone</code> somewhere. The <code>SharedZone</code> will usually contain one or more <code>SharedEvent</code>s. While this is not strictly necessary, it is the case most of the time, and anything outside of that is out-of-scope for this document.
Worlds will often define on their own what a <code>SharedEvent</code> is, using code copied-and-pasted. The definition begins with <code>PROTO SharedZone</code>.
If the definition defines <code>local</code>, you're in luck, and you just need to change it as follows
<code>
<pre>
PROTO SharedEvent [
field SFBool local FALSE
field SFBool debug FALSE
</pre>
</code>
change <code>local FALSE</code> to <code>local TRUE</code>, so it reads as follows:
<code>
<pre>
PROTO SharedEvent [
field SFBool local TRUE
field SFBool debug FALSE
</pre>
</code>
and make sure the <code>SharedZone</code> doesn't have <code>local FALSE</code> in its <code>SharedEvent</code> usages.
If the <code>SharedEvent</code> doesn't contain <code>local</code>, you will need to add it yourself.

Revision as of 06:06, 18 March 2021

VRML worlds designed for Blaxxun Contact were often intended to be used in a multiuser context. Without the Blaxxun server running, some things might not work as expected. Light switches might not toggle, minigames might not work properly, pool covers might not open. In their original context, the buttons to trigger these would send off events to the server, which would send a message back to everyone connected to the world at the time (or sometimes later), including the original person.

This page will hopefully explain how to hack VRML that uses Blaxxun multiuser features to work properly while offline.

Any world that uses Blaxxun multiuser features will have a node named SharedZone, and hence have DEF SharedZone somewhere. The SharedZone will usually contain one or more SharedEvents. While this is not strictly necessary, it is the case most of the time, and anything outside of that is out-of-scope for this document.


Worlds will often define on their own what a SharedEvent is, using code copied-and-pasted. The definition begins with PROTO SharedZone.

If the definition defines local, you're in luck, and you just need to change it as follows

PROTO SharedEvent [
field SFBool local FALSE
field SFBool debug FALSE

change local FALSE to local TRUE, so it reads as follows:

PROTO SharedEvent [
field SFBool local TRUE
field SFBool debug FALSE

and make sure the SharedZone doesn't have local FALSE in its SharedEvent usages.

If the SharedEvent doesn't contain local, you will need to add it yourself.