Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --mMultiOS
- --<~t<true>marcelOS<info<0||name<0|explorer>version<1|0.2>changePrint<2|false>eventfilter<0|internet|mouse_click|window_resize|window_fullscreen>EventManager<3|true>Debug<3|true>>code<0|print("Hello, explorer run under marcelOS")>>other<info<0||name<0|explorer>version<2|0.2>>code<0|~i<23>print("Unknown OS ...")>>>
- Application.window = windows.CreateWindow( "LightSystem" , Application , true)
- Application.window:SetSize(40,35)
- Application.window:FindSpace(111)
- -- denk drann beim Server in der 2ten Zeile beim eventfilter "internet" drinnen zu haben, andernfalls bekommt er keine internet events...
- function Rahmen()
- local streifen = string.rep("-",Application.window.width)
- function ComputerraumRahmen()
- Application.window:writePos(1,1,"Computerraum:")
- Application.window:writePos(15,1,"On",colors.white,colors.green)
- Application.window:writePos(20,1,"Off",colors.white,colors.red)
- Application.window:writePos(26,1,"Status:")
- Application.window:writePos(1,2,streifen)
- end
- function ServerraumRahmen()
- Application.window:writePos(1,3,"Serverraum:")
- Application.window:writePos(15,3,"On",colors.white,colors.green)
- Application.window:writePos(20,3,"Off",colors.white,colors.red)
- Application.window:writePos(26,3,"Status:")
- Application.window:writePos(1,4,streifen)
- end
- function TekkitraumRahmen()
- Application.window:writePos(1,5,"Tekkitraum:")
- Application.window:writePos(15,5,"On",colors.white,colors.green)
- Application.window:writePos(20,5,"Off",colors.white,colors.red)
- Application.window:writePos(26,5,"Status:")
- Application.window:writePos(1,6,streifen)
- end
- function LagerraumRahmen()
- Application.window:writePos(1,7,"Lagerraum:")
- Application.window:writePos(15,7,"On",colors.white,colors.green)
- Application.window:writePos(20,7,"Off",colors.white,colors.red)
- Application.window:writePos(26,7,"Status:")
- Application.window:writePos(1,8,streifen)
- end
- -- hier kein while true, da er sonnst immer zeichnen würde und niemals zur eventabfrage kommt. Außerdem soll er ja nur einmal zeichnen bei der Function Rahmen...
- ComputerraumRahmen()
- ServerraumRahmen()
- TekkitraumRahmen()
- LagerraumRahmen()
- end
- -- Auch hier kein While true,,,
- function Eingabe()
- local event,side,x,y = os.pullEvent()
- -- Durch diese Debugausgabe werden alle Events angezeigt, das sollte es um einiges einfacher machen ;)
- Debug(event,tostring(side) .. " " .. tostring(x) .. " " .. tostring(y))
- -- mouse_click statt monitor_toch abfragen...
- if event == "mouse_click" then
- -- Die Klammern sind wichtig, das hat zwar nichts mit marcelOS zu tun , aber mit lua allgemein...
- if ((x == 15) and (y == 1)) or ((x == 16) and (y == 1)) then
- rs.setOutput("bottom", true)
- -- 1 = ID des Servers
- -- 100 = Port des Servers, falls mehrere Programme gleichzeitig senden...
- -- "ComputerraumLightOn" = die Message
- ip.SendMessage( nil, 1, nil, 100, nil , "ComputerraumLightOn" )
- --rednet.send(1, "ComputerraumLightOn") --Zahl= Id des Server
- end
- if ((x == 20) and (y == 1)) or ((x == 21) and (y == 1)) or ((x == 22) and (y == 1)) then
- ip.SendMessage( nil, 1, nil, 100, nil , "ComputerraumLightOff" )
- --rednet.send(1, "ComputerraumLightOff") --Zahl= Id des Server
- end
- -- Die anderen Events wie das letzte erstellen...
- end
- end
- while true do
- Rahmen()
- Eingabe()
- Application.window:Paint()
- mTask.sleepEvent(Application,1)
- end
Advertisement
Add Comment
Please, Sign In to add comment