Installera Steam
logga in
|
språk
简体中文 (förenklad kinesiska)
繁體中文 (traditionell kinesiska)
日本語 (japanska)
한국어 (koreanska)
ไทย (thailändska)
Български (bulgariska)
Čeština (tjeckiska)
Dansk (danska)
Deutsch (tyska)
English (engelska)
Español - España (Spanska - Spanien)
Español - Latinoamérica (Spanska - Latinamerika)
Ελληνικά (grekiska)
Français (franska)
Italiano (italienska)
Bahasa Indonesia (indonesiska)
Magyar (ungerska)
Nederlands (nederländska)
Norsk (norska)
Polski (polska)
Português (Portugisiska – Portugal)
Português - Brasil (Portugisiska - Brasilien)
Română (rumänska)
Русский (ryska)
Suomi (finska)
Türkçe (turkiska)
Tiếng Việt (vietnamesiska)
Українська (Ukrainska)
Rapportera problem med översättningen
Pardon me while I pull a bit from my drone script...
public void Main( string strIn ) {
List<IMyTerminalBlock> blocks = new List<IMyTerminalBlock>();
GridTerminalSystem.GetBlocksOfType<IMyRemoteControl>( blocks );
var sb = new StringBuilder( "Planet Data\n" );
if( blocks.Count >= 1 ) {
sb.Append( BuildPlanetOut( blocks[0] ) );
} else {
sb.Append( "No Data" );
Echo( "Err: Cockpit Not Found" );
}
var lcd = (GridTerminalSystem.GetBlockWithName( "WGPS" ) as IMyTextPanel);
if( lcd != null ) {
lcd.WritePublicText( sb.ToString(), false );
} else {
Echo( "Err: LCD Not found" );
}
}
public string BuildPlanetOut( IMyTerminalBlock CRef ) {
StringBuilder sb = new StringBuilder( "__Planet Report__\n" );
var rem = CRef as IMyShipController;
if( rem != null ) {
var vec = Vector3D.Zero;
if( rem.TryGetPlanetPosition( out vec ) ) {
sb.Append( "_CoW_\n" ).Append( " X:" ).Append( Math.Floor(vec.X) ).Append( "\n Y:" ).Append( Math.Floor(vec.Y) ).Append( "\n Z:" ).Append( Math.Floor(vec.Z) );
sb.Append( "\n" ).Append( ToGPSString( vec ) );
} else {
sb.Append( "Planet Not Found" );
}
} else {
sb.Append( "Ship Ref Not Found" );
}
return sb.ToString();
}
public string ToGPSString( Vector3D pos, string Tag = "Pos" ) {
var sb = new StringBuilder( "GPS:" );
if( pos != null ) {
sb.Append( Tag ).Append( ":" ).Append( Math.Floor(pos.X) ).Append( ":" ).Append( Math.Floor(pos.Y) ).Append( ":" ).Append( Math.Floor(pos.Z) ).Append( ":" );
} else {
sb.Append( Tag ).Append( ":Invalid" );
}
return sb.ToString();
}
There.
Name an LCD "PGPS" and run that script.
Let me know if it doesnt work.
Once done look at the LCD you renamed and hit f to open up the text on it.
It should have a GPS coordinate which should show up in your GPS section as a grey GPS called "Pos".
I assume you know how to convert temporary GPs to perminant ones. I cant recall. I think you just select them and hit edit then save or something like that.
"Planet Data
No Data" even though I got one planet spawned. Just in case spawned another and closer too, nothing, it doesn't detect it still when I rerun the script.
EDIT: I also get "Err: Cockpit Not Found" in the terminal.
Add a remote control or cockpit of some sort
"Planet Data
__Planet Report__
Planet Not Found"
Tried spawning new planet after placing all this machinery and just like last time it had no impact, there are definetely planets in this world and they are rather close. I might try landing on one and running it there and I'll edit this comment afterwards.
Ohh I see. I left in the remoter control bit. Right so it isnt seeking IMyShipController directly but just remote blocks. OK. I can fix that.
Anyways, thank you for all the help, it works now! This is gonna make my game quite a bit more enjoyable.
It was thrown together rather quickly.