Jump to content

Сравнение числа в "guiCreateEdit" с заданым числом.


Recommended Posts

Доброго времени суток всем.

Как сделать проверку числа написанного в guiCreateEdit с числом которое задается через math.random (1,100)?

Все мои попытки ни к чему, не привели.

Основная идея: Открытие ворот по коду, который нужно угадать из 100 чисел.

Вот мой код:

1)Код на показ окна с вводом пароля, а также при открытие окна, задается переменная pass

(Client)

function createExeWed_Windows() 
  
  
GUIEditor_Window[1] = guiCreateWindow(0.292,0.3359,0.4199,0.1588,"ExeWed v0.97 | Protective system",true) 
password = guiCreateEdit(0.314,0.3607,0.5093,0.2869,"",true,GUIEditor_Window[1]) 
GUIEditor_Label[1] = guiCreateLabel(0.1047,0.459,0.4488,0.2957,"Password:",true,GUIEditor_Window[1]) 
guiLabelSetColor(GUIEditor_Label[1],0, 255, 100) 
guiSetFont(GUIEditor_Label[1],"default-bold-small") 
btnExit = guiCreateButton(0.8581,0.7213,0.0977,0.1639,"Exit",true,GUIEditor_Window[1]) 
guiSetFont(GUIEditor_Button[1],"default-bold-small") 
btnOK = guiCreateButton(0.8558,0.377,0.1047,0.2541,"OK",true,GUIEditor_Window[1]) 
guiSetFont(GUIEditor_Button[2],"default-bold-small") 
  
GUIEditor_Label[2] = guiCreateLabel(0.4581,0.7377,0.3605,0.1475,"Access Denied",true,GUIEditor_Window[1]) 
guiLabelSetColor(GUIEditor_Label[2],255,0,0) 
guiSetFont(GUIEditor_Label[2],"default-bold-small") 
  
            showCursor(true) 
            guiSetInputEnabled(true) 
             
        pass = math.random(1,100) 
  
  
end 

2) При нажатии на кнопку OK, сравнение числа в Edit поле, с заданым числом pass, если совпадает то написать в чате Access Accepted, если не совпадает, то ничего не делать.

function use_ExeWed() 
password = guiGetText(password) 
    if source == btnExit then 
        DestroyExeWedGUI() 
    end 
  
    if (source == btnOK) then 
  
         
        outputChatBox("Введи: ".. tostring(pass) .."",thePlayer,255,120,0) 
         
        if (password == pass) then 
        outputChatBox("Access Accepted") 
        end 
    end 
end 
addEventHandler("onClientGUIClick",getRootElement(),use_ExeWed) 
  

Link to comment

У тебя не получится сравнить строку с числом.

Поэтому тебе нужно возвращаемое значение функции ( guiGetText ) преобразовать в число , чтобы проверить.

Пример

  
a = 5;b = '5' 
if a == b then 
   print 'a == b' 
else 
   print 'a ~= b' --> a ~= b 
end 
  

Link to comment

Уфф... ну никак неполучается(

Я еще не совсем пример понимаю.

Вот, что я смог сделать, подскажите пожалуста как исправить:

function use_ExeWed() 
  
    if source == btnExit then 
        DestroyExeWedGUI() 
    end 
  
    if (source == btnOK) then 
        local code = guiGetText(password) 
         
        outputChatBox("Введи: ".. tostring(pass) .."",thePlayer,255,120,0) 
         
        if code == pass then  
        print 'code == pass' 
            if 'code == pass' then 
                outputChatBox("Access Accepted") 
            end 
        else 
                print 'code ~= pass' 
                outputChatBox("Access Denied") 
        end 
         
  
    end 
end 
addEventHandler("onClientGUIClick",getRootElement(),use_ExeWed) 

Link to comment

Конвертируем строку в число с помощью функции tonumber. Например:

function use_ExeWed () 
  
    if source == btnExit then 
        DestroyExeWedGUI() 
    end 
  
    if (source == btnOK) then 
        local code = guiGetText(password) 
        
        outputChatBox("Введи: ".. pass, 255, 120, 0, true) 
        
        if tonumber ( code ) == pass then 
                  outputChatBox("Access Accepted") 
        else 
                  outputChatBox("Access Denied") 
        end  
    end 
end 
addEventHandler("onClientGUIClick",getRootElement(),use_ExeWed) 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...