Difference between revisions of "Jumpdrive Script by GamePlayer"
Jump to navigation
Jump to search
GamePlayer (talk | contribs) (Created page with "__TOC__ === Creator === The creator of the code is GamePlayer. === Links === About JumpDrive: https://pandorabox.io/index.php/Jumpdrive === Informations === Hello all! I re...") |
m (Updated formatting) |
||
Line 13: | Line 13: | ||
This is block to set JumpDrive. For example: jd_set(<x coords>, <y coords>, <z coords>) | This is block to set JumpDrive. For example: jd_set(<x coords>, <y coords>, <z coords>) | ||
− | + | <syntaxhighlight lang="Lua"> | |
− | + | local function jd_set(jdx, jdy, jdz) | |
− | + | digiline_send("jumpdrive", {command="set", key ="x", value=jdx}) | |
− | + | digiline_send("jumpdrive", {command = "save"}) | |
− | + | digiline_send("jumpdrive", {command="set", key="y", value=jdy}) | |
− | + | digiline_send("jumpdrive", {command = "save"}) | |
− | + | digiline_send("jumpdrive", {command="set", key="z", value=jdz}) | |
− | + | digiline_send("jumpdrive", {command = "save"}) | |
+ | end | ||
+ | </syntaxhighlight> | ||
=== JumpDrive - jump block === | === JumpDrive - jump block === | ||
For example: jd_jump() | For example: jd_jump() | ||
− | + | <syntaxhighlight lang="Lua"> | |
− | + | local function jd_jump() | |
− | + | digiline_send("jumpdrive", {command="jump"}) | |
+ | end | ||
+ | </syntaxhighlight> | ||
=== JumpDrive - show block === | === JumpDrive - show block === | ||
For example: jd_show() | For example: jd_show() | ||
− | + | <syntaxhighlight lang="Lua"> | |
− | + | local function jd_show() | |
− | + | digiline_send("jumpdrive", {command="show"}) | |
+ | end | ||
+ | </syntaxhighlight> | ||
=== JumpDrive - save block === | === JumpDrive - save block === | ||
For example: jd_save() | For example: jd_save() | ||
− | + | <syntaxhighlight lang="Lua"> | |
− | + | local function jd_save() | |
− | + | digiline_send("jumpdrive", {command = "save"}) | |
+ | end | ||
+ | </syntaxhighlight> | ||
=== GetSpace - Stable JD Code === | === GetSpace - Stable JD Code === | ||
− | To run this code you need: | + | To run this code, you'll need: |
− | Default channel for keyboard: "kb" | + | |
− | Default channel for LCD: "LCD" | + | * one LuaController |
− | Default channel for JumpDrive: "jumpdrive" | + | * one jumpdrive |
+ | * one keyboard | ||
+ | * one LCD (or other block to display text from digilines) | ||
+ | * some digilines | ||
+ | |||
+ | Default channel for keyboard: "'''kb'''" | ||
+ | Default channel for LCD: "'''LCD'''" | ||
+ | Default channel for JumpDrive: "'''jumpdrive'''" | ||
+ | |||
Commands to keyboard: | Commands to keyboard: | ||
− | + | ||
− | + | * '''jd_jump''' - Jump command | |
− | + | * '''jd_set''' - Setuping coords: enter the command and X,Y,Z separately | |
− | + | * '''jd_scan''' - Scaning (searching) asteroids, only you must set X and Z in jd_set | |
− | + | * '''jd_stop''' - Stoping scaning asteroids | |
+ | * '''jd_y''' - setuping Y position, enter the command and Y separately | ||
Code: | Code: | ||
− | + | ||
− | + | <syntaxhighlight lang="Lua"> | |
− | + | local function jd_save() | |
− | + | digiline_send("jumpdrive", {command = "save"}) | |
− | + | end | |
− | + | local function jd_set(jdx, jdy, jdz) | |
− | + | digiline_send("jumpdrive", {command = "set", key = "x", value = jdx}) | |
− | + | digiline_send("jumpdrive", {command = "save"}) | |
− | + | digiline_send("jumpdrive", {command = "set", key = "y", value = jdy}) | |
− | + | digiline_send("jumpdrive", {command = "save"}) | |
− | + | digiline_send("jumpdrive", {command = "set", key = "z", value = jdz}) | |
− | + | digiline_send("jumpdrive", {command = "save"}) | |
− | + | end | |
− | + | local function jd_jump() | |
− | + | digiline_send("jumpdrive", {command = "jump"}) | |
− | + | end | |
− | + | local function jd_show() | |
− | + | digiline_send("jumpdrive", {command = "show"}) | |
− | + | end | |
− | + | if(event.type == "digiline" and event.channel == "kb" and mem.jdset == "3") then | |
− | + | mem.z = event.msg | |
− | + | mem.jdset = "0" | |
− | + | digiline_send("jumpdrive", {command = "set", key = "z", value = event.msg}) | |
− | + | jd_save() | |
− | + | end | |
− | + | if(event.type == "digiline" and event.channel == "kb" and mem.jdset == "2") then | |
− | + | mem.y = event.msg | |
− | + | mem.jdset = "3" | |
− | + | digiline_send("LCD", "JD >> Z:") | |
− | + | digiline_send("jumpdrive", {command = "set", key = "y", value = event.msg}) | |
− | + | jd_save() | |
− | + | end | |
− | + | if(event.type == "digiline" and event.channel == "kb" and mem.jdset == "1") then | |
− | + | mem.x = event.msg | |
− | + | mem.jdset = "2" | |
− | + | digiline_send("LCD", "JD >> Y:") | |
− | + | digiline_send("jumpdrive", {command = "set", key = "x", value = event.msg}) | |
− | + | jd_save() | |
− | + | end | |
− | + | if(event.type == "digiline" and event.channel == "kb" and event.msg == "jd_set") then | |
− | + | mem.jdset = "1" | |
− | + | digiline_send("LCD", "JD >> Set coordinates (X Y Z):") | |
− | + | digiline_send("LCD", "JD >> X:") | |
− | + | end | |
− | + | if(event.type == "digiline" and event.channel == "kb" and event.msg == "jd_jump") then | |
− | + | digiline_send("LCD", "JD >> Starting jump!") | |
− | + | jd_jump() | |
− | + | end | |
− | + | if(event.type == "digiline" and event.channel == "kb" and event.msg == "jd_scan") then | |
− | + | digiline_send("LCD", "JD >> Wait...") | |
− | + | mem.startscan = "1" | |
− | + | mem.scanf = "1" | |
− | + | end | |
− | + | if(event.type == "digiline" and event.channel == "jumpdrive" and event.msg.success) then | |
− | + | digiline_send("LCD", "JD >> Jump done!") | |
− | + | end | |
− | + | if(event.type == "digiline" and event.channel == "kb" and event.msg == "jd_stop") then | |
− | + | mem.scanf = "0" | |
− | + | digiline_send("LCD", "JD >> Scan canceled!") | |
− | + | end | |
− | + | if(mem.scanf == "2") then | |
− | + | if(event.type == "digiline" and event.channel == "jumpdrive") then | |
− | + | if(event.msg.success) then | |
− | + | digiline_send("LCD", "JD >> Asteroid detected!") | |
− | + | mem.scanf = "0" | |
− | + | digiline_send("LCD", "JD >> Y: "..mem.scany) | |
− | + | digiline_send("jumpdrive", {command = "set", key = "y", value = mem.scany}) | |
− | + | digiline_send("jumpdrive", {command = "save"}) | |
− | + | else | |
− | + | mem.scany = mem.scany + 25 | |
− | + | mem.scanf = "1" | |
− | + | end | |
− | + | end | |
− | + | end | |
− | + | if(mem.scanf == "1") then | |
− | + | if(mem.startscan == "1") then | |
− | + | mem.scany = 6000 | |
− | + | mem.startscan = "0" | |
− | + | mem.postep = 0 | |
− | + | end | |
− | + | mem.postep = mem.postep + 1 | |
− | + | digiline_send("LCD", mem.postep.." na 80") | |
− | + | jd_set(mem.x, mem.scany, mem.z) | |
− | + | jd_show() | |
− | + | mem.scanf = "2" | |
− | + | if(mem.postep == 80) then | |
− | + | digiline_send("LCD", "JD >> Asteroid not founded!") | |
− | + | mem.scanf = "0" | |
− | + | end | |
− | + | end | |
− | + | if(event.type == "digiline" and event.channel == "kb" and event.msg == "jd_y") then | |
− | + | digiline_send("LCD", "JD >> Y: ") | |
− | + | mem.setdefa = "1" | |
− | + | end | |
− | + | if(mem.setdefa == "1") then | |
− | + | if(event.type == "digiline" and event.channel == "kb") then | |
− | + | mem.setdefa = "0" | |
− | + | mem.y = event.msg | |
− | + | digiline_send("jumpdrive", {command = "set", key = "y", value = mem.y}) | |
− | + | digiline_send("jumpdrive", {command = "save"}) | |
+ | end | ||
+ | end | ||
+ | </syntaxhighlight> | ||
[[Category:GetSpacePlaces]] | [[Category:GetSpacePlaces]] |
Revision as of 17:57, 5 May 2020
Creator
The creator of the code is GamePlayer.
Links
About JumpDrive: https://pandorabox.io/index.php/Jumpdrive
Informations
Hello all! I recently wrote a code to the luacontroller to control Jumpdrive. The code and the micro tutorial below. This is open-source code and free. Default digiline channel is "jumpdrive". Version: 1.0 Have fun!
JumpDrive settings X, Y, Z
This is block to set JumpDrive. For example: jd_set(<x coords>, <y coords>, <z coords>)
local function jd_set(jdx, jdy, jdz)
digiline_send("jumpdrive", {command="set", key ="x", value=jdx})
digiline_send("jumpdrive", {command = "save"})
digiline_send("jumpdrive", {command="set", key="y", value=jdy})
digiline_send("jumpdrive", {command = "save"})
digiline_send("jumpdrive", {command="set", key="z", value=jdz})
digiline_send("jumpdrive", {command = "save"})
end
JumpDrive - jump block
For example: jd_jump()
local function jd_jump()
digiline_send("jumpdrive", {command="jump"})
end
JumpDrive - show block
For example: jd_show()
local function jd_show()
digiline_send("jumpdrive", {command="show"})
end
JumpDrive - save block
For example: jd_save()
local function jd_save()
digiline_send("jumpdrive", {command = "save"})
end
GetSpace - Stable JD Code
To run this code, you'll need:
- one LuaController
- one jumpdrive
- one keyboard
- one LCD (or other block to display text from digilines)
- some digilines
Default channel for keyboard: "kb" Default channel for LCD: "LCD" Default channel for JumpDrive: "jumpdrive"
Commands to keyboard:
- jd_jump - Jump command
- jd_set - Setuping coords: enter the command and X,Y,Z separately
- jd_scan - Scaning (searching) asteroids, only you must set X and Z in jd_set
- jd_stop - Stoping scaning asteroids
- jd_y - setuping Y position, enter the command and Y separately
Code:
local function jd_save()
digiline_send("jumpdrive", {command = "save"})
end
local function jd_set(jdx, jdy, jdz)
digiline_send("jumpdrive", {command = "set", key = "x", value = jdx})
digiline_send("jumpdrive", {command = "save"})
digiline_send("jumpdrive", {command = "set", key = "y", value = jdy})
digiline_send("jumpdrive", {command = "save"})
digiline_send("jumpdrive", {command = "set", key = "z", value = jdz})
digiline_send("jumpdrive", {command = "save"})
end
local function jd_jump()
digiline_send("jumpdrive", {command = "jump"})
end
local function jd_show()
digiline_send("jumpdrive", {command = "show"})
end
if(event.type == "digiline" and event.channel == "kb" and mem.jdset == "3") then
mem.z = event.msg
mem.jdset = "0"
digiline_send("jumpdrive", {command = "set", key = "z", value = event.msg})
jd_save()
end
if(event.type == "digiline" and event.channel == "kb" and mem.jdset == "2") then
mem.y = event.msg
mem.jdset = "3"
digiline_send("LCD", "JD >> Z:")
digiline_send("jumpdrive", {command = "set", key = "y", value = event.msg})
jd_save()
end
if(event.type == "digiline" and event.channel == "kb" and mem.jdset == "1") then
mem.x = event.msg
mem.jdset = "2"
digiline_send("LCD", "JD >> Y:")
digiline_send("jumpdrive", {command = "set", key = "x", value = event.msg})
jd_save()
end
if(event.type == "digiline" and event.channel == "kb" and event.msg == "jd_set") then
mem.jdset = "1"
digiline_send("LCD", "JD >> Set coordinates (X Y Z):")
digiline_send("LCD", "JD >> X:")
end
if(event.type == "digiline" and event.channel == "kb" and event.msg == "jd_jump") then
digiline_send("LCD", "JD >> Starting jump!")
jd_jump()
end
if(event.type == "digiline" and event.channel == "kb" and event.msg == "jd_scan") then
digiline_send("LCD", "JD >> Wait...")
mem.startscan = "1"
mem.scanf = "1"
end
if(event.type == "digiline" and event.channel == "jumpdrive" and event.msg.success) then
digiline_send("LCD", "JD >> Jump done!")
end
if(event.type == "digiline" and event.channel == "kb" and event.msg == "jd_stop") then
mem.scanf = "0"
digiline_send("LCD", "JD >> Scan canceled!")
end
if(mem.scanf == "2") then
if(event.type == "digiline" and event.channel == "jumpdrive") then
if(event.msg.success) then
digiline_send("LCD", "JD >> Asteroid detected!")
mem.scanf = "0"
digiline_send("LCD", "JD >> Y: "..mem.scany)
digiline_send("jumpdrive", {command = "set", key = "y", value = mem.scany})
digiline_send("jumpdrive", {command = "save"})
else
mem.scany = mem.scany + 25
mem.scanf = "1"
end
end
end
if(mem.scanf == "1") then
if(mem.startscan == "1") then
mem.scany = 6000
mem.startscan = "0"
mem.postep = 0
end
mem.postep = mem.postep + 1
digiline_send("LCD", mem.postep.." na 80")
jd_set(mem.x, mem.scany, mem.z)
jd_show()
mem.scanf = "2"
if(mem.postep == 80) then
digiline_send("LCD", "JD >> Asteroid not founded!")
mem.scanf = "0"
end
end
if(event.type == "digiline" and event.channel == "kb" and event.msg == "jd_y") then
digiline_send("LCD", "JD >> Y: ")
mem.setdefa = "1"
end
if(mem.setdefa == "1") then
if(event.type == "digiline" and event.channel == "kb") then
mem.setdefa = "0"
mem.y = event.msg
digiline_send("jumpdrive", {command = "set", key = "y", value = mem.y})
digiline_send("jumpdrive", {command = "save"})
end
end