Dark Falls Gildenforum

Willkommen bei den Dark Falls! Erstellt ein kostenloses Benutzerkonto, indem ihr euch Registriert um an unserem Forum und der Community teilzuhaben.

SDS Operational

  • Aufrufe Aufrufe: 62
  • Letzte Aktualisierung Letzte Aktualisierung:

    1. Click "Subscribe" on the SDS-OS page: Here
    2. Install the program block on Your ship
    3. Set the control cockpit (or several), use the part in the name of the cockpit as a prefix to search for them with the script
    4. Put the LCD display. The standard prefix for display search is LCD (You can change it)
    5. Click "Edit", then "Browse Scripts", there we find SDS-OS in the list, compile the script ("Check Code" and "OK")
    6. If desired, from the top of the script, copy the blank, which is then inserted into the "Custom Data"
      /*** You should copy the example below to Custom Data section of your programmable block ...Here is the blank, copy it !...*** End of the Custom Data section ***/
    7. Run the program block with the argument setup (or click "Recompile"). Each time you update Custom Data, you should enter this argument to update the script
    8. Edit this basic config in "Custom Data". You can use this to set all the necessary parameters:
      • Customize menu and submenus
      • Change the design color
      • Set other settings




    Note:
    [Main] - required section
    [Add] and [Color] - these sections may be missing partially or completely, all parameters have default values

    [Main]CockpitPrefix=Cockpits - prefix that must be present in the name of all cockpits (pilot seats or remote control units), that the script will be managed fromLCDPrefix=LCDs - prefix used to search for used displays[Add]Prefix= - prefix added to the beginning of all block names when searching, which the script is looking for (there is one exception *bl*) it may be useful if the names of all blocks in the building start the same way Attention! Watch for spacesScreen=0 - number of the screen in the cockpit, which displays informationDefaultMenu=0 - sets the menu page, displayed when the script startsWASDAutoDisable=true - automatically disables WASD control when leaving the cockpit, If set to "false", the cockpit will control the script, not the ship. until you disable itSwitchThrusters=false - if set to "true" disables engine control in WASD mode, If false, the traction control (thrust override) is activated (highly recommended when flying in gravity)SwitchGyros=true - if set to "true" disables gyroscope control in WASD modeSwitchWheels=false - if set to "true" disables wheels control in WASD modeLCDAutoOff=false - turn off transparent screens in the absence of WASD controlWASDPrgOn=-1 - specify the numbers of subprogramme to be executed when WASD is switching onWASDPrgOff=-1 - specify the numbers of subprogramme to be executed when WASD is switching off[Color]BackgroundColor=0,0,0 - the background color in the format R,G,B from 0 to 255ItemBarColor=0,6,12 - background color of inactive barsMainColor=10,160,255 - main colorSelItemBarColor=10,160,255 - color of inactive barsSelItemTextColor=0,0,0 - text color on the active barOnColor=225,65,100 - color of the enable iconArrowColor=155,225,255 - the color of the scroll arrowsErrorMSGColor=225,65,100 - color of error messagesHelpColor=155,225,255 - hint color[TopMenu] - the color of suggestions is the section that sets the top menu. Items must go in order, starting from 0 The number of items is equal to the number of menus. For example the config for a 2 page menu is given0=Lights & Doors - lights and doors control page1=Thrusrs & Batt - thrusters and batt control page[0] - section of lights and doors control pointsLight 1;bl;Corner Light;onoffLight 2;bl;Corner Light 2;onoffAll Lights;gr;Lights;onoffDoor 1;door;Sliding Door;toggleDoor 2;door;Sliding Door 2;toggleAll Doors;gr-door;Doors;toggle[1] - section of thrusters and batt control pointsBrake Thrusters;thrust;all/backward;onoffAll Thrusters;thrust;all/all;onoffInv Vol;all-show;*;invShip Mass;all-show;*;mass/total/100000All Batts;all-show;*;batt
    /*** Let's analyze one item ***/
    Light 1 - what will be written on the screen (display text)
    ; - separator
    bl - type of command (managing block activation)
    Corner Light - block name (the script searches for the Prefix + this name)
    onoff - command argument (enabling / disabling the block)

    Also, you can now add the number of the subroutine that is started when it is activated to any menu item
    For example, here we added /5 at the end of the line
    Light 1;bl;Corner Light;onoff/5
    Now, when you switch the Corner Light, the subprogram number 5 will start immediately


    All other points are configured using this example
    Here are some examples of more advanced commands:

    - Airlock management (a group of 2 doors, named Airlock Doors), and opening delays of 0 and 2 seconds
    My Airlock;gr-airlock;Airlock Doors;0/2
    - Sets the radius of the antenna base 3000 m distance and +/- 500m a step of its change:
    Antenna Radius;antenna;Antenna;3000/500
    - View inventory load in a group with the name Cargo Containers
    Cargo Fill;gr-show;Cargo Containers;inv

    Automated AirLocks
    AirLocks with controlled by the SDS-OS script are now available.
    Add doors to the group, also you can add Sensors (to identify the player), and AirVent (to pump air out of the airlock).
    In the minimum configuration 2 doors are requred.

    Example:
    [AutoAirlocks]AutoAirlock;gr;1.5;0Group_name; gr; Time_to_AutoClose; Air_Pumping_Time



    The menu items are formed as follows
    The text to be displayed; a command type; block name; the command arguments
    Note:
    $Variable, for example, instead of $Time_1/$Time_2 you need to specify 2 parameters 5/3


    Command type
    Command description
    The command arguments
    Description of arguments
    pb
    Programmable block
    a command passed to another program block

    bl
    blk
    any_block
    block_on_the_current_grid
    on
    off
    onoff
    turn_on
    turn_off
    toggle_on/off
    *bl*
    *blk*
    search for blocks by part name
    only on the current grid
    on
    off
    onoff
    turn_on
    turn_off
    toggle_on/off
    gr
    group of any blocks
    on
    off
    onoff
    turn_on
    turn_off
    toggle_on/off
    gr-gr
    alternate inclusion of 2 groups
    $group1_name;$group2_name
    group names
    gr-airlock
    gateway group (must consist of 2 doors)
    $time_1/$time_2
    time1/time2 (delay in seconds)
    antenna
    gr-antenna
    antenna
    group_of_antennas
    $set_R/$change_R
    set_the_radius/change_step
    beacon
    gr-beacon
    beacon
    group_of_beacons
    $set_R/$change_R
    set_the_radius/change_step
    batt
    gr-batt
    battery
    group_of_batteries
    mode
    auto
    recharge
    discharge
    mode_selection
    auto-mode
    recharge
    discharge
    conn_lock
    gr-conn_lock
    connector
    group_of_connectors
    lock
    unlock
    toggle
    lock
    unlock
    toggle_lock
    conn_collect
    gr-conn_collect
    connector
    group_of_connectors
    on
    off
    toggle
    collect
    not_collect
    toggle_collect
    conn_throw
    gr-conn_throw
    connector
    group_of_connectors
    on
    off
    toggle
    throw
    not_throw
    toggle_throw
    door
    gr-door
    door
    group_of_doors
    open
    close
    toggle
    open
    close
    toggle_open/close
    grav
    gr-grav
    gravity_generator
    group_of_gravgens
    $grav/$ch_g
    $grav/set/$grav
    set_gravity/change_step
    set_gravity/set/set_gravity
    jump
    gr-jump
    jump_drive
    group_of_jump_drives
    charge
    off
    toggle
    charge_on
    charge_off
    toggle_charge
    jump_dist
    gr-jump_dist
    jump_drive
    group_of_jump_drives
    $set_distance
    $set_distance/$change_dist
    set_jump_distance
    set_jump_distance/change_step
    light
    gr-light
    light source
    group_of_lights
    сolor=$R,$G,$B/
    radius=$Radius(m),$Intensity/
    blink=$Interval,$Length
    сolor=R(0-255),G(0-255),B(0-255)/
    radius=Radius,Intensity/
    blink=Interval(sec),Length(0-100)
    (you can use one group of parameters)
    lgear_auto
    gr-lgear_auto
    landing_gear
    group_of_lgears
    on
    off
    toggle
    autolock_on
    autolock_off
    toggle_autolock
    lgear_lock
    gr-lgear_lock
    landing_gear
    group_of_lgears
    lock
    unlock
    toggle
    lock
    unlock
    toggle_lock
    piston_att
    gr-piston_att
    piston
    group_of_pistons
    attach
    detach
    toggle
    $Min_distance/$Max_distance
    attach
    detach
    toggle_attach/detach
    Minimum/Max_distance
    piston_vel
    gr-piston_vel
    piston
    group_of_pistons
    $vel/$change_vel
    $vel/set/$vel
    reverse/$vel
    reverse/set/$vel
    set_velocity/change_step
    set_velocity/set/set_velocity
    reverse/change_step
    reverse/set/set_velocity
    rotor_att
    gr-rotor_att
    rotor
    group_of_rotors
    attach
    detach
    toggle
    $Min_angle/$Max_angle
    attach
    detach
    toggle_attach/detach
    Minimun/Max_Angle
    rotor_lock
    gr-rotor_lock
    rotor
    group_of_rotors
    lock
    unlock
    toggle
    lock
    unlock
    toggle_lock
    rotor_vel
    gr-rotor_vel
    rotor
    group_of_rotors
    $vel/$change_vel
    $vel/set/$vel
    reverse/$vel
    reverse/set/$vel
    set_velocity/change_step
    set_velocity/set/set_velocity
    reverse/change_step
    reverse/set/set_velocity
    sound
    gr-sound
    sound_block
    group_of_sound_blocks
    play stop/
    $Sound/
    $Loop_Time
    play stop/
    sound_name/
    loop_time
    sorter_drain
    gr-sorter_drain
    sorter
    group_of_sorters
    on
    off
    toggle
    drain_all
    not_drain_all
    toggle_drain
    sorter_list
    gr-sorter_list
    sorter
    group_of_sorters
    black white/
    $Ore_or_Ingot
    filter_mode
    ore_or_ingot_name
    example: white/Ore-Stone,Ingot-Gold
    stockpile
    gr-stockpile
    gas_tank
    group_of_gas_tanks
    on
    off
    toggle
    stockpile
    not_stockpile
    toggle_stockpile
    timer
    gr-timer
    timer
    group_of_timers
    trigger
    start
    stop
    toggle
    trigger_now
    start_timer
    stop_timer
    toggle_start/stop
    timer_delay
    gr-timer_delay
    timer
    group_of_timers
    $set_time/$change_time
    set_delay/change_step
    turret
    gr-turret
    turret
    group_of_turrets
    shoot
    tcharacters
    tstations
    tlargeships
    tsmallships
    tmeteors
    tmissiles
    tneutrals
    shoot_now
    target_characters
    target_stations
    target_large_ships
    target_small_ships
    target_meteors
    target_missiles
    target_neutrals
    vent
    gr-vent
    air_vent
    group_of_air_vent
    press
    depress
    toggle
    pressure o2
    depressure o2
    toggle pressure
    write
    gr-write
    block_with_lcd
    group_of_blocks
    screen=$Num/
    size=$FontSize/
    color=$R,$G,$B/
    background=$R,$G,$B/
    text=$Text
    nltext=$Text
    addtext=$Text
    clear
    font_size
    сolor=R(0-255),G(0-255),B(0-255)
    background_color
    the_text_to_display
    text_from_a_new_line
    add_text
    clear_the_screen
    remote
    gr-remote
    remote_control
    group_of_remote_controls
    on
    off
    toggle
    enable_autopilot
    disable_autopilot
    toggle_autopilot
    waypoint
    gr-waypoint
    remote_control
    group_of_remote_controls
    GPS:$Name:$X:$Y:$Z
    (GPS in the standard format)
    load_GPS_in_remote
    show
    gr-show
    all-show
    block
    group_of_blocks
    all_found
    inv
    gas
    batt
    jump
    power
    mass/(cargo total)/$Max_mass
    grav/(art nat total)
    (data display):
    blocks_with_inventory
    blocks_with_gas
    batteries
    jump_drives_charge
    power_sources
    mass/(cargo or all_ship)
    gravity/(artifical natural or total)
    thrust
    all atmo hydro ion/all left right up down forward backward
    (engine type/direction)
    on
    off
    onoff
    on
    off
    toggle_on/off



    Control in WASD mode
    The mode is enabled / disabled by sending commands to the program block:
    wasd
    wasd_on
    wasd_off
    wasd;$ID
    , where $ID - cockpit ID (see below)

    Button assignment:
    • W - the cursor up
    • S - the cursor down
    • Q - previous menu
    • E - next menu
    • A - decrease the parameter
    • D - increase the parameter
    • Space - apply
    This parameter specifies whether to automatically disable WASD control when the pilot leaves the cockpit:
    WASDAutoDisable

    Control of the gyroscopes and the rest from the cockpit will be switched on / off depending on the configuration of the following parameters:
    SwitchThrusters
    SwitchGyros
    SwitchWheels

    Attention !
    The game Space Engeneers is made so that the buttons that control the cursor in the script,
    they also control the ship's thrusters / gyroscopes.
    To avoid this effect the script has a simple autopilot (thrust override control) which,
    when the WASD mode is turned on and there is gravity, sets the exact same thrust on all found engines as it was before.
    To enable this mode, the parameter must be set:
    SwitchThrusters = false
    It is recommended to set on ships flying in the field of gravity



    WASD control, when playing on a server with multiple cockpits with multiple cockpits and multiple players
    Unfortunately, it is impossible to implement the possibility of determining from which cockpit the command to control is given. Therefore, for the script to work correctly while managing WASD at the same time, it is necessary to:
    • In the name of the cockpit, use any number from 0 to 9999 as a prefix. This number, let's call it ID, can stand anywhere in the cockpit name, at the beginning, middle or end, no matter
    • The ID of each cockpit must be unique. ID numbering can be arbitrary, they can go out of order
    • When setting the WASD activation argument on the cockpit, use the following command:
      wasd;$ID
      For example: wasd;0 or wasd;15, for 0 and 15 cockpit respectively
      When using the normal command wasd, control will be activated on all cockpits of the ship if the pilot is there


    Managing arguments
    In addition to controlling WASD, you can also control it using arguments that can be passed to the program block:

    • setup - initial initialization (you can call to apply changes from Custom Data)
    • up - the cursor up
    • down - the cursor down
    • prev - previous menu
    • next - next menu
    • left - decrease the parameter
    • right - increase the parameter
    • enter - apply
    • wasd - switch the WASD control mode
    • wasd_on - enable WASD
    • wasd_off - disable WASD
    • run - run the command you wrote. Allows you to send commands to the script from the button panel or cockpit panel. The command is built in the same way as described in the "Commands" section, but with a slight change:
      run; command type; block name; command arguments
      For example, to control a airlock (a group of 2 doors with the name Airlock Doors),
      from the button panel located next to it:
      run;gr-airlock;Airlock Doors;2/4
    • stop - force stopping all running subprogrammes



    A subprogramme is an option that allows you to set several consecutive actions at once in a single click without using timers. You can also run the following series of commands from the subprogramm after an arbitrary delay. In this way, you can start a whole chain of actions with a single click.

    Features of the subprogrames
    • The subprogramme consists of the following sections
    • Each section begins with a header enclosed in square brackets []
    • The header consists of a number (section number) and a custom comment, the presence of this comment allows the script to distinguish the subroutine from the menu page
    • Section numbers must start with 0 and go in ascending order
      Examples of headers:
      [0 Start sub-progam][1 Somthing actions]
    • Each section contains a list of commands
    • The command is built in the same way as described in the "Commands" section
      custom comment; command type; block name; command arguments
    Command features
    • Within each section, all commands are run simultaneously
    • To start the next section, use the command:
      $Custom_comment; run; $Section_number; $Delay_in_seconds
    • If the [X] section is currently running, it will not start when the same [X] section
    • To force the termination of all sections, you must submit an argument to the program block:: stop
    Example for a light Interior Light and door Sliding door:
    [0 Start sub-progam]Turn on the lamp;bl;Interior Light;onRed color without blinking;light;Interior Light;color=255,0,0/blink=0,0After 3 seconds, go to section [1];run;1;3[1 next]Open the door;door;Sliding Door;openAdding flickering for the lamp;light;Interior Light;blink=0.5,50After 5 seconds, go to section [3];run;2;5[2 here we close our door]Close the door;door;Sliding Door;closeTurning off the lamp;bl;Interior Light;offRemoving the flicker;light;Interior Light;blink=0,0And if we want to loop to infinity in 3 seconds we run [0] section ;run;0;3

    To start this routine from the main menu, the settings item will look like this:
    Run sub-program;run;0;0
    And to start [0] section from the button panel, with a delay of 5 seconds:
    run;run;0;5
  • Laden…
Oben