Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2017-07-13, 11:51


Mutaszi

Konfederat Pawn






Wiek: 29
Na forum: 4029 dni
Posty: 34
Nick w MP: Mutaszi

Piwa: 212

Respekt: 50

Siedzia?em na ka?dej stronie po kolei i dalej nie znalaz?em rozwi?zania dla mojego problemu.
Stworzy?em sobie okno w guieditorze z trzeba przyciskami (http://i.imgur.com/uMMO3Xk.jpg) i chce nauczy? si? z nich korzysta?.
Chodzi mi o to by po klikni?ciu np w pierwszy button da?o mi te 100HP itd.
Niby jest to proste a ja i tak tego nie rozumiem, m?g?by mi to kto? pokaza? i wyt?umaczy? a nie wklei? tylko kod?

Dopiero zaczynam z Lua :/

Kod:
function Panel (playeridcmd)
        panel guiCreateWindow(707358217284"Test GUI"false)
        guiWindowSetSizable(panelfalse)
        hp guiCreateButton(242916541"Full HP ( 100 )"falsepanel)
        guiSetProperty(hp"NormalTextColour""FFF970A1")
        ammo guiCreateButton(2423316541"Full Ammo ( 100x Granat ) "falsepanel)
        guiSetProperty(ammo"NormalTextColour""FF6858FB")
       armor guiCreateButton(2412716541"Full ARMOR ( 100 )"falsepanel)
        guiSetProperty(armor"NormalTextColour""FF37F11E")    
        showCursor true )  

    end
addCommandHandler("panel"Panel)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-07-13, 11:54


Szymczu

Programista bo tak






Wiek: 27
Na forum: 3435 dni
Posty: 194
Nick w MP: Szymczu

Piwa: 36

Respekt: 120
Respekt: 120

addEventHandler("onClientGUIClick"hp, function()
        --To co ma sie dziapo klikni?ciu w button
endfalse)


Mo?esz sobie poczyta? na wiki. Jest nawet po polsku.
https://wiki.multitheftauto.com/wiki/PL/onClientGUIClick

"addEventHandler" - jest to funkcja w lua dodaj?ca obs?uge zdarze?. Obs?uga zdarze? s? to funkcje, kt?re zostan? wykonane gdy nast?pi jakie? zdarzenie np. "onClientGUIClick" Gdy klikniesz w button podany w 2 parametrze wykona si? funkcja. Zdarze? w lua jest dosy? sporo, mo?esz znale?? je na wiki.
Je?li chcesz mo?esz sobie przeczyta? na wiki jest "artyku?" po?wi?cony obs?udze zdarze?. Tam masz to wyt?umaczone od deski do deski jak to dzia?a w mta.

https://wiki.multitheftauto.com/wiki/Event_system

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-07-13, 12:47


nanKy







Wiek: 22
Na forum: 3866 dni
Posty: 498
Nick w MP: nanky

Piwa: 1773

Respekt: 239
Respekt: 239Respekt: 239

"Szymczu" napisał/a:

addEventHandler("onClientGUIClick"hp, function()
        --To co ma sie dziapo klikni?ciu w button
endfalse)


Mo?esz sobie poczyta? na wiki. Jest nawet po polsku.
https://wiki.multitheftauto.com/wiki/PL/onClientGUIClick

"addEventHandler" - jest to funkcja w lua dodaj?ca obs?uge zdarze?. Obs?uga zdarze? s? to funkcje, kt?re zostan? wykonane gdy nast?pi jakie? zdarzenie np. "onClientGUIClick" Gdy klikniesz w button podany w 2 parametrze wykona si? funkcja. Zdarze? w lua jest dosy? sporo, mo?esz znale?? je na wiki.
Je?li chcesz mo?esz sobie przeczyta? na wiki jest "artyku?" po?wi?cony obs?udze zdarze?. Tam masz to wyt?umaczone od deski do deski jak to dzia?a w mta.

https://wiki.multitheftauto.com/wiki/Event_system


Bzdeta, powinno by? moim zdaniem tak poniewa? jest optymalnie i nie trzeba event handler?w do nast?pnych button?w dodawa?:

addEventHandler("onClientGUIClick",resourceRoot,function()
local button guiGetText(source)
if button == "Full HP ( 100 )" then
setElementHealth(localPlayer,100)
elseif button == "Full Ammo ( 100x Granat ) " then
-- tu musisz wytriggerowac dawanie broni
elseif button == "Full ARMOR ( 100 )" then
setPlayerArmor(localPlayer,100)
end
end)


I ten tw?j kod te? jest na bakier.
Powinno by? tak:

panel false
function Panel (playeridcmd)
        panel guiCreateWindow(707358217284"Test GUI"false)
        guiWindowSetSizable(panelfalse)
        hp guiCreateButton(242916541"Full HP ( 100 )"falsepanel)
        guiSetProperty(hp"NormalTextColour""FFF970A1")
        ammo guiCreateButton(2423316541"Full Ammo ( 100x Granat ) "falsepanel)
        guiSetProperty(ammo"NormalTextColour""FF6858FB")
       armor guiCreateButton(2412716541"Full ARMOR ( 100 )"falsepanel)
        guiSetProperty(armor"NormalTextColour""FF37F11E")    
        showCursor true )  
guiSetVisible(panel,false)
    end
addCommandHandler("panel", function()
if panel == false then
guiSetVisible(panel,true)
panel true
elseif panel == true then
guiSetVisible(panel,false)
panel false
end
end)


Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Mutaszi
Wysłany: 2017-07-13, 12:53


Szymczu

Programista bo tak






Wiek: 27
Na forum: 3435 dni
Posty: 194
Nick w MP: Szymczu

Piwa: 36

Respekt: 120
Respekt: 120

"NankY." napisał/a:


Bzdeta, powinno by? moim zdaniem tak poniewa? jest optymalnie i nie trzeba event handler?w do nast?pnych button?w dodawa?:

Jest optymalniej ale s?dz?, ?e bzdet? jest twierdzenie, ?e m?j przyk?ad to bzdeta bo kod dzia?a w pe?ni poprawnie.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-07-13, 13:24


eject

kurdebele






Wiek: 30
Na forum: 3659 dni
Posty: 182
Nick w MP: EjecT

Piwa: 2456

Respekt: 85,8

Ostrzeżeń: 60%
"NankY." napisał/a:

Bzdeta, powinno by? moim zdaniem tak poniewa? jest optymalnie i nie trzeba event handler?w do nast?pnych button?w dodawa?:


addEventHandler("onClientGUIClick",resourceRoot,function()
local?button?=?guiGetText(source)
if?button?==?"Full?HP?(?100?)"?then
setElementHealth(localPlayer,100)
elseif?button?==?"Full?Ammo?(?100x?Granat?)?"?then
--?tu?musisz?wytriggerowac?dawanie?broni
elseif?button?==?"Full?ARMOR?(?100?)"?then
setPlayerArmor(localPlayer,100)
end
end)


Panie programisto, po 1:
- Funkcja setPedArmor jest tylko serverside - czyli dzia?a tylko po stronie servera.
po 2 :
- Nie ma potrzeby podpiania element?w GUI pod resourceRoot, lepszy rozwi?zaniem b?dzie: guiRoot

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-07-13, 13:46


Mutaszi

Konfederat Pawn






Wiek: 29
Na forum: 4029 dni
Posty: 34
Nick w MP: Mutaszi

Piwa: 212

Respekt: 50

"NankY." napisał/a:

panel?=?false
function?Panel?(playerid,?cmd)
?? ??????panel?=?guiCreateWindow(707,?358,?217,?284,?"Test?GUI",?false)
?? ??????guiWindowSetSizable(panel,?false)
?? ??????hp?=?guiCreateButton(24,?29,?165,?41,?"Full?HP?(?100?)",?false,?panel)
?? ??????guiSetProperty(hp,?"NormalTextColour",?"FFF970A1")
?? ??????ammo?=?guiCreateButton(24,?233,?165,?41,?"Full?Ammo?(?100x?Granat?)?",?false,?panel)
?? ??????guiSetProperty(ammo,?"NormalTextColour",?"FF6858FB")
?? ?????armor?=?guiCreateButton(24,?127,?165,?41,?"Full?ARMOR?(?100?)",?false,?panel)
?? ??????guiSetProperty(armor,?"NormalTextColour",?"FF37F11E")????
?? ??????showCursor?(?true?)??
guiSetVisible(panel,false)
?? ??end
addCommandHandler("panel",?function()
if?panel?==?false?then
guiSetVisible(panel,true)
panel?=?true
elseif?panel?==?true?then
guiSetVisible(panel,false)
panel?=?false
end
end)


:16: Bad argument @ 'guiSetVisible' [Expected gui-element at argument 1, got boolean

Takie co? wyskakuje mi po wklejeniu twojego kodu.

Linijka 16:
guiSetVisible(panel,true)


Podpis

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-07-13, 14:04


Szymczu

Programista bo tak






Wiek: 27
Na forum: 3435 dni
Posty: 194
Nick w MP: Szymczu

Piwa: 36

Respekt: 120
Respekt: 120

Zmienn?, kt?ra sprawdza czy panel jest w??czony nazwa?e? tak samo jak zmienn? do kt?rej przypisujesz element okna.

@Edit
Tak by by?o lepiej
local panel_check false  
panel guiCreateWindow(707358217284"Test GUI"falseguiWindowSetSizable(panelfalsehp guiCreateButton(242916541"Full HP ( 100 )"falsepanelguiSetProperty(hp"NormalTextColour""FFF970A1"ammo guiCreateButton(2423316541"Full Ammo ( 100x Granat ) "falsepanelguiSetProperty(ammo"NormalTextColour""FF6858FB"armor guiCreateButton(2412716541"Full ARMOR ( 100 )"falsepanelguiSetProperty(armor"NormalTextColour""FF37F11E")       
guiSetVisible(panel,falseaddCommandHandler("panel", function() 
    if panel_check == false then 
        guiSetVisible(panel,true)
        showCursor(true)    
        panel_check true 
    elseif panel_check == true then 
        guiSetVisible(panel,false)
        showCursor(false)
        panel_check false 
    end 
end)


Ostatnio zmieniony przez Szymczu 2017-07-13, 14:42, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
KrySStiano
Wysłany: 2017-07-13, 14:36


Mutaszi

Konfederat Pawn






Wiek: 29
Na forum: 4029 dni
Posty: 34
Nick w MP: Mutaszi

Piwa: 212

Respekt: 50

"Szymczu" napisał/a:

Zmienn?, kt?ra sprawdza czy panel jest w??czony nazwa?e? tak samo jak zmienn? do kt?rej przypisujesz element okna.

@Edit
Tak by by?o lepiej
local panel_check false  
panel guiCreateWindow(707358217284"Test GUI"falseguiWindowSetSizable(panelfalsehp guiCreateButton(242916541"Full HP ( 100 )"falsepanelguiSetProperty(hp"NormalTextColour""FFF970A1"ammo guiCreateButton(2423316541"Full Ammo ( 100x Granat ) "falsepanelguiSetProperty(ammo"NormalTextColour""FF6858FB"armor guiCreateButton(2412716541"Full ARMOR ( 100 )"falsepanelguiSetProperty(armor"NormalTextColour""FF37F11E")       
guiSetVisible(panel,falseaddCommandHandler("panel", function() 
    if panel_check == false then 
        guiSetVisible(panel,true)
        showCursor(true)    
        panel true 
    elseif panel_check == true then 
        guiSetVisible(panel,false)
        showCursor(false)
        panel false 
    end 
end)



Znowu ten sam b??d,
guiSetVisible(panel,true)


Podpis

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-07-13, 14:50


Szymczu

Programista bo tak






Wiek: 27
Na forum: 3435 dni
Posty: 194
Nick w MP: Szymczu

Piwa: 36

Respekt: 120
Respekt: 120

"Mutaszi" napisał/a:


Znowu ten sam b??d,
guiSetVisible(panel,true)

Ma?y b??d by?, poprawi?em i przetestowa?em. Przeklej jeszcze raz ten kod, kt?ry napisa?em wy?ej. Dzia?a jak nale?y.

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Mutaszi
Wysłany: 2017-07-13, 15:20


Mutaszi

Konfederat Pawn






Wiek: 29
Na forum: 4029 dni
Posty: 34
Nick w MP: Mutaszi

Piwa: 212

Respekt: 50

"Szymczu" napisał/a:

"Mutaszi" napisał/a:


Znowu ten sam b??d,
guiSetVisible(panel,true)

Ma?y b??d by?, poprawi?em i przetestowa?em. Przeklej jeszcze raz ten kod, kt?ry napisa?em wy?ej. Dzia?a jak nale?y.



Teraz faktycznie dzia?a, dzi?kuje wam obu :)


Podpis

Postaw piwo autorowi tego posta
 

 
Tagi: wykonanie :: czegoś :: kliknięciu :: przycisku :: gui
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

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
Dodaj temat do Ulubionych
Wersja do druku