From 2cc71a63cad726d3a48b9a40dae48e7c52743d21 Mon Sep 17 00:00:00 2001 From: Igor Timofeev Date: Mon, 9 Jan 2017 14:40:42 +0300 Subject: [PATCH] aefaef --- .DS_Store | Bin 18436 -> 18436 bytes Applications.txt | 29 +++- Applications/.DS_Store | Bin 73732 -> 77828 bytes Applications/Control2/Control2.lua | 61 +++++++++ Applications/Control2/Icon.pic | Bin 0 -> 179 bytes Applications/Control2/LuaLogo.pic | Bin 0 -> 366 bytes .../Control2/Modules/00_LuaConsole.lua | 125 ++++++++++++++++++ .../SmartHouse/Modules/command_block/Icon.pic | Bin 0 -> 1287 bytes .../{computer => command_block}/Main.lua | 17 ++- .../SmartHouse/Modules/computer/Icon.pic | Bin 1287 -> 0 bytes .../SmartHouse/Modules/homePC/Icon.pic | Bin 299 -> 1287 bytes .../SmartHouse/Modules/homePC/Main.lua | 10 +- .../SmartHouse/Modules/homePC/Server.pic | Bin 0 -> 299 bytes Applications/SmartHouse/Modules/mfsu/Main.lua | 2 +- .../SmartHouse/Modules/motion_sensor/Main.lua | 4 +- .../SmartHouse/Modules/redstone/Main.lua | 2 +- Applications/SmartHouse/SmartHouse.lua | 32 ++--- lib/GUI.lua | 20 +-- 18 files changed, 258 insertions(+), 44 deletions(-) create mode 100755 Applications/Control2/Control2.lua create mode 100755 Applications/Control2/Icon.pic create mode 100755 Applications/Control2/LuaLogo.pic create mode 100644 Applications/Control2/Modules/00_LuaConsole.lua create mode 100644 Applications/SmartHouse/Modules/command_block/Icon.pic rename Applications/SmartHouse/Modules/{computer => command_block}/Main.lua (52%) delete mode 100644 Applications/SmartHouse/Modules/computer/Icon.pic create mode 100644 Applications/SmartHouse/Modules/homePC/Server.pic diff --git a/.DS_Store b/.DS_Store index d5c5ae410723920029be91afe5f51ad77388bc8d..b7e47a3cfcd2b36c26740e8f4a6a9add6465c6d6 100644 GIT binary patch delta 157 zcmZpfz}PZ@al=bNrkn?xUkfg00?|`M7VYOkBD!|uP?SV^6QY1)*{F>2eHfb`@T iHM`Bhn#rt;44b#<9pVD3+bib3xy;Ie1tezY#|Z%URUH%n diff --git a/Applications.txt b/Applications.txt index 89ebc001..60f1eca0 100644 --- a/Applications.txt +++ b/Applications.txt @@ -247,7 +247,7 @@ name="lib/MineOSCore.lua", url="IgorTimofeev/OpenComputers/master/lib/MineOSCore.lua", type="Library", - version=1.32, + version=1.33, }, { name="lib/advancedLua.lua", @@ -294,7 +294,7 @@ name="lib/GUI.lua", url="IgorTimofeev/OpenComputers/master/lib/GUI.lua", type="Library", - version=1.21, + version=1.22, }, { name="lib/windows.lua", @@ -524,8 +524,17 @@ type="Application", icon="IgorTimofeev/OpenComputers/master/Applications/SmartHouse/Icon.pic", createShortcut="desktop", - version=1.25, + version=1.26, resources={ + { + name="Modules/command_block/Icon.pic", + url="IgorTimofeev/OpenComputers/master/Applications/SmartHouse/Modules/command_block/Icon.pic", + }, + { + name="Modules/command_block/Main.lua", + url="IgorTimofeev/OpenComputers/master/Applications/SmartHouse/Modules/command_block/Main.lua", + }, + -- { name="Modules/redstone/Icon.pic", url="IgorTimofeev/OpenComputers/master/Applications/SmartHouse/Modules/redstone/Icon.pic", @@ -597,6 +606,20 @@ }, }, }, + { + name="MineOS/Applications/Control2", + url="IgorTimofeev/OpenComputers/master/Applications/Control2/Control2.lua", + type="Application", + icon="IgorTimofeev/OpenComputers/master/Applications/Control2/Icon.pic", + createShortcut="desktop", + version=1.00, + resources={ + { + name="Modules/00_LuaConsole.lua", + url="IgorTimofeev/OpenComputers/master/Applications/Control2/Modules/00_LuaConsole.lua", + }, + }, + }, { name="MineOS/Applications/Weather", url="IgorTimofeev/OpenComputers/master/Applications/Weather/Weather.lua", diff --git a/Applications/.DS_Store b/Applications/.DS_Store index 66bc593dba36d5b75f06efa30abf3ae6fbd00684..6537b3e11038d958a5c6191fecdf36c58e8df3a4 100644 GIT binary patch delta 1369 zcmb7DZ%kWN6u;;3`ua)>ZF#iN%AmuHDQmPXnMfpdY>b3BO&2uF)Fm)#W=#K4pqddj zmdu42&8X)?*_TPgCAbg5JUW;oSr=U*ei=>7++rjIT%3tU{9vXgW}f%ljM!w;`|``V z_uX^P`Q3Yd=V)F&x-8cSAz=GpG$_OMT=Ba$M0 zwr>(FCATi|y2r1eqIy!xKl z!J!gjK&08mueqSiiJnZ)k1p|+@_%UHjQ0zdkt2Y@> z8M(xUAB&@k5Ei1>VHMZ@_#XEizu+v2fk#61)cHmdN>(iv3@^3j)|@bYcpWzpiYMFK zqk{vzLVS60(dS9Q^%l~8?(E}C5$#kU?xG_A0uY_H+FWm@a-}Zxo2kWw6 zr+DWf1@oOQoanb>baxdsL{=2MnBR@V@6KV~^M&D8jkR4~dS`F5Of&rlC2ShgsD4aU zQSy$m!&?}L$tDXYFU81|o5rV904tuD_tGzOJhfr>!oyHT(XVO%%CT_MOJ}}o1Wy0a zt*-$bxsg(+&RtaC{Jkp%8cru_F%_?aN{k$+!M2{WRQI-3xy!@gU?N-UNeRotwP2>- zJ2Dce2L1Xyy%PSM-BRrt8oH-2{!U|kK?s*o95HHTyYsG)S-&i3A0xon#)vSw854{d zMxL?ASZ1u*Sl4VNexVVo00*yqHdgX<3EE?Adduj-m+x4;XLt<(-C`_u98=olZ1n?> zkg|tOWF6@#L%6zv$8zu8xpx+vM$bHd@+k$kWISY_7*NsK`Yc}Q@EZl>=i<81`!gnN zny#e18C?Z4SJZ6A&$m4>zk#Yg*+Yg1-xhY+S~e`Uf;mpw%Xob={zszN*Wzbbufhj9fR54GULt*ZMT^y(V(v@hwmO%4y%e_6@V6SkDrIkk;9MCzBH>R8bBrF6a-WrfbJpj8 gkO`gp1OF+fs;hPOj0={`c*)mFiHg(k|Kl|N2~#M)-T(jq delta 948 zcmaJM9P=Szg zF4l#Rm3R|`c979kCK}!;f>;qb1N*s3yeN>u&K7|!>cI1!^PTrO=R4=TClXgjX4M`c z1XT346bsSDrou?*A%hS>{ivtZUdCS;LYRf95;dYuTo64XOcwPcl}^Q1khrFS)qW|~ z?18JmaY-L5MNbyRp{4@EW*%6{;M+B-*{#K+sw`YT5yG*YPO#(YDhEBNel1h`jb4dN zfdP3m>;*G!)Vpb+{=H1`$e@Jrh?@$6htycye31Nk>o6Mjpl?{M(QwLi`uxEGV5I4< zZU9rvBEuC4%+c!}u*EJq;hF?iboYA@^6oV--^O5R)ALdJyIJm$i}x~ojAM)dV}voz zm}1N_mKkxzmVw)3txgjn#J1VMGa(h4hRZ!X6Dj!vKG;soG$|m!iygyvqD$G(h()Sw z-091~64ky~p%>0d2_9z@3K@p{64h260np;PKqlU=H-Un|ppCj(S|!lorAZg0(aMY; zKu;YD7QkR-HrC9q;bz31IwvpbN1D>nvf939cwTTO6Mkw1 z{+Q2Cyg~-uoa|F@@d+mlDa;8mXKG4=<(7&+dFing1t;d5bh3+i6LW4lFne61ySy|+erp=_}+1#ZdFFGk43 zmCMhtu_+MUHiA8xZ-!DFtF=CD4oXQ6o`0K7cU!8Z*nT_sB=paztS>ItI@!(ZPa)^ZgyAIruoszbmb~cha2lR1GBSP)4gNEQ6?(2DKf5#9=7iL9zHQ&HXjOXioxCiXT?ZOIeD4u18xVn z-9@Jj0ExYXIF-3BZQV3rmwM&NKH7~ug6!Z3XhKZgGTbe{2N<+_L7%%rF}m4s#Y@UB z$V&%bl_XAs2Ro10@DNj;O4W2>S+i*6|7K8X_DBYua%roIAcbDk@MbG luaConsoleHistoryLimit then table.remove(consoleTextBox.lines, 1) end + table.insert(consoleTextBox.lines, printColor and {color = printColor, text = lines[i]} or lines[i]) + end + consoleTextBox:scrollDown(#lines) + end + + local function getStringValueOfVariable(variable) + local type, value = type(variable), "" + if type == "table" then + value = table.serialize(variable, true, nil, nil, 1) + else + value = tostring(variable) + end + + return value + end + + local function reimplementedPrint(...) + local args = {...} + local resultText = {}; for i = 1, #args do table.insert(resultText, getStringValueOfVariable(args[i])) end + if #resultText > 0 then + local lines = {table.concat(resultText, " ")} + lines = string.wrap(lines, consoleTextBox.width - 2) + addLines(lines) + end + end + + -- Функцию стер - хуй проглотил! + -- abc = function(a, b, c) local d = b ^ 2 - 4 * a * c; if d < 0 then error("Сууука!!! D < 0") end; x1 = (-b + math.sqrt(d)) / (2 * a); x2 = (-b - math.sqrt(d)) / (2 * a); return x1, x2 end + + consoleCommandInputTextBox.onInputFinished = function() + if consoleCommandInputTextBox.text then + -- Подменяем стандартный print() на мой пиздатый + local oldPrint = print + print = reimplementedPrint + -- Пишем, че мы вообще исполняли + printColor = colors.passive + addLines({"> " .. consoleCommandInputTextBox.text}) + printColor = nil + + -- Ебашим поддержку = + if unicode.sub(consoleCommandInputTextBox.text, 1, 1) == "=" then consoleCommandInputTextBox.text = "return " .. unicode.sub(consoleCommandInputTextBox.text, 2, -1) end + local loadSuccess, loadReason = load(consoleCommandInputTextBox.text) + if loadSuccess then + local xpcallResult = {xpcall(loadSuccess, debug.traceback)} + if xpcallResult[1] then + table.remove(xpcallResult, 1) + reimplementedPrint(table.unpack(xpcallResult)) + else + printColor = colors.error + reimplementedPrint(xpcallResult[2]) + printColor = nil + end + else + printColor = colors.error + reimplementedPrint(loadReason) + printColor = nil + end + + consoleCommandInputTextBox.text = nil + print = oldPrint + + window:draw() + buffer.draw() + end + end +end + +---------------------------------------------------------------------------------------------------------------------------- + +return module + + + + + + diff --git a/Applications/SmartHouse/Modules/command_block/Icon.pic b/Applications/SmartHouse/Modules/command_block/Icon.pic new file mode 100644 index 0000000000000000000000000000000000000000..ea3be0e8fd7952ea0eb544896be2a2b52c1fd66f GIT binary patch literal 1287 zcmcIiF$%&!5R9FrkH|v;f{@Bz1pI-eg)c~P-~;l5V4Dx5vQ6hl;$$;0Ic|*zdI&ep z?e0wG?zk@xo85N2U+~MG;fk%V4PmRwV&brkLuaQ$MizXRX-F4F5?AY-djBww z`9TB2nHB!TsXc5>96;N)?@-e;JpG752(bn-pzgxU@_y+QHWSbC2YEW^%Yw)#^L)!w zuBuZG=IBpeq#L~wdcns0u<1K^)2=^9*YganpWnE?<7{in4^q^S?z$K6t-1d4EX~i$ z)ZtFHlKZ98$TRa(&M0Dja*Ef)ULjl%>wuU&V&Oa>aeTBY)qOwj1#IH@wEzGB literal 0 HcmV?d00001 diff --git a/Applications/SmartHouse/Modules/computer/Main.lua b/Applications/SmartHouse/Modules/command_block/Main.lua similarity index 52% rename from Applications/SmartHouse/Modules/computer/Main.lua rename to Applications/SmartHouse/Modules/command_block/Main.lua index a09a8d93..6cbba50b 100755 --- a/Applications/SmartHouse/Modules/computer/Main.lua +++ b/Applications/SmartHouse/Modules/command_block/Main.lua @@ -1,14 +1,26 @@ local module = { - allowSignalConnections = false, + allowSignalConnections = true, updateWhenModuleDetailsIsHidden = false, } ------------------------------------------------------------------------------------------------------------------------------------------------------- +local function execute(moduleContainer, command) + moduleContainer.componentProxy.setCommand(command) + moduleContainer.componentProxy.executeCommand() +end + -- This method is called once during module initialization function module.start(moduleContainer) + local x, y = 2, moduleContainer.children[#moduleContainer.children].localPosition.y + 2 + moduleContainer.commandTextBox = moduleContainer:addInputTextBox(x, y, moduleContainer.width - 2, 1, nil, 0xDDDDDD, nil, 0xFFFFFF, "/say Hello", "Type command here", false, false) + y = y + 2 + moduleContainer.executeButton = moduleContainer:addButton(2, y, moduleContainer.width - 2, 1, 0xDDDDDD, 0x262626, 0xAAAAAA, 0x262626, "Execute") + moduleContainer.executeButton.onTouch = function() + execute(moduleContainer, moduleContainer.commandTextBox.text) + end end -- This method is called on each frame update (every second by default), but only if module details is not hidden or updateWhenModuleDetailsIsHidden == true @@ -18,7 +30,8 @@ end -- This method is called when a this module receives virtual signal from the another module, but only if field allowSignalConnections == true function module.onSignalReceived(moduleContainer, ...) - + local data = {...} + execute(moduleContainer, moduleContainer.commandTextBox.text) end ------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/Applications/SmartHouse/Modules/computer/Icon.pic b/Applications/SmartHouse/Modules/computer/Icon.pic deleted file mode 100644 index 3d64612ac7ab9b20e027839493bd6f21226b9b43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1287 zcmb7C!3_d241*s}CSZeZ&<7F{66%A02SBOzIfLz-LHHoY-9QLQ^?F0xM7~-pvj{PP=K_i9SaOzIfLz-LHHoY-9QLQ^?F0xM7~-pvj{PP=K_i9SauR@(X zz`K!``CFhLoX?s7J#iDHJ)JKxT@^4Ya4c{i9Ass-v9!gz!C|jJHVx70tb*7CvrH1+ zOOqyh#RaC#uiu-G*&L_I|E){Sv0+lLNsi4CZUrrXWJQ2Z5i5KJRd7X95h?__b(zqf ZN+s;&h|B!h(m5saWZ~9ZopM;S{s8Uz9X