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

Wysłany: 2015-10-24, 13:31


INVWHIL3

*Padawan Lua*






Wiek: 27
Na forum: 3968 dni
Posty: 41
Nick w MP: LEURCEDICIUS

Piwa: 472

Respekt: 50

s-side

marker createMarker (jakietam koordy,"cylinder",6,0,0,0)
function guinaprawa(plr)
    triggerClientEvent(plr,"guinaprawa"plr)
        showCursor(true)
        guiSetVisible(guinaprawatrue)
    end
    addEventHandler("onMarkerHit",marker,guinaprawa)
    
    function guinaprawa2(plr)
        triggerClientEvent(plr,"guinaprawa"plr)
        showCursor(false)
        guiSetVisible(guinaprawafalse)
    end
    addEventHandler("onMarkerLeave",marker,guinaprawa)



c-side


function guinaprawa()
local screenWscreenH guiGetScreenSize()
--[[



      jakietam gui



--]]
addEvent("guinaprawa"true)
addEventHandler("guinaprawa"getRootElement(), guinaprawa)



chce ?eby po wyjechaniu z marker .. gui znika?o :|
co robi? ?le ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-10-24, 13:34


#404







Wiek: 26
Na forum: 4772 dni
Posty: 1438

Piwa: 2512

Respekt: 833,5
Respekt: 833,5Respekt: 833,5

Ostrzeżeń: 60%
INVWHIL3, aby przenie?? co? z client'a na serwer/serwera na client musisz u?y? triggerowania

Mo?esz to zast?pi? m.in odpowiednikiem tego eventu tylko po stronie client'a


Więcej informacji znajdziesz w Wikipedii MTA:

onClientMarkerLeave


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-10-24, 13:59


INVWHIL3

*Padawan Lua*






Wiek: 27
Na forum: 3968 dni
Posty: 41
Nick w MP: LEURCEDICIUS

Piwa: 472

Respekt: 50

A jak marker jest w globalnej zmiennej to client go sobie we?mie ze strony serwera czy musz? przenosi? marker na client ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-10-24, 14:04


#404







Wiek: 26
Na forum: 4772 dni
Posty: 1438

Piwa: 2512

Respekt: 833,5
Respekt: 833,5Respekt: 833,5

Ostrzeżeń: 60%
INVWHIL3, musisz przenie?? na stron? client'a

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-10-24, 14:45


INVWHIL3

*Padawan Lua*






Wiek: 27
Na forum: 3968 dni
Posty: 41
Nick w MP: LEURCEDICIUS

Piwa: 472

Respekt: 50

Marker ju? po stronie serwera.. czyli ?e tak ?


function guinaprawa(plr)
        showCursor(true)
        guiSetVisible(guinaprawatrue)
    end
    addEventHandler("onClientMarkerHit",getRootElement(),guinaprawa)


pr?bowa?em w guiSetVisible jeszcze zamiast guinaprawa wpisa? nazwe okna ale niezbyt dzia?a .. co? chyba z argumentem drugim albo z tym getRootElement() tak czuj? :/

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-10-24, 15:00


#404







Wiek: 26
Na forum: 4772 dni
Posty: 1438

Piwa: 2512

Respekt: 833,5
Respekt: 833,5Respekt: 833,5

Ostrzeżeń: 60%
INVWHIL3, wrzu? to do client'a tylko koordy uzupe?nij

marker createMarker (jakietam koordy,"cylinder",6,0,0,0)

function guinaprawa(hp)
        if hp ~= localPlayer then return end
        showCursor(true,false)
        guiSetVisible(nazwatrue)
end
    addEventHandler("onClientMarkerHit",marker,guinaprawa)
    
function guinaprawa2(hp)
        if hp ~= localPlayer then return end
        showCursor(false)
        guiSetVisible(nazwafalse)
end
    addEventHandler("onClientMarkerLeave",marker,guinaprawa)


Tylko postaraj sie aby nazwy funkcji nie byly takie same jak nazwa gui, bo wyst?pi b??d.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-10-24, 17:01


INVWHIL3

*Padawan Lua*






Wiek: 27
Na forum: 3968 dni
Posty: 41
Nick w MP: LEURCEDICIUS

Piwa: 472

Respekt: 50

Wje?d?aj?c w marker wyskakuje tylko kursor i wywala w dbgs error z guiSetVisible ( pr?bowa?em wpisywa? tam GUIEditor.window[1] .. nawet nazwe ca?ej funkcji ale najwidoczniej co? nadal ?le robi? :| )

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-10-24, 17:07


Maximerr

Programmer PHP, LUA






Wiek: 25
Na forum: 4427 dni
Posty: 548

Piwa: 1051

Respekt: 365,3
Respekt: 365,3Respekt: 365,3Respekt: 365,3Respekt: 365,3

Widocznie masz co? z?ego w kodzie GUI, poka? ca?y kod.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-10-24, 17:37


INVWHIL3

*Padawan Lua*






Wiek: 27
Na forum: 3968 dni
Posty: 41
Nick w MP: LEURCEDICIUS

Piwa: 472

Respekt: 50


marker createMarker (-2029.18555137.0903027.83594,"cylinder",6,0,0,0)
GUI = {
    button = {},
    window = {},
    label = {}
}

    function guinaprawa()
local screenWscreenH guiGetScreenSize()
        okno[1] = guiCreateWindow((screenW 282) / 2, (screenH 308) / 2282308"Naprawianie pojazdu"false)
        guiWindowSetSizable(okno[1], false)
        local auto getPedOccupiedVehicle(source)
        local zniszczenia getElementHealth(auto)/10
        przycisk[1] = guiCreateButton(919026445"Napraw pojazd"falseokno[1])
        guiSetProperty(przycisk[1], "NormalTextColour""FFAAAAAA")
        przycisk2[2] = guiCreateButton(924526444"Napraw karoseri?"falseokno[1])
        guiSetProperty(przycisk[2], "NormalTextColour""FFAAAAAA")
        tekst[1] = guiCreateLabel(92818020"Tw?j pojazd to:"..getVehicleName(auto), falseokno[1])
        tekst[2] = guiCreateLabel(95819020"Stan pojazdu:"..zniszczenia.."%"falseokno[1])
        tekst[3] = guiCreateLabel(98811420"Nictutajjeszczeniema:"falseokno[1])    
    end





function guinapraw(hp)
        if hp ~= localPlayer then return end
        showCursor(true,false)
        guiSetVisible(okno[1], true)
end
    addEventHandler("onClientMarkerHit",marker,guinapraw)
    
function guinapraw2(hp)
        if hp ~= localPlayer then return end
        showCursor(false)
        guiSetVisible(okno[1], false)
end
    addEventHandler("onClientMarkerLeave",marker,guinapraw2)
    



:)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-10-24, 19:10


#404







Wiek: 26
Na forum: 4772 dni
Posty: 1438

Piwa: 2512

Respekt: 833,5
Respekt: 833,5Respekt: 833,5

Ostrzeżeń: 60%
INVWHIL3,

guiSetVisible(GUI.okno[1], true albo false)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-10-24, 19:28


INVWHIL3

*Padawan Lua*






Wiek: 27
Na forum: 3968 dni
Posty: 41
Nick w MP: LEURCEDICIUS

Piwa: 472

Respekt: 50

teraz rzuca:

attempt to index global 'okno' (a nil value)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-10-24, 19:40


#404







Wiek: 26
Na forum: 4772 dni
Posty: 1438

Piwa: 2512

Respekt: 833,5
Respekt: 833,5Respekt: 833,5

Ostrzeżeń: 60%


marker createMarker (-2029.18555137.0903027.83594,"cylinder",6,0,0,0)

        local screenWscreenH guiGetScreenSize()
        okno guiCreateWindow((screenW 282) / 2, (screenH 308) / 2282308"Naprawianie pojazdu"false)
        guiWindowSetSizable(oknofalse)
        przycisk guiCreateButton(919026445"Napraw pojazd"falseokno)
        guiSetProperty(przycisk[1], "NormalTextColour""FFAAAAAA")
        przycisk2 guiCreateButton(924526444"Napraw karoseri?"falseokno)
        guiSetProperty(przycisk[2], "NormalTextColour""FFAAAAAA")
        tekst1 guiCreateLabel(92818020"Tw?j pojazd to: xxx"falseokno)
        tekst2 guiCreateLabel(95819020"Stan pojazdu: xxx%"falseokno)
        tekst3 guiCreateLabel(98811420"Nictutajjeszczeniema:"falseokno)    
        guiSetVisible(okno,false)




function guinapraw(hp)
        if hp ~= localPlayer then return end
        if not isPedInVehicle(localPlayerthen return end
        showCursor(true,false)
        guiSetVisible(oknotrue)
        guiSetText(tekst1"Tw?j pojazd to: "..getVehicleName(getPedOccupiedVehicle(localPlayer)))
        hp getElementHealth(getPedOccupiedVehicle(localPlayer))
        hp hp/10
        guiSetText(tekst2"Stan pojazdu: "..hp.."%")
end
    addEventHandler("onClientMarkerHit",marker,guinapraw)
    
function guinapraw2(hp)
        if hp ~= localPlayer then return end
        showCursor(false)
        guiSetVisible(oknofalse)
end
    addEventHandler("onClientMarkerLeave",marker,guinapraw2)
    



I powinno wszystko dzia?a?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-10-24, 19:56


INVWHIL3

*Padawan Lua*






Wiek: 27
Na forum: 3968 dni
Posty: 41
Nick w MP: LEURCEDICIUS

Piwa: 472

Respekt: 50

Dzia?a elegancko :p czyli po prostu nie pisa? w nawiasach kwadratowych tych liczb ?

ps: zapomnia?e? zmieni?
guiSetProperty(przycisk[1], "NormalTextColour""FFAAAAAA")
ale zauwa?y?em XD

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-10-24, 20:21


#404







Wiek: 26
Na forum: 4772 dni
Posty: 1438

Piwa: 2512

Respekt: 833,5
Respekt: 833,5Respekt: 833,5

Ostrzeżeń: 60%
INVWHIL3, ah faktycznie.
Mo?esz pisa?, ale musia?by? to robi? w formie dodawania do tabeli. Najprostszym rozwi?zaniem s? r??ne nazwy.

I taka uwaga, gui nie nie dzia?a jak DX, bo gui jest elementem statycznym, a dxDrawy wydaje si? dynamicznym - wydaje bo jest tworzone wielokrotkie - tworzone i usuwane, mozna to tak uj?? - przez co w?a?nie wydaje si? by? na bie??co aktualizowane czy posiada? animacje. W rzeczywisto?ci s? to jedynie tworzone kolejno po sobie nowe obrazy.

Mo?na to zobaczy? dodaj?c do kodu sam? funkcj? dxDraw(...) i zobaczy? efekt - nawet nie zauwa?ymy efektu...

Co innego jest z onClientRender - b?dziemy normalnie widzie? ten dxDraw, jakby by? to jeden obraz. Najpro?ciej m?wi?c, jest on tworzony w ma?ych odst?pach czasu, tworz?c z?udzenie jednego obiektu.

Postaw piwo autorowi tego posta
 

 
Tagi: onmarkerleave :: zamykanie :: 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 » onMarkerLeave,zamykanie gui 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