Witamy na GTAOnline Obecny czas to 2018-10-18, 04:40 Użytkowników: 76410
Strona główna | Użytkownicy | Grupy | Faq | Regulamin | Zaloguj



Poprzedni temat :: Następny temat
[TUT] Gui
Autor Wiadomość

kubak14 





Informacje
Nick w MP: Heavy
Wiek: 16
Na forum: 2419 dni
Posty: 119
Piwa: 106
Respekt: 45,8

Wysłany: 2014-08-01, 02:58   [TUT] Gui



Witam, jest to mój pierwszy poradnik, dzisiaj się zajmiemy GUI a dokładnie zrobimy panel pod pracę dorywczą.


Więc, aby zacząć naszą pracę potrzebujemy zrobić całe nasze gui wraz z
przyciskami i innymi rzeczami, ja polecam do tego GuiEditor którego możecie pobrać z Tąd.


Gdy już zrobimy nasze gui,
przechodzimy do notatnika / Notepad++ i zaczynamy to wszystko programować.

Jak zapewne zieloni w GuiEditorze nie nazwą funkcjami przycisków oraz innych Labelów czy Okien,
lecz ja pokaże aby tekst typu GuiEditorWindow[1] zamienić na bardziej przejrzysty kod.



Mamy tutaj przykładowe okno (Window) z nie nazwaną zmienną

GuiEditorWindow[1] = guiCreateWindow(681238324402"Praca Kurier"false)
guiWindowSetSizable(GuiEditorWindow[1], falsepracagui)


Zmieniamy nasze zmienne na bardziej zrozumiałe np.

guipraca guiCreateWindow(681238324402"Praca Kurier"false)
guiWindowSetSizable(guipracafalsepracagui)


Robimy tak ze wszystkimi Buttonami, Windowami, Labelami, Editboxami itp.

Mój kod po przerobieniu na czytelniejszy wygląda tak:

pracagui guiCreateWindow(681238324402"Praca Kurier"false)
guiWindowSetSizable(pracaguifalsepracagui)


memoinfo guiCreateMemo(1035304165"Praca Kuriera\nZarobki: 300$-500$\nZadanie: Przewóź paczki do wyznaczonych miejsc!\nUwaga!\nPamiętaj biorąc auto wysiadając z niego pojazd znika!"falsepracagui)


anulujp guiCreateButton(69157630447"Wyłącz Okno"false)
guiSetProperty(anulujp"NormalTextColour""FFAAAAAA")


paczkawez guiCreateButton(69151930447"Weź Paczkę"false)
guiSetProperty(paczkawez"NormalTextColour""FFAAAAAA")


Moja UWAGA! W Memo, oknie z tekstem, po wpisaniu '\n' Przechodzimy do następnej linijki.


Gdy już mamy zrobione nasze GUI, przydało by się zrobić funkcje do Przycisków itp.
Moją pierwszą przykładową funkcją jest włączenie okna:

    function wlaczokno()
                         guiSetVisible(pracaguitrue)
             guiSetVisible(memoinfotrue)
             guiSetVisible(paczkaweztrue)
             guiSetVisible(anulujptrue)
             guiSetVisible(pracaguitrue)
             showCursor(true)
        end
        addCommandHandler"wlaczokno"wlaczokno )


Jak to jest zrobione?

Pierwszym ruchem będzie nazwanie naszej zmiennej czyli np. wylaczokno
function wylaczokno()

Drugim ruchem będzie wyłączenie okien, wyłączamy / włączamy okna funkcją,
guiSetVisible

Przykładem jest wyłączenie:
guiSetVisiblepracaguifalse )

Funkcja 'false' wyłącza okno, zaś 'true' włącza.
Robimy tak z każdą funkcją, po tym
wyłączamy naszą myszkę(Kursor)

Funkcją na wyłączanie kursora jest
showCursor

Podobnie jak w ustawianiu widoczności okna ustawiamy widoczność myszki
Funkcja na wyłączoną mysz wygląda tak:
showCursor(false)

Następnym ruchem będzie przdzielenie komendy pod otwarcie okna,
funkcją na przydzielenie do komendy jest,
addCommandHandler

Następnie dodajemy komendę do tej funkcji czyli np.
addCommandHandler"wlacz" )

Ale to nie wszystko trzeba jeszcze pokazać skryptowi co ma on otwierać moją zmienną na otwieranie okna jest otworzokno więc dodaję ją po komendzie w cudzysłowiu
addCommandHandler"wlacz"wlaczokno )


Moją drugą przykładową funkcją jest Wyłączanie Okna:
    function wylaczokno()
                        guiSetVisible(pracaguifalse)
             guiSetVisible(memoinfofalse)
             guiSetVisible(paczkawezfalse)
             guiSetVisible(anulujpfalse)
             guiSetVisible(pracaguifalse)
             showCursor(false)
        end
        addEventHandler("onClientGUIClick"anulujpwylaczokno)

Jak to jest zrobione?

Pierwszym ruchem będzie wyłączenie okien, wyłączamy / włączamy okna funkcją,
guiSetVisible

Przykładem jest wyłączenie:
guiSetVisiblepracaguifalse )

Funkcja 'false' wyłącza okno, zaś 'true' włącza.
Robimy tak z każdą funkcją, po tym
wyłączamy naszą myszkę(Kursor)

Funkcją na wyłączanie kursora jest
showCursor

Podobnie jak w ustawianiu widoczności okna ustawiamy widoczność myszki
Funkcja na wyłączoną mysz wygląda tak:
showCursor(false)

Teraz zrobimy wyłączanie okna na przycisk.
Pierwszo powiedzmy dla systemu kiedy ma wyłączać okno,
funkcja na włączenie okna na przycisk będzie
addEventHander("onClientGUIClick")

Następnie mówimy dla systemu po wciśnięciu jakiego przycisku wyłącza się okno, np ja mam przycisk 'Wyłącz Okno' pod zmienną anulujp więc piszę anulujp.
addEventHander("onClientGUIClick"anlujp)

Ostatnim krokiem w tym kierunku będzie pokazanie systemowi co ma zrobić gdy klikniemy w ten przycisk czyli np ja mam wyłączanie okna pod zmienną wylaczokno więc piszę 'wylaczokno' np.
addEventHander("onClientGUIClick"anlujpwylaczokno)


To by było wszystko na temat wyłączania i włączania Okienek oraz Myszy, teraz przejdźmy do zmiennej która np. wyświetla komunikat.
Weźmy np. przycisk 'Weź Paczkę'


Pierwszym ruchem jest nazwanie naszej zmiennej np.
function pokazkomunikat()

Drugim ruchem będzie funkcja na wyświetlenie komunikatu,
outputChatBox

Piszemy tekst, edytując funkcję komunikatu,
outputChatBox"Kliknąłeś właśnie przycisk 'Weź Paczkę'."255255255)

Jak to jest zrobione?
Pisząc w "" programujemy tekst jaki ma się wyświetlić,
te liczby "255", są to kolory
domyślnie 255, 255, 255 jest to kolor biały,
są to kolory RGB (RedGreenBlue).

Ja zaprogramowałem już moje wszystkie przyciski oraz różne inne rzeczy, na co ty czekasz? Spróbuj sam, z moim poradnikiem napewno każdą linijkę kodu zrozumiesz!
Podziel się w komentarzu co ci się udało zrobić!
Nie zapomnij także skomentować mojego Poradnika!


Jutro dodam jak zrobić aby na każdym monitorze GUI było w 1 miejscu ;)
Przyjmuje poprawki, bym prosił o nie hejtowanie jest to mój 1 poradnik.

Autor postu otrzymał respekt pozytywny 1 raz
Ostatnio zmieniony przez kubak14 2014-08-01, 22:00, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 
Więcej szczegółów
Wystawiono 2 piw(a):
KrySStiano, oker

Shuffle 
Programista LUA





Informacje
Nick w MP: Shuffle
Wiek: 26
Na forum: 1608 dni
Posty: 2074
Piwa: 5201
Respekt: 345,3
Respekt: 345,3Respekt: 345,3Respekt: 345,3

Wysłany: 2014-08-01, 03:14   



addCommandHandlerwlaczwlaczokno)



Nie zabrakło Ci tu czegoś?

Stąd*

_________________

Oferuję siebie jako nisko płatnego skryptera. Moje możliwości to:
-ruchome elementy 3D
-MySQL
-XML
-SQLite
-animacyjne napisy na ekranie
-wysoka jakość skryptów robionych często tabelowo
-pełna optymalność
Kontakt :
a)Skype-"Zamknij.tfasz"
Cennik zależny od ilości wykonanego kodu.



Postaw piwo autorowi tego posta
 

McDeKi 





Informacje
Nick w MP: McDeKi
Wiek: 20
Na forum: 2058 dni
Posty: 95
Piwa: 84
Respekt: 60

Wysłany: 2014-08-01, 10:20   



Lepiej zobacz co się stanie jeżeli klikniesz na okno...

Postaw piwo autorowi tego posta
 

krydianero 
Samotny Wilk





Informacje
Nick w MP: Yoshida
Wiek: 25
Na forum: 1996 dni
Posty: 395
Piwa: 1250
Respekt: 117,3
Respekt: 117,3

Wysłany: 2014-08-01, 15:10   



Cytat:

Mamy tutaj przykładowe okno (Window) z nie nazwaną zmienną

Jak to nie nazwaną zmienną... GUIEditor.window[1] to też nazwa zmiennej.

_________________

Multi Drive Unlimited:Nowy projekt już wkrótce

Postaw piwo autorowi tego posta
 

kubak14 





Informacje
Nick w MP: Heavy
Wiek: 16
Na forum: 2419 dni
Posty: 119
Piwa: 106
Respekt: 45,8

Wysłany: 2014-08-01, 21:57   



PanMaszyna, już naprawiam ;)
McDeKi, pisałem to z głowy zaraz zobacze.
krydianero, to jest zmienna ale nic z niej nie rozumiemy jak piszemy wiekszy skrypt, nie wiemy jaka to opcja i musimy wracac zobaczyć jak się nazywa ;)

[ Dodano: 2014-08-01, 22:01 ]
Cos nie chce mi sie poprawic all ;(

Bug?

Postaw piwo autorowi tego posta
 

Shuffle 
Programista LUA





Informacje
Nick w MP: Shuffle
Wiek: 26
Na forum: 1608 dni
Posty: 2074
Piwa: 5201
Respekt: 345,3
Respekt: 345,3Respekt: 345,3Respekt: 345,3

Wysłany: 2014-08-01, 22:01   



kubak14, nie.

_________________

Oferuję siebie jako nisko płatnego skryptera. Moje możliwości to:
-ruchome elementy 3D
-MySQL
-XML
-SQLite
-animacyjne napisy na ekranie
-wysoka jakość skryptów robionych często tabelowo
-pełna optymalność
Kontakt :
a)Skype-"Zamknij.tfasz"
Cennik zależny od ilości wykonanego kodu.



Postaw piwo autorowi tego posta
 

kubak14 





Informacje
Nick w MP: Heavy
Wiek: 16
Na forum: 2419 dni
Posty: 119
Piwa: 106
Respekt: 45,8

Wysłany: 2014-08-01, 23:24   



Zawieszam poradnik, Powód: Nie mogę go edytować, gdy go zedytuje nie widać tego.

Postaw piwo autorowi tego posta
 

Piorun 





Informacje
Nick w MP: Piorun
Wiek: 25
Na forum: 3926 dni
Posty: 1836
Piwa: 493
Respekt: 480,7
Respekt: 480,7

Wysłany: 2014-08-02, 14:16   



"kubak14" napisał/a:

krydianero, to jest zmienna ale nic z niej nie rozumiemy jak piszemy wiekszy skrypt, nie wiemy jaka to opcja i musimy wracac zobaczyć jak się nazywa


Dlatego sprytny programista tworzy nazwy zmiennych pod własne upodobania :) . Nie kieruje się tym czym narzuca mu wiki bądź GUI edytor tylko robi tak, by pracowało mu się łatwiej.

Poza tym przy większych skryptach zalecam tworzenie komentarzy.

//EDIT

...a prawda jest taka, że tak na prawdę to co podałeś nie jest zmienną tylko elementem tablicy.

_________________
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

Zioomeks 





Informacje
Nick w MP: Nesquiczek
Wiek: 26
Na forum: 2099 dni
Posty: 3
Respekt: 50

Wysłany: 2014-08-24, 21:48   



Jest okej.

Postaw piwo autorowi tego posta
 

|Mlody| 
Szatan ponad Szatana





Informacje
Nick w MP: Akiver
Wiek: 23
Na forum: 1589 dni
Posty: 65
Piwa: 199
Respekt: 52,5

Wysłany: 2014-08-25, 15:07   



Mm.... poradnik fajny 8/10

_________________

Fast Life RPG |GTA V - Misje, napady na banki, wyścigi i wiele innych atrakcji|NFS - Stwórz swoją anarchię, zostań królem wyścigów, zdobywaj osiągnięcia.. Fast Life RPG - 20%
Postaw piwo autorowi tego posta
 

Vintage 





Informacje
Wiek: 16
Na forum: 768 dni
Posty: 66
Piwa: 97
Respekt: 55,3

Wysłany: 2016-12-31, 01:35   



kubak14, gui jest pod client czy server ?

Postaw piwo autorowi tego posta
 

BarteQ03 
LUA <3





Informacje
Nick w MP: Avenged
Wiek: 15
Na forum: 724 dni
Posty: 489
Piwa: 570
Respekt: 220,5
Respekt: 220,5Respekt: 220,5

Wysłany: 2016-12-31, 04:24   



A jak dodać i gdzie żeby GUI otwierało się po wejściu w marker?

_________________
Postaw piwo autorowi tego posta
 

xJakob 
Coming soon...





Informacje
Nick w MP: Gerano
Wiek: 24
Na forum: 875 dni
Posty: 169
Piwa: 651
Respekt: 155,3
Respekt: 155,3Respekt: 155,3

Wysłany: 2016-12-31, 14:28   



HerbatnikTv, gui jest pod clienta.
BarteQ03, wiesz to jest tylko poradnik jak robić gui itd.

Postaw piwo autorowi tego posta
 

Cholewka 
Zakorzeniony w LUA





Informacje
Wiek: 15
Na forum: 797 dni
Posty: 194
Piwa: 174
Respekt: 155,3
Respekt: 155,3Respekt: 155,3

Wysłany: 2017-06-23, 12:08   



BarteQ03,


-- O w ten sposób.

-- Tworzymy marker.
twojMarker createMarker(xyztypszerokoscrgb)

-- Dodajemy funkcje z wlaczaniem GUI,
function wlaczGUI()
   guiSetVisible(twojeGUItrue)
end
   addEventHandler("onClientMarkerHit"twojMarkerwlaczGUI) -- i podpinamy pod to event.


_________________
Postaw piwo autorowi tego posta
 

deifly 





Informacje
Nick w MP: nexus
Wiek: 21
Na forum: 1691 dni
Posty: 10
Respekt: 50

Wysłany: 2018-01-30, 19:43   



thx Cholewka, nie mogłem ogarnąć jak zrobić by wlączał się gui jak w marker wchodze :D

Postaw piwo autorowi tego posta
 
Tagi: [tut] :: gui
Anonymous



Dołaczył: Wczoraj 0:00
Posty: 1
Skad: google.com


Anonymous Koniecznie zajrzyj na:








Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Wersja do druku

Skocz do:  


phpBB by Przemo modified by xXx 2003-2016

Template GTAONLINE created by gtaonline.pl



Strona wygenerowana w 0,49 sekundy. Zapytań do SQL: 19