Engine:CCMD context: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
 
(7 intermediate revisions by the same user not shown)
Line 5: Line 5:
== Arguments ==
== Arguments ==
* name (optional) - The name of the context to switch to. If no name, then prints the name of the current context.
* name (optional) - The name of the context to switch to. If no name, then prints the name of the current context.
== Associations ==
* Is available in all contexts.


== Details ==
== Details ==
Line 10: Line 13:


For a context to be available, it has to be associated with the one you are in. These associations are created by the various engine modules and can never be directly added or removed by console commands, or any type of script or AddOn.
For a context to be available, it has to be associated with the one you are in. These associations are created by the various engine modules and can never be directly added or removed by console commands, or any type of script or AddOn.
Although doesn't involve the 'context' command, context names can also be used to reference facilities in other contexts directly, rather than by switching first.


== Examples ==
== Examples ==
Line 23: Line 28:
global
global
</kua>
</kua>
* Same as the first example. But change to the known 'client' context, which is addressable from the 'global' context.
=== Context separation ===
* Same as the first example. But change to the known 'client' context, which is addressable from the 'global' context.  
<kua>
<kua>
> context client
> context client
Line 30: Line 36:
<kua>
<kua>
> start
> start
Client is started.
Client started.
> bob 8081
> bob 8081
> bob
> bob
Line 42: Line 48:
> context
> context
global
global
> bob
Unknown: bob
</kua>
=== Without switching ===
In these examples a context is addressed directly without using the context command.
* Show current context.
<kua>
> context
global
</kua>
* Start the client service directly from global without switching. 
<kua>
> client start
Client started.
</kua>
* Set the 'bob' variable in client, check its value in 'client', and verify it's not in 'global'.
<kua>
> client bob 8081
> client bob
'bob' is '8081'
> bob
> bob
Unknown: bob
Unknown: bob

Latest revision as of 18:42, 15 October 2023

Console commands

Switches contexts or prints the current context.

context client

Arguments[edit]

  • name (optional) - The name of the context to switch to. If no name, then prints the name of the current context.

Associations[edit]

  • Is available in all contexts.

Details[edit]

The 'context' command allows changing between named contexts. Each context may have its own commands and variables and rules, and purpose.

For a context to be available, it has to be associated with the one you are in. These associations are created by the various engine modules and can never be directly added or removed by console commands, or any type of script or AddOn.

Although doesn't involve the 'context' command, context names can also be used to reference facilities in other contexts directly, rather than by switching first.

Examples[edit]

Default values[edit]

  • Try to change to a non-existent context.
> context bob
Unknown: bob
  • Called with no name. The current context is printed.
> context
global

Context separation[edit]

  • Same as the first example. But change to the known 'client' context, which is addressable from the 'global' context.
> context client
  • Start the client service, and change the client 'bob' variable which exists only in the 'client' context.
> start
Client started.
> bob 8081
> bob
'bob' is '8081'
> context
client
  • Change back to the 'global' context. Test to see that the bob variable in 'client' is not in 'global'.
> context global
> context
global
> bob
Unknown: bob

Without switching[edit]

In these examples a context is addressed directly without using the context command.

  • Show current context.
> context
global
  • Start the client service directly from global without switching.
> client start
Client started.
  • Set the 'bob' variable in client, check its value in 'client', and verify it's not in 'global'.
> client bob 8081
> client bob
'bob' is '8081'
> bob
Unknown: bob

Notes[edit]