icarus Posted August 5, 2012 Share Posted August 5, 2012 At GUI tutorial 2, i edited it so it could say higher/lower , but doesnt work, dont know what is wrong, can someone help me. de Debug script 3 output is this : ERROR:server.lua:13: attempt to compare nil with string local keypadCodes = { ["a51MainGateKeypadCode"] = math.random (0, 50000) } addEvent("verifyKeypadCode",true) addEventHandler("verifyKeypadCode",root,function(code,keypadID) if code then if code == keypadCodes[keypadID] then triggerClientEvent(client,"onKeypadVerificationSuccessful",client,keypadID) elseif code >= keypadCodes[keypadID] then triggerClientEvent(client,"oncodeishigher",client,keypadID) elseif code <= keypadCodes[keypadID] then triggerClientEvent(client,"oncodeislower",client,keypadID) end end end) Link to comment
TAPL Posted August 5, 2012 Share Posted August 5, 2012 use tonumber like this tonumber(code) Link to comment
icarus Posted August 5, 2012 Author Share Posted August 5, 2012 you mean, like this ? local keypadCodes = { ["a51MainGateKeypadCode"] = math.random (0, 50000) } addEvent("verifyKeypadCode",true) addEventHandler("verifyKeypadCode",root,function(code,keypadID) if code then if code == tonumber(code) then triggerClientEvent(client,"onKeypadVerificationSuccessful",client,keypadID) elseif code >= tonumber(code) then triggerClientEvent(client,"oncodeishigher",client,keypadID) elseif code <= tonumber(code) then triggerClientEvent(client,"oncodeislower",client,keypadID) end end end) Link to comment
TAPL Posted August 5, 2012 Share Posted August 5, 2012 local keypadCodes = { ["a51MainGateKeypadCode"] = math.random(0, 50000) } addEvent("verifyKeypadCode",true) addEventHandler("verifyKeypadCode",root,function(code,keypadID) if tonumber(code) then if tonumber(code) == keypadCodes[keypadID] then triggerClientEvent(client,"onKeypadVerificationSuccessful",client,keypadID) elseif tonumber(code) >= keypadCodes[keypadID] then triggerClientEvent(client,"oncodeishigher",client,keypadID) elseif tonumber(code) <= keypadCodes[keypadID] then triggerClientEvent(client,"oncodeislower",client,keypadID) end end end) Link to comment
icarus Posted August 5, 2012 Author Share Posted August 5, 2012 same debug script: ERROR:server.lua:13: attempt to compare nil with string Link to comment
TAPL Posted August 5, 2012 Share Posted August 5, 2012 same debug script: ERROR:server.lua:13: attempt to compare nil with string line 13 in my code is 'end' anyway, show your client. Link to comment
icarus Posted August 5, 2012 Author Share Posted August 5, 2012 kk, client side is this, the problem is probably there, im new at scripting,so thats probably it. local bankrob = createMarker ( 2655, 2706, 411, "arrow", 1, 100, 20, 20 ) function createKeypad() local sWidth, sHeight = guiGetScreenSize() local Width,Height = 142,276 local X = (sWidth/2) - (Width/2) local Y = (sHeight/2) - (Height/2) keypadWindow = guiCreateWindow(X,Y,Width,Height,"Keypad",false) addEventHandler("onClientGUIClick",keypadWindow,processKeypadClicks,true) guiWindowSetSizable(keypadWindow,false) keypadButton1 = guiCreateButton(13,68,37,36,"1",false,keypadWindow) keypadButton2 = guiCreateButton(53,68,37,36,"2",false,keypadWindow) keypadButton3 = guiCreateButton(93,68,37,36,"3",false,keypadWindow) keypadButton4 = guiCreateButton(13,108,37,36,"4",false,keypadWindow) keypadButton5 = guiCreateButton(53,108,37,36,"5",false,keypadWindow) keypadButton6 = guiCreateButton(93,108,37,36,"6",false,keypadWindow) keypadButton7 = guiCreateButton(13,148,37,36,"7",false,keypadWindow) keypadButton8 = guiCreateButton(53,148,37,36,"8",false,keypadWindow) keypadButton9 = guiCreateButton(93,148,37,36,"9",false,keypadWindow) keypadButtonAsterix = guiCreateButton(13,188,37,36,"*",false,keypadWindow) keypadButton0 = guiCreateButton(53,188,37,36,"0",false,keypadWindow) keypadButtonHash = guiCreateButton(93,188,37,36,"#",false,keypadWindow) keypadButtonExit = guiCreateButton(13,228,37,36,"Exit",false,keypadWindow) keypadButtonEnter = guiCreateButton(53,228,37,36,"Enter",false,keypadWindow) keypadButtonClear = guiCreateButton(93,228,37,36,"Clear",false,keypadWindow) keypadGridlistDisplay = guiCreateGridList(13,25,117,33,false,keypadWindow) guiGridListSetSelectionMode(keypadGridlistDisplay,2) guiSetAlpha(keypadGridlistDisplay,0.6) keypadLabelDisplay = guiCreateLabel(14,26,115,30,"Enter Keycode.",false,keypadWindow) guiLabelSetColor(keypadLabelDisplay,255,000,000) guiLabelSetVerticalAlign(keypadLabelDisplay,"center") guiLabelSetHorizontalAlign(keypadLabelDisplay,"center",false) guiSetVisible(keypadWindow,false) end addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),createKeypad) function updateDisplay(text) if text then if tonumber(text) or text == "*" or text == "#" then guiSetText(keypadLabelDisplay,guiGetText(keypadLabelDisplay) .. text) else guiSetText(keypadLabelDisplay,text) end else guiSetText(keypadLabelDisplay,"") end end function processKeypadClicks(button,state) if button == "left" and state == "up" then if getElementType(source) == "gui-button" then triggerEvent("onKeypadButtonClicked",source,getElementData(keypadWindow,"keypadID")) end end end addEvent("onKeypadButtonClicked",false) addEventHandler("onKeypadButtonClicked",root, function(keypadID) if guiGetText(keypadLabelDisplay) == "Enter Keycode." or guiGetText(keypadLabelDisplay) == "Lower" or guiGetText(keypadLabelDisplay) == "Higher" then updateDisplay() end if guiGetText(source) == "Clear" then updateDisplay() elseif guiGetText(source) == "Enter" then local code = guiGetText(keypadLabelDisplay) if code then triggerServerEvent("verifyKeypadCode",getLocalPlayer(),code,keypadID) end elseif guiGetText(source) == "Exit" then guiSetVisible(keypadWindow,false) updateDisplay("Enter Keycode.") showCursor(false,false) else updateDisplay(guiGetText(source)) end end ) addEvent("onKeypadVerificationSuccessful",true) addEventHandler("onKeypadVerificationSuccessful",root, function() guiSetVisible(keypadWindow,false) updateDisplay("Enter Keycode.") showCursor(false,false) end ) addEvent("oncodeishigher",true) addEventHandler("oncodeishigher",root, function() updateDisplay("Higher") end ) addEvent("oncodeislower",true) addEventHandler("oncodeislower",root, function() updateDisplay("Lower") end ) Link to comment
TAPL Posted August 5, 2012 Share Posted August 5, 2012 i don't see where you set the element data here triggerEvent("onKeypadButtonClicked",source,getElementData(keypadWindow,"keypadID")) the element data must be "a51MainGateKeypadCode" and i still don't understand why you need the table here local keypadCodes = { ["a51MainGateKeypadCode"] = math.random(0, 50000) } you can just do addEvent("verifyKeypadCode",true) addEventHandler("verifyKeypadCode",root,function(code) local keypadCodes = math.random(0, 50000) if tonumber(code) then if tonumber(code) == keypadCodes then triggerClientEvent(client,"onKeypadVerificationSuccessful",client) elseif tonumber(code) >= keypadCodes then triggerClientEvent(client,"oncodeishigher",client) elseif tonumber(code) <= keypadCodes then triggerClientEvent(client,"oncodeislower",client) end end end) Link to comment
icarus Posted August 5, 2012 Author Share Posted August 5, 2012 Works 100% as it should. Thanks . Link to comment
icarus Posted August 9, 2012 Author Share Posted August 9, 2012 Sorry to bother again. What i wanna do is make is add a new gui that is almost equal to the other , but the difference is that i want to change they keypad window name to other that opens when i hit another marker, and updates other trigger vent, and the code is different. I tried doing it , but the results are almost everytime the same, like the display of the first gui shows in the second, the code is the same at the 2 guis. The Guis confuse themselves. can you help me, what do i need to add to the version i uploaded here client/server side , in order to make it work and simple. Link to comment
icarus Posted August 10, 2012 Author Share Posted August 10, 2012 ive been trying all day, but i think it works now. Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now