This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
Mackan90096's profile picture

[QUESTION][HELP] Nothing happens when i press button!

Started by Mackan90096, 30 March 2013 - 02:16 AM
Mackan90096 #1
Posted 30 March 2013 - 03:16 AM
Hi! I'm currently rewriting my Os to be a GUI. But when I press the button nothing happens but I have programmed that…

The code:

Spoiler


bar1 = paintutils.loadImage(".bar1")
logo = paintutils.loadImage(".logo")
icon = paintutils.loadImage(".icon")
tBarC = 8
tBartC = 1
backColor = 1
scroll = 0
Version = "Alpha [0.1]"
credCol = 32
firstCol = 1
secCol = 2048
Author  = "Mackan90096"
ErrCol1 = 16384
calcCol = 128

--Desktop
term.setBackgroundColor(backColor)
term.clear()

slc = 0



function credits()
term.clear()
term.setCursorPos(1,1)
term.setTextColor(credCol)
print("Credits")
term.setCursorPos(1,3)
print("Programs and apis:")
term.setCursorPos(1,5)
print("CCalendar - TheOriginalBIT")
term.setCursorPos(1,6)
print("Passgen -  Conn332")
term.setCursorPos(1,7)
print("CCleverbot - 1lann and GravityScore")
term.setCursorPos(1,9)
print("Help in development:")
term.setCursorPos(1,11)
print("All the great people that helped me on the forums! - You know who you are :)/>")
term.setCursorPos(1,13)
write("To return type anything and hit enter: ")
local input = read()
if input == "1" then
term.clear()
drawDesktop()
else
term.clear()
drawDesktop()
end
end

function login()
term.clear()
term.setCursorPos(1,1)
print("Logging in")
term.setCursorPos(1,3)
write("Username: ")
usrName = read()
write("Password: ")
local pass = read("*")
file = fs.open("users/"..usrName,"r")
if not fs.exists("users/"..usrName) then
term.clear()
term.setCursorPos(1,1)
print("Login failed")
sleep(1)
term.clear()
drawDesktop()
elseif fs.exists("users/"..usrName) then
local fileData = {}
local line = file.readLine()
repeat
table.insert(fileData, line)
line = file.readLine()
until line == nil -- readLine()
file.close()
local passFromFile = fileData[1]
if pass == passFromFile then
term.clear()
term.setCursorPos(1,1)
print("Login succeded!")
sleep(1)
term.clear()
drawDesktop2()
slc = 2
else
term.clear()
term.setCursorPos(1,1)
print("Login failed!")
sleep(1)
term.clear()
drawDesktop()
end
end
end

function register()
term.clear()
term.setCursorPos(1,1)
print("Registering")
term.setCursorPos(1,3)
write("Username: ")
local usrName = read()
term.setCursorPos(1,4)
write("Password: ")
local pass = read("*")
fs.makeDir("users")
if not fs.exists("users/"..usrName) then
local file = fs.open("users/"..usrName, "a")
file.writeLine(pass)
file.close()
sleep(0.5)
term.clear()
term.setCursorPos(1,1)
print("Registered!")
sleep(0.5)
term.clear()
drawDesktop()
elseif fs.exists("users/"..usrName) then
term.clear()
term.setCursorPos(1,1)
print("Username already in use!")
sleep(1)
term.clear()
drawDesktop()
end
end

function titleBar2()
  term.setCursorPos(1,1)
  term.setBackgroundColor(tBarC)
  term.setTextColor(tBartC)
  term.clearLine()
  term.setCursorPos(3,1)
  print("[Begin]")
  term.setCursorPos(12,1)
  print("Logged in as: "..usrName)
end

function drawDesktop2()
  slc = 2
  term.setBackgroundColor(backColor)
  term.clear()
  paintutils.drawImage(logo,1,1)
  paintutils.drawImage(icon,2,3)
  titleBar2()
end

function drawMenu2()
term.setTextColor(256)
term.setBackgroundColor(128)
term.setCursorPos(1,2)
print("          ")
term.setCursorPos(1,3)
print("Logout    ")
term.setCursorPos(1,4)
print("Calculator")
term.setCursorPos(1,5)
print("Games     ")
term.setCursorPos(1,6)
print("Account   ")
term.setCursorPos(1,7)
print("Calendar  ")
term.setCursorPos(1,8)
print("Email     ")
term.setCursorPos(1,9)
print("Shutdown  ")
term.setCursorPos(1,10)
print("Reboot    ")
term.setCursorPos(1,11)
print("          ")
end

function titleBar()
  term.setCursorPos(1,1)
  term.setBackgroundColor(tBarC)
  term.setTextColor(tBartC)
  term.clearLine()
  term.setCursorPos(3,1)
  print("[Begin]")
end

function drawDesktop()
  slc = 0
  term.setBackgroundColor(backColor)
  term.clear()
  paintutils.drawImage(logo,1,1)
  titleBar()
end

function drawMenu1()
term.setTextColor(256)
term.setBackgroundColor(128)
term.setCursorPos(1,2)
print("          ")
term.setCursorPos(1,3)
print(" Login    ")
term.setCursorPos(1,4)
print(" Register ")
term.setCursorPos(1,5)
print(" Reboot   ")
term.setCursorPos(1,6)
print(" Shutdown ")
term.setCursorPos(1,7)
print(" Passgen  ")
term.setCursorPos(1,8)
print(" Credits  ")
term.setCursorPos(1,9)
print("          ")
end
drawDesktop()

while true do
local event, button, X, Y = os.pullEventRaw()
 if slc == 0 then
  if event == "mouse_click" then
   if X >= 2 and X <= 8 and Y == 1 and button == 1 then
    drawMenu1()
    slc = 1     
    drawDesktop()
   end
  end
 elseif slc == 1 then
  if X >= 1 and X <= 11 and button == 1 and Y == 3 then slc = 0
    login()
   elseif X >= 1 and X <= 11 and Y == 4 and button == 1 then slc = 0
   register()
   elseif X >= 1 and X <= 11 and Y == 5 and button == 1 then slc = 0        
   os.reboot()
   elseif X >= 1 and X <= 11 and Y == 6 and button == 1 then slc = 0
   os.shutdown()
   elseif X >= 1 and X <= 11 and Y == 7 and button == 1 then slc = 0
   passgen()
   elseif X >= 1 and X <= 11 and Y == 8 and button == 1 then slc = 0
   credits()
   else slc = 0
   drawDesktop() 

  end
  elseif slc == 2 then
  if X >= 1 and X <= 11 and button == 1 and Y == 3 then slc = 3
  elseif X >= 2 and X <= 5  and Y >= 3 and Y <= 9 and button == 1 then
     shell.run("file")

  else slc = 2
  drawDesktop2()
 end
 elseif slc == 3 then
   if X >= 2 and X <= 8 and Y == 1 and button == 1 then
    drawMenu2()
    slc = 2     
    drawDesktop2()
 end

end
end
Mads #2
Posted 30 March 2013 - 03:22 AM
No one is gonna look through 200 lines of code for you. Paste the relevant code.
Mackan90096 #3
Posted 30 March 2013 - 03:23 AM
No one is gonna look through 200 lines of code for you. Paste the relevant code.

ok…



while true do
local event, button, X, Y = os.pullEventRaw()
 if slc == 0 then
  if event == "mouse_click" then
   if X >= 2 and X <= 8 and Y == 1 and button == 1 then
    drawMenu1()
    slc = 1     
    drawDesktop()
   end
  end
 elseif slc == 1 then
  if X >= 1 and X <= 11 and button == 1 and Y == 3 then slc = 0
    login()
   elseif X >= 1 and X <= 11 and Y == 4 and button == 1 then slc = 0
   register()
   elseif X >= 1 and X <= 11 and Y == 5 and button == 1 then slc = 0        
   os.reboot()
   elseif X >= 1 and X <= 11 and Y == 6 and button == 1 then slc = 0
   os.shutdown()
   elseif X >= 1 and X <= 11 and Y == 7 and button == 1 then slc = 0
   passgen()
   elseif X >= 1 and X <= 11 and Y == 8 and button == 1 then slc = 0
   credits()
   else slc = 0
   drawDesktop() 

  end
  elseif slc == 2 then
  if X >= 1 and X <= 11 and button == 1 and Y == 3 then slc = 3
  elseif X >= 2 and X <= 5  and Y >= 3 and Y <= 9 and button == 1 then
     shell.run("file")

  else slc = 2
  drawDesktop2()
 end
 elseif slc == 3 then
   if X >= 2 and X <= 8 and Y == 1 and button == 1 then
    drawMenu2()
    slc = 2     
    drawDesktop2()
 end

end
end
Mads #4
Posted 30 March 2013 - 03:32 AM
Also, what button is not responding?
Mackan90096 #5
Posted 30 March 2013 - 03:38 AM
The very first one.
It should draw a "dropdown" menu beneath it and when you click outside of the menu it should dissapear.
Mackan90096 #6
Posted 30 March 2013 - 03:46 AM
Oh, the first button is [Begin] (If you want to know)
Mackan90096 #7
Posted 30 March 2013 - 03:52 AM
NVM! I got it fixed! It was responding but it instantly closed it.