XxboguuxX Posted February 1, 2017 Share Posted February 1, 2017 (edited) Witajcie z lua zacząłem bawić sie dzisiaj i mam coś takiego. Może nie wygląda ale jest to podstawka pod testowe gui. (o ile wgl moge to tak nazwać) function panel1 ( theResource ) spawnScreenMenu = guiCreateWindow ( 0.15, 0.33, 0.7, 0.34, "Naglowek", true ) botton = guiCreateButton ( 0.4, 0.85, 0.20, 0.15, "OK", true, spawnScreenMenu ) end function fpanelu1() if panel1 == false then showCursor (true) addEventHandler ("onClientRender", root, panel1) panel1 = true else showCursor (false) removeEventHandler ("onClientRender", root, panel1) panel1 = false end end addCommandHandler("panel1", panel1) Gdy wpisze /panel1 pojawia mi sie panel wszystko ok lecz gdy wpisze znów pojawia się kolejny a poprzedni sie nie zamyka nie moge znaleść nigdzie linijki która po wpisaniu ponownie kom /panel1 zamknie go a nie otworzy następny Prosiłbym o wytłumaczenie mi błędów które gdzieś tam mogą być i zapoznania mnie z poszukiwaną przeze mnie linijka. Z góry dziękuje PS: To kilka wycinek , testów , opcji z różnych źródeł które skleiłem i próbuje dostosować pod moje oczekiwania i plany. Edited February 1, 2017 by XxboguuxX Link to comment
Seba500PLK Posted May 2, 2017 Share Posted May 2, 2017 Tutaj chodzi o to że wywołujesz funkcje panel1 a nie fpanelu1 addCommandHandler("panel1", panel1) wszystko dziala tak jak powinno w twoim kodzie, funkcja fpanelu1 nie jest w ogole uzywana, dodatkowo korzystasz z addEventHandler ("onClientRender", root, panel1) co jest bez sensu z uzywaniem GUI, to uzywa sie np w przypadku dx (np dxDrawText) w GUI tego nie uzywamy. Caly skrypt powinnien wygladac tak: open = false; spawnScreenMenu = guiCreateWindow ( 0.15, 0.33, 0.7, 0.34, "Naglowek", true ); botton = guiCreateButton ( 0.4, 0.85, 0.20, 0.15, "OK", true, spawnScreenMenu ); guiSetVisible(spawnScreenMenu, false); function fpanelu1() if open == false then showCursor (true); guiSetVisible(spawnScreenMenu, true); open = true; else showCursor (false); guiSetVisible(spawnScreenMenu, false); open = false; end end addCommandHandler("panel1", fpanelu1); Skrypt uruchamia sie ukrywając GUI, gdy wpiszesz "panel1" pokaze sie, co widac w tej linjce guiSetVisible(spawnScreenMenu, true); i zmienia sie zmienna open na true, gdy znow wpiszesz "panel1" gui sie ukrywa guiSetVisible(spawnScreenMenu, false); i zmienna open zmienia sie na false i tak w kolko. Najwazniejsza zmiana w calym kodzie jest tu: zamiast addCommandHandler("panel1", panel1); powinno byc: addCommandHandler("panel1", fpanelu1); Caly skrypt jest po stronie klienta. Jakbys mial jakies pytania lub czegos nie rozumial to pisz, chetnie wytlumacze. 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