Actions

Difference between revisions of "Kit (Satellite Dish)"

From Unofficial Stationeers Wiki

m
m
 
(5 intermediate revisions by the same user not shown)
Line 26: Line 26:
 
The Medium Satellite Dish currently have 256Bytes(32 Addresses) stack memory.
 
The Medium Satellite Dish currently have 256Bytes(32 Addresses) stack memory.
  
 +
<div class="overflowbugx" style="overflow-x:auto;">
 
{| class="wikitable sortable" style="width:50%;"
 
{| class="wikitable sortable" style="width:50%;"
 
! Op_code
 
! Op_code
Line 50: Line 51:
 
! rowspan="3" | 2
 
! rowspan="3" | 2
 
| rowspan="3" | TraderInstruction.StrongestContactIdHash
 
| rowspan="3" | TraderInstruction.StrongestContactIdHash
| rowspan="3" | Currently not useful.
+
| rowspan="3" | This OpCode indicates the data generated by TraderInstruction.WriteTraderData payload segment 1.
 
| rowspan="3" | 0-31
 
| rowspan="3" | 0-31
 
| style="text-align:center;" | 0-7
 
| style="text-align:center;" | 0-7
Line 63: Line 64:
 
! rowspan="5" | 3
 
! rowspan="5" | 3
 
| rowspan="5" | TraderInstruction.StrongestContactMetaData
 
| rowspan="5" | TraderInstruction.StrongestContactMetaData
| rowspan="5" | Currently not useful.
+
| rowspan="5" | This OpCode indicates the data generated by TraderInstruction.WriteTraderData payload segment 2.
 
| rowspan="5" | 0-31
 
| rowspan="5" | 0-31
 
| style="text-align:center;" | 0-7
 
| style="text-align:center;" | 0-7
Line 69: Line 70:
 
|-
 
|-
 
| style="text-align:center;" | 8-15
 
| style="text-align:center;" | 8-15
| SHUTTLE_TYPE<br/>See [[Trader#Trader_Tier|SHUTTLE_TYPE]].
+
| [[#Metadata_Payloads|SHUTTLE_TYPE]].
 
|-
 
|-
 
| style="text-align:center;" | 16-23
 
| style="text-align:center;" | 16-23
| CONTACT_TIER<br/>See [[Trader#Trader_Tier|CONTACT_TIER]].
+
| [[#Metadata_Payloads|CONTACT_TIER]].
 
|-
 
|-
 
| style="text-align:center;" | 24-31
 
| style="text-align:center;" | 24-31
| CONTACTED<br/>See [[Trader#Trader_Tier|CONTACTED]].
+
| [[#Metadata_Payloads|CONTACTED]].
 
|-
 
|-
 
| style="text-align:center;" | 32-63
 
| style="text-align:center;" | 32-63
Line 82: Line 83:
 
! rowspan="4" | 4
 
! rowspan="4" | 4
 
| rowspan="4" | TraderInstruction.StrongestContactSignalData
 
| rowspan="4" | TraderInstruction.StrongestContactSignalData
| rowspan="4" | Currently not useful.
+
| rowspan="4" | This OpCode indicates the data generated by TraderInstruction.WriteTraderData payload segment 3.
 
| rowspan="4" | 0-31
 
| rowspan="4" | 0-31
 
| style="text-align:center;" | 0-7
 
| style="text-align:center;" | 0-7
Line 308: Line 309:
 
| Unused
 
| Unused
 
|}
 
|}
 +
</div>
  
 
=== Metadata Payloads ===
 
=== Metadata Payloads ===
Line 313: Line 315:
 
Since Metadata has 3 addresses, so it's referenced here as a 24 bytes(192 bits) payload.
 
Since Metadata has 3 addresses, so it's referenced here as a 24 bytes(192 bits) payload.
  
 +
<div class="overflowbugx" style="overflow-x:auto;">
 
{| class="wikitable" style="width:80%;"
 
{| class="wikitable" style="width:80%;"
 
! BitsOffset
 
! BitsOffset
Line 331: Line 334:
 
| N/A
 
| N/A
 
| [[Trader#ContactTypeID|ContactTypeID]]
 
| [[Trader#ContactTypeID|ContactTypeID]]
| Constant: 2.
+
| OpCode of TraderInstruction.StrongestContactIdHash.
 
| N/A
 
| N/A
 
| Contacted<br/>0: false<br/> 1: true
 
| Contacted<br/>0: false<br/> 1: true
 
| Contact Tier: <br/>0: Close<br/>1: Medium<br/>2: Far
 
| Contact Tier: <br/>0: Close<br/>1: Medium<br/>2: Far
 
| Shuttle Type: <br/>0:None<br/>1: Small(3x3)<br/>2: SmallGas(3x3)<br/>3: Medium(5x5)<br/>4: MediumGas(5x5)<br/>5: Large(6x6)<br/>6: LargeGas(6x6)<br/>7: MediumPlane(7x7, runway:15)<br/>8: LargePlane(9x9, runway:20)
 
| Shuttle Type: <br/>0:None<br/>1: Small(3x3)<br/>2: SmallGas(3x3)<br/>3: Medium(5x5)<br/>4: MediumGas(5x5)<br/>5: Large(6x6)<br/>6: LargeGas(6x6)<br/>7: MediumPlane(7x7, runway:15)<br/>8: LargePlane(9x9, runway:20)
| Constant: 3.
+
| OpCode of TraderInstruction.StrongestContactMetaData.
 
| N/A
 
| N/A
 
| [[Trader#Trader_Tier|LifeTime]]
 
| [[Trader#Trader_Tier|LifeTime]]
 
| [[Trader#Trader_Tier|WattsToResolve]]
 
| [[Trader#Trader_Tier|WattsToResolve]]
| Constant: 4.
+
| OpCode of TraderInstruction.StrongestContactSignalData.
 
|}
 
|}
 +
</div>
  
 
=== Buy/Sell Payloads ===
 
=== Buy/Sell Payloads ===
Line 347: Line 351:
 
Buy/Sell Payloads are 1 address each, so it's referenced here as a 8 bytes(64 bit) payload.
 
Buy/Sell Payloads are 1 address each, so it's referenced here as a 8 bytes(64 bit) payload.
  
 +
<div class="overflowbugx" style="overflow-x:auto;">
 
{| class="wikitable" style="width:60%;"
 
{| class="wikitable" style="width:60%;"
 
! BitsOffset
 
! BitsOffset
Line 360: Line 365:
 
| OpCode<br/>Which OpCode requested this data.
 
| OpCode<br/>Which OpCode requested this data.
 
|}
 
|}
 +
</div>
  
 
=== Buy/Sell Child Payloads ===
 
=== Buy/Sell Child Payloads ===
Line 365: Line 371:
 
Buy/Sell Payloads are 1 address each, so it's referenced here as a 8 bytes(64 bit) payload.
 
Buy/Sell Payloads are 1 address each, so it's referenced here as a 8 bytes(64 bit) payload.
  
 +
<div class="overflowbugx" style="overflow-x:auto;">
 
{| class="wikitable" style="width:60%;"
 
{| class="wikitable" style="width:60%;"
 
! BitsOffset
 
! BitsOffset
Line 378: Line 385:
 
| OpCode<br/>If this data is requested by TraderInstruction.WriteTraderBuyData, then it's value is the OpCode of TraderInstruction.TraderBuyThingChildData.<br/>If this data is requested by TraderInstruction.WriteTraderSellData, then it's value is the OpCode of TraderInstruction.TraderSellThingChildData.
 
| OpCode<br/>If this data is requested by TraderInstruction.WriteTraderBuyData, then it's value is the OpCode of TraderInstruction.TraderBuyThingChildData.<br/>If this data is requested by TraderInstruction.WriteTraderSellData, then it's value is the OpCode of TraderInstruction.TraderSellThingChildData.
 
|}
 
|}
 +
</div>
  
 
=== Gas Type BitFlags ===
 
=== Gas Type BitFlags ===
Line 383: Line 391:
 
If the BitFlag equals 0, it's undefined. If the bit at specific offset is 1, it means the gas contains that component.
 
If the BitFlag equals 0, it's undefined. If the bit at specific offset is 1, it means the gas contains that component.
  
 +
<div class="overflowbugx" style="overflow-x:auto;">
 
{| class="wikitable" style="width:60%;"
 
{| class="wikitable" style="width:60%;"
 
! BitsOffset
 
! BitsOffset
Line 422: Line 431:
 
| Oxygen
 
| Oxygen
 
|}
 
|}
 +
</div>
  
 
Special Gas:
 
Special Gas:
 
# Bit 0,1 both set to 1, which is Air.
 
# Bit 0,1 both set to 1, which is Air.
# Bit 0,3 both set to 1, is which Fuel.
+
# Bit 0,3 both set to 1, which is Fuel.

Latest revision as of 21:36, 25 March 2025


Kit (Satellite Dish)
ItemKitSatelliteDish.png
Properties
Stacks Yes (10)
Recipe
Created With Electronics Printer
Cost 5g Gold, 10g Copper, 20g Steel, 5g Nickel, 10g Solder
Medium Satellite Dish
StructureSatelliteDish.png
Operation
Power Usage 200W
Construction
Placed with Kit (Satellite Dish)
Placed on Small Grid
Stage 1
Deconstruction
Deconstructed with Hand Drill
Item received Kit (Satellite Dish)

Description[edit]

The Satellite Dish is used together with a Computer fitted with a Motherboard (Communications) to allow Interstellar Communications.

The Satellite Dish must be guided by Satellite Tracking onto a signal and communications may be established once the signal strength is greater than 94%

Medium Satellite Dish[edit]

After "Big Changes Coming: Terrain Preview, Melting Ice, Modding, & Localization" update, Medium Satellite Dish has internal stack like Autolathe, which user can utilize it to give instructions to. The Medium Satellite Dish currently have 256Bytes(32 Addresses) stack memory.

Op_code Name Description Valid Address Bits Bits Description
1 TraderInstruction.WriteTraderData The dish will write out metadata(24 Bytes, in continuous of 3 addresses) to the specified starting index. E.g.: if set WRITE_INDEX to 1, then the metadata will span address 1-3. See Metadata Payloads. 0-31 0-7 Op_code
8-15 WRITE_INDEX
16-63 Unused
2 TraderInstruction.StrongestContactIdHash This OpCode indicates the data generated by TraderInstruction.WriteTraderData payload segment 1. 0-31 0-7 Op_code
8-39 TRADER_ID_HASH
40-63 Unused
3 TraderInstruction.StrongestContactMetaData This OpCode indicates the data generated by TraderInstruction.WriteTraderData payload segment 2. 0-31 0-7 Op_code
8-15 SHUTTLE_TYPE.
16-23 CONTACT_TIER.
24-31 CONTACTED.
32-63 Unused
4 TraderInstruction.StrongestContactSignalData This OpCode indicates the data generated by TraderInstruction.WriteTraderData payload segment 3. 0-31 0-7 Op_code
8-23 WATTS_TO_RESOLVE
See WattsToResolve.
24-39 LIFETIME
See LifeTime.
32-63 Unused
5 TraderInstruction.WriteTraderBuyData The dish will write out trader buy metadatas from the starting address WRITE_INDEX, and write WRITE_COUNT continuous addresses total.
If an item contains child items, then it will be expaned inplace.
E.g.: <BuyPayload><BuyPayload><BuyChildPayload><BuyPayload>.
See Buy/Sell Payloads, Buy/Sell Child Payloads.
0-31 0-7 Op_code
8-15 WRITE_INDEX
16-23 WRITE_COUNT
24-63 Unused
6 TraderInstruction.WriteTraderSellData The dish will write out trader sell metadatas from the starting address WRITE_INDEX, and write WRITE_COUNT continuous addresses total.
If an item contains child items, then it will be expaned inplace.
E.g.: <SellPayload><SellPayload><SellChildPayload><SellPayload>.
See Buy/Sell Payloads, Buy/Sell Child Payloads.
0-31 0-7 Op_code
8-15 WRITE_INDEX
16-23 WRITE_COUNT
24-63 Unused
7 TraderInstruction.TraderBuyThingData This OpCode indicates the data generated by TraderInstruction.WriteTraderBuyData. 0-31 0-7 Op_code
8-15 QUANTITY
16-47 PREFAB_HASH
48-63 Unused
8 TraderInstruction.TraderBuyThingChildData This OpCode indicates the data generated by TraderInstruction.WriteTraderBuyData. 0-31 0-7 Op_code
8-15 QUANTITY
16-47 PREFAB_HASH
48-63 Unused
9 TraderInstruction.TraderBuyGasData This OpCode indicates the data generated by TraderInstruction.WriteTraderBuyData. 0-31 0-7 Op_code
8-15 QUANTITY
16-47 GAS_TYPES_BITFLAG
See Gas_Type_BitFlags.
48-63 Unused
10 TraderInstruction.TraderSellThingData This OpCode indicates the data generated by TraderInstruction.WriteTraderSellData. 0-31 0-7 Op_code
8-15 QUANTITY
16-47 PREFAB_HASH
48-63 Unused
11 TraderInstruction.TraderSellGasData This OpCode indicates the data generated by TraderInstruction.WriteTraderSellData. 0-31 0-7 Op_code
8-15 QUANTITY
16-47 GAS_TYPES_BIGFLAG
See Gas_Type_BitFlags.
48-63 Unused
12 TraderInstruction.TraderSellThingChildData This OpCode indicates the data generated by TraderInstruction.WriteTraderSellData. 0-31 0-7 Op_code
8-15 QUANTITY
16-47 PREFAB_HASH
48-63 Unused
13 TraderInstruction.FilterPrefabHashEquals Filter Operation.
User can append this OP after any TraderInstruction.Write* OP to filter writer's output.
This OP's effective scope is the last Write* OP and before the next Write* OP.
Multple filter OP can be written to the addresses after a Write* OP to group as a "AND" condition.
This Filter narrows Write* OP's output to only matching PrefabHash.
0-31 0-7 Op_code
8-39 PREFAB_HASH
40-63 Unused
14 TraderInstruction.FilterPrefabHashNotEquals Filter Operation.
User can append this OP after any TraderInstruction.Write* OP to filter writer's output.
This OP's effective scope is the last Write* OP and before the next Write* OP.
Multple filter OP can be written to the addresses after a Write* OP to group as a "AND" condition.
This Filter narrows Write* OP's output to only not matching PrefabHash.
0-31 0-7 Op_code
8-39 PREFAB_HASH
40-63 Unused
15 TraderInstruction.FilterSortingClassCompare Filter Operation.
User can append this OP after any TraderInstruction.Write* OP to filter writer's output.
This OP's effective scope is the last Write* OP and before the next Write* OP.
Multple filter OP can be written to the addresses after a Write* OP to group as a "AND" condition.
This Filter narrows Write* OP's output to only matching SortingClass.
0-31 0-7 Op_code
8-15 CONDITION_OPERATION
0: Equals
1: Greater
2: Less
3: Not Equals
16-31 SORTING_CLASS
See Sorting_Class.
32-63 Unused
16 TraderInstruction.FilterQuantityCompare Filter Operation.
User can append this OP after any TraderInstruction.Write* OP to filter writer's output.
This OP's effective scope is the last Write* OP and before the next Write* OP.
Multple filter OP can be written to the addresses after a Write* OP to group as a "AND" condition.
This Filter narrows Write* OP's output to only matching Quantity Condition.
0-31 0-7 Op_code
8-15 CONDITION_OPERATION
0: Equals
1: Greater
2: Less
3: Not Equals
16-31 QUANTITY
32-63 Unused
17 TraderInstruction.FilterGasContains Filter Operation.
User can append this OP after any TraderInstruction.Write* OP to filter writer's output.
This OP's effective scope is the last Write* OP and before the next Write* OP.
Multple filter OP can be written to the addresses after a Write* OP to group as a "AND" condition.
This Filter narrows Write* OP's output to only matching Gases.
0-31 0-7 Op_code
8-39 GAS_TYPES_BITFLAG
See Gas_Type_BitFlags.
40-63 Unused
18 TraderInstruction.FilterGasNotContains Filter Operation.
User can append this OP after any TraderInstruction.Write* OP to filter writer's output.
This OP's effective scope is the last Write* OP and before the next Write* OP.
Multple filter OP can be written to the addresses after a Write* OP to group as a "AND" condition.
This Filter narrows Write* OP's output to only not matching Gases.
0-31 0-7 Op_code
8-39 GAS_TYPES_BITFLAG
See Gas_Type_BitFlags.
40-63 Unused

Metadata Payloads[edit]

Since Metadata has 3 addresses, so it's referenced here as a 24 bytes(192 bits) payload.

BitsOffset 191-168 167-136 135-128 127-96 95-88 87-80 79-72 71-64 63-40 39-16 15-8 7-0
Contents N/A ContactTypeID OpCode of TraderInstruction.StrongestContactIdHash. N/A Contacted
0: false
1: true
Contact Tier:
0: Close
1: Medium
2: Far
Shuttle Type:
0:None
1: Small(3x3)
2: SmallGas(3x3)
3: Medium(5x5)
4: MediumGas(5x5)
5: Large(6x6)
6: LargeGas(6x6)
7: MediumPlane(7x7, runway:15)
8: LargePlane(9x9, runway:20)
OpCode of TraderInstruction.StrongestContactMetaData. N/A LifeTime WattsToResolve OpCode of TraderInstruction.StrongestContactSignalData.

Buy/Sell Payloads[edit]

Buy/Sell Payloads are 1 address each, so it's referenced here as a 8 bytes(64 bit) payload.

BitsOffset 63-48 47-16 15-8 7-0
Contents N/A PrefabHash/GasTypeBitFlag Quantity
This value is truncated so it won't be greater than 255 although the trader's Request/Stock is more than 255.
OpCode
Which OpCode requested this data.

Buy/Sell Child Payloads[edit]

Buy/Sell Payloads are 1 address each, so it's referenced here as a 8 bytes(64 bit) payload.

BitsOffset 63-48 47-16 15-8 7-0
Contents N/A PrefabHash/GasTypeBitFlag ChildCount
Counts how many instances of this item appeared as a child item.
Beware it's not quantity, it's just a prefab type count.
OpCode
If this data is requested by TraderInstruction.WriteTraderBuyData, then it's value is the OpCode of TraderInstruction.TraderBuyThingChildData.
If this data is requested by TraderInstruction.WriteTraderSellData, then it's value is the OpCode of TraderInstruction.TraderSellThingChildData.

Gas Type BitFlags[edit]

If the BitFlag equals 0, it's undefined. If the bit at specific offset is 1, it means the gas contains that component.

BitsOffset 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Contents PollutedWater LiquidHydrogen Hydrogen LiquidNitrousOxide LiquidPollutant LiquidCarbonDioxide Steam LiquidVolatiles LiquidOxygen LiquidNitrogen NitrousOxide Water Pollutant Volatiles CarbonDioxide Nitrogen Oxygen

Special Gas:

  1. Bit 0,1 both set to 1, which is Air.
  2. Bit 0,3 both set to 1, which is Fuel.