Difference between revisions of "Station Validator"

From Elite Wiki
(Created page with "==Overview== In the core game, when a station is destroyed, it magically resurrects after save/load or witchjump. This oxp aim's to make a change to that. When a stationary s...")
 
(Updating BB links)
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
[[File:Self-Destruct 1.png|right|320px]]
 +
[[File:Self-Destruct 2.png|right|320px]]
 +
[[File:Self-Destruct 3.png|right|320px]]
 
==Overview==
 
==Overview==
  
In the core game, when a station is destroyed, it magically resurrects after save/load or witchjump. This oxp aim's to make a change to that. When a stationary station is destroyed, this oxp stores it's primary role, the system it died in, the place it died at and the time it died. When that destroyed station is to be spawned next, it can query this oxp, if there has been any destructions of that kind of stations in the current system. Then it's up to the station oxp to decide whether to spawn or not.
+
In the core game, when a station is destroyed, it magically resurrects after save/load or witchjump. This oxp aims to change that. When a stationary station is destroyed, this oxp stores it's primary role, the system it died in, the place it died at and the time it died. When that destroyed station is to be spawned next, it can query this oxp, if there has been any destructions of that kind of stations in the current system. Then it's up to the station oxp to decide whether to spawn or not.
  
 
==In detail==
 
==In detail==
  
 
For oxp creators this oxp has two uses
 
For oxp creators this oxp has two uses
 +
:1. Hold the spawning of a destroyed station until it has been rebuild.
 +
:2. Create a set of unfinished station models and let it show that the station is being rebuilt
  
1. Hold the spawning of a destroyed station until it has been rebuild.
+
The BB thread (linked below) discusses whether the stations would be rebuilt or gated in from elsewhere, issues in rebuilding stations ''etc''.
2. Create a set of unfinished station models and let it show that the station is being rebuilt
 
  
 
===Usage===
 
===Usage===
 
 
Call worldScripts.station_validator.$deathTime("your_station_role", rebuildTime) and you'll receive an array of objects. Each object is a death of "your_station_role"-station that has not met the rebuildTime yet in the current system . Each object has two properties: time (integer) and place (Vector3D). RebuildTime parameter is optional and defaults to 30.
 
Call worldScripts.station_validator.$deathTime("your_station_role", rebuildTime) and you'll receive an array of objects. Each object is a death of "your_station_role"-station that has not met the rebuildTime yet in the current system . Each object has two properties: time (integer) and place (Vector3D). RebuildTime parameter is optional and defaults to 30.
  
Line 17: Line 20:
  
 
1. There is only one station with "your_station_role" in system
 
1. There is only one station with "your_station_role" in system
 
+
:Call worldScripts.station_validator.$deathTime("your_station_role", rebuildTime) and check the array's length. If it's 0, then the station can be built.
Call worldScripts.station_validator.$deathTime("your_station_role", rebuildTime) and check the array's length. If it's 0, then the station can be built.
 
  
 
2. There are multiple station with "your_station_role" in system  
 
2. There are multiple station with "your_station_role" in system  
 
+
:Call worldScripts.station_validator.$deathTime("your_station_role", rebuildTime), iterate through the array and act accordingly
Call worldScripts.station_validator.$deathTime("your_station_role", rebuildTime), iterate through the array and act accordingly
 
  
 
3. Show station in it's construction phase
 
3. Show station in it's construction phase
 
+
:Call worldScripts.station_validator.$deathTime("your_station_role", rebuildTime) and find the station from the list. Use time-property to decide which phase to show and spawn the unfinished model to the position of the place property.
Call worldScripts.station_validator.$deathTime("your_station_role", rebuildTime) and find the station from the list. Use time-property to decide which phase to show and spawn the unfinished model to the position of the place property.
+
:If the unfinished construct is destroyed, the deathTime of the original station should be resetted. For that construct must have "construct" in it's roles and there must be constructRole = "role_of_the_station_to_be_built" in it's script_info.
 
 
If the unfinished construct is destroyed, the deathTime of the original station should be resetted. For that construct must have "construct" in it's roles and there must be constructRole = "role_of_the_station_to_be_built" in it's script_info.
 
  
 
==Stations supporting==
 
==Stations supporting==
  
* SothisTC
+
* SothisTC (the station in Corporate states)
* RandomHits 1.5.3 ->
+
* Free Trade Zone (the station in Multi-Governments)
* AstroFactory 2.0
+
* AstroFactory 2.0+ (the station in Dictatorships).
 +
* Commies
 +
* RandomHits 1.5.3+ (includes Space Bars)
 
* Stations for Extra Planets
 
* Stations for Extra Planets
* Rescue Stations 1.3
+
* Rescue Stations 1.3+
 +
* Dirty_hacks (bundled into Station Validator v0.4)
 +
: hacks the following to work with it: WildShips, Anarchies, ConStores, Taxi Galactica, Tionisla Chronicle Array, Buoy Repair and GalNavy)
 +
:Thargoid seems not to have incorporated SV into Wildships despite his statement of [https://bb.oolite.space/viewtopic.php?p=202289#p202289 May 2013].
  
 
==Download==
 
==Download==
 +
* Download version 1.0 from [https://app.box.com/s/9108ivpmxn26tzkkvqvi the box].
  
* Download version 1.0 from [https://app.box.com/s/9108ivpmxn26tzkkvqvi the box].
+
== Links ==
 +
* [https://bb.oolite.space/viewtopic.php?f=6&t=14306 Fons et Origo of this OXP] (2013)
 +
* [[Station Self-Destruction Codes]]
 +
*[https://bb.oolite.space/viewtopic.php?p=27704#p27704 Vanishing stations "bug"] (2007) - and then see [https://bb.oolite.space/viewtopic.php?p=27736#p27736 this]!
  
 
==Quick Facts==
 
==Quick Facts==
Line 50: Line 58:
 
|category = Misc OXPs‏‎
 
|category = Misc OXPs‏‎
 
|author = Spara
 
|author = Spara
|feedback = [http://aegidian.org/bb/viewtopic.php?f=4&t=14314 Oolite BB]
+
|feedback = [https://bb.oolite.space/viewtopic.php?f=4&t=14314 Oolite BB]
 
}}
 
}}
  
 
{{misc-OXP}}
 
{{misc-OXP}}
 +
[[Category:Oolite stations| ]]

Latest revision as of 03:30, 29 February 2024

Self-Destruct 1.png
Self-Destruct 2.png
Self-Destruct 3.png

Overview

In the core game, when a station is destroyed, it magically resurrects after save/load or witchjump. This oxp aims to change that. When a stationary station is destroyed, this oxp stores it's primary role, the system it died in, the place it died at and the time it died. When that destroyed station is to be spawned next, it can query this oxp, if there has been any destructions of that kind of stations in the current system. Then it's up to the station oxp to decide whether to spawn or not.

In detail

For oxp creators this oxp has two uses

1. Hold the spawning of a destroyed station until it has been rebuild.
2. Create a set of unfinished station models and let it show that the station is being rebuilt

The BB thread (linked below) discusses whether the stations would be rebuilt or gated in from elsewhere, issues in rebuilding stations etc.

Usage

Call worldScripts.station_validator.$deathTime("your_station_role", rebuildTime) and you'll receive an array of objects. Each object is a death of "your_station_role"-station that has not met the rebuildTime yet in the current system . Each object has two properties: time (integer) and place (Vector3D). RebuildTime parameter is optional and defaults to 30.

Scenarios:

1. There is only one station with "your_station_role" in system

Call worldScripts.station_validator.$deathTime("your_station_role", rebuildTime) and check the array's length. If it's 0, then the station can be built.

2. There are multiple station with "your_station_role" in system

Call worldScripts.station_validator.$deathTime("your_station_role", rebuildTime), iterate through the array and act accordingly

3. Show station in it's construction phase

Call worldScripts.station_validator.$deathTime("your_station_role", rebuildTime) and find the station from the list. Use time-property to decide which phase to show and spawn the unfinished model to the position of the place property.
If the unfinished construct is destroyed, the deathTime of the original station should be resetted. For that construct must have "construct" in it's roles and there must be constructRole = "role_of_the_station_to_be_built" in it's script_info.

Stations supporting

  • SothisTC (the station in Corporate states)
  • Free Trade Zone (the station in Multi-Governments)
  • AstroFactory 2.0+ (the station in Dictatorships).
  • Commies
  • RandomHits 1.5.3+ (includes Space Bars)
  • Stations for Extra Planets
  • Rescue Stations 1.3+
  • Dirty_hacks (bundled into Station Validator v0.4)
hacks the following to work with it: WildShips, Anarchies, ConStores, Taxi Galactica, Tionisla Chronicle Array, Buoy Repair and GalNavy)
Thargoid seems not to have incorporated SV into Wildships despite his statement of May 2013.

Download

Links

Quick Facts

Version Released License Features Category Author(s) Feedback
1.0 2014-01-028 CC BY-NC-SA 3.0 Misc Misc OXPs‏‎ Spara Oolite BB