View difference between Paste ID: 0c9EnECj and ZaTJa1qd
SHOW: | | - or go back to the newest paste.
1-
print('xNiteowlx ReactorControl Engaged. View Monitor.')
1+
print('Killakiaba ReactorControl Engaged. View Monitor.')
2
 
3
emptyflag=0
4
offlineflag=0
5
flashflag=0
6
 
7
reactor=peripheral.wrap('left')
8
monitor=peripheral.wrap('right')
9
 
10
monitor.setTextScale(1)
11
monitor.setBackgroundColor(colors.black)
12
 
13
while true do
14
monitor.clear()
15
monitor.setCursorPos(1,1)
16
monitor.setTextColor(colors.white)
17
monitor.write('Fuel Level:')
18
monitor.setCursorPos(1,2)
19
monitor.setTextColor(colors.yellow)
20
monitor.write(math.floor(((reactor.getFuelAmount()/reactor.getFuelAmountMax())*100)+0.5)..'% Fuel')
21
monitor.setCursorPos(1,3)
22
monitor.setTextColor(colors.lightBlue)
23
monitor.write(math.floor(((reactor.getWasteAmount()/reactor.getFuelAmountMax())*100)+0.5)..'% Waste')
24
monitor.setCursorPos(1,5)
25
monitor.setTextColor(colors.white)
26
monitor.write('Control Rod Levels:')
27
monitor.setTextColor(colors.green)
28
monitor.setCursorPos(1,6)
29
monitor.write('Rod 1:  '..(100-(reactor.getControlRodLevel(0)))..'% Depth')
30
monitor.setCursorPos(1,7)
31
monitor.write('Rod 2:  '..(100-(reactor.getControlRodLevel(1)))..'% Depth')
32
monitor.setCursorPos(1,8)
33
monitor.write('Rod 3:  '..(100-(reactor.getControlRodLevel(2)))..'% Depth')
34
monitor.setCursorPos(1,9)
35
monitor.write('Rod 4:  '..(100-(reactor.getControlRodLevel(3)))..'% Depth')
36
monitor.setCursorPos(1,10)
37
monitor.write('Rod 5:  '..(100-(reactor.getControlRodLevel(4)))..'% Depth')
38
monitor.setCursorPos(1,11)
39
monitor.write('Rod 6:  '..(100-(reactor.getControlRodLevel(5)))..'% Depth')
40
monitor.setCursorPos(1,12)
41
monitor.write('Rod 7:  '..(100-(reactor.getControlRodLevel(6)))..'% Depth')
42
monitor.setCursorPos(1,13)
43
monitor.write('Rod 8:  '..(100-(reactor.getControlRodLevel(7)))..'% Depth')
44
monitor.setCursorPos(1,14)
45
monitor.write('Rod 9:  '..(100-(reactor.getControlRodLevel(8)))..'% Depth')
46
monitor.setCursorPos(1,15)
47
monitor.write('Rod 10:  '..(100-(reactor.getControlRodLevel(9)))..'% Depth')
48
monitor.setCursorPos(1,16)
49
monitor.write('Rod 11:  '..(100-(reactor.getControlRodLevel(10)))..'% Depth')
50
monitor.setCursorPos(1,17)
51
monitor.write('Rod 12:  '..(100-(reactor.getControlRodLevel(11)))..'% Depth')
52
monitor.setCursorPos(1,18)
53
monitor.write('Rod 13:  '..(100-(reactor.getControlRodLevel(12)))..'% Depth')
54
monitor.setCursorPos(1,19)
55-
monitor.write('Rod 14:  '..(100-(reactor.getControlRodLevel(12)))..'% Depth')
55+
monitor.write('Rod 14:  '..(100-(reactor.getControlRodLevel(13)))..'% Depth')
56
monitor.setCursorPos(1,7)
57-
monitor.write('Rod 15:  '..(100-(reactor.getControlRodLevel(12)))..'% Depth')
57+
monitor.write('Rod 15:  '..(100-(reactor.getControlRodLevel(14)))..'% Depth')
58
monitor.setCursorPos(1,8)
59-
monitor.write('Rod 16:  '..(100-(reactor.getControlRodLevel(12)))..'% Depth')
59+
monitor.write('Rod 16:  '..(100-(reactor.getControlRodLevel(15)))..'% Depth')
60
monitor.setCursorPos(1,9)
61-
monitor.write('Rod 17:  '..(100-(reactor.getControlRodLevel(12)))..'% Depth')
61+
monitor.write('Rod 17:  '..(100-(reactor.getControlRodLevel(16)))..'% Depth')
62
monitor.setCursorPos(1,10)
63-
monitor.write('Rod 18:  '..(100-(reactor.getControlRodLevel(12)))..'% Depth')
63+
monitor.write('Rod 18:  '..(100-(reactor.getControlRodLevel(17)))..'% Depth')
64
monitor.setCursorPos(1,11)
65-
monitor.write('Rod 19:  '..(100-(reactor.getControlRodLevel(12)))..'% Depth')
65+
monitor.write('Rod 19:  '..(100-(reactor.getControlRodLevel(18)))..'% Depth')
66
monitor.setCursorPos(1,12)
67-
monitor.write('Rod 20:  '..(100-(reactor.getControlRodLevel(12)))..'% Depth')
67+
monitor.write('Rod 20:  '..(100-(reactor.getControlRodLevel(19)))..'% Depth')
68
monitor.setCursorPos(1,13)
69-
monitor.write('Rod 21:  '..(100-(reactor.getControlRodLevel(12)))..'% Depth')
69+
monitor.write('Rod 21:  '..(100-(reactor.getControlRodLevel(20)))..'% Depth')
70
monitor.setCursorPos(1,14)
71-
monitor.write('Rod 22:  '..(100-(reactor.getControlRodLevel(12)))..'% Depth')
71+
monitor.write('Rod 22:  '..(100-(reactor.getControlRodLevel(21)))..'% Depth')
72
monitor.setCursorPos(1,15)
73-
monitor.write('Rod 23:  '..(100-(reactor.getControlRodLevel(12)))..'% Depth')
73+
monitor.write('Rod 23:  '..(100-(reactor.getControlRodLevel(22)))..'% Depth')
74
monitor.setCursorPos(1,16)
75-
monitor.write('Rod 24:  '..(100-(reactor.getControlRodLevel(12)))..'% Depth')
75+
monitor.write('Rod 24:  '..(100-(reactor.getControlRodLevel(23)))..'% Depth')
76
monitor.setCursorPos(1,17)
77-
monitor.write('Rod 25:  '..(100-(reactor.getControlRodLevel(12)))..'% Depth')
77+
monitor.write('Rod 25:  '..(100-(reactor.getControlRodLevel(24)))..'% Depth')
78
monitor.setCursorPos(1,18)
79-
monitor.write('Rod 26:  '..(100-(reactor.getControlRodLevel(12)))..'% Depth')
79+
monitor.write('Rod 26:  '..(100-(reactor.getControlRodLevel(25)))..'% Depth')
80
monitor.setCursorPos(1,19)
81
monitor.write('Rod 27:  '..(100-(reactor.getControlRodLevel(26)))..'% Depth')
82
monitor.setCursorPos(1,20)
83
monitor.write('Rod 28:  '..(100-(reactor.getControlRodLevel(27)))..'% Depth')
84
monitor.setCursorPos(1,21)
85
monitor.write('Rod 29:  '..(100-(reactor.getControlRodLevel(28)))..'% Depth')
86
monitor.setCursorPos(1,22)
87
monitor.write('Rod 30:  '..(100-(reactor.getControlRodLevel(29)))..'% Depth')
88
monitor.setCursorPos(1,23)
89
monitor.write('Rod 31:  '..(100-(reactor.getControlRodLevel(30)))..'% Depth')
90
monitor.setCursorPos(1,24)
91
monitor.write('Rod 32:  '..(100-(reactor.getControlRodLevel(31)))..'% Depth')
92
monitor.setCursorPos(1,25)
93
monitor.write('Rod 33:  '..(100-(reactor.getControlRodLevel(32)))..'% Depth')
94
monitor.setCursorPos(1,26)
95
monitor.write('Rod 34:  '..(100-(reactor.getControlRodLevel(33)))..'% Depth')
96
monitor.setCursorPos(1,27)
97
monitor.write('Rod 35:  '..(100-(reactor.getControlRodLevel(34)))..'% Depth')
98
monitor.setCursorPos(1,28)
99
monitor.write('Rod 36:  '..(100-(reactor.getControlRodLevel(35)))..'% Depth')
100
monitor.setCursorPos(1,29)
101
monitor.write('Rod 37:  '..(100-(reactor.getControlRodLevel(36)))..'% Depth')
102
monitor.setCursorPos(1,30)
103
monitor.write('Rod 38:  '..(100-(reactor.getControlRodLevel(37)))..'% Depth')
104
monitor.setCursorPos(1,31)
105
monitor.write('Rod 39:  '..(100-(reactor.getControlRodLevel(38)))..'% Depth')
106
monitor.setCursorPos(1,32)
107
monitor.write('Rod 40:  '..(100-(reactor.getControlRodLevel(39)))..'% Depth')
108
monitor.setCursorPos(1,33)
109
monitor.write('Rod 41:  '..(100-(reactor.getControlRodLevel(40)))..'% Depth')
110
monitor.setCursorPos(1,34)
111
112
113
monitor.setTextColor(colors.white)
114
monitor.write('Temperature:')
115
monitor.setCursorPos(1,35)
116
monitor.setTextColor(colors.lightGray)
117
monitor.write('Casing: ')
118
if reactor.getCasingTemperature()>=650 then
119
    monitor.setTextColor(colors.purple)
120
    else if reactor.getCasingTemperature()>=950 then
121
        monitor.setTextColor(colors.red)
122
    else
123
        monitor.setTextColor(colors.green)
124
    end
125
end
126
monitor.write(reactor.getCasingTemperature()..'C')
127
 
128
monitor.setCursorPos(1,36)
129
monitor.setTextColor(colors.yellow)
130
monitor.write('Fuel: ')
131
if reactor.getFuelTemperature()>=650 then
132-
    monitor.setCursorPos(1,25)
132+
133
  else if reactor.getFuelTemperature()>=950 then
134
    monitor.setTextColor(colors.red)
135
  else
136
 monitor.setTextColor(colors.green)
137-
    monitor.setCursorPos(1,26)
137+
138
end
139
monitor.write(reactor.getFuelTemperature()..'C')
140
 
141
monitor.setCursorPos(1,37)
142-
    monitor.setCursorPos(1,26)
142+
143
monitor.write('Flux:')
144
monitor.setCursorPos(1,38)
145
monitor.setTextColor(colors.green)
146
monitor.write(reactor.getEnergyStored()..' RF Stored      ')
147-
    monitor.setCursorPos(1,26)
147+
148
if reactor.getEnergyProducedLastTick()>=500 and reactor.getEnergyProducedLastTick()<2000 then
149
    monitor.setTextColor(colors.orange)
150
end
151
 
152
if reactor.getEnergyProducedLastTick()>=2000 then
153-
  monitor.setCursorPos(1,26)
153+
154
end
155
monitor.write((math.floor(reactor.getEnergyProducedLastTick()+0.5))..'RF/t')
156
 
157
monitor.setCursorPos(1,39)
158
monitor.setTextColor(colors.orange)
159
monitor.write('Warnings:')
160
 
161
if flashflag==0 then
162
  flashflag=1
163
  if offlineflag==1 then
164
    monitor.setCursorPos(1,40)
165
    monitor.setTextColor(colors.lightGray)
166
    monitor.write('OFFLINE - Manual Override')
167
  end
168
  if emptyflag==1 then
169
    monitor.setCursorPos(1,41)
170
    monitor.setTextColor(colors.pink)
171
    monitor.write('OFFLINE - Fuel Exhausted')
172
  end
173
  if emptyflag==0 and offlineflag==0 and reactor.getControlRodLevel(0)>75 then
174
    monitor.setCursorPos(1,41)
175
    monitor.setTextColor(colors.yellow)
176
    monitor.write('ONLINE - Low Power Mode')
177
  end
178
  if emptyflag==0 and offlineflag==0 and reactor.getControlRodLevel(0)<=75 then
179
    monitor.setCursorPos(1,41)
180
    monitor.setTextColor(colors.orange)
181
    monitor.write('ONLINE - High Power Mode')
182
  end
183
else
184
  flashflag=0
185
  monitor.setCursorPos(1,41)
186
  monitor.clearLine()
187
end
188
 
189
if reactor.getEnergyStored()<=10000000 and reactor.getEnergyStored()>100 then
190
    reactor.setAllControlRodLevels(0+(math.floor(reactor.getEnergyStored()/100000)))
191
else
192
    reactor.setAllControlRodLevels(0)
193
end
194
 
195
if reactor.getFuelAmount()<=100 and offlineflag==0 then
196
    reactor.setAllControlRodLevels(100)
197
    reactor.setActive(false)
198
    emptyflag=1
199
else
200
    emptyflag=0
201
end
202
     
203
if rs.getInput('bottom')==false and emptyflag==0 then
204
    reactor.setActive(true)
205
    offlineflag=0
206
end
207
 
208
if rs.getInput('bottom')==true and emptyflag==0 then
209
    reactor.setActive(false)
210
    reactor.setAllControlRodLevels(100)
211
    offlineflag=1
212
end    
213
sleep(1)
214
end