From 7ed4e5fd3255faa758b826e08dd5fd4e1a7eb828 Mon Sep 17 00:00:00 2001 From: Joachim Stolberg Date: Sun, 8 Mar 2020 22:36:23 +0100 Subject: [PATCH] bugfix #2 (oil explorer), lua controller manuall and terminal node added --- doc/manual_DE.lua | 2 +- init.lua | 1 + locale/techage.de.tr | 17 +- locale/techage.de.tr.old | 366 --------------------- locale/template.txt | 14 +- lua_controller/commands.lua | 60 ++-- lua_controller/controller.lua | 2 +- lua_controller/sensorchest.lua | 8 +- lua_controller/server.lua | 8 +- lua_controller/terminal.lua | 248 +++++++++++++++ manuals/manual_ta3_DE.md | 2 +- manuals/ta4_lua_controller_EN.md | 512 ++++++++++++++++++++++++++++++ manuals/ta4_lua_controller_EN.pdf | Bin 0 -> 173839 bytes oil/explore.lua | 7 +- 14 files changed, 835 insertions(+), 412 deletions(-) delete mode 100644 locale/techage.de.tr.old create mode 100644 lua_controller/terminal.lua create mode 100644 manuals/ta4_lua_controller_EN.md create mode 100644 manuals/ta4_lua_controller_EN.pdf diff --git a/doc/manual_DE.lua b/doc/manual_DE.lua index 05e9cf5..4b0e1b7 100644 --- a/doc/manual_DE.lua +++ b/doc/manual_DE.lua @@ -678,7 +678,7 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", - "Mit dem Ölexplorer kannst du nach Öl suchen. Dazu den Block auf den Boden setzen und mit Rechtsklick die Suche starten.\n".. + "Mit dem Ölexplorer kannst du nach Öl suchen. Dazu den Block auf den Boden setzen und mit Rechtsklick die Suche starten. Der Ölexplorer kann oberirdisch und unterirdisch in Tiefen bis zu -50 Meter eingesetzt werden.\n".. "Über die Chat-Ausgabe wird dir angezeigt\\, in welcher Tiefe nach Öl gesucht wurde und wie viel Öl (oil) gefunden wurde.\n".. "Du kannst bis zu 4 mal auf den Block klicken\\, um auch in tieferen Bereichen nach Öl zu suchen. Ölfelder haben eine Größe von 2000 bis zu 20000 Items.\n".. "\n".. diff --git a/init.lua b/init.lua index fb1b2ac..4086ca5 100644 --- a/init.lua +++ b/init.lua @@ -228,6 +228,7 @@ else -- dofile(MP.."/lua_controller/commands.lua") -- dofile(MP.."/lua_controller/server.lua") -- dofile(MP.."/lua_controller/sensorchest.lua") +-- dofile(MP.."/lua_controller/terminal.lua") -- Items dofile(MP.."/items/barrel.lua") diff --git a/locale/techage.de.tr b/locale/techage.de.tr index 895774f..b51e473 100644 --- a/locale/techage.de.tr +++ b/locale/techage.de.tr @@ -23,6 +23,7 @@ Basalt Gravel=Basaltkies Basalt Stone=Basaltgestein Basalt Stone Block=Basaltsteinblock Basalt Stone Brick=Basaltsteinziegel +Battery=Batterie Bauxite Cobblestone=Bauxit Kopfsteinpflaster Bauxite Gravel=Bauxit Kies Bauxite Powder=Bauxit Pulver @@ -95,6 +96,7 @@ Meridium Pickaxe=Meridium Pickel Meridium Shovel=Meridium Schaufel Meridium Sword=Meridium Schwert More water expected (2 m deep)!=Mehr Wasser erwartet (2 m tief) +Nacelle is missing=Die Gondel fehlt Needle Powder=Nadel Pulver Network Data=Netzwerkdaten No network or active generator available!=Kein Stromnetz oder aktiver Generator verfügbar @@ -102,6 +104,7 @@ No plan available=Kein Plan verfügar No wind at this altitude!=Kein Wind auf dieser Höhe Node owner=Blockbesitzer Number of all nodes=Anzahl aller Blöcke +Oil=Öl Oil Drill Box=Ölbohrkiste Oil Pumpjack=Ölpumpe Oil Source=Erdöl @@ -127,6 +130,9 @@ Recipe=Rezept Red Mud=Rotschlamm Red Mud Barrel=Rotschlamm Fass Red Mud Canister=Rotschlamm Kanister +Red Stone=Rotstein +Red Stone Block=Rotsteinblock +Red Stone Brick=Rotsteinziegel Remove derrick=Entferne Ölturm Rinsing=Waschen River Water Barrel=Flusswasserfass @@ -263,23 +269,25 @@ TA4 Pillar=TA4 Säule TA4 Pipe Inlet=TA4 Rohrzulauf TA4 Protected Chest=TA4 Gesicherte Kiste TA4 Pump=TA4 Pumpe +TA4 RAM Chip=RAM Chip TA4 Reactor=TA4 Reaktor TA4 Reactor Base=TA4 Reaktor Sockel TA4 Reactor Filler Pipe=TA4 Reaktor Einfüllstutzen TA4 Reactor Stand=TA4 Reaktor Ständer TA4 Rotor Blade=TA4 Rotorblatt +TA4 Sensor Chest=Sensorkiste TA4 Silicon Wafer=TA4 Silizium-Wafer TA4 Silo=Silo TA4 Solar Carrier Module=TA4 Solar Trägermodul TA4 Solar Carrier Module B=TA4 Solar Trägermodul U TA4 Solar Carrier Module T=TA4 Solar Trägermodul O TA4 Solar Inverter=TA4 Solar Wechselrichter -TA4 Solar Inverter DC=TA4 Solar Wechselrichter DC TA4 Solar Module=TA4 Solarmodul TA4 Streetlamp Solar Cell=TA4 Straßenlampen-Solarzelle TA4 Tank=TA4 Tank TA4 Turbine=TA4 Turbine TA4 WLAN Chip=TA4 WLAN Chip +TA4 Wall Pipe=TA4 Wandröhre TA4 Water Pump=Wasserpumpe TA4 Wind Turbine=TA4 Windkraftanlage TA4 Wind Turbine Nacelle=TA4 Windkraftanlagengondel @@ -297,6 +305,7 @@ TechAge Signal Lamp (can be colored)=TechAge Signallampe (kann gefärbt werden) TechAge Steel Mat=TechAge Stahlmatte TechAge Trowel=TechAge Kelle Techage Forceload Block=Techage Forceload Block +Techage Forceload Tile=Techage Forceload Kachel The network is overloaded!=Das Stromnetz ist überlastet! The network load is almost at the limit!=Das Stromnetz ist ziemlich am Limit! The wind turbines are too close together!=Die Windkraftanlagen stehen zu eng beisammen! @@ -316,6 +325,7 @@ Water Barrel=Wasserfass Water Boiler=Wasserboiler Water Pump=Wasserpumpe [Bucket] Lava can only be placed below sea level!=Lava kann nur unterhalb der Meerehöhe platziert werden! +[TA Oil] No oil exploration possible at this depth! = [TA Oil] Keine Ölsuche in dieser Tiefe möglich! [TA4 Wind Turbine]=[TA4 Windkraftanlage] [TA] Area is protected!=[TA] Bereich ist geschützt [TA] Derrick is being built!=[TA] Bohrturm wird errichtet @@ -334,6 +344,7 @@ added or removed=hinzugefügt oder entfernt wird block can't be dug=Block kann nicht abgebaut werden commands like: help=Kommandos wie: help connected with=verbunden mit +depth=Tiefe did you check the plan?=hast du den Plan geprüft? empty=leer full=voll @@ -357,11 +368,13 @@ reactor has no power=Reaktor hat keinen Strom removed=entfernt repaired=repariert stopped=gestoppt +storage empty?=Speicher leer? water temperature=Wassertemperatur wrong storage diameter=Falscher Wärmespeicher-Durchmesser ##### not used anymore ##### -Number of nodes=Anzahl Blöcke Secondary needed=Sekundär benötigt +Number of nodes=Anzahl Blöcke +TA4 Solar Inverter DC=TA4 Solar Wechselrichter DC Secondary available=Sekundär verfügbar Primary available=Primär verfügbar Primary needed=Primär benötigt \ No newline at end of file diff --git a/locale/techage.de.tr.old b/locale/techage.de.tr.old deleted file mode 100644 index 1c18a0e..0000000 --- a/locale/techage.de.tr.old +++ /dev/null @@ -1,366 +0,0 @@ -# textdomain: techage - -#### TA3 Terminal ####@n@nSend commands to your machines@nand output text messages from your@nmachines to the Terminal.@n@nCommand syntax:@n cmd @n@nexample: cmd 181 on@n is the number of the node to which the command is sent@n'on' is the command to turn machines/nodes on@nFurther commands can be retrieved by clicking on@nmachines/nodes with the Techage Info Tool.@n@nLocal commands:@n- clear @= clear screen@n- help @= this message@n- pub @= switch to public use@n- priv @= switch to private use@nTo program a user button with a command:@n set @ne.g. 'set 1 ON cmd 123 on'@n= -Active:=Aktiv: -All nodes:=Alle Blöcke: -Allow to dig/place Techage power lines nearby power poles=Erlaubt TODO -Aluminum=Aluminium -Area already loaded or max. number of Forceload Blocks reached!=Bereich bereits geladen oder maximale Anzahl von Forceload Blöcken erreicht! -Ash=Asche -Autocrafter=Autocrafter -Axle Power Source=Achsenkraftquelle -Baborium Ingot=Baboriumbarren -Baborium Lump=Baboriumklumpen -Baborium Ore=Baboriumerz -Basalt Cobble=Basaltpflaster -Basalt Glass=Basaltglas -Basalt Glass 2=Basaltglas 2 -Basalt Glass Thin=Basaltglas dünn -Basalt Glass Thin 2=Basaltglas dünn 2 -Basalt Glass Thin XL=Basaltglas dünn XL -Basalt Glass Thin XL 2=Basaltglas dünn XL 2 -Basalt Gravel=Basaltkies -Basalt Stone=Basaltgestein -Basalt Stone Block=Basaltsteinblock -Basalt Stone Brick=Basaltsteinziegel -Bauxite Cobblestone=Bauxit Kopfsteinpflaster -Bauxite Gravel=Bauxit Kies -Bauxite Powder=Bauxit Pulver -Bauxite Stone=Bauxit -Biome=Biom -Block configured items for open ports=Blockiere konfigurierte Gegenstände für offene Ausgänge -Build derrick=Errichte Ölturm -Compressed Gravel=Komprimiertes Kies -Consum. 1=Konsum. 1 -Consum. 2=Konsum. 2 -Depth=Tiefe -Digging depth=Grabungstiefe -Dirt with Ash=Erde mit Asche -Distributor=Verteiler -Doser=Dosierer -Drill Bit=Bohrstange -Drill area is protected=Bohrbereich ist geschützt -Drill bits missing=Bohrgestänge fehlt -Ele Power Source=Ele Kraftquelle -Electricity=Strom -Electrolyzer=Eletrolyseur -Electronic Fab=Elektronikfabrik -Enter=Eingeben -Epoxide Resin=Epoxidharz -Epoxide Resin Barrel=Epoxidharz Fass -Epoxide Resin Canister=Epoxidharz Kanister -Error=Fehler -Firebox=Feuerkasten -Flint and Iron=Flint and Iron -Flowing Oil=Fließendes Öl -Flywheel=Schwungrad -Force order of filter items=Erzwinge Reihenfolge -Fuel Cell=Brennstoffzelle -Fuel Menu=Brennstoff Menü -Furnace Top=Ofenoberteil -Gas Cylinder Large=Gasflasche groß -Gas Cylinder Small=Gasflasche klein -Genera. 1=Genera. 1 -Genera. 2=Genera. 2 -Generator=Generator -Gibbsite Powder=Gibbsit Pulver -Gravel Rinser=Kiesspüler -Gravel Sieve=Kiessieb -Grinder=Mühle -Grinding=Mahlen -Heat=Hitze -Heat Exchanger=Wärmetauscher -Hydrogen Cylinder Large=Wasserstoffflasche groß -Hydrogen Cylinder Small=Wasserstoffflasche klein -In use:=In Benutzung: -Insert destination node number(s)=Gebe Zielnummer(n) ein -Inverter=Wechselrichter -Leave Powder=Laub Pulver -Liquid Filler=Einfülltrichter -Liquid Sampler=Flüssigkeitensammler -Liquid Tank=Flüssigkeitstank -List of your Forceload Blocks:=Liste der Forceload Blöcke -Load=Ladung -Lye=Lauge -Lye Barrel=Lauge Fass -Lye Canister=Lauge Kanister -Melting Guide=Schmelzführer -Melting Pot active (heat@==Schmelztiegel aktiv (Hitze@= -Melting Pot inactive (heat@==Schmelztiegel inaktiv (Hitze@= -Melting Pot inactive (heat@=0)=Schmelztiegel inaktiv (Hitze@=0) -Menu=Menü -Menu,Recipes=Menü,Rezepte -Meridium Axe=Meridium Axt -Meridium Pickaxe=Meridium Pickel -Meridium Shovel=Meridium Schaufel -Meridium Sword=Meridium Schwert -More water expected (2 m deep)!=Mehr Wasser erwartet (2 m tief) -Needle Powder=Nadel Pulver -Network Data=Netzwerkdaten -No network or active generator available!=Kein Stromnetz oder aktiver Generator verfügbar -No plan available=Kein Plan verfügar -No wind at this altitude!=Kein Wind auf dieser Höhe -Node owner=Blockbesitzer -Number of all nodes=Anzahl aller Blöcke -Number of nodes=Anzahl Blöcke -Oil Drill Box=Ölbohrkiste -Oil Pumpjack=Ölpumpe -Oil Source=Erdöl -Oil Tank=Öltank -Oil amount=Ölmenge -Outp=Ergeb. -Plan=Plan -Plastic Granules=Plastikgranulat -Position=Position -Position temperature=Positionstemperatur -Power AC=Wechselstrom -Power DC=Gleichstrom -Power Source=Stromquelle -Primary available=Primär verfügbar -Primary needed=Primär benötigt -Priv missing=Rechte fehlen -Propane Cylinder Large=Propangasflasche groß -Propane Cylinder Small=Propangasflasche klein -Pumpjack=Ölpumpe -Punch the block to make the area visible.=Schlage auf den Bock um den Bereich anzuzeigen. -Pusher=Schieber -Quarry=Steinbrecher -Quarry area is protected=Bereich ist geschützt -Recipe=Rezept -Red Mud=Rotschlamm -Red Mud Barrel=Rotschlamm Fass -Red Mud Canister=Rotschlamm Kanister -Remove derrick=Entferne Ölturm -Rinsing=Waschen -River Water Barrel=Flusswasserfass -Save=Speichern -Secondary available=Sekundär verfügbar -Secondary needed=Sekundär benötigt -Send signal if nodes have been:=Sende ein Signal falls Blöcke: -Show all forceload blocks in a 64x64x64 range=Zeige alle Forceload Blöcke im Umkreis von 64x64x64 Blöcken -Sieved Basalt Gravel=Basaltkies gesiebt -Sieved Gravel=Gesiebtes Kies -Start level=Startebene -Start level @= 0@nmeans the same Y-level@nas the quarry is placed=Startebene @= 0@nbedeutet gleiche Y-Ebene@nwie der Steinbrecher -Steam Power Source=Dampfenergiequelle -Store=Speichern -Switched to private use!=Zur privaten Nutzung umgeschaltet -Switched to public use!=Zur öffentlichen Nutzung umgeschaltet -Syntax error, try help=Syntax Fehler, nutze help -TA Ceiling Lamp=TA Deckenlampe -TA Construction Board=TA Konstruktionsplan -TA Electric Cable=TA Stromkabel -TA Electric Junction Box=TA Verteilerdose -TA Empty Barrel=TA leeres Fass -TA Industrial Lamp 1=TA Industrielampe 1 -TA Industrial Lamp 2=TA Industrielampe 2 -TA Industrial Lamp 3=TA Industrielampe 3 -TA Junction Pipe=TA Leitungskupplung -TA Lamp=TA Lampe -TA Liquid Filler=TA Einfülltrichter -TA Pipe=TA Leitung (Flüssigkeiten) -TA Power Line=TA Stromleitung -TA Power Pole=TA Strommast -TA Power Pole Top (for up to 6 connections)=TA Strommastkopf (für bis zu 6 Verbindungen) -TA Power Pole Top 2 (for landlines)=TA Strommastkopf 2 (für Überlandleitungen) -TA Power Switch=TA Stromschalter -TA Power Switch Box=TA Stromschalterbox -TA Power Switch Small=TA Stromschalter klein -TA Street Lamp=TA Straßenlampe -TA1 Bronze Hammer (smash stone to gravel)=TA1 Bronzehammer (zerschlage Stein zu Kies) -TA1 Burning=TA1 Brennen -TA1 Charcoal=TA1 Holzkohle -TA1 Diamond Hammer (smash stone to gravel)=TA1 Diamanthammer (zerschlage Stein zu Kies) -TA1 Gravel Sieve=TA1 Kiessieb -TA1 Iron Ingot=TA1 Eisenbarren -TA1 Lighter=TA1 Anzünder -TA1 Melting=TA1 Schmelzen -TA1 Melting Pot=TA1 Schmelztiegel -TA1 Meridium Hammer (smash stone to gravel)=TA1 Meridiumhammer (zerschlage Stein zu Kies) -TA1 Mese Hammer (smash stone to gravel)=TA1 Mesehammer (zerschlage Stein zu Kies) -TA1 Steel Hammer (smash stone to gravel)=TA1 Stahlhammer (zerschlage Stein zu Kies) -TA2 Boiler Base=TA2 Boiler unten -TA2 Boiler Top=TA2 Boiler oben -TA2 Cylinder=TA2 Zylinder -TA2 Drive Axle=TA2 Antriebsachse -TA2 Ele Fab=TA2 E-Fabrik -TA2 Firebox=TA2 Feuerkiste -TA2 Flywheel=TA2 Schwungrad -TA2 Gearbox=TA2 Getriebeblock -TA2 Gravel Sieve=TA2 Kiessieb -TA2 Protected Chest=TA2 Gesicherte Kiste -TA2 Steam Pipe=TA2 Dampfleitung -TA3 Accu Box=Akkublock -TA3 Akku Box=TA3 Akku Block -TA3 Bitumen=TA3 Bitumen -TA3 Bitumen Barrel=TA3 Bitumenfass -TA3 Bitumen Canister=TA3 Bitumenkanister -TA3 Boiler Base=TA3 Boiler unten -TA3 Boiler Top=TA3 Boiler oben -TA3 Booster=TA3 Gebläse -TA3 Button/Switch=TA3 Taster/Schalter -TA3 Canister=TA3 Kanister -TA3 Cart Detector=TA3 Wagen Detektor -TA3 Coal Power Station Firebox=TA3 Kohlekraftwerks-Feuerbox -TA3 Cooler=TA3 Kühler -TA3 Derrick=TA3 Bohrturm -TA3 Detector=TA3 Detektor -TA3 Distillation Tower 1=TA3 Destillationsturm 1 -TA3 Distillation Tower 2=TA3 Destillationsturm 2 -TA3 Distillation Tower 3=TA3 Destillationsturm 3 -TA3 Distillation Tower 4=TA3 Destillationsturm 4 -TA3 Distillation Tower Base=TA3 Destillationsturm Basis -TA3 Drill Bit=TA3 Bohrgestänge -TA3 Ele Fab=TA3 E-Fabrik -TA3 Fuel Oil=TA3 Schweröl -TA3 Fuel Oil Barrel=TA3 Schwerölfass -TA3 Fuel Oil Canister=TA3 Schwerölkanister -TA3 Furnace Oil Burner=TA3 Ofen-Ölbrenner -TA3 Gasoline=TA3 Benzin -TA3 Gasoline Barrel=TA3 Benzinfass -TA3 Gasoline Canister=TA3 Benzinkanister -TA3 Generator=TA3 Generator -TA3 Gravel Sieve=TA3 Kiessieb -TA3 Logic Block=TA3 Logikblock -TA3 Melting=TA3 Schmelzen -TA3 Naphtha=TA3 Naphtha -TA3 Naphtha Barrel=TA3 Naphtha-Fass -TA3 Naphtha Canister=TA3 Naphtha-Kanister -TA3 Node Detector=TA3 Block Detektor -TA3 Oil Barrel=TA3 Ölfass -TA3 Oil Canister=TA3 Erdölkanister -TA3 Oil Explorer=TA3 Ölexplorer -TA3 Oil Reboiler=TA3 Aufkocher -TA3 Oil Reboiler: blocked=TA3 Aufkocher: blockiert -TA3 Oil Storage=TA3 Öl Speicher -TA3 Player Detector=TA3 Spieler Detektor -TA3 Power Station Firebox=TA3 Kraftwerks-Feuerbox -TA3 Power Station Oil Burner=TA3 Kraftwerks-Ölbrenner -TA3 Power Terminal=TA3 Strom Terminal -TA3 Propane=TA3 Propan -TA3 Protected Chest=TA3 Gesicherte Kiste -TA3 Pump=TA3 Pumpe -TA3 Repeater=TA3 Wiederholer -TA3 Sequencer=TA3 Sequenzer -TA3 Silo=TA3 Silo -TA3 Tank=TA3 Tank -TA3 Terminal=TA3 Terminal -TA3 Timer=TA3 Timer -TA3 Tiny Power Generator=TA3 Kleiner Stromgenerator -TA3 Turbine=TA3 Turbine -TA3 Vacuum Tube=TA3 Vakuumröhre -TA4 Carbon Fiber=TA4 Kohlefaser -TA4 Derrick=TA4 Bohrturm -TA4 Doser=TA4 Dosierer -TA4 Electrolyzer=TA4 Elektrolyseur -TA4 Fuel Cell=TA4 Brennstoffzelle -TA4 Fuel Cell Stack=Brennstoffzellenstapel -TA4 Furnace Heater=TA4 Ofenheizung -TA4 Generator=TA4 Generator -TA4 Heat Exchanger=TA4 Wärmetauscher -TA4 Heat Exchanger 1=TA4 Wärmetauscher 1 -TA4 Heat Exchanger 2=TA4 Wärmetauscher 2 -TA4 Heat Exchanger 3=TA4 Wärmetauscher 3 -TA4 Hydrogen=TA4 Wasserstoff -TA4 Low Power Box=TA4 Niederspannungsverteilerbox -TA4 Low Power Cable=TA4 Niederspannungskabel -TA4 Pillar=TA4 Säule -TA4 Pipe Inlet=TA4 Rohrzulauf -TA4 Protected Chest=TA4 Gesicherte Kiste -TA4 Pump=TA4 Pumpe -TA4 Reactor=TA4 Reaktor -TA4 Reactor Base=TA4 Reaktor Sockel -TA4 Reactor Filler Pipe=TA4 Reaktor Einfüllstutzen -TA4 Reactor Stand=TA4 Reaktor Ständer -TA4 Rotor Blade=TA4 Rotorblatt -TA4 Silicon Wafer=TA4 Silizium-Wafer -TA4 Silo=Silo -TA4 Solar Carrier Module=TA4 Solar Trägermodul -TA4 Solar Carrier Module B=TA4 Solar Trägermodul U -TA4 Solar Carrier Module T=TA4 Solar Trägermodul O -TA4 Solar Inverter=TA4 Solar Wechselrichter -TA4 Solar Inverter DC=TA4 Solar Wechselrichter DC -TA4 Solar Module=TA4 Solarmodul -TA4 Streetlamp Solar Cell=TA4 Straßenlampen-Solarzelle -TA4 Tank=TA4 Tank -TA4 Turbine=TA4 Turbine -TA4 WLAN Chip=TA4 WLAN Chip -TA4 Water Pump=Wasserpumpe -TA4 Wind Turbine=TA4 Windkraftanlage -TA4 Wind Turbine Nacelle=TA4 Windkraftanlagengondel -TA4 Wind Turbine Signal Lamp=TA4 Windkraftanlagenlampe -TechAge Black Hole=TechAge Schwarzes Loch -TechAge Black Hole (let items disappear)=TechAge Schwarzes Loch (Gegenstände verschwinden) -TechAge Door Block=TechAge Türblock -TechAge Gate Block=TechAge Torblock -TechAge Gravel=TechAge Kies -TechAge Info Tool (use @= read status info)=TechAge Info Werkzeug -TechAge Programmer (right @= read number, left @= write numbers)=TechAge Programmer (rechts @= lese Nummer, links @= schreibe Nummern) -TechAge Repair Kit=TechAge Reparaturset -TechAge Signal Lamp=TechAge Signallampe -TechAge Signal Lamp (can be colored)=TechAge Signallampe (kann gefärbt werden) -TechAge Steel Mat=TechAge Stahlmatte -TechAge Trowel=TechAge Kelle -Techage Forceload Block=Techage Forceload Block -The network is overloaded!=Das Stromnetz ist überlastet! -The network load is almost at the limit!=Das Stromnetz ist ziemlich am Limit! -The wind turbines are too close together!=Die Windkraftanlagen stehen zu eng beisammen! -Thermal=Wärme -Time=Zeit -Tiny Generator=Kleingenerator -To add fuel punch@nthis block@nwith a fuel container=Um Brennstoff nachzufüllen,@nschlage mit einem Kraftstoffbehälter@nauf den Block -To add liquids punch@nthe tank@nwith a liquid container=Um Flüssigkeit nachzufüllen,@nschlage mit einem Flüssigkeitsbehälter@nauf den Block -To add water punch@nthe boiler@nwith a water bucket=Um Wasser nachzufüllen,@nschlage mit einem Wassereimer@nauf den Block -Turned on:=Eingeschaltet: -Update=Update -Usmium Nuggets=Usmium Nuggets -Usmium Powder=Usmium Pulver -WLAN Chip=WLAN Chip -Water=Wasser -Water Barrel=Wasserfass -Water Boiler=Wasserboiler -Water Pump=Wasserpumpe -[Bucket] Lava can only be placed below sea level!=Lava kann nur unterhalb der Meerehöhe platziert werden! -[TA4 Wind Turbine]=[TA4 Windkraftanlage] -[TA] Area is protected!=[TA] Bereich ist geschützt -[TA] Derrick is being built!=[TA] Bohrturm wird errichtet -[TA] Derrick is being removed!=[TA] Bohrturm wird abgebaut -[TA] Not enough space!=[TA] Nicht ausreichend Platz! -[TechAge Programmer] Error: invalid numbers!=[TechAge Programmer] Fehler: ungültige Nummern! -[TechAge Programmer] Error: programmer not supported!=[TechAge Programmer] Fehler: Programmer wird nicht unterstützt! -[TechAge Programmer] Unknown node on=[TechAge Programmer] Unbekannter Block bei -[TechAge Programmer] foreign or unknown node!=[TechAge Programmer] Fremder oder unbekannter Block! -[TechAge Programmer] node programmed!=[TechAge Programmer] Nummer(n) programmiert! -[TechAge Programmer] number=[TechAge Programmer] Nummer -[TechAge Programmer] programmer reset=[TechAge Programmer] Programmer zurück gesetzt -accept=akzeptieren -added=hinzugefügt wird -added or removed=hinzugefügt oder entfernt wird -block can't be dug=Block kann nicht abgebaut werden -commands like: help=Kommandos wie: help -connected with=verbunden mit -did you check the plan?=hast du den Plan geprüft? -empty=leer -full=voll -inlet/pipe error=Einlass/Röhrenfehler -level@==Ebene -light=Licht -loaded=geladen -needs power=benötigt Strom -no fuel=kein Kraftstoff -no fuel or no power=kein Strom oder Brennstoff -no oil=Kein Öl -no power=kein Strom -no usable water=Kein brauchbares Wasser -off=aus -on=an -pos@==pos@= -power=Energie -reactor defect=Reaktor defekt -reactor defect or no power=Reaktor defekt oder kein Strom -reactor has no power=Reaktor hat keinen Strom -removed=entfernt -stopped=gestoppt -water temperature=Wassertemperatur -wrong storage diameter=Falscher Wärmespeicher-Durchmesser -##### not used anymore ##### diff --git a/locale/template.txt b/locale/template.txt index 0451d9e..3e046e1 100644 --- a/locale/template.txt +++ b/locale/template.txt @@ -21,6 +21,7 @@ Basalt Gravel= Basalt Stone= Basalt Stone Block= Basalt Stone Brick= +Battery= Bauxite Cobblestone= Bauxite Gravel= Bauxite Powder= @@ -93,6 +94,7 @@ Meridium Pickaxe= Meridium Shovel= Meridium Sword= More water expected (2 m deep)!= +Nacelle is missing= Needle Powder= Network Data= No network or active generator available!= @@ -100,6 +102,7 @@ No plan available= No wind at this altitude!= Node owner= Number of all nodes= +Oil= Oil Drill Box= Oil Pumpjack= Oil Source= @@ -125,6 +128,9 @@ Recipe= Red Mud= Red Mud Barrel= Red Mud Canister= +Red Stone= +Red Stone Block= +Red Stone Brick= Remove derrick= Rinsing= River Water Barrel= @@ -261,23 +267,25 @@ TA4 Pillar= TA4 Pipe Inlet= TA4 Protected Chest= TA4 Pump= +TA4 RAM Chip= TA4 Reactor= TA4 Reactor Base= TA4 Reactor Filler Pipe= TA4 Reactor Stand= TA4 Rotor Blade= +TA4 Sensor Chest= TA4 Silicon Wafer= TA4 Silo= TA4 Solar Carrier Module= TA4 Solar Carrier Module B= TA4 Solar Carrier Module T= TA4 Solar Inverter= -TA4 Solar Inverter DC= TA4 Solar Module= TA4 Streetlamp Solar Cell= TA4 Tank= TA4 Turbine= TA4 WLAN Chip= +TA4 Wall Pipe= TA4 Water Pump= TA4 Wind Turbine= TA4 Wind Turbine Nacelle= @@ -295,6 +303,7 @@ TechAge Signal Lamp (can be colored)= TechAge Steel Mat= TechAge Trowel= Techage Forceload Block= +Techage Forceload Tile= The network is overloaded!= The network load is almost at the limit!= The wind turbines are too close together!= @@ -314,6 +323,7 @@ Water Barrel= Water Boiler= Water Pump= [Bucket] Lava can only be placed below sea level!= +[TA Oil] No oil exploration possible at this depth! = [TA4 Wind Turbine]= [TA] Area is protected!= [TA] Derrick is being built!= @@ -332,6 +342,7 @@ added or removed= block can't be dug= commands like: help= connected with= +depth= did you check the plan?= empty= full= @@ -355,5 +366,6 @@ reactor has no power= removed= repaired= stopped= +storage empty?= water temperature= wrong storage diameter= \ No newline at end of file diff --git a/lua_controller/commands.lua b/lua_controller/commands.lua index 315c4f2..923c650 100644 --- a/lua_controller/commands.lua +++ b/lua_controller/commands.lua @@ -1,11 +1,11 @@ --[[ - sl_controller - ============= + Techage + ======= - Copyright (C) 2018 Joachim Stolberg + Copyright (C) 2020 Joachim Stolberg - LGPLv2.1+ + GPL v3 See LICENSE.txt for more information commands.lua: @@ -55,40 +55,37 @@ techage.lua_ctlr.register_function("get_player_action", { ' example: player, action, item = $get_player_action("1234")' }) ---techage.lua_ctlr.register_function("get_counter", { --- cmnd = function(self, num) --- num = tostring(num or "") --- return techage.send_single(self.meta.number, num, "counter", nil) --- end, --- help = " $get_counter(num)\n".. --- " Read number of pushed items from a\n".. --- " Pusher/Distributor node.\n".. --- " The Pusher returns a single value (number)\n".. --- " The Distributor returns a list with 4 values\n".. --- " like: {red=1, green=0, blue=8, yellow=0}\n".. --- ' example: cnt = $get_counter("1234")\n' ---}) - ---techage.lua_ctlr.register_function("clear_counter", { --- cmnd = function(self, num) --- num = tostring(num or "") --- return techage.send_single(self.meta.number, num, "clear_counter", nil) --- end, --- help = " $clear_counter(num)\n".. --- " Set counter(s) from Pusher/Distributor to zero.\n".. --- ' example: $clear_counter("1234")' ---}) - techage.lua_ctlr.register_function("get_fuel_value", { cmnd = function(self, num) num = tostring(num or "") return techage.send_single(self.meta.number, num, "fuel", nil) end, help = " $get_fuel_value(num)\n".. - " Read fuel value from fuel consuming blocks.\n".. + " Read the fuel value from fuel consuming blocks.\n".. ' example: val = $get_fuel_value("1234")' }) +techage.lua_ctlr.register_function("get_load_value", { + cmnd = function(self, num) + num = tostring(num or "") + return techage.send_single(self.meta.number, num, "load", nil) + end, + help = " $get_load_value(num)\n".. + " Read the load value (0..100) from a tank/storage block.\n".. + ' example: val = $get_load_value("1234")' +}) + +techage.lua_ctlr.register_function("get_delivered_value", { + cmnd = function(self, num) + num = tostring(num or "") + return techage.send_single(self.meta.number, num, "delivered", nil) + end, + help = " $get_delivered_value(num)\n".. + " Read the delivered power value from a generator block.\n".. + " Power consuming blocks like accus\nalso provide a negative value.\n".. + ' example: val = $get_delivered_value("1234")' +}) + --techage.lua_ctlr.register_function("get_num_items", { -- cmnd = function(self, num, idx) -- num = tostring(num or "") @@ -179,7 +176,7 @@ techage.lua_ctlr.register_action("display", { ' Send a text line to the display with number "num".\n'.. " 'row' is a value from 1..5\n".. " The function accepts up to 3 text parameters\n".. - ' example: $display("0123", 1, "Hello ", name, " !")' + ' example: $display("123", 1, "Hello ", name, " !")' }) techage.lua_ctlr.register_action("clear_screen", { @@ -233,3 +230,6 @@ techage.lua_ctlr.register_action("door", { ' example: $door("123,7,-1200", "close")\n'.. " Hint: Use the Techage Programmer to\ndetermine the door position." }) + +-- function not_protected(owner, number(s)) +techage.lua_ctlr.not_protected = not_protected diff --git a/lua_controller/controller.lua b/lua_controller/controller.lua index 369e793..5268ea3 100644 --- a/lua_controller/controller.lua +++ b/lua_controller/controller.lua @@ -539,7 +539,7 @@ minetest.register_node("techage:ta4_lua_controller", { minetest.register_craft({ output = "techage:ta4_lua_controller", recipe = { - {"basic_materials:plastic_sheet", "dye:blue", "basic_materials:plastic_sheet"}, + {"basic_materials:plastic_sheet", "dye:blue", "techage:aluminum"}, {"", "default:copper_ingot", ""}, {"techage:ta4_ramchip", "techage:ta4_wlanchip", "techage:ta4_ramchip"}, }, diff --git a/lua_controller/sensorchest.lua b/lua_controller/sensorchest.lua index a9b07ad..89ebce6 100644 --- a/lua_controller/sensorchest.lua +++ b/lua_controller/sensorchest.lua @@ -44,7 +44,7 @@ local function send_command(pos) if numbers ~= "" then local own_num = meta:get_string("node_number") techage.send_multi(own_num, numbers, "on") - minetest.after(1, send_off_command, pos) + minetest.after(0.2, send_off_command, pos) end end @@ -86,7 +86,7 @@ local function formspec(pos) default.gui_slots.. "list[context;main;0,0;2,2;]".. "button[2,0;1,1;f1;F1]".. - "button[2,1;1,1;ok;OK]".. + "button[2,1;1,1;f2;F2]".. "label[3,0;"..text.."]".. "list[current_player;main;0,2.3;8,4;]".. "listring[context;main]".. @@ -128,8 +128,8 @@ minetest.register_node("techage:ta4_sensor_chest", { store_action(pos, player, "f1") send_command(pos) end - if fields.ok then - store_action(pos, player, "ok") + if fields.f2 then + store_action(pos, player, "f2") send_command(pos) end meta:set_string("formspec", formspec(pos, meta)) diff --git a/lua_controller/server.lua b/lua_controller/server.lua index d0ae8b6..92146bc 100644 --- a/lua_controller/server.lua +++ b/lua_controller/server.lua @@ -1,11 +1,11 @@ --[[ - sl_controller - ============= + Techage + ======= - Copyright (C) 2018 Joachim Stolberg + Copyright (C) 2020 Joachim Stolberg - LGPLv2.1+ + GPL v3 See LICENSE.txt for more information server.lua: diff --git a/lua_controller/terminal.lua b/lua_controller/terminal.lua new file mode 100644 index 0000000..f5a0559 --- /dev/null +++ b/lua_controller/terminal.lua @@ -0,0 +1,248 @@ +--[[ + + Techage + ======= + + Copyright (C) 2020 Joachim Stolberg + + GPL v3 + See LICENSE.txt for more information + + terminal.lua: + +]]-- + +local HELP = [[#### TA4 Lua Controller Terminal #### + +Send commands to your Controller +and output text messages from your +Controller to the Terminal. + +Commands can have up to 80 characters. +Local commands: +- clear = clear screen +- help = this message +- pub = switch to public use +- priv = switch to private use +Global commands: +- send on/off = send on/off event +- msg = send a text message +]] + +local function formspec1() + return "size[6,4]".. + default.gui_bg.. + default.gui_bg_img.. + default.gui_slots.. + "field[0.5,1;5,1;number;TA4 Lua Controller number:;]" .. + "button_exit[1.5,2.5;2,1;exit;Save]" +end + +local function formspec2(meta) + local output = meta:get_string("output") + output = minetest.formspec_escape(output) + output = output:gsub("\n", ",") + return "size[9,8]".. + default.gui_bg.. + default.gui_bg_img.. + default.gui_slots.. + "table[0.1,0.1;8.6,6.6;output;"..output..";200]".. + "field[0.5,7.6;6,1;cmnd;Enter command;]" .. + "field_close_on_enter[cmnd;false]".. + "button[6.7,7.3;2,1;ok;Enter]" +end + +local function output(pos, text) + local meta = minetest.get_meta(pos) + text = meta:get_string("output") .. "\n" .. (text or "") + text = text:sub(-500,-1) + meta:set_string("output", text) + meta:set_string("formspec", formspec2(meta)) + +end + +local function command(pos, cmnd, player) + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + if cmnd then + cmnd = cmnd:sub(1,80) + + if cmnd == "clear" then + meta:set_string("output", "") + meta:set_string("formspec", formspec2(meta)) + elseif cmnd == "help" then + local meta = minetest.get_meta(pos) + meta:set_string("output", HELP) + meta:set_string("formspec", formspec2(meta)) + elseif cmnd == "pub" and owner == player then + meta:set_int("public", 1) + output(pos, player..":$ "..cmnd) + output(pos, "Switched to public use!") + elseif cmnd == "priv" and owner == player then + meta:set_int("public", 0) + output(pos, player..":$ "..cmnd) + output(pos, "Switched to private use!") + elseif meta:get_int("public") == 1 or owner == player then + -- send on/off + local num, topic = cmnd:match('^send%s+([0-9]+)%s+([onff]+)$') + if num and topic then + local own_number = meta:get_string("own_number") + if techage.lua_ctlr.not_protected(owner, num) then + output(pos, player..":$ send "..num.." "..topic) + techage.send_single(own_number, num, topic, nil) + return + end + end + -- msg + local num, text = cmnd:match('^msg%s+([0-9]+)%s+(.+)$') + if num and text then + local own_number = meta:get_string("own_number") + if techage.lua_ctlr.not_protected(owner, num) then + output(pos, player..":$ msg "..num.." "..text) + techage.send_single(own_number, num, "msg", {src=own_number, text=text}) + return + end + end + local number = meta:get_string("number") + local own_number = meta:get_string("own_number") + if techage.lua_ctlr.not_protected(owner, num) then + output(pos, player..":$ "..cmnd) + techage.send_single(own_number, number, "term", cmnd) + end + end + end +end + +minetest.register_node("techage:ta4_terminal", { + description = "TA4 Lua Controller Terminal", + tiles = { + -- up, down, right, left, back, front + 'techage_terminal1_top.png', + 'techage_terminal1_bottom.png', + 'techage_terminal1_side.png', + 'techage_terminal1_side.png', + 'techage_terminal1_bottom.png', + "techage_terminal1_front.png", + }, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-12/32, -16/32, -8/32, 12/32, -14/32, 12/32}, + {-12/32, -14/32, 12/32, 12/32, 6/32, 14/32}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-12/32, -16/32, -8/32, 12/32, -14/32, 12/32}, + {-12/32, -14/32, 12/32, 12/32, 6/32, 14/32}, + }, + }, + + after_place_node = function(pos, placer) + local number = techage.add_node(pos, minetest.get_node(pos).name) + local meta = minetest.get_meta(pos) + meta:set_string("own_number", number) + meta:set_string("formspec", formspec1()) + meta:set_string("owner", placer:get_player_name()) + meta:set_string("infotext", "TA4 Lua Controller Terminal "..number..": not connected") + end, + + on_receive_fields = function(pos, formname, fields, player) + local meta = minetest.get_meta(pos) + if fields.number and fields.number ~= "" then + local owner = meta:get_string("owner") + print(fields.number, owner) + if techage.check_numbers(fields.number, owner) then + print(1) + meta:set_string("number", fields.number) + local own_number = meta:get_string("own_number") + meta:set_string("infotext", "TA4 Lua Controller Terminal "..own_number..": connected with "..fields.number) + meta:set_string("formspec", formspec2(meta)) + end + elseif (fields.key_enter == "true" or fields.ok == "Enter") and fields.cmnd ~= "" then + command(pos, fields.cmnd, player:get_player_name()) + end + end, + + after_dig_node = function(pos) + techage.remove_node(pos) + end, + + paramtype = "light", + sunlight_propagates = true, + paramtype2 = "facedir", + groups = {choppy=2, cracky=2, crumbly=2}, + is_ground_content = false, + sounds = default.node_sound_metal_defaults(), +}) + +minetest.register_craft({ + output = "techage:ta4_terminal", + recipe = { + {"", "techage:ta4_display", ""}, + {"dye:black", "techage:ta4_wlanchip", "default:copper_ingot"}, + {"", "techage:aluminum", ""}, + }, +}) + +techage.register_node({"techage:ta4_terminal"}, { + on_recv_message = function(pos, topic, payload) + if topic == "term" then + output(pos, payload) + return true + elseif topic == "msg" then + output(pos, payload.src..": "..payload.text) + return true + end + end, +}) + +techage.lua_ctlr.register_function("get_term", { + cmnd = function(self) + return techage.lua_ctlr.get_command(self.meta.number) + end, + help = ' $get_term() --> text string or nil\n'.. + ' Read an entered string (command) from the Terminal.\n'.. + ' example: s = $get_term()\n'.. + " The Terminal has to be connected to the controller." +}) + +techage.lua_ctlr.register_action("put_term", { + cmnd = function(self, num, text) + text = tostring(text or "") + if techage.lua_ctlr.not_protected(self.meta.owner, num) then + techage.send_single(self.meta.number, num, "term", text) + end + end, + help = " $put_term(num, text)\n".. + ' Send a text line to the terminal with number "num".\n'.. + ' example: $put_term("0123", "Hello "..name)' +}) + +techage.lua_ctlr.register_function("get_msg", { + cmnd = function(self) + local msg = techage.lua_ctlr.get_msg(self.meta.number) + if msg then + return msg.src, msg.text + end + end, + help = ' $get_msg() --> number and text string or nil\n'.. + ' Read a received messages. Number is the node\n'.. + ' number of the sender.\n'.. + ' example: num,msg = $get_msg().' +}) + +techage.lua_ctlr.register_action("send_msg", { + cmnd = function(self, num, text) + local msg = {src = self.meta.number, text = tostring(text or "")} + if techage.lua_ctlr.not_protected(self.meta.owner, num) then + techage.send_single(self.meta.number, num, "msg", msg) + end + end, + help = " $send_msg(num, text)\n".. + ' Send a message to the controller with number "num".\n'.. + ' example: $send_msg("0123", "test")' +}) + diff --git a/manuals/manual_ta3_DE.md b/manuals/manual_ta3_DE.md index b97dd11..fc93312 100644 --- a/manuals/manual_ta3_DE.md +++ b/manuals/manual_ta3_DE.md @@ -294,7 +294,7 @@ Dazu dienen dir TA3 Ölexplorer, TA3 Ölbohrkiste und TA3 Ölpumpe. ### TA3 Ölexplorer / Oil Explorer -Mit dem Ölexplorer kannst du nach Öl suchen. Dazu den Block auf den Boden setzen und mit Rechtsklick die Suche starten. +Mit dem Ölexplorer kannst du nach Öl suchen. Dazu den Block auf den Boden setzen und mit Rechtsklick die Suche starten. Der Ölexplorer kann oberirdisch und unterirdisch in Tiefen bis zu -50 Meter eingesetzt werden. Über die Chat-Ausgabe wird dir angezeigt, in welcher Tiefe nach Öl gesucht wurde und wie viel Öl (oil) gefunden wurde. Du kannst bis zu 4 mal auf den Block klicken, um auch in tieferen Bereichen nach Öl zu suchen. Ölfelder haben eine Größe von 2000 bis zu 20000 Items. diff --git a/manuals/ta4_lua_controller_EN.md b/manuals/ta4_lua_controller_EN.md new file mode 100644 index 0000000..bf60ff5 --- /dev/null +++ b/manuals/ta4_lua_controller_EN.md @@ -0,0 +1,512 @@ +# TA4 Lua Controller + +![Lua Controller](https://github.com/joe7575/techage/blob/master/textures/techage_lua_controller_inventory.png) + +The TA4 Lua Controller is a small computer, programmable in Lua to control your machinery. +In contrast to the ICTA Controller this controller allows to implement larger and smarter control and monitoring tasks. + +But to write Lua scripts, some knowledge with the programming language Lua is required. + +Minetest uses Lua 5.1. The reference document for Lua 5.1 is [here](https://www.lua.org/manual/5.1/). The book [Programming in Lua (first edition)](https://www.lua.org/pil/contents.html) is also a perfect source for learning Lua. + +## Table of Contents + +- [TA4 Lua Controller Blocks](#TA4-Lua-Controller-Blocks) + - [TA4 Lua Controller](#TA4-Lua-Controller) + - [Battery](#Battery) + - [Central Server](#Central-Server) + - [ TA4 Lua Controller Terminal](#TA4-Lua-Controller-Terminal) + - [TA4 Sensor Chest ](#TA4-Sensor-Chest ) +- [Lua Functions and Environment](#Lua-Functions-and-Environment) + - [Lua Functions and Limitations](#Lua-Functions-and-Limitations) + - [Arrays, Stores, and Sets](#Arrays,-Stores,-and-Sets) + - [Initialization, Loops, and Events](#Initialization,-Loops,-and-Events) +- [Techage Commands](#Techage-Commands) + - [Controller local commands](#Controller-local-commands) + - [Techage commands](#Techage-commands) + - [Server and Terminal commands](#Server-and-Terminal-commands) + - [Further commands](#Further-commands) +- [Example Scripts](#Example-Scripts) + +## TA4 Lua Controller Blocks + +### TA4 Lua Controller + +The controller block has a menu form with the following tabs: + +- the `init` tab for the initialization code block (see "Initialization, Loops, and Events") +- the `func` tab for the Lua functions (see "Initialization, Loops, and Events") +- the `loop` tab for the main code block (see "Initialization, Loops, and Events") +- the `outp` tab for debugging outputs via `$print()` +- the `notes` tab for your code snippets or other notes (like a clipboard) +- the `help` tab with information to the available commands (see "Techage Commands") + +The controller needs power to work. A battery pack has to be placed neadby. + +### Battery + +The battery pack has to be placed near the controller (1 block distance). +The needed battery power is directly dependent on the CPU time the controller consumes. +Because of that, it is important to optimize the execution time of the code (which helps the admin to keep server lags down :)) + +The controller will be restarted (init() is called) every time the Minetest server starts again. +To store data non-volatile (to pass a server restart), the Central Server has to be used. + +### Central Server + +The Server block is used to store data from the controllers nonvolatile. It can also be used for communication purposes between several Controllers. +The Server has a form to enter valid usernames for server access. + +For special Server commands, see "Server and Terminal commands" + +### TA4 Lua Controller Terminal + +The Terminal is used to send command strings to the controller. +In turn, the controller can send text strings to the terminal. +The Terminal has a help system for internal commands. Its supports the following commands: + +- `clear` = clear the screen +- `help` = output this message +- `pub` = switch terminal to public use (everybody can enter commands) +- `priv` = switch terminal to private use (only the owner can enter commands) +- `send on/off` = send on/off event to e. g. lamps (for testing purposes) +- `msg ` = send a text message to another Controller (for testing purposes) + +For special Terminal commands for the TA4 Lua Controller, see "Terminal Commands" + +### TA4 Sensor Chest + +tbd. + +## Lua Functions and Environment + +### Lua Functions and Limitations + +The controller uses a subset of the language Lua, called SaferLua. It allows the safe and secure execution of Lua scripts, but has the following limitations: + +- limited code length +- limited execution time +- limited memory use +- limited possibilities to call functions + +SaferLua follows the standard Lua syntax with the following restrictions: + +- no `while` or `repeat` loops (to prevent endless loops) +- no table constructor {..}, see "Arrays, Stores, and Sets" for comfortable alternatives +- limited runtime environment + +SaferLua directly supports the following standard functions: + +- math.floor +- math.abs +- math.max +- math.min +- math.random +- tonumber +- tostring +- unpack +- type +- string.byte +- string.char +- string.find +- string.format +- string.gmatch +- string.gsub +- string.len +- string.lower +- string.match +- string.rep +- string.sub +- string.upper +- string.split +- string.trim + +For own function definitions, the menu tab 'func' can be used. Here you write your functions like: + +```lua +function foo(a, b) + return a + b +end +``` + +Each SaferLua program has access to the following system variables: + +- ticks - a counter which increments by one each call of `loop()` +- elapsed - the amount of seconds since the last call of `loop()` +- event - a boolean flag (true/false) to signal the execution of `loop()` based on an occurred event + +### Arrays, Stores, and Sets + +It is not possible to easily control the memory usage of a Lua table at runtime. Therefore, Lua tables can't be used for SaferLua programs. Because of this, there are the following alternatives, which are secure shells over the Lua table type: + +#### Arrays + +_Arrays_ are lists of elements, which can be addressed by means of an index. An index must be an integer number. The first element in an _array_ has the index value 1. _Arrays_ have the following methods: + +- add(value) - add a new element at the end of the array +- set(idx, value) - overwrite an existing array element on index `idx` +- get(idx) - return the value of the array element on index `idx` +- remove(idx) - remove the array element on index `idx` +- insert(idx, val) - insert a new element at index `idx` (the array becomes one element longer) +- size() - return the number of _array_ elements +- memsize() - return the needed _array_ memory space +- next() - `for` loop iterator function, returning `idx,val` +- sort(reverse) - sort the _array_ elements in place. If _reverse_ is `true`, sort in descending order. + + +Example: + +```lua +a = Array(1,2,3,4) --> {1,2,3,4} +a.add(6) --> {1,2,3,4,6} +a.set(2, 8) --> {1,8,3,4,6} +a.get(2) --> function returns 8 +a.insert(5,7) --> {1,8,3,4,7,6} +a.remove(3) --> {1,8,4,7,6} +a.insert(1, "hello") --> {"hello",1,8,4,7,6} +a.size() --> function returns 6 +a.memsize() --> function returns 10 +for idx,val in a.next() do + ... +end +``` + +#### Stores + +Unlike _arrays_, which are indexed by a range of numbers, _stores_ are indexed by keys, which can be a string or a number. The main operations on a _store_ are storing a value with some key and extracting the value given the key. +The _store_ has the following methods: + +- set(key, val) - store/overwrite the value `val` behind the keyword `key` +- get(key) - read the value behind `key` +- del(key) - delete a value +- size() - return the number of _store_ elements +- memsize() - return the needed _store_ memory space +- next() - `for` loop iterator function, returning `key,val` +- keys(order) - return an _array_ with the keys. If _order_ is `"up"` or `"down"`, return the keys as sorted _array_, in order of the _store_ values. + +Example: + +```lua +s = Store("a", 4, "b", 5) --> {a = 4, b = 5} +s.set("val", 12) --> {a = 4, b = 5, val = 12} +s.get("val") --> returns 12 +s.set(0, "hello") --> {a = 4, b = 5, val = 12, [0] = "hello"} +s.del("val") --> {a = 4, b = 5, [0] = "hello"} +s.size() --> function returns 3 +s.memsize() --> function returns 9 +for key,val in s.next() do + ... +end +``` + +Keys sort example: + +```lua +s = Store() --> {} +s.set("Joe", 800) --> {Joe=800} +s.set("Susi", 1000) --> {Joe=800, Susi=1000} +s.set("Tom", 60) --> {Joe=800, Susi=1000, Tom=60} +s.keys() --> {Joe, Susi, Tom} +s.keys("down") --> {Susi, Joe, Tom} +s.keys("up") --> {Tom, Joe, Susi} +``` + +#### Sets + +A _set_ is an unordered collection with no duplicate elements. The basic use of a _set_ is to test if an element is in the _set_, e.g. if a player name is stored in the _set_. +The _set_ has the following methods: + +- add(val) - add a value to the _set_ +- del(val) - delete a value from the _set_ +- has(val) - test if value is stored in the _set_ +- size() - return the number of _set_ elements +- memsize() - return the needed _set_ memory space +- next() - `for` loop iterator function, returning `idx,val` + +Example: + +```lua +s = Set("Tom", "Lucy") --> {Tom = true, Lucy = true} +s.add("Susi") --> {Tom = true, Lucy = true, Susi = true} +s.del("Tom") --> {Lucy = true, Susi = true} +s.has("Susi") --> function returns `true` +s.has("Mike") --> function returns `false` +s.size() --> function returns 2 +s.memsize() --> function returns 8 +for idx,val in s.next() do + ... +end +``` + +All three types of data structures allow nested elements, e.g. you can store a _set_ in a _store_ or an _array_ and so on. But note that the overall size over all data structures can't exceed the predefined limit. This value is configurable for the server admin. The default value is 1000. +The configured limit can be determined via `memsize()`: + +```lua +memsize() --> function returns 1000 (example) +``` + +### Initialization, Loops, and Events + +The TA4 Lua Controller distinguishes between the initialization phase (just after the controller was started) and the continuous operational phase, in which the normal code is executed. + +#### Initialization + +During the initialization phase the function `init()` is executed once. The `init()` function is typically used to initialize variables, e.g. clean the display, or reset other blocks: + +```lua +-- initialize variables +counter = 1 +table = Store() +player_name = "unknown" + +# reset blocks +$clear_screen("0123") -- "0123" is the number of the display +$send_cmnd("2345", "off") -- turn off the blocks with the number "2345" +``` + + +#### Loops + +During the continuous operational phase the `loop()` function is typically called every second. +Code witch should be executed cyclically has to be placed here. +The cycle frequency is per default once per second, but can be changed via: + +```lua +$loopcycle(0) -- no loop cyle any more +$loopcycle(1) -- call the loop function every second +$loopcycle(10) -- call the loop function only every 10 seconds +``` + +The provided number must be an integer value. +The cycle frequency can be changed in the `init()` function, but also in the `loop()` function. + +#### Events + +To be able to react directly on received commands, the TA4 Lua Controller supports events. +Events are usually turned off, but can be activated with the command `events()`: + +```lua +$events(true) -- enable events +$events(false) -- disable events +``` + +If an event occurs (a command was received from another block), the `loop()` is executed (in addition to the +normal loop cycle). In this case the system variable 'event' is set: + +```lua +if event then + -- event has occurred + if $input("3456") == "on" then -- check input from block with the number "3456" + -- do some action... + end +end +``` + +The first occurred event will directly processed, further events may be delayed. The TA4 Lua Controller +allows a maximum of one event every 100 ms. + + +## Techage Commands + +For the communication with other blocks the controller supports the following commands: + +### Controller local commands + +- `$print(text, text, text)` - Output a text string on the 'outp' tab of the controller menu. The function accepts up to three text arguments. E.g.: `$print("Hello ", name, " !")` +- `$loopcycle(seconds)` - This function allows to change the call frequency of the controllers loop() function, witch is per default one second. For more info, see "Loops and Events". +- `$events(bool)` - Enable/disable event handling. For more info, see "Loops and Events" +- `$get_ms_time()` - Returns time with millisecond precision. +- `$time_as_str()` - Read the time of day (ingame) als text string in 24h format, like "18:45". +- `$time_as_num()` - Read the time of day (ingame) als integer number in 24h format, like 1845. +- `$get_input(num)` - Read one input value provided by an external block with the given number _num_. The block has to be configured with the number of the controller to be able to send status messages (on/off commands) to the controller. _num_ is the number of the remote block, like "1234". + +#### Input Example +- a Player Detector with number "0001" is configured to send on/off commands to a block with number "0002". +- The TA4 Lua Controller with number "0002" will receive these commands as input messages. +- The program on the SaferLua Controller can always read the last input message from block with number "0001" by means of: + +`sts = $get_input("0001")` + + +### Techage commands + +* `$get_status(num)` - Read the status from an external block with the given number _num_. Standard blocks return a status string like: 'running', 'stopped', 'blocked', 'standby', 'fault', or "unloaded". +* `$get_player_action(num)` - Read the player action status from a TA4 Sensor Chest with the given number _num_. The function returns three values: player-name, action, item-name. +* `$get_fuel_value(num)` - Read fuel value from fuel consuming blocks. The block returns a number value. _num_ is the number of the remote block, like "1234". +* `$get_load_value(num)` - Read the load value from a tank/storage block. The block returns a number (0..100). _num_ is the number of the remote block, like "1234". +* `$get_delivered_value(num)` - Read the delivered power value from a generator block. The block returns a positive or negative number. Blocks like accus provide a negative value while charging. _num_ is the number of the remote block, like "1234". +* `$playerdetector(num)` - Read the name status from a Player Detector with the number _num_. If no player is nearby, the detector returns an empty string `""`. +* `$send_cmnd(num, text)` - Send a command to another block. _num_ is the number of the remote block, like "1234". _text_ is the command string like "on". +* `set_filter(num, slot, val)` - Enable/disable a Distributor filter slot. _num_ is the number of the Distributor block. _slot_ is a color and is used to select one of the Distributor sides: "red", "green", "blue", and "yellow". _val_ is either "on" (enable filter) or "off" (disable filter). +* `$display(num, row, text,...)` Send a text string to the display with number _num_. _row_ is the display row, a value from 1 to 5. _text_ is the string to be displayed. This function allows up to 3 text strings. +* `$clear_screen(num)` Clear the screen of the display with number _num_. +* `$position(num)` Returns the position '(x,y,z)' of the device with the given _num_. + + +### Server and Terminal commands + +The Server is used to store data permanently/non-volatile. It can also be used to share data between several Controllers. +- `$server_write(num, key, value)` - Store a value on the server under the key _key_. _key_ must be a string. _value_ can be either a number, string, boolean, nil or data structure. **But this command does not allow nested data structures**. _num_ is the number of the Server, like "1234". Example: `$server_write("0123", "state", state)` +- `$server_read(num, key)` - Read a value from the server. _key_ must be a string. _num_ is the number of the Server, like "1234". + +The Terminal can send text strings as events to the Controller. +In contrast the Controller can send text strings to the terminal. +- `$get_term()` - Read a text command received from the Terminal +- `$put_term(num, text)` - Send a text string to the Terminal. _num_ is the number of the Terminal. + + +### Further commands + +Messages are used to transport data between Controllers. Messages are text strings or any other data plus the sender number. +Incoming messages are stored in a message queue (up to 10) and can be read one after the other. +* `$get_msg()` - Read a received message. The function returns the sender number and the message. +* `$send_msg(num, msg)` - Send a message to another Controller. _num_ is the destination number. + + +* `$chat(text,...)` - Send yourself a chat message. This function allows up to 3 text strings. +* `$door(pos, text)` - Open/Close a door at position "pos". + Example: `$door("123,7,-1200", "close")`. + Hint: Use the Techage Programmer or Info Tool to easily determine the door position. + + +## Example Scripts + +### Simple Counter + +Very simple example with output on the Controller menu. + +init() code: + +```lua +a = 1 +``` + +loop() code: + +```lua +a = a + 1 +$print("a = ", a) +``` + + +### Hello World + +"Hello world" example with output on the Display. + +init() code: + +```lua +a = Array("Hello", "world", "of", "Minetest") + +$clear_screen("0669") + +for i,text in a.next() do + $display("0669", i+2, text) +end +``` + + +### For Loop with range(from, to) + +Second "Hello world" example with output on the Display, +implemented by means of a for/range loop. + +init() code: + +```lua +a = Array("Hello", "world", "of", "Minetest") + +$clear_screen("0669") + +for i in range(1, 4) do +text = a.get(i) +$display("0669", i+2, text) +end +``` + +### Monitoring Chest & Furnace + +More realistic example to output Pusher states on the Display + +init() code: + +```lua +DISPLAY = "1234" +min = 0 +``` + +loop() code: + +```lua +-- call code every 60 sec +if ticks % 60 == 0 then + -- output time in minutes + min = min + 1 + $display(DISPLAY, 1, min, " min") + + -- Cactus chest overrun + sts = $get_status("1034") -- read pusher status + if sts == "blocked" then $display(DISPLAY, 2, "Cactus full") end + + -- Tree chest overrun + sts = $get_status("1089") -- read pusher status + if sts == "blocked" then $display(DISPLAY, 3, "Tree full") end + + -- Furnace fuel empty + sts = $get_status("2895") -- read pusher status + if sts == "standby" then $display(DISPLAY, 4, "Furnace fuel") end +end +``` + + +### Emails + +For an email system you need a Central Server and a TA4 Lua Controller with Terminal per player. +The Central Server serves as database for player name/block number resolution. + +* Each Player needs its own Terminal and Controller. The Terminal has to be connected with the Controller +* Each Controller runs the same Lua Script, only the numbers and the owner names are different +* To send a message, enter the receiver name and the text message like `Tom: hello` into the Terminal +* The Lua script will determine the destination number and send the message to the destination Controller +* All players who should be able to take part in the email system have to be entered into the Server form + +init() code: + +```lua +$loopcycle(0) +$events(true) + +-- Start: update to your conditions +TERM = "27309" +CONTROLLER = "27310" +NAME = "Tom" +SERVER = "27312" +-- End: update to your conditions + +$server_write(SERVER, NAME, CONTROLLER) +$server_write(SERVER, CONTROLLER, NAME) +``` + +loop() code: + +```lua +-- read from Terminal and send the message +s = $get_term() +if s then + name,text = unpack(string.split(s, ":", false, 1)) + num = $server_read(SERVER, name) + if num then + $send_msg(num, text) + $put_term(TERM, "message sent") + end +end + +-- read message and output to terminal +num,text = $get_msg() +if num then + name = $server_read(SERVER, num) + if name then + $put_term(TERM, name..": "..text) + end +end +``` \ No newline at end of file diff --git a/manuals/ta4_lua_controller_EN.pdf b/manuals/ta4_lua_controller_EN.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ad3eb96c945d80e6dd8a015ac87e989cab3bb058 GIT binary patch literal 173839 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

J$RuM7&RCA_M^ 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%0A)h~FXrD}|K&3HsavEBq5;K;4#=TVpsRh@`MZPaG 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 literal 0 HcmV?d00001 diff --git a/oil/explore.lua b/oil/explore.lua index 164c09d..c85d02e 100644 --- a/oil/explore.lua +++ b/oil/explore.lua @@ -112,7 +112,7 @@ local function status(pos, player_name, depth, amount) depth = depth + pos.y local posC = {x = center(pos.x), y = pos.y, z = center(pos.z)} minetest.chat_send_player(player_name, - "[TA Oil] "..P2S(posC).." depth: "..depth..", Oil: "..amount.." ") + "[TA Oil] "..P2S(posC).." "..S("depth")..": "..depth..", "..S("Oil")..": "..amount.." ") end local function marker(player_name, pos) @@ -142,7 +142,10 @@ local function explore_area(pos, pos1, pos2, posC, depth, amount, player_name) end local function emerge_area(pos, node, player_name) - if get_oil_amount(pos) == 0 then -- nothing found so far? + if pos.y < -50 then + minetest.chat_send_player(player_name, + S("[TA Oil] No oil exploration possible at this depth! ")) + elseif get_oil_amount(pos) == 0 then -- nothing found so far? local depth = get_next_depth(pos) local posC = {x = center(pos.x), y = center(-depth), z = center(pos.z)} local radius = 7