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: 4109 dni
Posty: 41
Nick w MP: LEURCEDICIUS

Piwa: 472

Respekt: 50

s-side

marker = createMarker (jakie? tam koordy,"cylinder",6,0,0,0)
function guinaprawa(plr)
    triggerClientEvent(plr,"guinaprawa", plr)
        showCursor(true)
        guiSetVisible(guinaprawa, true)
    end
    addEventHandler("onMarkerHit",marker,guinaprawa)
    
    function guinaprawa2(plr)
        triggerClientEvent(plr,"guinaprawa", plr)
        showCursor(false)
        guiSetVisible(guinaprawa, false)
    end
    addEventHandler("onMarkerLeave",marker,guinaprawa)



c-side


function guinaprawa()
local screenW, screenH = guiGetScreenSize()
--[[



      jakie? tam 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: 27
Na forum: 4912 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: 4109 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: 27
Na forum: 4912 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: 4109 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(guinaprawa, true)
    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: 27
Na forum: 4912 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 (jakie? tam koordy,"cylinder",6,0,0,0)

function guinaprawa(hp)
        if hp ~= localPlayer then return end
        showCursor(true,false)
        guiSetVisible(nazwa, true)
end
    addEventHandler("onClientMarkerHit",marker,guinaprawa)
    
function guinaprawa2(hp)
        if hp ~= localPlayer then return end
        showCursor(false)
        guiSetVisible(nazwa, false)
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: 4109 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: 4568 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: 4109 dni
Posty: 41
Nick w MP: LEURCEDICIUS

Piwa: 472

Respekt: 50


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

    function guinaprawa()
local screenW, screenH = guiGetScreenSize()
        okno[1] = guiCreateWindow((screenW - 282) / 2, (screenH - 308) / 2, 282, 308, "Naprawianie pojazdu", false)
        guiWindowSetSizable(okno[1], false)
        local auto = getPedOccupiedVehicle(source)
        local zniszczenia = getElementHealth(auto)/10
        przycisk[1] = guiCreateButton(9, 190, 264, 45, "Napraw pojazd", false, okno[1])
        guiSetProperty(przycisk[1], "NormalTextColour", "FFAAAAAA")
        przycisk2[2] = guiCreateButton(9, 245, 264, 44, "Napraw karoseri?", false, okno[1])
        guiSetProperty(przycisk[2], "NormalTextColour", "FFAAAAAA")
        tekst[1] = guiCreateLabel(9, 28, 180, 20, "Tw?j pojazd to:"..getVehicleName(auto), false, okno[1])
        tekst[2] = guiCreateLabel(9, 58, 190, 20, "Stan pojazdu:"..zniszczenia.."%", false, okno[1])
        tekst[3] = guiCreateLabel(9, 88, 114, 20, "Nictutajjeszczeniema:", false, okno[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: 27
Na forum: 4912 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: 4109 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: 27
Na forum: 4912 dni
Posty: 1438

Piwa: 2512

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

Ostrzeżeń: 60%


marker = createMarker (-2029.18555, 137.09030, 27.83594,"cylinder",6,0,0,0)

        local screenW, screenH = guiGetScreenSize()
        okno = guiCreateWindow((screenW - 282) / 2, (screenH - 308) / 2, 282, 308, "Naprawianie pojazdu", false)
        guiWindowSetSizable(okno, false)
        przycisk = guiCreateButton(9, 190, 264, 45, "Napraw pojazd", false, okno)
        guiSetProperty(przycisk[1], "NormalTextColour", "FFAAAAAA")
        przycisk2 = guiCreateButton(9, 245, 264, 44, "Napraw karoseri?", false, okno)
        guiSetProperty(przycisk[2], "NormalTextColour", "FFAAAAAA")
        tekst1 = guiCreateLabel(9, 28, 180, 20, "Tw?j pojazd to: xxx", false, okno)
        tekst2 = guiCreateLabel(9, 58, 190, 20, "Stan pojazdu: xxx%", false, okno)
        tekst3 = guiCreateLabel(9, 88, 114, 20, "Nictutajjeszczeniema:", false, okno)    
        guiSetVisible(okno,false)




function guinapraw(hp)
        if hp ~= localPlayer then return end
        if not isPedInVehicle(localPlayer) then return end
        showCursor(true,false)
        guiSetVisible(okno, true)
        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(okno, false)
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: 4109 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: 27
Na forum: 4912 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 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