added scripts
This commit is contained in:
		
							parent
							
								
									bc0527e651
								
							
						
					
					
						commit
						0cd319935c
					
				
							
								
								
									
										18
									
								
								burn
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								burn
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,18 @@ | ||||
| function select_next_item() | ||||
|     local sel_pos = 0 | ||||
|     turtle.select(sel_pos + 1) | ||||
| 
 | ||||
|     while(turtle.getItemCount() <= 0) do | ||||
|         sel_pos = (sel_pos + 1) % 16 | ||||
|         turtle.select(sel_pos + 1) | ||||
|     end | ||||
| end | ||||
| 
 | ||||
| while(true) do | ||||
|     select_next_item() | ||||
|     for i = 1,4,1 do | ||||
|         turtle.place() | ||||
|         turtle.turnRight() | ||||
|     end | ||||
|     sleep(20) | ||||
| end | ||||
							
								
								
									
										47
									
								
								client
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								client
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,47 @@ | ||||
| function dump(o) | ||||
|     if o == nil then | ||||
|         return "" | ||||
|     end | ||||
| 
 | ||||
|     if type(o) == 'table' then | ||||
|         local s = '{ ' | ||||
|         for k,v in pairs(o) do | ||||
|             if type(k) ~= 'number' then k = '"'..k..'"' end | ||||
|             s = s .. '['..k..'] = ' .. dump(v) .. ',' | ||||
|         end | ||||
|         return s .. '} ' | ||||
|     end | ||||
| 
 | ||||
|     return tostring(o) | ||||
| end | ||||
| 
 | ||||
| rednet.open("left") | ||||
| rednet.host("rmm", "t0-turtle01") | ||||
| local master = rednet.lookup("rmm", "master") | ||||
| while true do | ||||
|     local event, id, data = os.pullEvent() | ||||
|     if event == "rednet_message" then | ||||
|         print(id .. " (" .. event .. ")> " .. dump(data)) | ||||
|         if type(data) == 'table' then | ||||
|             if data[1] == 'eval' then | ||||
|                 local cmd_fn, err = loadstring(data[2]) | ||||
|                 if not cmd_fn then | ||||
|                     print("Compile error:" .. err) | ||||
|                     rednet.send(master, "Compile error:" .. err) | ||||
|                 else | ||||
|                     local success, output = pcall(cmd_fn) | ||||
|                     if success then | ||||
|                         if output then | ||||
|                             print("Command output: " .. dump(output)) | ||||
|                             rednet.send(master, "Command output: " .. dump(output)) | ||||
|                         end | ||||
|                     else | ||||
|                         print("Runtime error:" .. output) | ||||
|                         rednet.send(master, "Runtime error:" .. output) | ||||
|                     end | ||||
|                 end | ||||
|             end | ||||
|         end | ||||
|     end | ||||
| end | ||||
| 
 | ||||
							
								
								
									
										82
									
								
								control
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								control
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,82 @@ | ||||
| function dump(o) | ||||
|     if o == nil then | ||||
|         return "" | ||||
|     end | ||||
| 
 | ||||
|     if type(o) == 'table' then | ||||
|         local s = '{ ' | ||||
|         for k,v in pairs(o) do | ||||
|             if type(k) ~= 'number' then k = '"'..k..'"' end | ||||
|             s = s .. '['..k..'] = ' .. dump(v) .. ',' | ||||
|         end | ||||
|         return s .. '} ' | ||||
|     end | ||||
| 
 | ||||
|     return tostring(o) | ||||
| end | ||||
| 
 | ||||
| function split(s) | ||||
|     chunks = {} | ||||
| 
 | ||||
|     for substring in s:gmatch("%S+") do | ||||
|        table.insert(chunks, substring) | ||||
|     end | ||||
|     return chunks | ||||
| end | ||||
| 
 | ||||
| function recv() | ||||
|     while true do | ||||
|         local id, data = rednet.receive() | ||||
|         print("Message from " .. id .. ": " .. dump(data)) | ||||
|         write("> ") | ||||
|     end | ||||
| end | ||||
| 
 | ||||
| function move_control(turtle_id) | ||||
|     while true do | ||||
|         local event, param = os.pullEvent("key") | ||||
|         if event == "key" then | ||||
|             -- print("Got key: " .. param) | ||||
|             if param == 14 then | ||||
|                 break | ||||
|             elseif param == 17 then | ||||
|                 rednet.send(turtle_id, {"eval", "turtle.forward()"}) | ||||
|             elseif param == 30 then | ||||
|                 rednet.send(turtle_id, {"eval", "turtle.turnLeft()"}) | ||||
|             elseif param == 31 then | ||||
|                 rednet.send(turtle_id, {"eval", "turtle.back()"}) | ||||
|             elseif param == 32 then | ||||
|                 rednet.send(turtle_id, {"eval", "turtle.turnRight()"}) | ||||
|             elseif param == 57 then | ||||
|                 rednet.send(turtle_id, {"eval", "turtle.up()"}) | ||||
|             elseif param == 29 then | ||||
|                 rednet.send(turtle_id, {"eval", "turtle.down()"}) | ||||
|             end | ||||
|         end | ||||
|     end | ||||
| end | ||||
| 
 | ||||
| function control() | ||||
|     while true do | ||||
|         write("> ") | ||||
|         local input = split(read()) | ||||
|         -- print(dump(input)) | ||||
|         if input[1] == 'lookup' then | ||||
|             print(rednet.lookup("rmm", input[2])) | ||||
|         elseif input[1] == 'eval' then | ||||
|             rednet.send(tonumber(input[2]), {"eval", input[3]}) | ||||
|         elseif input[1] == 'move' then | ||||
|             move_control(tonumber(input[2])) | ||||
|         else | ||||
|             print("Unknown command") | ||||
|         end | ||||
|     end | ||||
| end | ||||
| 
 | ||||
| rednet.open("back") | ||||
| rednet.host("rmm", "master") | ||||
| 
 | ||||
| while true do | ||||
|     parallel.waitForAny(recv, control) | ||||
| end | ||||
| 
 | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user