Wysłany: 2019-01-20, 18:45
kuba43
Wiek: 45 Na forum: 3225 dni Posty: 166
Nick w MP: definitly
Piwa : 17
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ć.”.
Wysłany: 2019-01-20, 19:12
Gravgor
Wiek: 22 Na forum: 3619 dni Posty: 380
Nick w MP: 1944
Piwa : 702
Opisz dok?adnie sw?j problem, nie mog? nic z tego wywnioskowa?.
Podpis
Portfolio marceliborowczak.me
Wysłany: 2019-01-20, 19:19
kuba43
Wiek: 45 Na forum: 3225 dni Posty: 166
Nick w MP: definitly
Piwa : 17
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ć.”.
Wysłany: 2019-01-20, 19:41
Wilq
Wiek: 24 Na forum: 4428 dni Posty: 3410
Piwa : 739
W evencie
pobieraj text za pomoc?
Więcej informacji znajdziesz w Wikipedii MTA: guiGetText
i zwr?con? warto?ci? ustawiaj kolor tarcz.
Wysłany: 2019-01-20, 20:07
kuba43
Wiek: 45 Na forum: 3225 dni Posty: 166
Nick w MP: definitly
Piwa : 17
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ć.”.
Wysłany: 2019-01-20, 21:25
Wilq
Wiek: 24 Na forum: 4428 dni Posty: 3410
Piwa : 739
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.
local screenW , screenH = guiGetScreenSize ()
Shader = dxCreateShader ( "color.fx" ) -- shader
local przycisk = guiCreateButton ( 792 , 362 , 81 , 29 , "pomaluj" , false )
guiSetProperty ( przycisk , "NormalTextColour" , "FFAAAAAA" )
local kolorr = guiCreateMemo ( 0.41 , 0.17 , 0.05 , 0.03 , "" , true )
local kolorg = guiCreateMemo ( 0.41 , 0.22 , 0.05 , 0.03 , "" , true )
local kolorb = guiCreateMemo ( 0.41 , 0.28 , 0.05 , 0.03 , "" , true )
function dxDraw ()
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
addEventHandler ( "onClientMarkerHit" , getResourceRootElement (), function( plr , md )
if ( plr == getLocalPlayer ()) and md then
addEventHandler ( "onClientRender" , getRootElement (), dxDraw )
guiSetVisible ( przycisk , true )
guiSetVisible ( kolorr , true )
guiSetVisible ( kolorg , true )
guiSetVisible ( kolorb , true )
end
end )
addEventHandler ( "onClientMarkerLeave" , getResourceRootElement (), function( plr , md )
if ( plr == getLocalPlayer ()) and md then
removeEventHandler ( "onClientRender" , getRootElement (), dxDraw )
guiSetVisible ( przycisk , false )
guiSetVisible ( kolorr , false )
guiSetVisible ( kolorg , false )
guiSetVisible ( kolorb , false )
end
end )
function DajKolorTarczy ( r , g , b )
if Shader then
if r and g and b then
engineApplyShaderToWorldTexture ( Shader , "124_bremze" )
dxSetShaderValue ( Shader , "gColor" , r / 255 , g / 255 , b / 255 )
end
end
end
function ResetujKolorTarcz ()
if Shader then
engineRemoveShaderFromWorldTexture ( Shader , "124_bremze" )
end
end
function Tarcza ( button , state , absX , absY )
if ( button == "left" ) and ( state == "down" ) then
local kolorR = guiGetText ( kolorr )
local kolorG = guiGetText ( kolorg )
local kolorB = guiGetText ( kolorb )
if kolorR and kolorG and kolorB then
local kolorR , kolorG , kolorB = tonumber ( kolorR ), tonumber ( kolorG ), tonumber ( kolorB )
if ( kolorR <= 255 and kolorR >= 0 ) and ( kolorG <= 255 and kolorG >= 0 ) and ( kolorB <= 255 and kolorB >= 0 ) then
DajKolorTarczy ( kolorR , kolorG , kolorB )
outputChatBox ( "#00C000Pomalowano tarcze na kolor : " .. kolorR .. ", " .. kolorG .. ", " .. kolorB .. " ." , 255 , 0 , 0 , true )
setElementData ( localPlayer , "kolor:r" , kolorR )
setElementData ( localPlayer , "kolor:g" , kolorG )
setElementData ( localPlayer , "kolor:b" , kolorB )
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
end
addEventHandler ( "onClientGUIClick" , przycisk , Tarcza )
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".
Więcej szczegółów
Wystawiono 1 piw(a):kuba43
Wysłany: 2019-01-20, 21:49
kuba43
Wiek: 45 Na forum: 3225 dni Posty: 166
Nick w MP: definitly
Piwa : 17
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 oraz
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ć.”.
Tagi: pobieranie :: tekstu :: guimemo
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: