VoidExpanse/events: Difference between revisions
(Created page with "== Events == Events in scripts are governed by scope '''actions'''. You can create your own events, or you can subscribe to events created by other modders, but all scripting...") |
Atomic-admin (talk | contribs) No edit summary |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
{{Draft}} | |||
== Events == | == Events == | ||
Line 4: | Line 6: | ||
can subscribe to events created by other modders, but all scripting system is based on built-in | can subscribe to events created by other modders, but all scripting system is based on built-in | ||
events, which are the following: | events, which are the following: | ||
'''"OnEnterFrame"''' | |||
input: | |||
* double: multiplier - time in seconds passed since last frame | |||
Called every frame on server. | |||
NOTE: Can be manipulated with [[VoidExpanse/scope-script|scope-script]] - to make it work not every frame, | |||
but every timer interval or definite frames per second. | |||
'''"OnChatReceive"''' | '''"OnChatReceive"''' | ||
Line 210: | Line 221: | ||
Called every time player enters system | Called every time player enters system | ||
{{Modding}} |
Latest revision as of 08:08, 6 January 2015
This article is a draft and may contain incomplete or even incorrect information. You can help by expanding it. |
---|
Events
Events in scripts are governed by scope actions. You can create your own events, or you can subscribe to events created by other modders, but all scripting system is based on built-in events, which are the following:
"OnEnterFrame"
input:
- double: multiplier - time in seconds passed since last frame
Called every frame on server. NOTE: Can be manipulated with scope-script - to make it work not every frame, but every timer interval or definite frames per second.
"OnChatReceive"
input:
- string: from
- string: text
Called when some player send chat message.
"OnCalculateInventoryCache"
input:
- string: player_name
- double: seconds_multiplier
- int: ship_id
- int: level
Called when it's time to recalculate equipment - for example, when player installs new hull or weapon.
"OnCalculateSkillsCache"
input:
- string: player_name
- double: seconds_multiplier
- int: ship_id
- int: level
Called when it's time to recalculate skills cache - usually when player takes new skill, or advances in an old one.
"OnCalculateBuffsCache"
input:
- string: player_name
- double: seconds_multiplier
- int: ship_id
- int: level
Called when active effects (buffs) are changed - for example, effect of consumable item is worn off.
"OnCalculateShipParameters"
input:
- string: player_name
- double: seconds_multiplier
- int: ship_id
- int: level
Called if any of other caches has been changed. Recalculation of final ship's cache.
"OnCollision"
input:
- double: collision_point_x
- double: collision_point_y
- double: impulse
- int: object_id_1
- int: object_id_2
- string: object_type_1
- string: object_type_2
- double: vector_x
- double: vector_y
Called when some objects collided.
"OnHit"
input:
- int: caster_id
- double: collision_point_x
- double: collision_point_y
- int: object_id
- string: object_type
- string: projectile_id
- string: projectile_type //bullet, ray
- double: vector_x
- double: vector_y
- string: weapon_id
- double: distance
- double: projectile_distance
- double: projectile_max_distance
- double: multiplier
Called every time one ship hits with weapon another one.
"OnRayHitProjectile" not implemented yet
"OnUpdateShipParameters"
input:
- string: player_name
- double: seconds_multiplier
- int: ship_id
- int: level
Called 5 times per second. Used for regeneration, fuel and energy consumption calculations etc.
"OnMaximizeShipValues"
input:
- string: player_name
- double: seconds_multiplier
- int: ship_id
- int: level
Called every time ship values are maximized (on space station for example).
"OnBaseGenerateStock"
input:
- int: station_id
Called every time stock on station is needed to be refreshed.
"OnStarSystemUpdate"
input:
- int: system_id
- bool: populated
Called once per specified amount of time (which is set by special function in game scope). Called for populated systems and non-populated.
"OnCalculateNpcLeveledCache"
input:
- string: player_name
- double: seconds_multiplier
- int: ship_id
- int: level
Called when NPC is created. As soon as npc doesn't have any real equipment, their equipment cache is calculated based on it's level, and it should be done in this function.
"OnShipTryToEnterJumpgate"
input:
- int: current_system_id
- int: destination_system_id
- int: jumpgate_id
- int: ship_id
Called when player's ship is trying to enter jumpgate. NOTE! This event has a return value. Handler may not return anything, but if it'll return object with field {allow: false}, ship will not pass through jumpgate. With field "message" : {message: "Use the force, Luke!"} you can control notification, which client will see in his notification area. As soon as any on handlers will return {allow:false}, chain of calls breaks, and other subscribers won't get the event.
"OnShipKilled"
input:
- int: caster_id
- double: collision_point_x
- double: collision_point_y
- int: object_id
- string: object_type
- string: projectile_id
- string: projectile_type //bullet, ray
- double: vector_x
- double: vector_y
- string: weapon_id
- double: distance
- double: projectile_distance
- double: projectile_max_distance
- double: multiplier
Called every time ship is killed by other ship.
"OnShipDestroyed"
input:
- int: ship_id
Called every time ship is destroyed.
"OnShipWarps"
input:
- int: ship_id
Called every time ship warps. NOTE! This event has a return value. Handler may not return anything, but if it'll return object with field {allow: false}, ship will not pass through jumpgate. With field "message" : {message: "Use the force, Luke!"} you can control notification, which client will see in his notification area. As soon as any on handlers will return {allow:false}, chain of calls breaks, and other subscribers won't get the event.
"OnPlayerEntersGame"
input:
- string: name
Called every time player enters the game
"OnPlayerEntersSystem"
input:
- string: name
- int: system_id
Called every time player enters system
VoidExpanse Modding (Edit template) |
---|
Using mods: Installing and using mods Overview articles: Modding (main article), Package files structure Topic specific articles: Assets modding, Content Modding, Scripting overview, Scripting API, Scripting Events system, Localization Detailed scripting articles: Internal scripts, Global scripts, object scripts, Device scripts, Consumable scripting Tools: VE Physics Adjuster, VE Mod Uploader (Steam), AT Localization Utility |