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

Wysłany: 2019-01-20, 18:45


kuba43







Wiek: 45
Na forum: 3366 dni
Posty: 166
Nick w MP: definitly

Piwa: 17

Respekt: 30,5

Siema,
robie gui do skryptu na malowanie tarcz, jest problem bo nie wiem jak zrobi? by z guiMemo bra?o tekst bo jak wezme to do eventu onClientMarkerHit to pobierze jak w marker wjade a chodzi w skrypcie o to by po wjechaniu w marker wpisaniu r, g , b do memo po kliknieciu guzika zmienily sie kolore tarcz.

local screenW, screenH = guiGetScreenSize()

addEventHandler("onClientMarkerHit", resourceRoot,
    function()
        przycisk = guiCreateButton(792, 362, 81, 29, "pomaluj", false)
        guiSetProperty(przycisk, "NormalTextColour", "FFAAAAAA")


        kolorr = guiCreateMemo(0.41, 0.17, 0.05, 0.03, "", true)


        kolorg = guiCreateMemo(0.41, 0.22, 0.05, 0.03, "", true)


        kolorb = guiCreateMemo(0.41, 0.28, 0.05, 0.03, "", true)           
        dxDrawLine((screenW * 0.3859) - 1, screenH * 0.4056, screenW * 0.6479, screenH * 0.4056, tocolor(0, 0, 0, 255), 1, false)
        dxDrawLine(screenW * 0.6479, screenH * 0.4056, screenW * 0.6479, (screenH * 0.1463) - 1, tocolor(0, 0, 0, 255), 1, false)
        dxDrawRectangle(screenW * 0.3859, screenH * 0.1463, screenW * 0.2620, screenH * 0.2593, tocolor(47, 88, 205, 255), false)
        dxDrawText("\nMalowanie tarcz felg, dzia?a tylko w niekt?rych\nwybranych egzemplarzach. By pomalowa? felgi\n trzeba mie? aktywny status premium oraz zna? \nkod RGB(RGB - Red Green Blue).\n\nnp. R 255 G 0 B 255\n\n\nKoszt takiego udogodnienia, wynosi \n700 000$", 964 + 1, 185 + 1, 1229 + 1, 336 + 1, tocolor(0, 0, 0, 255), 1.00, "default", "center", "center", false, false, false, false, false)
        dxDrawText("\nMalowanie tarcz felg, dzia?a tylko w niekt?rych\nwybranych egzemplarzach. By pomalowa? felgi\n trzeba mie? aktywny status premium oraz zna? \nkod RGB(RGB - Red Green Blue).\n\nnp. R 255 G 0 B 255\n\n\nKoszt takiego udogodnienia, wynosi \n700 000$", 964, 185, 1229, 336, tocolor(255, 255, 255, 255), 1.00, "default", "center", "center", false, false, false, false, false)
        dxDrawText("R", 751, 186, 780, 224, tocolor(251, 0, 0, 255), 3.00, "default", "center", "center", false, false, false, false, false)
        dxDrawText("G", 751, 249, 780, 287, tocolor(2, 248, 43, 255), 3.00, "default", "center", "center", false, false, false, false, false)
        dxDrawText("B", 751, 302, 780, 340, tocolor(13, 170, 236, 255), 3.00, "default", "center", "center", false, false, false, false, false)
    end
)


        herr = guiGetText(kolorr)
        herg = guiGetText(kolorg)
        herb = guiGetText(kolorb)
        setElementData(localPlayer, "kolor:r") == herr
        setElementData(localPlayer, "kolor:g") == herg
        setElementData(localPlayer, "kolor:b") == herb
addEventHandler("onClientResourceStart",resourceRoot,function()
    Shader = dxCreateShader("color.fx") --shader
end)

function DajKolorTarczy(r,g,b)
    if Shader then
        if r and g and b then
            engineApplyShaderToWorldTexture(Shader,"124_bremze") --nazwa tesktury ktorej mamy nadac kolor
            dxSetShaderValue(Shader, "gColor", r/255, g/255, b/255)
        end
    end
end

function ResetujKolorTarcz()
    if Shader then
        engineRemoveShaderFromWorldTexture(Shader,"124_bremze") --nazwa tesktury ktorej mamy usunac kolor
    end
end

function Tarcza(r,g,b)
r = getElementData(localPlayer, "kolor:r") or 255
g = getElementData(localPlayer, "kolor:g") or 255
b = getElementData(localPlayer, "kolor:b") or 255
if r and g and b then
    local r,g,b = tonumber(r),tonumber(g),tonumber(b)
        if r <= 255 and g <= 255 and b <= 255 then
        DajKolorTarczy(r,g,b)
            outputChatBox("#00C000Pomalowano tarcze na kolor : "..r..", "..g..", "..b.." .",255,0,0,true)
    else
            outputChatBox("Wystapi? b?ad z kodem na kolor wpisz go ponownie poprawnie!",255,0,0,true)
        end
    else
        ResetujKolorTarcz()
        outputChatBox("#00C000Zresetowano kolor tarcz.",255,0,0,true)
    end
end)
addEventHandler("onClientGUIClick", przycisk, Tarcza)




Podpis
„(…) wystarczy, że odpowiesz sobie na jedno zajebiście, ale to zajebiście, ważne pytanie: co lubię w życiu robić. A potem zacznij to robić.”.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-01-20, 19:12


Gravgor







Wiek: 22
Na forum: 3760 dni
Posty: 380
Nick w MP: 1944

Piwa: 702

Respekt: 57,8

Opisz dok?adnie sw?j problem, nie mog? nic z tego wywnioskowa?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-01-20, 19:19


kuba43







Wiek: 45
Na forum: 3366 dni
Posty: 166
Nick w MP: definitly

Piwa: 17

Respekt: 30,5

Chcia?bym pobra? tekst z GuiCreateMemo, lecz gdy pobiore go w evencie
"onClientMarkerHit" to nie pobierze tego tekstu bo w skrypcie chodzi mi o to ze po wjezdzie w wielki makrer pojazdem, wyskoczy gui wraz z createMemo z kt?rego pobiore tekst przy klinki?ciu w guzik, kt?ry wraz przyda mi sie przy ustawianiu tego rgb.

Podpis
„(…) wystarczy, że odpowiesz sobie na jedno zajebiście, ale to zajebiście, ważne pytanie: co lubię w życiu robić. A potem zacznij to robić.”.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-01-20, 19:41


Wilq







Wiek: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

W evencie

Więcej informacji znajdziesz w Wikipedii MTA:

onClientGUIClick

pobieraj text za pomoc?

Więcej informacji znajdziesz w Wikipedii MTA:

guiGetText

i zwr?con? warto?ci? ustawiaj kolor tarcz.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-01-20, 20:07


kuba43







Wiek: 45
Na forum: 3366 dni
Posty: 166
Nick w MP: definitly

Piwa: 17

Respekt: 30,5

tylko ?e jak w innym evencie u?yje guiGetText, a w innym go wyrenderuje to chyba nie pobierze mi ze zmienej w innym evencie.

Podpis
„(…) wystarczy, że odpowiesz sobie na jedno zajebiście, ale to zajebiście, ważne pytanie: co lubię w życiu robić. A potem zacznij to robić.”.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-01-20, 21:25


Wilq







Wiek: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Tw?j kod to jeden wielki syf.

Koloru tarcz nigdzie nie zapisujesz, to po pierwsze - zapis wykonujesz tylko jeden raz przy starcie skryptu.
Kody mo?esz zapisa? jako elementDat? aby u?y? jej w innym skrypcie.

Czy ty wykorzystujesz funkcje DirectX w evencie "onClientMarkerHit"? To si? w og?le tworzy?

Pobieranie wpisanych kolor?w RGB wykonuj w evencie "onClientGUIClick", kt?ry ju? masz - na samym dole.

Element?w GUI nie chowasz po wyj?ciu z markera, tak samo (je?li by dzia?a?y) elementy DirectX by si? nie schowa?y.

Jako, ?e mam czas i lubie takie majsterkowanie, poprawi?em wszystko co powy?ej napisa?em + wprowadzi?em ?ad w kodzie.






Daj zna? czy osi?gn??e? zamierzony efekt.
Nie zapomnij doda? skalowania do wszystkich element?w DirectX tak, aby by?y one wyskalowane na wszystkich rozdzielczo?ciach.

Kody RGB masz pod kolejnymi elementDatami:
"kolor:r",
"kolor:g",
"kolor:b".

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
kuba43
Wysłany: 2019-01-20, 21:49


kuba43







Wiek: 45
Na forum: 3366 dni
Posty: 166
Nick w MP: definitly

Piwa: 17

Respekt: 30,5

Wilq, tak przyznam kod to syf, skalowanie mia?em zrobi? w p?zniejszym czasie, tarcze sobie przerobie pod sql. Og?lnie dziekuje Ci za pomoc, bo sam bym na to nie wpad?, jestem jako? ostatnio zamulony mu?em. Sprawdze kod potem, raczej o to mi chodzi?o wi?c ju? da?em Ci :piwo: oraz R*

Podpis
„(…) wystarczy, że odpowiesz sobie na jedno zajebiście, ale to zajebiście, ważne pytanie: co lubię w życiu robić. A potem zacznij to robić.”.
Postaw piwo autorowi tego posta
 

 
Tagi: pobieranie :: tekstu :: guimemo
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Pobieranie tekstu z guimemo 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