Jump to content

[1.3] kOS Scriptable Autopilot System v1.1.3.0


erendrake

Recommended Posts

I'm having the same issue on 64 bit linux. Enter, tab, escape and tilde all just insert spaces. Additionally, I found that if your craft is throttled up, typing 'x' into the terminal prints an 'x' as it should but also cuts the trottle of the vehicle. Everything seemed to work fine in 0.23.5.

Link to comment
Share on other sites

I'm having the same issue on 64 bit linux. Enter, tab, escape and tilde all just insert spaces. Additionally, I found that if your craft is throttled up, typing 'x' into the terminal prints an 'x' as it should but also cuts the trottle of the vehicle. Everything seemed to work fine in 0.23.5.

I can't speak to the spaces problem, but the problem with the 'x' key exists across all platforms and has always been there. KSP traps the 'x' key event at a lower level than other key presses, and mods are not in a position to be able to override that, as far as I can tell. It has something to do with the way the 'x' key works even when other keys are locked out (like when you're in Map View and don't have the navball tab pulled up, normally WASD won't steer the ship, but 'x' will still kill the throttle because it's meant as an emergency key that always works.)

Link to comment
Share on other sites

For the people having problems on Linux, would you be willing to perform a test for me? I have a linux machine, but it's old and nowhere near good enough to run Kerbal Space Program so I can't test this myself.

What I want to do is detect whether or not the keyboard events are somehow different in Linux than in Windows - if perhaps the keys generate a different set of key codes than the program is looking for. To test this I'd like to compile a special version of the plugin that enables verbose logging to output_log.txt mentioning each and every key code that the terminal sees. Then if you're willing to download it and try using it you could type a few lines of text in the terminal that have the problem keys in them and send me back the resulting log file, with a description of the exact sequence of characters you were trying to type. Then I can compare that to what I get doing the same thing in Windows and see if the key codes are the same.

Link to comment
Share on other sites

I haven't tried kOS in Linux yet (have been playing KSP in Windows for a little while for various reasons). But a little while ago RemoteTech had the same sorts of problems that you're getting reported here - keypresses in kOS windows also being interpreted as general key commands. From memory, they were ascribing it to weird Unity behaviour, and happening to all mods in Linux.

Probably not much help, sorry. But might give you a little more to look in to?

Link to comment
Share on other sites

For the people having problems on Linux, would you be willing to perform a test for me? I have a linux machine, but it's old and nowhere near good enough to run Kerbal Space Program so I can't test this myself.

What I want to do is detect whether or not the keyboard events are somehow different in Linux than in Windows - if perhaps the keys generate a different set of key codes than the program is looking for. To test this I'd like to compile a special version of the plugin that enables verbose logging to output_log.txt mentioning each and every key code that the terminal sees. Then if you're willing to download it and try using it you could type a few lines of text in the terminal that have the problem keys in them and send me back the resulting log file, with a description of the exact sequence of characters you were trying to type. Then I can compare that to what I get doing the same thing in Windows and see if the key codes are the same.

Sure, thanks for the help.

I'm glad to see it doesn't come from my keyboard settings, I've been trying to remap "enter" to other keys without any results

Link to comment
Share on other sites

@jaunasse, @kafuka:

I put the DLL on the following Google Docs share drive:

https://drive.google.com/folderview?id=0Bxkeai7oN35fY1cyeXNNTkNnX3c&usp=sharing

To perform the keycode test:

1 - Rename the existing GameData/kOS/Plugins/kOS.dll file to some temp name that does NOT have a 'dll' extension. (KSP tries to load any and all files that end in ".dll" in plugin directories on launching, so if you renamed it to something like "origKOS.dll" then KSP would still try to load it.)

2 - Copy the kOS.dll file from my google drive URL given above into GameData/kOS/Plugins/kOS.dll.

3 - Run KSP, launch any kOS vessel and open the kOS terminal, and try the exact keypresses shown in the screenshot below.

HaRk0dv.png

4 - Quit KSP.

5 - Open the output log file in your favorite text editor of choice.

If you are running 32-bit KSP, it will be located here: KSP_Data/output_log.txt

If you are running 64-bit KSP, it will be located here: KSP_x64_Data/output_log.txt

6 - Post the relevant section of the output_log.txt file. For reference, here's the relevant section from my test:


(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x48

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000065

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x45

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x0000006c

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x4c

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x0000006c

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x4c

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x0000006f

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x4f

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x0000002e

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x2e

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x0000000d

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

System.Exception: Syntax error at line 1

hello.

^



at kOS.Compilation.Script.RaiseParseException (System.String scriptText, Int32 line, Int32 absolutePosition) [0x00000] in <filename unknown>:0

at kOS.Compilation.KS.KSScript.Compile (System.String scriptText, System.String contextId, kOS.Compilation.CompilerOptions options) [0x00000] in <filename unknown>:0

at kOS.Compilation.Script.Compile (System.String scriptText, System.String contextId) [0x00000] in <filename unknown>:0

at kOS.Screen.Interpreter.CompileCommand (System.String commandText) [0x00000] in <filename unknown>:0

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

Code Fragment

0000 EOF <<



(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000073

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x53

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x0000006f

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x6f

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x0000006d

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x6d

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000065

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x65

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000020

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x20

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000073

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x53

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000070

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x70

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000061

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x61

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000063

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x63

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000065

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x65

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000073

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x73

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000020

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x20

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000068

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x48

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000065

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x65

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000072

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x72

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000065

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x65

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x0000002e

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x2e

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x0000000d

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

System.Exception: Syntax error at line 1

some spaces here.

^



at kOS.Compilation.Script.RaiseParseException (System.String scriptText, Int32 line, Int32 absolutePosition) [0x00000] in <filename unknown>:0

at kOS.Compilation.KS.KSScript.Compile (System.String scriptText, System.String contextId, kOS.Compilation.CompilerOptions options) [0x00000] in <filename unknown>:0

at kOS.Compilation.Script.Compile (System.String scriptText, System.String contextId) [0x00000] in <filename unknown>:0

at kOS.Screen.Interpreter.CompileCommand (System.String commandText) [0x00000] in <filename unknown>:0

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

Code Fragment

0000 EOF <<



(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000031

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x31

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000032

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x32

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000033

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x33

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000116

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000034

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x34

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000035

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x35

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000036

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x36

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x0000000d

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

System.Exception: Syntax error at line 1

456123

^



at kOS.Compilation.Script.RaiseParseException (System.String scriptText, Int32 line, Int32 absolutePosition) [0x00000] in <filename unknown>:0

at kOS.Compilation.KS.KSScript.Compile (System.String scriptText, System.String contextId, kOS.Compilation.CompilerOptions options) [0x00000] in <filename unknown>:0

at kOS.Compilation.Script.Compile (System.String scriptText, System.String contextId) [0x00000] in <filename unknown>:0

at kOS.Screen.Interpreter.CompileCommand (System.String commandText) [0x00000] in <filename unknown>:0

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

Code Fragment

0000 EOF <<



(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000031

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x31

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000032

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x32

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000033

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x33

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000114

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000034

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x34

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000035

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x35

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000036

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x36

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000113

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x0000000d

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

System.Exception: Syntax error at line 1

124563

^



at kOS.Compilation.Script.RaiseParseException (System.String scriptText, Int32 line, Int32 absolutePosition) [0x00000] in <filename unknown>:0

at kOS.Compilation.KS.KSScript.Compile (System.String scriptText, System.String contextId, kOS.Compilation.CompilerOptions options) [0x00000] in <filename unknown>:0

at kOS.Compilation.Script.Compile (System.String scriptText, System.String contextId) [0x00000] in <filename unknown>:0

at kOS.Screen.Interpreter.CompileCommand (System.String commandText) [0x00000] in <filename unknown>:0

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

Code Fragment

0000 EOF <<

7 - Delete the kOS.dll you got from my google drive and rename the original one back to "kOS.dll" (undoing what you did in step 1 above). This should restore your installation back to what you had before, with the verbose keylogging removed.

The reason I am suspecting that the Linux version of Unity is producing different keycodes for things like Enter is that you described the behavior as showing a "space" for Enter on the screen. What actually happens is that the default fallback if the ascii code of the key doesn't have any special exception behavior defined in kOS is to lookup that ascii code in the bitmap font image file and print out whatever is there. Most of the unprintable control code characters are blank in the font file, making it impossible to visually tell the difference between "It's printing a space character" and "It's printing the blank image corresponding to this control character".

Edited by Steven Mading
Added last paragraph
Link to comment
Share on other sites

@Steven Mading

Thank you for answering so quickly, however, after trying multiple times, the new kOS.dll does not write any output_log.txt.

I'm running on 64bits yet there were initially no "KSP_x64_Data" folder, only a "KSP_Data" folder. I deleted my old kOS.dll to be sure it wasn't interfering in any way.

I created a "KSP_x64_Data" folder and tried running ksp with admin rights, but no output log were generated.

Here is the result of typing the indicated commands:

http://i.imgur.com/JSHzJFp.png

Thanks.

Link to comment
Share on other sites

@Steven Mading

Thank you for answering so quickly, however, after trying multiple times, the new kOS.dll does not write any output_log.txt.

I'm running on 64bits yet there were initially no "KSP_x64_Data" folder, only a "KSP_Data" folder. I deleted my old kOS.dll to be sure it wasn't interfering in any way.

I created a "KSP_x64_Data" folder and tried running ksp with admin rights, but no output log were generated.

Here is the result of typing the indicated commands:

http://i.imgur.com/JSHzJFp.png

Thanks.

You should never have to create the output_log.txt. It's supposed to be created automatically by KSP itself.

[ EDIT: Some web searching showed me that this is actually a platform difference that comes from Unity itself. Unity stores the log in a different location depending on the OS platform. ]

According to another post elsewhere on this forum, For Linux: The log is written to somewhere under here:

~your_username/.config/unity3d/Squad/Kerbal Space Program

I hope you can find it somewhere there, or in one of the subdirectories of that location.

Edited by Steven Mading
Link to comment
Share on other sites

Unfortunately, I could only find "Player.log" and "prefs" files in /.config/unity3d/Squad/Kerbal Space Program

EDIT : there's 51 "KEYDOWN IN TERMINAL" entries in the player.log and there's a lot of lines about TextureReplacer in between, i've deleted them and after translating some of the unicode chars it actually corresponds to the test.


KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000130

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x48

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x45

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x4c

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x4c

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x4f

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x2e

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0xff0d

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000130

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x53

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x6f

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x6d

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x65

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x20

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000130

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x53

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x70

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x61

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x63

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x65

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x73

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x20

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000130

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x48

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x65

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x72

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x65

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000130

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x2e

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0xff0d

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000130

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)


KEYDOWN IN TERMINAL: UNICODE CHAR: 0x31

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x32

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x33

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000116

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000130

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x34

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x35

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)


KEYDOWN IN TERMINAL: UNICODE CHAR: 0x36

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0xff0d

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000130

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x31

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x32

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x33

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000114

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000130

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)
ff
KEYDOWN IN TERMINAL: UNICODE CHAR: 0x34

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x35

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: UNICODE CHAR: 0x36

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

KEYDOWN IN TERMINAL: SPECIAL CODE: 0x00000113

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)


KEYDOWN IN TERMINAL: UNICODE CHAR: 0xff0d

(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)
-

the "enter" input seems to correspond to 0xff0d and / or 0x00000130 ?

Edited by Jaunasse
Link to comment
Share on other sites

the "enter" input seems to correspond to 0xff0d and / or 0x00000130 ?

That is definitely the problem. The return character is supposed to be just 0x0d (or 0x000d to format it the same way with the full unicode 16 bits).

When ascii characters are mapped into unicode, they're all supposed to end up with 0x00 prepended to them, not 0xff.

The unicode character 0xff0d is NOT return. It's the long-bar hyphen that consumes the full width of the character cell. I have no idea why the Linux implementation of Unity is returning 0xff0d for Return instead of 0x000d.

At the moment I'm confused and I've made an account over on the unity forums to ask why this is happening and what I'm supposed to do about it.

Link to comment
Share on other sites

At the moment I'm confused and I've made an account over on the unity forums to ask why this is happening and what I'm supposed to do about it.

On the Unity Forums I had someone just ask me if it gives the same results in the 32-bit version for Linux. Can you try both the 64-bit and 32-bit and see if they differ? I can't perform the test myself, as previously stated.

Link to comment
Share on other sites

Sadly my ksp won't start up on 32 bit (crash during the loading). I don't know if it is because I am using too much resources or doesn't have the proper libraries to run in it 32 bit but I can't perform this test at the moment.

Maybe kafuka could help us with this ?

Link to comment
Share on other sites

Well on the Unity forums I got confirmation that someone else got the 0xff0d bug for Linux as well, on something that wasn't KSP, so it's in Unity itself and thus not likely to be fixed any time soon in KSP. KSP doesn't tend to release public patches just to link with a new Unity update, so that means even if Unity fixes it we in Kerbal land will be stuck with it until at least KSP 0.25.

So I'll make q pull request with a work-around in kOS, and see if erendrake would be willing to make a pre-release for it. Preventing an entire OS platform from using the mod at all due to something as petty as a keycode mapping is a pretty serious bug, as far as I'm concerned.

My work-around will be to simply assume that there's no such thing as a valid keypress event that sends a unicode character in the range 0xff0 through 0xffff, since those are all for drawing specialized super-wide version of normal characters on the screen (and are thus for visual output purposes, not input purposes). Thus if I see any keypress with a unicode value starting with 0xff, I'll clobber the ff with 00 first before continuing on.

EDIT: Out of curiosity, what happens if you type CTRL-M instead of RETURN? Does that cause it to send the actual correct 0x000d?

Edited by Steven Mading
Link to comment
Share on other sites

planning a Duna mission that will include an atmospheric probe. Playing with signal delay so need a way to send experiment data and monitor battery usage, discharging capacitors as needed to recharge EC supply. Looking over the docs it seems this isn't yet possible to do directly? As in I can't access a part in code and tell it to run its experiment and then send the data. I can monitor the EC levels, but can't tell a specific capacitor to discharge? I know I can use Action Groups, however there aren't enough AGs to handle everything :/

So if this isn't implemented yet is something like this planned? Alternatively, there could be support for Diazo's Action Groups Extended, which he says is possible and would give plenty of slots to deploy part actions.

Also, is there something in the 13.1 release that checks the KSP version and reverts to an older kOS? I'm still running 0.23.5 and wanted to try the 13.1 build and when I open the console it boots up telling me it's running 12.2

Anyway, the reason I wanted to get 13.1 was for the ability to specify how I want the game to warp, but the docs haven't been updated with info on the new syntax.

Link to comment
Share on other sites

@jaunasse

@kafuka

I just uploaded a new experimental DLL to the same google drive location

( https://drive.google.com/folderview?id=0Bxkeai7oN35fY1cyeXNNTkNnX3c&usp=sharing )

Hypothetically this workaround might fix the Linux RETURN key problem, but I can't test it myself to see. Can you give it a try and see if the special characters work (try RETURN and whatever else was failing before).

I haven't put it on github yet because I'm loathe to commit code I haven't tested myself, but if you report that it works I'll trust that you're right and commit it.

(Note, that DLL also still has the verbose debugging logging enabled too, which would not be there anymore when I commit it for real.)

Link to comment
Share on other sites

@jaunasse

@kafuka

I just uploaded a new experimental DLL to the same google drive location

( https://drive.google.com/folderview?id=0Bxkeai7oN35fY1cyeXNNTkNnX3c&usp=sharing )

Hypothetically this workaround might fix the Linux RETURN key problem, but I can't test it myself to see. Can you give it a try and see if the special characters work (try RETURN and whatever else was failing before).

I haven't put it on github yet because I'm loathe to commit code I haven't tested myself, but if you report that it works I'll trust that you're right and commit it.

(Note, that DLL also still has the verbose debugging logging enabled too, which would not be there anymore when I commit it for real.)

I need to go to work so I haven't been able do to extensive tests, but it seems to work perfectly !

Thank you for reacting so quickly to a bug that wasn't even kOS related, I'm really impressed !

Link to comment
Share on other sites

wm3pi29.jpg

any tips for reducing flickering when updating a full-screen status display? I figured using PRINT AT and only updating the stuff that needs to be updated would help with performance but I didn't consider the fact that kOS only does a certain amount of instructions per tick. What seems to be happening is every now and then the last instruction is me blanking a section of text, then the wait 0.001 and then the text is printed back to the screen. Hence, a noticeable flicker. Other than increasing the amount of code executed per tick, any other suggestions? I've also played around with inserting wait 0.001 within the loop to combine refreshes.


print currentBrakeTime at (20,3).
print " " at (42,3).
print round(currentSpeed, 2) at (42,3).
print " " at (20,4).
print currentOverSpeed at (20,4).
print currentSlopeType at (46,4).
print currentWaypoint + "/" + numWaypoints at (19,5).
print brakeUseCount at (43,5).
// try to break up the loop to reduce flickering
wait 0.001.
print " " at (21,6).
print round(currentSlopeAngle, 2) at (21,6).
print " " at (22,10).
print round(alt:radar - groundHeight, 2) + "m" at (22,10).
print " " at (17,11).
print round(surfacespeed, 2) + "m/s" at (17,11).
print " " at (32,12).
print round(target:distance, 2) + "m" at (32,12).
if avgSpeed:length > 0 {
set avgSpeedResult to 0.
set sample to 0.
set index to avgSpeed:length - 1.
until index < avgSpeed:length - avgSpeedETASample or index < 0 {
set avgSpeedResult to avgSpeedResult + avgSpeed[index].
set index to index - 1.
set sample to sample + 1.
}
set avgSpeedResult to avgSpeedResult / sample.
set targetETA to target:distance / avgSpeedResult.

set hours to 0.
set minutes to 0.
if targetETA >= 3600 {
set hours to floor(targetETA / 3600).
set targetETA to targetETA - (hours * 3600).
}.

if targetETA >= 60 {
set minutes to floor(targetETA / 60).
set targetETA to targetETA - (minutes * 60).
}.

if minutes = 0 {
print " " at (32,13).
print "< 1m" at (32,13).
} else {
print " " at (32,13).
print hours + "h " + minutes + "m" at (32,13).
}.
}.

wait 0.001.
set index to 0.
until index = maxLogEntries or index = recentLogList:length {
print "| |" at (0, logLineStart + index).
print recentLogList[index] at (2, logLineStart + index).
set index to index + 1.
}.
  print "     " at (20,3).

Edit: the wait technique works, I stuck a few more in and now the flickering is completely gone. I still don't consider it an ideal solution but it works

Edited by Gaiiden
Link to comment
Share on other sites

Another problem still remains though, while using the ingame editor, only keys that aren't already assigned to an in-game command can be typed, the other will just affect the game outside of the editor.

My current workaround is using an external IDE and save programs in the Archive

EDIT: This might be unrelated, but the "lock steering" command doesn't seems to work.

EDIT 2: Just dumb and forgot about SAS. Lock steering works fine.

Edited by Jaunasse
Link to comment
Share on other sites

I wish I could help about the popup editor in Linux but really don't have control over it - the popup text editor is really a Unity GUI TextArea widget, that Unity itself is supposed to do all the hard work to make it function right (although in practice I did find that I had to override a lot of what it was doing to get some basic functionality it was missing, like the pagedown and pageup keys). The point is that the proper capturing of keyboard focus isn't even mentioned in the kOS code at all because it's supposed to be being done by the Unity widget itself already. The difference in behavior between Linux and Windows versions seems to be one of input stacking order, as it were. In Windows the TextArea sees the key event first and only if it doesn't consume it does the key event pass "through" to the rest of the game. In Linux, from the description, it seems that the main game is seeing the key event first and only if it doesn't consume it does it pass "through" to the GUI TextArea widget. It's as if the "stacking order" isn't the same.

Link to comment
Share on other sites

Hey guys, I have a question.

Is there a way for the script to prompt the user for an input? For example I wrote a pretty nice auto ascent script but I would like to be able to adjust the desired apoapsis every time I launch without having to alter the code.

The only way I thought this could be implemented is that before running the script I set a variable with the value, which then is called inside the script, but I would prefer if I could run the script and it to prompt me...

Edit: Is there an operator that returns false if a variable is not defined instead of halting program execution?

Edit 2: Is there a variable with the current stage's ISP?

Edited by Tigermisu
Link to comment
Share on other sites

Is there a way for the script to prompt the user for an input?

Not like you are thinking but you can pass in parameters when you use the run command. Being able to wait for the user to press a key or line of text is on the roadmap

Edit: Is there an operator that returns false if a variable is not defined instead of halting program execution?

No, where are you running into nulls?

Edit 2: Is there a variable with the current stage's ISP?

No, but you can get the list of engines, query if they are currently burning, and then get each engine's ISP.

Link to comment
Share on other sites

1.- How are the parameters passed/called?

2.- It was just that one of my scripts needed a variable from a previous one, but I wanted to to ignore the call if the variable wasn't defined (Previous script wasn't run) and assign a rudimentary value.

3.- Hmm, would that work for engines that are yet-to-be-activated-in-a-future-stage?

Edited by Tigermisu
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...