VoidExpanse/scope-actions: Difference between revisions

From AtomicTorchWiki
No edit summary
Line 23: Line 23:
}}
}}


{{Scripting_api|Create|
* string: event_name|
void|
<pre style="margin:0px">actions.Create("MyEvent");</pre> |
Creates custom event, to which other scripts can bind their functions. Later can be invoked using function Start (see below)
}}
{{Scripting_api|Remove|
* string: event_name|
void|
<pre style="margin:0px">actions.Remove("MyEvent");</pre> |
Removes custom event, that was created with actions.Create method.
}}
{{Scripting_api|Clear|
* string: event_name|
void|
<pre style="margin:0px">actions.Clear("OnNpcDie");</pre> |
Removes all subscriptions to specified event. Also includes subscriptions made from another scripts.
}}
{{Scripting_api|Start|
* string: event_name
* object: args|
void|
<pre style="margin:0px">actions.Start("MyEvent", {my_name: "dlirry"})</pre>|
Invokes event with specified parameters, that'll force all subscribed functions to be called.
}}


{{Scripting_api|BindToTrigger|
{{Scripting_api|BindToTrigger|
Line 33: Line 61:
     tags_class: "alien_hive",
     tags_class: "alien_hive",
     killer_ship_id: topic.GetCurrentShipId()
     killer_ship_id: topic.GetCurrentShipId()
});</pre> |
});</pre>|
Binds script's function to specific trigger (triggers are almost the same as events, but
<nowiki>Binds script's function to specific trigger (triggers are almost the same as events, but
they also can have parameters, that'll be filtered on C# level, thus making script to work faster).
they also can have parameters, that'll be filtered on C# level, thus making script to work faster).
Parameters, specified as third argument, must furfill following requirements:
Parameters, specified as third argument, must furfill following requirements:
* parameter names must be exactly the same as those, with which trigger is invoked
* parameter names must be exactly the same as those, with which trigger is invoked
* parameter can also use special forms, like this one: we can filter all npc-related triggers also by npc's tags, like this: tags_VARNAME_IN_TAGS. Like it was done in an example above - function will be called only when npc with tags.class == "alien_hive" is killed.
* parameter can also use special forms, like this one: we can filter all npc-related triggers also by npc's tags, like this: tags_VARNAME_IN_TAGS. Like it was done in an example above - function will be called only when npc with tags.class == "alien_hive" is killed.</nowiki>
}}
 
{{Scripting_api|Clear|
* string: event_name|
void|
<pre style="margin:0px">actions.Clear("OnNpcDie");</pre> |
Removes all subscriptions to specified event. Also includes subscriptions made from another scripts.
}}
}}
{{Scripting_api|Create|
* string: event_name|
void|
<pre style="margin:0px">actions.Create("MyEvent");</pre> |
Creates custom event, to which other scripts can bind their functions. Later can be invoked using function Start (see below)
}}


{{Scripting_api|InvokeTrigger|
{{Scripting_api|InvokeTrigger|
Line 63: Line 76:
Invokes trigger with parameters. As trigger name you can use any string you like, if no one
Invokes trigger with parameters. As trigger name you can use any string you like, if no one
was subscribed to this trigger - it'll simply be ignored. The same goes to parameters.
was subscribed to this trigger - it'll simply be ignored. The same goes to parameters.
}}
{{Scripting_api|Remove|
* string: event_name|
void|
<pre style="margin:0px">actions.Remove("MyEvent");</pre> |
Removes custom event, that was created with actions.Create method.
}}
{{Scripting_api|Start|
* string: event_name
* object: args|
void|
<pre style="margin:0px">actions.Start("MyEvent", {my_name: "dlirry"})</pre> |
Invokes event with specified parameters, that'll force all subscribed functions to be called.
}}
}}



Revision as of 04:04, 13 February 2014


Config actions

Used to work with events, such as triggers and events. More info about events in VoidExpanse/events.

Visibility: Global.

List of functions

Bind
Arguments Returns Example
  • string: event_name
  • string: function_name

bool - returns whether function was hooked to event, or not (due to some errors)

actions.Bind("OnShipDestroyed", "OnShipDestroyedHandler");
Description

Binds script's function to some in-game event. This function will be called every time event occurs, for example, if function was bound to "OnShipDestroyed" event, it'll be called every time any ship is destroyed. Note: you can bind not only to standard events, but also to events you've created. To know, how to create your own event, look into Create & Start functions of actions scope.


Create
Arguments Returns Example
  • string: event_name

void

actions.Create("MyEvent");
Description

Creates custom event, to which other scripts can bind their functions. Later can be invoked using function Start (see below)


Remove
Arguments Returns Example
  • string: event_name

void

actions.Remove("MyEvent");
Description

Removes custom event, that was created with actions.Create method.


Clear
Arguments Returns Example
  • string: event_name

void

actions.Clear("OnNpcDie");
Description

Removes all subscriptions to specified event. Also includes subscriptions made from another scripts.


Start
Arguments Returns Example
  • string: event_name
  • object: args

void

actions.Start("MyEvent", {my_name: "dlirry"})
Description

Invokes event with specified parameters, that'll force all subscribed functions to be called.


BindToTrigger
Arguments Returns Example
  • string: trigger_name
  • string: function_name
  • object: parameters

void

topic.Bind("onNpcDie", "OnHiveKilled",
{ 
     tags_class: "alien_hive",
     killer_ship_id: topic.GetCurrentShipId()
});
Description

Binds script's function to specific trigger (triggers are almost the same as events, but they also can have parameters, that'll be filtered on C# level, thus making script to work faster). Parameters, specified as third argument, must furfill following requirements: * parameter names must be exactly the same as those, with which trigger is invoked * parameter can also use special forms, like this one: we can filter all npc-related triggers also by npc's tags, like this: tags_VARNAME_IN_TAGS. Like it was done in an example above - function will be called only when npc with tags.class == "alien_hive" is killed.


InvokeTrigger
Arguments Returns Example
  • string: trigger_name
  • object: args

void

actions.InvokeTrigger("onSystemLiberated", {system_id: sys_id});
Description

Invokes trigger with parameters. As trigger name you can use any string you like, if no one was subscribed to this trigger - it'll simply be ignored. The same goes to parameters.


UnbindFromTrigger
Arguments Returns Example
  • string: trigger_name
  • string: function_name

void

actions.UnbindFromTrigger("myTrigger", "MyTriggerHandler")
Description

Unbinds specified function from trigger.


UnbindFromTriggers
Arguments Returns Example

void

void

actions.UnbindFromTriggers();
Description

Unbinds all script's function from triggers. Useful, when you want to destroy script or do not want to use it anymore, and you want to quickly get rid of all script's trigger dependencies and subscriptions.