Add docu to sequencer and move controller
This commit is contained in:
parent
c1542a48d1
commit
a961ec8796
@ -191,7 +191,9 @@ techage.Items = {
|
||||
ta4_electricmeter = "techage:ta4_electricmeter",
|
||||
ta4_transformer = "techage:ta4_transformer",
|
||||
power_reduction = "techage_power_reduction.png",
|
||||
ta4_button_4x = "techage:ta4_button_4x",
|
||||
ta4_button_4x = "techage:ta4_button_4x",
|
||||
ta4_sequencer = "techage:ta4_sequencer",
|
||||
ta4_movecontroller = "techage:ta4_movecontroller",
|
||||
|
||||
--ta4_ "",
|
||||
}
|
||||
|
@ -187,6 +187,8 @@ techage.manual_DE.aTitel = {
|
||||
"3,TA4 Spieler Detektor / Player Detector",
|
||||
"3,TA4 Zustandssammler / State Collector",
|
||||
"3,TA4 Detektor / Detector",
|
||||
"3,TA4 Move Controller",
|
||||
"3,TA4 Sequenzer",
|
||||
"2,TA4 Lampen",
|
||||
"3,TA4 LED Pflanzenlampe / TA4 LED Grow Light",
|
||||
"3,TA4 LED Straßenlampe / TA4 LED Street Lamp",
|
||||
@ -1577,6 +1579,50 @@ techage.manual_DE.aText = {
|
||||
"\n"..
|
||||
"\n"..
|
||||
"\n",
|
||||
"Der TA4 Move Controller ist ähnlich zum \"Door Controller 2\"\\, aber die ausgewählten Blöcke werden nicht entfernt\\, sondern können bewegt werden.\n"..
|
||||
"Da die bewegten Blöcke Spieler und Mobs mitnehmen können\\, die auf dem Block stehen\\, können damit Fahrstühle und ähnliche Transportsysteme gebaut werden.\n"..
|
||||
"\n"..
|
||||
"Anleitung:\n"..
|
||||
"\n"..
|
||||
" - Controller setzen und die Blöcke\\, die bewegt werden sollen\\, über das Menü an-trainieren (Es können bis zu 16 Blöcke an-trainiert werden)\n"..
|
||||
" - die \"Flugstrecke\" muss über eine x\\,y\\,z Angabe (relativ) eingegeben werden (die maximale Distanz beträgt 100 m)\n"..
|
||||
" - mit den Menü-Tasten \"Bewege A-B\" sowie \"Bewege B-A\" kann die Bewegung getestet werden\n"..
|
||||
" - man kann auch durch Wände oder andere Blöcke fliegen\n"..
|
||||
" - auch die Zielposition für die Blöcke kann belegt sein. Die Blöcke werden in diesem Falle \"unsichtbar\" gespeichert. Dies ist für Schiebetüren und ähnliches gedacht\n"..
|
||||
" - Über das Gabelschlüssel-Menü kann im Controller auch ein \"handover\" programmiert werden. Durch Eingabe einer Blocknummer werden die Blöcke dann an den nächsten Move Controller übergeben. So lassen sich auch zusammenhängende Bewegungen über mehrere Move Controller realisieren.\n"..
|
||||
"\n"..
|
||||
"Der Move Controller unterstützt folgende techage Kommandos:\n"..
|
||||
"\n"..
|
||||
" - 'a2b' Bewege Block von A nach B\n"..
|
||||
" - 'b2a' Bewege Block von B nach A\n"..
|
||||
" - 'move' Bewege Block auf die andere Seite\n"..
|
||||
"\n"..
|
||||
"\n"..
|
||||
"\n",
|
||||
"über den TA4 Sequenzer können ganze Abläufe programmiert werden. Hier ein Beispiel:\n"..
|
||||
"\n"..
|
||||
" -- this is a comment\n"..
|
||||
" \\[1\\] send 1234 a2b\n"..
|
||||
" \\[30\\] send 1234 b2a\n"..
|
||||
" \\[60\\] goto 1\n"..
|
||||
"\n"..
|
||||
" - Jede Zeile beginnt mit einem Nummer\\, welche einem Zeitpunkt entspricht '\\[<num>\\]'\n"..
|
||||
" - Für Zeitpunkte sind Werte von 1 bis 50000 zulässig\n"..
|
||||
" - 1 entspricht 100 ms\\, 50000 entspricht in etwa 4 Spieltagen\n"..
|
||||
" - Leerzeilen oder Kommentare sind erlaubt ('-- comment')\n"..
|
||||
" - Mit 'send <num> <command> <data>' kann man ein Kommando an einen Block senden\n"..
|
||||
" - Mit 'goto <num>' kann man an eine andere Zeile/Zeitpunkt springen\n"..
|
||||
" - Mit 'stop' kann man den Sequenzer verzögert stoppen\\, so dass er kein neues Kommando\nvon einem Taster oder anderem Block annimmt (um eine Bewegung abzuschließen)\nOhne 'stop' geht der Sequenzer sofort nach dem letzten Kommando in den stopped Modus.\n"..
|
||||
"\n"..
|
||||
"Der TA4 Sequenzer unterstützt folgende techage Kommandos:\n"..
|
||||
"\n"..
|
||||
" - 'goto <num>' Zu einer Kommandozeile springen und damit den Sequenzer starten\n"..
|
||||
" - 'stop' Den Sequenzer anhalten\n"..
|
||||
"\n"..
|
||||
"Das 'goto' Kommando wird nur angenommen\\, wenn der Sequenzer gestoppt ist.\n"..
|
||||
"\n"..
|
||||
"\n"..
|
||||
"\n",
|
||||
"TA4 beinhaltet eine Reihe von leistungsstarken Lampen\\, die eine bessere Ausleuchtung ermöglichen oder Spezialaufgaben übernehmen.\n"..
|
||||
"\n",
|
||||
"Die TA4 LED Pflanzenlampe ermöglicht ein schnelles und kräftiges Wachstum aller Pflanzen aus der 'farming' Mod. Die Lampe beleuchtet ein 3x3 großes Feld\\, so dass sich damit auch Pflanzen unter Tage anbauen lassen.\n"..
|
||||
@ -1942,6 +1988,8 @@ techage.manual_DE.aItemName = {
|
||||
"ta4_playerdetector",
|
||||
"ta4_collector",
|
||||
"ta4_detector",
|
||||
"ta4_movecontroller",
|
||||
"ta4_sequencer",
|
||||
"",
|
||||
"ta4_growlight",
|
||||
"ta4_streetlamp",
|
||||
@ -2162,6 +2210,8 @@ techage.manual_DE.aPlanTable = {
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"ta4_liquid_filter_base",
|
||||
"ta4_liquid_filter_gravel",
|
||||
"ta4_liquid_filter_top",
|
||||
|
@ -187,6 +187,8 @@ techage.manual_EN.aTitel = {
|
||||
"3,TA4 Player Detector",
|
||||
"3,TA4 State Collector",
|
||||
"3,TA4 Detector",
|
||||
"3,TA4 Move Controller",
|
||||
"3,TA4 Sequencer",
|
||||
"2,TA4 Lamps",
|
||||
"3,TA4 LED Grow Light",
|
||||
"3,TA4 Street Lamp",
|
||||
@ -1575,6 +1577,50 @@ techage.manual_EN.aText = {
|
||||
"\n"..
|
||||
"\n"..
|
||||
"\n",
|
||||
"The TA4 Move Controller is similar to \"Door Controller 2\"\\, but the selected blocks are not removed\\, but can be moved.\n"..
|
||||
"Since the moving blocks can take players and mobs standing on the block with them\\, elevators and similar transport systems can be built with them.\n"..
|
||||
"\n"..
|
||||
"Instructions:\n"..
|
||||
"\n"..
|
||||
" - Set the controller and train the blocks to be moved via the menu (up to 16 blocks can be trained)\n"..
|
||||
" - the \"flight route\" must be entered via an x\\, y\\, z specification (relative) (the maximum distance is 100 m)\n"..
|
||||
" - The movement can be tested with the menu buttons \"Move A-B\" and \"Move B-A\"\n"..
|
||||
" - you can also fly through walls or other blocks\n"..
|
||||
" - The target position for the blocks can also be occupied. In this case\\, the blocks are saved \"invisibly\". This is intended for sliding doors and the like\n"..
|
||||
" - A \"handover\" can also be programmed in the controller via the open-ended wrench menu. By entering a block number\\, the blocks are then transferred to the next move controller. In this way\\, connected movements can also be implemented using several Move Controllers.\n"..
|
||||
"\n"..
|
||||
"The Move Controller supports the following techage commands:\n"..
|
||||
"\n"..
|
||||
" - 'a2b' Move block from A to B.\n"..
|
||||
" - 'b2a' Move block from B to A.\n"..
|
||||
" - 'move' Move block to the other side\n"..
|
||||
"\n"..
|
||||
"\n"..
|
||||
"\n",
|
||||
"Entire processes can be programmed using the TA4 sequencer. Here's an example:\n"..
|
||||
"\n"..
|
||||
" -- this is a comment\n"..
|
||||
" \\[1\\] send 1234 a2b\n"..
|
||||
" \\[30\\] send 1234 b2a\n"..
|
||||
" \\[60\\] goto 1\n"..
|
||||
"\n"..
|
||||
" - Each line begins with a number which corresponds to a point in time '\\[<num>\\]'\n"..
|
||||
" - Values from 1 to 50000 are permitted for times\n"..
|
||||
" - 1 corresponds to 100 ms\\, 50000 corresponds to about 4 game days\n"..
|
||||
" - Empty lines or comments are allowed ('-- comment')\n"..
|
||||
" - With 'send <num> <command> <data>' you can send a command to a block\n"..
|
||||
" - With 'goto <num>' you can jump to another line / point in time\n"..
|
||||
" - With 'stop' you can stop the sequencer with a delay so that it does not receive a new command\naccepts from a button or other block (to complete a movement)\nWithout 'stop'\\, the sequencer goes into stopped mode immediately after the last command.\n"..
|
||||
"\n"..
|
||||
"The TA4 sequencer supports the following techage commands:\n"..
|
||||
"\n"..
|
||||
" - 'goto <num>' Jump to a command line and start the sequencer\n"..
|
||||
" - 'stop' Stop the sequencer\n"..
|
||||
"\n"..
|
||||
"The 'goto' command is only accepted when the sequencer is stopped.\n"..
|
||||
"\n"..
|
||||
"\n"..
|
||||
"\n",
|
||||
"TA4 contains a series of powerful lamps that enable better illumination or take on special tasks.\n"..
|
||||
"\n",
|
||||
"The TA4 LED grow light enables fast and vigorous growth of all plants from the 'farming' mod. The lamp illuminates a 3x3 field\\, so that plants can also be grown underground.\n"..
|
||||
@ -1941,6 +1987,8 @@ techage.manual_EN.aItemName = {
|
||||
"ta4_playerdetector",
|
||||
"ta4_collector",
|
||||
"ta4_detector",
|
||||
"ta4_movecontroller",
|
||||
"ta4_sequencer",
|
||||
"",
|
||||
"ta4_growlight",
|
||||
"ta4_streetlamp",
|
||||
@ -2161,6 +2209,8 @@ techage.manual_EN.aPlanTable = {
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"ta4_liquid_filter_base",
|
||||
"ta4_liquid_filter_gravel",
|
||||
"ta4_liquid_filter_top",
|
||||
|
@ -118,7 +118,6 @@ TA4 Button/Switch=TA4 Schalter/Taster
|
||||
### signallamp_4x.lua ###
|
||||
|
||||
Command=Kommando
|
||||
Command to be sent=Zu sendender Befehl
|
||||
|
||||
### button.lua ###
|
||||
### cart_detector.lua ###
|
||||
@ -142,11 +141,19 @@ Insert destination node number(s)=Gebe Zielnummer(n) ein
|
||||
|
||||
Save=Speichern
|
||||
|
||||
### button.lua ###
|
||||
### signallamp_4x.lua ###
|
||||
|
||||
Command to be sent=Zu sendender Befehl
|
||||
|
||||
### button_4x.lua ###
|
||||
|
||||
Command to be sent (ignored for switches)=Zu sendender Befehl (wird für Schalter ignoriert)
|
||||
Label=Beschriftung
|
||||
Label for the button=Beschriftung für die Taste
|
||||
Momentary button or on/off switch=Taster oder Ein-/Ausschalter
|
||||
TA4 4x Button=TA4 4x Taster
|
||||
Type=Typ
|
||||
|
||||
### button_4x.lua ###
|
||||
### signallamp_4x.lua ###
|
||||
@ -615,6 +622,11 @@ Allow public access to the tank=Erlaube öffentlichen Zugriff auf den Tank
|
||||
Liquid Tank=Flüssigkeitstank
|
||||
To add liquids punch@nthe tank@nwith a liquid container=Um Flüssigkeit nachzufüllen,@nschlage mit einem Flüssigkeitsbehälter@nauf den Block
|
||||
|
||||
### liquid_lib.lua ###
|
||||
### ta4_chest.lua ###
|
||||
|
||||
keep assignment=Zuordnung beibehalten
|
||||
|
||||
### liquid_pipe.lua ###
|
||||
|
||||
TA Junction Pipe=TA Leitungskupplung
|
||||
@ -642,7 +654,6 @@ no usable water=Kein brauchbares Wasser
|
||||
@nValid operators:@nand or on off me @=@= ~@= ( )@n=@nGültige Operatoren:@nand or on off @=@= ~@= ( )@n
|
||||
Clear=Löschen
|
||||
Debug=Debug
|
||||
Help=Hilfe
|
||||
Inputs=Eingänge
|
||||
Outputs=Ausgänge
|
||||
Rules=Regeln
|
||||
@ -661,6 +672,11 @@ Update=Update
|
||||
|
||||
Store=Speichern
|
||||
|
||||
### logic_block.lua ###
|
||||
### sequencer2.lua ###
|
||||
|
||||
Help=Hilfe
|
||||
|
||||
### lye.lua ###
|
||||
|
||||
Lye=Lauge
|
||||
@ -722,6 +738,7 @@ TA4 Streetlamp Solar Cell=TA4 Straßenlampen-Solarzelle
|
||||
|
||||
Click on all blocks that shall be moved=Klicke auf alle Blöcke, die verschoben werden sollen
|
||||
Destination position is protected=Zielposition ist geschützt
|
||||
Error: Distance > 100 m !!=Fehler: Distanz > 100 m !!
|
||||
Handover to A=Übergabe an A
|
||||
Handover to B=Übergabe an B
|
||||
Maximum Speed=Maximalgeschwindigkeit
|
||||
@ -957,12 +974,24 @@ stopped=gestoppt
|
||||
|
||||
### sequencer2.lua ###
|
||||
|
||||
- 'goto <num>' (jump to another line)@n= - 'goto <num>' (springe zu einer anderen Zeile)@n
|
||||
- 'send <node num> <cmnd>' (techage command)@n= - 'send <node num> <cmnd>' (techage Kommando)@n
|
||||
- 'stop' (stop the execution)@n= - 'stop' (stoppe die Ausführung)@n
|
||||
- 1 corresponds to 100 ms@n= - 1 entspricht 100 ms@n
|
||||
- 50000 corresponds to 4 game days@n= - 50000 entspricht 4 Spieltagen@n
|
||||
'[<num>] <command>'@n='[<num>] <command>'@n
|
||||
<command> is one of the following:@n=<command> ist eines der folgenden:@n
|
||||
<num> is a number from 1 to 50000 and is@n=<num> ist eine Nummer von 1 bis 50000 und ist@n
|
||||
@n=@n
|
||||
Commands=Kommandos
|
||||
Example:@n=Beispiel:
|
||||
Invalid command!=Ungültiges Kommando!
|
||||
Start=Start
|
||||
Stop=Stopp
|
||||
Syntax:@n=Syntax:@n
|
||||
TA4 Sequencer=TA4 Sequenzer
|
||||
running=läuft
|
||||
the timeslot when the command is executed.@n=der Zeitpunkt, wenn der Befehl ausgeführt wird.@n
|
||||
|
||||
### sequencer2.lua ###
|
||||
### submenu.lua ###
|
||||
@ -1074,7 +1103,6 @@ Size=Größe
|
||||
TA4 8x2000 Chest=TA4 8x2000 Kiste
|
||||
Unlock=Entsperren
|
||||
Unlock connected chest@nif all slots are below 2000=Nachfolgende Kiste entsperren,@nsofern alle Speicherplätze <= 2000
|
||||
keep assignment=Zuordnung beibehalten
|
||||
right to left=von rechts nach links
|
||||
|
||||
### ta4_doser.lua ###
|
||||
|
@ -118,7 +118,6 @@ TA4 Button/Switch=
|
||||
### signallamp_4x.lua ###
|
||||
|
||||
Command=
|
||||
Command to be sent=
|
||||
|
||||
### button.lua ###
|
||||
### cart_detector.lua ###
|
||||
@ -142,11 +141,19 @@ Insert destination node number(s)=
|
||||
|
||||
Save=
|
||||
|
||||
### button.lua ###
|
||||
### signallamp_4x.lua ###
|
||||
|
||||
Command to be sent=
|
||||
|
||||
### button_4x.lua ###
|
||||
|
||||
Command to be sent (ignored for switches)=
|
||||
Label=
|
||||
Label for the button=
|
||||
Momentary button or on/off switch=
|
||||
TA4 4x Button=
|
||||
Type=
|
||||
|
||||
### button_4x.lua ###
|
||||
### signallamp_4x.lua ###
|
||||
@ -615,6 +622,11 @@ Allow public access to the tank=
|
||||
Liquid Tank=
|
||||
To add liquids punch@nthe tank@nwith a liquid container=
|
||||
|
||||
### liquid_lib.lua ###
|
||||
### ta4_chest.lua ###
|
||||
|
||||
keep assignment=
|
||||
|
||||
### liquid_pipe.lua ###
|
||||
|
||||
TA Junction Pipe=
|
||||
@ -642,7 +654,6 @@ no usable water=
|
||||
@nValid operators:@nand or on off me @=@= ~@= ( )@n=
|
||||
Clear=
|
||||
Debug=
|
||||
Help=
|
||||
Inputs=
|
||||
Outputs=
|
||||
Rules=
|
||||
@ -661,6 +672,11 @@ Update=
|
||||
|
||||
Store=
|
||||
|
||||
### logic_block.lua ###
|
||||
### sequencer2.lua ###
|
||||
|
||||
Help=
|
||||
|
||||
### lye.lua ###
|
||||
|
||||
Lye=
|
||||
@ -722,6 +738,7 @@ TA4 Streetlamp Solar Cell=
|
||||
|
||||
Click on all blocks that shall be moved=
|
||||
Destination position is protected=
|
||||
Error: Distance > 100 m !!=
|
||||
Handover to A=
|
||||
Handover to B=
|
||||
Maximum Speed=
|
||||
@ -957,12 +974,24 @@ stopped=
|
||||
|
||||
### sequencer2.lua ###
|
||||
|
||||
- 'goto <num>' (jump to another line)@n=
|
||||
- 'send <node num> <cmnd>' (techage command)@n=
|
||||
- 'stop' (stop the execution)@n=
|
||||
- 1 corresponds to 100 ms@n=
|
||||
- 50000 corresponds to 4 game days@n=
|
||||
'[<num>] <command>'@n=
|
||||
<command> is one of the following:@n=
|
||||
<num> is a number from 1 to 50000 and is@n=
|
||||
@n=
|
||||
Commands=
|
||||
Example:@n=
|
||||
Invalid command!=
|
||||
Start=
|
||||
Stop=
|
||||
Syntax:@n=
|
||||
TA4 Sequencer=
|
||||
running=
|
||||
the timeslot when the command is executed.@n=
|
||||
|
||||
### sequencer2.lua ###
|
||||
### submenu.lua ###
|
||||
@ -1074,7 +1103,6 @@ Size=
|
||||
TA4 8x2000 Chest=
|
||||
Unlock=
|
||||
Unlock connected chest@nif all slots are below 2000=
|
||||
keep assignment=
|
||||
right to left=
|
||||
|
||||
### ta4_doser.lua ###
|
||||
|
@ -720,9 +720,15 @@ minetest.register_node("techage:ta4_movecontroller", {
|
||||
unmark_all(name)
|
||||
meta:set_string("formspec", formspec(nvm, meta))
|
||||
elseif fields.store then
|
||||
meta:set_string("distance", fields.distance)
|
||||
nvm.lpos2 = table_add(nvm.lpos1, to_vector(fields.distance))
|
||||
nvm.pos_2to1 = false
|
||||
local dist = to_vector(fields.distance)
|
||||
local l = math.hypot(dist.x, math.hypot(dist.y, dist.z))
|
||||
if l <= 100 then
|
||||
meta:set_string("distance", fields.distance)
|
||||
nvm.lpos2 = table_add(nvm.lpos1, to_vector(fields.distance))
|
||||
nvm.pos_2to1 = false
|
||||
else
|
||||
meta:set_string("status", S("Error: Distance > 100 m !!"))
|
||||
end
|
||||
meta:set_string("formspec", formspec(nvm, meta))
|
||||
elseif fields.moveAB then
|
||||
meta:set_string("status", "")
|
||||
|
@ -18,6 +18,25 @@ local S = techage.S
|
||||
|
||||
local logic = techage.logic
|
||||
|
||||
local HELP = S("Syntax:\n") ..
|
||||
S("'[<num>] <command>'\n") ..
|
||||
S("\n") ..
|
||||
S("<num> is a number from 1 to 50000 and is\n") ..
|
||||
S("the timeslot when the command is executed.\n") ..
|
||||
S(" - 1 corresponds to 100 ms\n") ..
|
||||
S(" - 50000 corresponds to 4 game days\n") ..
|
||||
S("\n") ..
|
||||
S("<command> is one of the following:\n") ..
|
||||
S(" - 'send <node num> <cmnd>' (techage command)\n") ..
|
||||
S(" - 'goto <num>' (jump to another line)\n") ..
|
||||
S(" - 'stop' (stop the execution)\n") ..
|
||||
S("\n") ..
|
||||
S("Example:\n") ..
|
||||
" -- move controller commands\n" ..
|
||||
" [1] send 1234 a2b\n" ..
|
||||
" [30] send 1234 b2a\n" ..
|
||||
" [60] goto 1 -- keep going"
|
||||
|
||||
local function strsplit(text)
|
||||
text = text:gsub("\r\n", "\n")
|
||||
text = text:gsub("\r", "\n")
|
||||
@ -69,6 +88,9 @@ local function compile(s, tRes)
|
||||
if not idx then
|
||||
return exception(tRes, i, "Syntax error!")
|
||||
end
|
||||
if idx > 50000 then
|
||||
return exception(tRes, i, "Order error!")
|
||||
end
|
||||
if idx <= old_idx then
|
||||
return exception(tRes, i, "Order error!")
|
||||
end
|
||||
@ -126,9 +148,6 @@ local function formspec(nvm, meta)
|
||||
"textarea[0.3,0.2;10,8.3;text;;"..text.."]"
|
||||
|
||||
return "size[10,8]" ..
|
||||
default.gui_bg ..
|
||||
default.gui_bg_img ..
|
||||
default.gui_slots ..
|
||||
style ..
|
||||
"tabheader[0,0;tab;edit,help;1;;true]" ..
|
||||
"label[0.1,-0.2;" .. S("Commands") .. ":]" ..
|
||||
@ -143,14 +162,10 @@ end
|
||||
local function formspec_help(meta)
|
||||
local text = "" --minetest.formspec_escape("hepl")
|
||||
return "size[10,8]"..
|
||||
default.gui_bg..
|
||||
default.gui_bg_img..
|
||||
default.gui_slots..
|
||||
"style_type[textarea;font=mono;textcolor=#FFFFFF]"..
|
||||
"style_type[textarea;font=mono;textcolor=#FFFFFF;border=false]"..
|
||||
"tabheader[0,0;tab;edit,help;2;;true]"..
|
||||
"label[0,-0.2;Functions:]"..
|
||||
--"dropdown[0.3,0.2;10,8.3;functions;"..items..";"..pos.."]"..
|
||||
"textarea[0.3,1.3;10,8;help;Help:;"..text.."]"
|
||||
"textarea[0.3,0.3;10,9;;" .. S("Help") .. ":;"..minetest.formspec_escape(HELP).."]" ..
|
||||
"background[0.1,0.3;9.8,8.0;techage_form_mask.png]"
|
||||
end
|
||||
|
||||
local function restart_timer(pos, time)
|
||||
@ -200,15 +215,18 @@ local function on_receive_fields(pos, formname, fields, player)
|
||||
local mem = techage.get_mem(pos)
|
||||
nvm.running = nvm.running or false
|
||||
|
||||
print(1, dump(fields))
|
||||
if fields.stop then
|
||||
nvm.running = false
|
||||
minetest.get_node_timer(pos):stop()
|
||||
logic.infotext(meta, S("TA4 Sequencer"), S("stopped"))
|
||||
elseif not nvm.running then
|
||||
if fields.help then
|
||||
meta:set_string("formspec", formspec_help(nvm, meta))
|
||||
print(2)
|
||||
if fields.tab == "2" then
|
||||
print(3)
|
||||
meta:set_string("formspec", formspec_help(meta))
|
||||
return
|
||||
elseif fields.edit then
|
||||
elseif fields.tab == "1" then
|
||||
meta:set_string("formspec", formspec(nvm, meta))
|
||||
return
|
||||
end
|
||||
|
@ -495,6 +495,60 @@ Diesen Zähler kann man über das Kommando 'count' abfragen und über 'reset' zu
|
||||
|
||||
[ta4_detector|image]
|
||||
|
||||
### TA4 Move Controller
|
||||
|
||||
Der TA4 Move Controller ist ähnlich zum "Door Controller 2", aber die ausgewählten Blöcke werden nicht entfernt, sondern können bewegt werden.
|
||||
Da die bewegten Blöcke Spieler und Mobs mitnehmen können, die auf dem Block stehen, können damit Fahrstühle und ähnliche Transportsysteme gebaut werden.
|
||||
|
||||
Anleitung:
|
||||
|
||||
- Controller setzen und die Blöcke, die bewegt werden sollen, über das Menü an-trainieren (Es können bis zu 16 Blöcke an-trainiert werden)
|
||||
- die "Flugstrecke" muss über eine x,y,z Angabe (relativ) eingegeben werden (die maximale Distanz beträgt 100 m)
|
||||
- mit den Menü-Tasten "Bewege A-B" sowie "Bewege B-A" kann die Bewegung getestet werden
|
||||
- man kann auch durch Wände oder andere Blöcke fliegen
|
||||
- auch die Zielposition für die Blöcke kann belegt sein. Die Blöcke werden in diesem Falle "unsichtbar" gespeichert. Dies ist für Schiebetüren und ähnliches gedacht
|
||||
- Über das Gabelschlüssel-Menü kann im Controller auch ein "handover" programmiert werden. Durch Eingabe einer Blocknummer werden die Blöcke dann an den nächsten Move Controller übergeben. So lassen sich auch zusammenhängende Bewegungen über mehrere Move Controller realisieren.
|
||||
|
||||
Der Move Controller unterstützt folgende techage Kommandos:
|
||||
|
||||
- `a2b` Bewege Block von A nach B
|
||||
- `b2a` Bewege Block von B nach A
|
||||
- `move` Bewege Block auf die andere Seite
|
||||
|
||||
[ta4_movecontroller|image]
|
||||
|
||||
|
||||
### TA4 Sequenzer
|
||||
|
||||
über den TA4 Sequenzer können ganze Abläufe programmiert werden. Hier ein Beispiel:
|
||||
|
||||
```
|
||||
-- this is a comment
|
||||
[1] send 1234 a2b
|
||||
[30] send 1234 b2a
|
||||
[60] goto 1
|
||||
```
|
||||
|
||||
- Jede Zeile beginnt mit einem Nummer, welche einem Zeitpunkt entspricht `[<num>]`
|
||||
- Für Zeitpunkte sind Werte von 1 bis 50000 zulässig
|
||||
- 1 entspricht 100 ms, 50000 entspricht in etwa 4 Spieltagen
|
||||
- Leerzeilen oder Kommentare sind erlaubt (`-- comment`)
|
||||
- Mit `send <num> <command> <data>` kann man ein Kommando an einen Block senden
|
||||
- Mit `goto <num>` kann man an eine andere Zeile/Zeitpunkt springen
|
||||
- Mit `stop` kann man den Sequenzer verzögert stoppen, so dass er kein neues Kommando
|
||||
von einem Taster oder anderem Block annimmt (um eine Bewegung abzuschließen)
|
||||
Ohne `stop` geht der Sequenzer sofort nach dem letzten Kommando in den stopped Modus.
|
||||
|
||||
Der TA4 Sequenzer unterstützt folgende techage Kommandos:
|
||||
|
||||
- `goto <num>` Zu einer Kommandozeile springen und damit den Sequenzer starten
|
||||
- `stop` Den Sequenzer anhalten
|
||||
|
||||
Das `goto` Kommando wird nur angenommen, wenn der Sequenzer gestoppt ist.
|
||||
|
||||
[ta4_sequencer|image]
|
||||
|
||||
|
||||
|
||||
## TA4 Lampen
|
||||
|
||||
|
@ -488,6 +488,60 @@ This counter can be queried with the 'count' command and reset with 'reset'.
|
||||
|
||||
[ta4_detector|image]
|
||||
|
||||
### TA4 Move Controller
|
||||
|
||||
The TA4 Move Controller is similar to "Door Controller 2", but the selected blocks are not removed, but can be moved.
|
||||
Since the moving blocks can take players and mobs standing on the block with them, elevators and similar transport systems can be built with them.
|
||||
|
||||
Instructions:
|
||||
|
||||
- Set the controller and train the blocks to be moved via the menu (up to 16 blocks can be trained)
|
||||
- the "flight route" must be entered via an x, y, z specification (relative) (the maximum distance is 100 m)
|
||||
- The movement can be tested with the menu buttons "Move A-B" and "Move B-A"
|
||||
- you can also fly through walls or other blocks
|
||||
- The target position for the blocks can also be occupied. In this case, the blocks are saved "invisibly". This is intended for sliding doors and the like
|
||||
- A "handover" can also be programmed in the controller via the open-ended wrench menu. By entering a block number, the blocks are then transferred to the next move controller. In this way, connected movements can also be implemented using several Move Controllers.
|
||||
|
||||
The Move Controller supports the following techage commands:
|
||||
|
||||
- `a2b` Move block from A to B.
|
||||
- `b2a` Move block from B to A.
|
||||
- `move` Move block to the other side
|
||||
|
||||
[ta4_movecontroller|image]
|
||||
|
||||
### TA4 Sequencer
|
||||
|
||||
Entire processes can be programmed using the TA4 sequencer. Here's an example:
|
||||
|
||||
```
|
||||
-- this is a comment
|
||||
[1] send 1234 a2b
|
||||
[30] send 1234 b2a
|
||||
[60] goto 1
|
||||
```
|
||||
|
||||
- Each line begins with a number which corresponds to a point in time `[<num>]`
|
||||
- Values from 1 to 50000 are permitted for times
|
||||
- 1 corresponds to 100 ms, 50000 corresponds to about 4 game days
|
||||
- Empty lines or comments are allowed (`-- comment`)
|
||||
- With `send <num> <command> <data>` you can send a command to a block
|
||||
- With `goto <num>` you can jump to another line / point in time
|
||||
- With `stop` you can stop the sequencer with a delay so that it does not receive a new command
|
||||
accepts from a button or other block (to complete a movement)
|
||||
Without `stop`, the sequencer goes into stopped mode immediately after the last command.
|
||||
|
||||
The TA4 sequencer supports the following techage commands:
|
||||
|
||||
- `goto <num>` Jump to a command line and start the sequencer
|
||||
- `stop` Stop the sequencer
|
||||
|
||||
The `goto` command is only accepted when the sequencer is stopped.
|
||||
|
||||
[ta4_sequencer|image]
|
||||
|
||||
|
||||
|
||||
|
||||
## TA4 Lamps
|
||||
|
||||
|
@ -186,6 +186,8 @@
|
||||
- [TA4 Spieler Detektor / Player Detector](./manual_ta4_DE.md#ta4-spieler-detektor--player-detector)
|
||||
- [TA4 Zustandssammler / State Collector](./manual_ta4_DE.md#ta4-zustandssammler--state-collector)
|
||||
- [TA4 Detektor / Detector](./manual_ta4_DE.md#ta4-detektor--detector)
|
||||
- [TA4 Move Controller](./manual_ta4_DE.md#ta4-move-controller)
|
||||
- [TA4 Sequenzer](./manual_ta4_DE.md#ta4-sequenzer)
|
||||
- [TA4 Lampen](./manual_ta4_DE.md#ta4-lampen)
|
||||
- [TA4 LED Pflanzenlampe / TA4 LED Grow Light](./manual_ta4_DE.md#ta4-led-pflanzenlampe--ta4-led-grow-light)
|
||||
- [TA4 LED Straßenlampe / TA4 LED Street Lamp](./manual_ta4_DE.md#ta4-led-straßenlampe--ta4-led-street-lamp)
|
||||
|
@ -186,6 +186,8 @@
|
||||
- [TA4 Player Detector](./manual_ta4_EN.md#ta4-player-detector)
|
||||
- [TA4 State Collector](./manual_ta4_EN.md#ta4-state-collector)
|
||||
- [TA4 Detector](./manual_ta4_EN.md#ta4-detector)
|
||||
- [TA4 Move Controller](./manual_ta4_EN.md#ta4-move-controller)
|
||||
- [TA4 Sequencer](./manual_ta4_EN.md#ta4-sequencer)
|
||||
- [TA4 Lamps](./manual_ta4_EN.md#ta4-lamps)
|
||||
- [TA4 LED Grow Light](./manual_ta4_EN.md#ta4-led-grow-light)
|
||||
- [TA4 Street Lamp](./manual_ta4_EN.md#ta4-street-lamp)
|
||||
|
Loading…
Reference in New Issue
Block a user