esporta05 Posted July 24, 2014 Share Posted July 24, 2014 So I scripted a ammunation resource resterday, today I decided to make a very simple pizza guy job and when I start to test the markers I see that when I enter to any kind of marker it opens the ammunation gui. So how can i fix this bug? Every markers is opening ammunation GUI... WeAN = {} M4 = {} Eagle = {} WeANclose = {} SPAZ12 = {} AK47 = {} MP5 = {} Pistol = {} WeAN.window = guiCreateWindow(471, 218, 367, 511, "WeAmmu Nation v1.0", false) guiWindowSetMovable(WeAN.window, false) guiWindowSetSizable(WeAN.window, false) M4.button = guiCreateButton(9, 50, 105, 41, "M4 \n2000$", false, WeAN.window) guiSetProperty(M4.button, "NormalTextColour", "FFAAAAAA") Eagle.button = guiCreateButton(124, 50, 105, 41, "Desert Eagle \n500$", false, WeAN.window) guiSetProperty(Eagle.button, "NormalTextColour", "FFAAAAAA") MP5.button = guiCreateButton(239, 50, 105, 41, "MP5\n1000$", false, WeAN.window) guiSetProperty(MP5.button, "NormalTextColour", "FFAAAAAA") Pistol.button = guiCreateButton(9, 101, 105, 41, "Pistol\n100$", false, WeAN.window) guiSetProperty(Pistol.button, "NormalTextColour", "FFAAAAAA") SPAZ12.button = guiCreateButton(124, 101, 105, 41, "SPAZ-12\n1500$", false, WeAN.window) guiSetProperty(SPAZ12.button, "NormalTextColour", "FFAAAAAA") AK47.button = guiCreateButton(239, 101, 105, 41, "AK-47\n1200$", false, WeAN.window) guiSetProperty(AK47.button, "NormalTextColour", "FFAAAAAA") WeANclose.button = guiCreateButton(329, 19, 28, 27, "X", false, WeAN.window) guiSetProperty(WeANclose.button, "NormalTextColour", "FFAAAAAA") local WeANmarker = createMarker ( 777, -2070, 11.5, "cylinder", 2, 0, 128, 0, 170 ) guiSetVisible(WeAN.window,false) -- -- -- function WeANmarkerEnter () guiSetVisible(WeAN.window,true) showCursor ( true ) end addEventHandler ( "onClientMarkerHit", getRootElement(), WeANmarkerEnter ) function WeANguiClose () guiSetVisible(WeAN.window,false) showCursor ( false ) end addEventHandler ( "onClientGUIClick", WeANclose.button, WeANguiClose, false ) function buym4 () triggerServerEvent("buyWeapon",getLocalPlayer(),"M4","2000","31","100") end addEventHandler ( "onClientGUIClick", M4.button, buym4, false ) function buyEagle () triggerServerEvent("buyWeapon",getLocalPlayer(),"Desert Eagle","500","24","50") end addEventHandler ( "onClientGUIClick", Eagle.button, buyEagle, false ) function buyMP5 () triggerServerEvent("buyWeapon",getLocalPlayer(),"MP5","1000","29","100") end addEventHandler ( "onClientGUIClick", MP5.button, buyMP5, false ) function buyPistol () triggerServerEvent("buyWeapon",getLocalPlayer(),"Pistol","100","22","50") end addEventHandler ( "onClientGUIClick", Pistol.button, buyPistol, false ) function buySPAZ12 () triggerServerEvent("buyWeapon",getLocalPlayer(),"SPAZ-12","1500","27","90") end addEventHandler ( "onClientGUIClick", SPAZ12.button, buySPAZ12, false ) function buyAK47 () triggerServerEvent("buyWeapon",getLocalPlayer(),"AK-47","1200","30","100") end addEventHandler ( "onClientGUIClick", AK47.button, buyAK47, false ) Link to comment
Saml1er Posted July 24, 2014 Share Posted July 24, 2014 local weapons = { } -- lets use 1 table weapons.window = guiCreateWindow(471, 218, 367, 511, "WeAmmu Nation v1.0", false) guiWindowSetMovable(weapons.window, false) guiWindowSetSizable(weapons.window, false) guiSetVisible(weapons.WeAN,false) -- lets put this here, just to make it easy for you weapons.M4 = guiCreateButton(9, 50, 105, 41, "M4 \n2000$", false, weapons.window) guiSetProperty(weapons.M4, "NormalTextColour", "FFAAAAAA") weapons.Eagle = guiCreateButton(124, 50, 105, 41, "Desert Eagle \n500$", false, weapons.window) guiSetProperty(weapons.Eagle, "NormalTextColour", "FFAAAAAA") weapons.MP5 = guiCreateButton(239, 50, 105, 41, "MP5\n1000$", false, weapons.window) guiSetProperty(weapons.MP5, "NormalTextColour", "FFAAAAAA") weapons.Pistol = guiCreateButton(9, 101, 105, 41, "Pistol\n100$", false, weapons.window) guiSetProperty(weapons.Pistol, "NormalTextColour", "FFAAAAAA") weapons.SPAZ12 = guiCreateButton(124, 101, 105, 41, "SPAZ-12\n1500$", false, weapons.window) guiSetProperty(weapons.SPAZ12, "NormalTextColour", "FFAAAAAA") weapons.AK47 = guiCreateButton(239, 101, 105, 41, "AK-47\n1200$", false, weapons.window) guiSetProperty(weapons.AK47, "NormalTextColour", "FFAAAAAA") weapons.close = guiCreateButton(329, 19, 28, 27, "X", false, weapons.window) guiSetProperty(weapons.close, "NormalTextColour", "FFAAAAAA") local WeANmarker = createMarker ( 777, -2070, 11.5, "cylinder", 2, 0, 128, 0, 170 ) -- -- -- function WeANmarkerEnter () if source == WeANmarker then guiSetVisible(weapons.WeAN,true) showCursor ( true ) end end addEventHandler ( "onClientMarkerHit", getRootElement(), WeANmarkerEnter ) function buttonsz () if source == weapons.close then guiSetVisible(weapons.window,false) showCursor ( false ) ------- If you want to make your code a little more better then use 1 triggerServerEvent. You can use variables for that elseif source == weapons.M4 then triggerServerEvent("buyWeapon",getLocalPlayer(),"M4","2000","31","100") elseif source == weapons.Eagle then triggerServerEvent("buyWeapon",getLocalPlayer(),"Desert Eagle","500","24","50") elseif source == weapons.MP5 then triggerServerEvent("buyWeapon",getLocalPlayer(),"MP5","1000","29","100") elseif source == weapons.Pistol then triggerServerEvent("buyWeapon",getLocalPlayer(),"Pistol","100","22","50") elseif source == weapons.SPAZ12 then triggerServerEvent("buyWeapon",getLocalPlayer(),"SPAZ-12","1500","27","90") elseif source == weapons.AK47 then triggerServerEvent("buyWeapon",getLocalPlayer(),"AK-47","1200","30","100") end end addEventHandler ( "onClientGUIClick", root, buttonsz, false ) Link to comment
esporta05 Posted July 24, 2014 Author Share Posted July 24, 2014 thanks for the help but I am getting error at 8th line as, excpecting GUIelement but got nil Link to comment
Saml1er Posted July 24, 2014 Share Posted July 24, 2014 Replace this at line 8 and 38: guiSetVisible(weapons.window,false) Link to comment
esporta05 Posted July 24, 2014 Author Share Posted July 24, 2014 thanks for the help again but the buttons arent working atm and no errors at debugscript. I dont think it has got anything to do about server side because the gui close button doesnt working too. It seems like I should work with more smaller resources for learning lua . Resources like ammu nations are kind a hard for me. I am trying to do this resource for 2 days and I started lua 5 days ago so I am really noob for these kind of resources Link to comment
Saml1er Posted July 24, 2014 Share Posted July 24, 2014 thanks for the help again but the buttons arent working atm and no errors at debugscript. I dont think it has got anything to do about server side because the gui close button doesnt working too. It seems like I should work with more smaller resources for learning lua . Resources like ammu nations are kind a hard for me. I am trying to do this resource for 2 days and I started lua 5 days ago so I am really noob for these kind of resources I did another small fix after testing it in my local server and its working now. local weapons = { } -- lets use 1 table weapons.window = guiCreateWindow(471, 218, 367, 511, "WeAmmu Nation v1.0", false) guiWindowSetMovable(weapons.window, false) guiWindowSetSizable(weapons.window, false) guiSetVisible(weapons.window,true) -- lets put this here, just to make it easy for you weapons.M4 = guiCreateButton(9, 50, 105, 41, "M4 \n2000$", false, weapons.window) guiSetProperty(weapons.M4, "NormalTextColour", "FFAAAAAA") weapons.Eagle = guiCreateButton(124, 50, 105, 41, "Desert Eagle \n500$", false, weapons.window) guiSetProperty(weapons.Eagle, "NormalTextColour", "FFAAAAAA") weapons.MP5 = guiCreateButton(239, 50, 105, 41, "MP5\n1000$", false, weapons.window) guiSetProperty(weapons.MP5, "NormalTextColour", "FFAAAAAA") weapons.Pistol = guiCreateButton(9, 101, 105, 41, "Pistol\n100$", false, weapons.window) guiSetProperty(weapons.Pistol, "NormalTextColour", "FFAAAAAA") weapons.SPAZ12 = guiCreateButton(124, 101, 105, 41, "SPAZ-12\n1500$", false, weapons.window) guiSetProperty(weapons.SPAZ12, "NormalTextColour", "FFAAAAAA") weapons.AK47 = guiCreateButton(239, 101, 105, 41, "AK-47\n1200$", false, weapons.window) guiSetProperty(weapons.AK47, "NormalTextColour", "FFAAAAAA") weapons.close = guiCreateButton(329, 19, 28, 27, "X", false, weapons.window) guiSetProperty(weapons.close, "NormalTextColour", "FFAAAAAA") local WeANmarker = createMarker ( 777, -2070, 11.5, "cylinder", 2, 0, 128, 0, 170 ) -- -- -- function WeANmarkerEnter () if source == WeANmarker then guiSetVisible(weapons.window,true) showCursor ( true ) end end addEventHandler ( "onClientMarkerHit", getRootElement(), WeANmarkerEnter ) function buttonsz () if source == weapons.close then guiSetVisible(weapons.window,false) showCursor ( false ) ------- If you want to make your code a little more better then use 1 triggerServerEvent. You can use variables for that elseif source == weapons.M4 then triggerServerEvent("buyWeapon",getLocalPlayer(),"M4","2000","31","100") elseif source == weapons.Eagle then triggerServerEvent("buyWeapon",getLocalPlayer(),"Desert Eagle","500","24","50") elseif source == weapons.MP5 then triggerServerEvent("buyWeapon",getLocalPlayer(),"MP5","1000","29","100") elseif source == weapons.Pistol then triggerServerEvent("buyWeapon",getLocalPlayer(),"Pistol","100","22","50") elseif source == weapons.SPAZ12 then triggerServerEvent("buyWeapon",getLocalPlayer(),"SPAZ-12","1500","27","90") elseif source == weapons.AK47 then triggerServerEvent("buyWeapon",getLocalPlayer(),"AK-47","1200","30","100") end end addEventHandler ( "onClientGUIClick", root, buttonsz ) Link to comment
esporta05 Posted July 25, 2014 Author Share Posted July 25, 2014 Thank you so much for helping. When I am uploading resource to the community I want to highlight you in the description because If you didnt helped me I wont know what I did wrong and I will never be able to fnish this resource Link to comment
Saml1er Posted July 25, 2014 Share Posted July 25, 2014 You're welcome but I don't have your server side code so I didn't notice that when a player clicks a button then it will be triggered twice means player will lose money two times so just use this: function buttonsz (button,state) if buttton == "left" and state == "down" then --if down does not work then place it with "up" if source == weapons.close then guiSetVisible(weapons.window,false) showCursor ( false ) ------- If you want to make your code a little more better then use 1 triggerServerEvent. You can use variables for that elseif source == weapons.M4 then triggerServerEvent("buyWeapon",getLocalPlayer(),"M4","2000","31","100") elseif source == weapons.Eagle then triggerServerEvent("buyWeapon",getLocalPlayer(),"Desert Eagle","500","24","50") elseif source == weapons.MP5 then triggerServerEvent("buyWeapon",getLocalPlayer(),"MP5","1000","29","100") elseif source == weapons.Pistol then triggerServerEvent("buyWeapon",getLocalPlayer(),"Pistol","100","22","50") elseif source == weapons.SPAZ12 then triggerServerEvent("buyWeapon",getLocalPlayer(),"SPAZ-12","1500","27","90") elseif source == weapons.AK47 then triggerServerEvent("buyWeapon",getLocalPlayer(),"AK-47","1200","30","100") end end end addEventHandler ( "onClientGUIClick", root, buttonsz ) Link to comment
esporta05 Posted July 25, 2014 Author Share Posted July 25, 2014 function buyWeapon (weaponName, weaponPrice, weaponID, weaponAmmo) local money = getPlayerMoney(source) if ( tonumber(money) >= tonumber(weaponPrice) ) then giveWeapon ( source, tonumber(weaponID), tonumber(weaponAmmo), true) takePlayerMoney ( source, tonumber(weaponPrice) ) else outputChatBox ("You havent got enough money to buy this!", source) end end addEvent("buyWeapon",true) addEventHandler("buyWeapon",getRootElement(),buyWeapon) 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