-
Sziasztok. Elkezdtem egy ALAP login panelt csinálni, viszont van 3 problémám, amire nem találtam még megoldást. Ebben a 3 probléma megoldásában kérném segítségeteket.
1: Editbox hátterének, illetve editbox text színének módosítása. Ezt sajnos nem tudom megoldani, nem találtam rá megoldást, hogy hogyan lehetne.
2: Ha kikattinto az editboxból, pl.: a képre, akkor elsötétül, és nem lehet rá visszakattintani.
3: Account hozzáadása. Sajnos mivel client oldaliban vagyok, nem nagyon tudom, hogyan lehetne megoldani, hogyha valaki a reigzstrációra kattint, akkor megcsinálja az accountját addAccount(username, password)-al.
Ezeket nem tudom. Segítségeteket előre is köszönöm. További szép napot! :)
local sx, sy = guiGetScreenSize()
function login()
wx, wy = 500, 500
x = (sx/2) - (wx/2)
y = (sy/2) - (wy/2)
guiCreateStaticImage(x,y,500,500,\"login.png\", false) -- Kép előhozása
local feledit = guiCreateEdit( 0.40, 0.46, 0.23, 0.037, \"Felhasználónév\", true) --Felh. írás mező
guiEditSetMaxLength ( feledit, 20 ) --Írás lehetőség felhasználónév
local jeledit = guiCreateEdit( 0.40, 0.565, 0.23, 0.037, \"Jelszó\", true ) -- Jelszó írás mező
guiEditSetMaxLength ( jeledit, 20 ) --Írás lehetőség jelszó
guiEditSetMasked ( jeledit, true ) --Jelszó \"maszkolás\"
showCursor(true) -- Cursos előhozás
showPlayerHudComponent(\"all\", false) -- hudok kikapcsolása
showChat(false) -- Chat kikapcsolása
if (isElement(zene)) then --Ha a zene be van kapcsolva
destroyElement(zene) -- Akkor kapcsolja ki
end -- Ha nincs
zene = playSound(\"music.mp3\", true) -- Akkor játsza le
setBlurLevel (255)-- Blur szint
setCameraMatrix(2457.73145, -1666.30969, 24.23867, 5568.388671875, -1218.42474365234, 69.881813049316) -- Kamera nézése
bindKey ( \"F4\", \"both\", funcInput ) -- F4 kiakpcsolás
addEventHandler(\"onClientRender\", root, gombok) -- Gombok elindítása
addEventHandler(\"onClientClick\", getRootElement(), gomb) --Gomb hozzáadása
addEventHandler(\"onClientClick\", getRootElement(), regisztralas) --Gomb hozzáadása
end
addEventHandler(\"onClientResourceStart\", getRootElement(), login)
function gombok()
dxDrawRectangle ( sx/2.77, sy/1.6, sx/8, sy/20, tocolor ( 0, 0, 0, 200 ) ) -- Bejelentkezés
dxDrawRectangle ( sx/1.97, sy/1.6, sx/8, sy/20, tocolor ( 0, 0, 0, 200 ) ) -- Regisztráció
dxDrawText ( \"Bejelentkezés\", sx/2.64, sy/1.58, sx, sy, tocolor ( 255, 255, 255, 255 ), 1.5, \"default-bold\" ) -- Bejelentkezés gomb
dxDrawText ( \"Regisztráció\", sx/1.9, sy/1.58, sx, sy, tocolor ( 255, 255, 255, 255 ), 1.5, \"default-bold\" ) -- Bejelentkezés gomb
end
function funcInput ( key, keyState )
if ( keyState == \"down\" ) then
destroyElement(zene)
end
end
function gomb(button, state, absoluteX, absoluteY, worldX, worldY, worldZ, clickedElement)
local felh = guiGetText ( feledit ) --Felh. lekérése
local jelszo = guiGetText ( jeledit ) --pass. lekérése
if (state == \"down\") then
-- bal, jobb, felső, alsó (a képernyő bal felső sarkától számítva)
if (absoluteX >= sx/2.77) and (absoluteX <= (sx/2.77)+(sx/8)) and (absoluteY >= sy/1.6) and (absoluteY <= (sy/1.6)+(sy/20)) then -- ha a kirajzolt dx elem határain belül van a kurzor
outputChatBox(\"Sikeres bejelentkezés!\")
end
end
if (state == \"down\") then
-- bal, jobb, felső, alsó (a képernyő bal felső sarkától számítva)
if (absoluteX >= sx/1.97) and (absoluteX <= (sx/1.97)+(sx/8)) and (absoluteY >= sy/1.6) and (absoluteY <= (sy/1.6)+(sy/20)) then -- ha a kirajzolt dx elem határain belül van a kurzor
outPutChatBox(\"Sikeres regisztráció!\")
end
end
end
-
A kliensről való szerver triggerelés az a triggerServerEventel lehet, az editBoxnak leveszed az alpha-ját 0-ra raksz rá egy rectangle-t majd dx textet raksz a rectanglere, kikéred egy változóba az editbox szövegét és azt bele a dx text-be. Az elsőtétülést azt nem nagyon tudom értelmezni.
-
Szia. Segítségedet köszönöm. Valószínű én vagyok most a kiba.....ott béna. Megcsináltam, de nem jó.
function gombok()
dxDrawRectangle ( sx/2.77, sy/1.6, sx/8, sy/20, tocolor ( 0, 0, 0, 200 ) ) -- Bejelentkezés
dxDrawRectangle ( sx/1.97, sy/1.6, sx/8, sy/20, tocolor ( 0, 0, 0, 200 ) ) -- Regisztráció
dxDrawText ( \"Bejelentkezés\", sx/2.64, sy/1.58, sx, sy, tocolor ( 255, 255, 255, 255 ), 1.5, \"default-bold\" ) -- Bejelentkezés gomb
dxDrawText ( \"Regisztráció\", sx/1.9, sy/1.58, sx, sy, tocolor ( 255, 255, 255, 255 ), 1.5, \"default-bold\" ) -- Bejelentkezés gomb
dxDrawText (, sx/2.45, sy/2.15, sx, sy, tocolor ( 255, 255, 255, 255 ), 1.4, \"default-bold\" ) --Feledit szöveg
end
function login()
wx, wy = 500, 500
x = (sx/2) - (wx/2)
y = (sy/2) - (wy/2)
guiCreateStaticImage(x,y,500,500,\"login.png\", false) -- Kép előhozása
feledit = guiCreateEdit( 0.40, 0.46, 0.23, 0.037, \"Felhasználónév\", true) --Felh. írás mező
local feledittext = guiGetText (feledit)
guiEditSetMaxLength ( feledit, 20 ) --Írás lehetőség felhasználónév
guiSetAlpha(feledit, 0) --Feledit elhalványítása
local jeledit = guiCreateEdit( 0.40, 0.565, 0.23, 0.037, \"Jelszó\", true ) -- Jelszó írás mező
guiEditSetMaxLength ( jeledit, 20 ) --Írás lehetőség jelszó
guiEditSetMasked ( jeledit, true ) --Jelszó \"maszkolás\"
showCursor(true) -- Cursos előhozás
showPlayerHudComponent(\"all\", false) -- hudok kikapcsolása
showChat(false) -- Chat kikapcsolása
if (isElement(zene)) then --Ha a zene be van kapcsolva
destroyElement(zene) -- Akkor kapcsolja ki
end -- Ha nincs
--zene = playSound(\"music.mp3\", true) -- Akkor játsza le
setBlurLevel (255)-- Blur szint
setCameraMatrix(2457.73145, -1666.30969, 24.23867, 5568.388671875, -1218.42474365234, 69.881813049316) -- Kamera nézése
bindKey ( \"F4\", \"both\", funcInput ) -- F4 kiakpcsolás
addEventHandler(\"onClientRender\", root, gombok) -- Gombok elindítása
addEventHandler(\"onClientClick\", getRootElement(), gomb) --Gomb hozzáadása
end
addEventHandler(\"onClientResourceStart\", getRootElement(), login)
-
Szia! Nem adtál meg szöveget a dxText-ben.
-
dxDrawText (feledittext, sx/2.45, sy/2.15, sx, sy, tocolor ( 255, 255, 255, 255 ), 1.4, \"default-bold\" )
UI: Vedd le a \"feledittext\" változódról a local-t.
-
Megcsináltam. Mostmár kiírja azt, ami az editbox-ban az alap szöveg, a felhasználónév, viszont bármit beleírok, nem reagál semmire se, nem tudom kitörölni a \"felhasználónév\" nevű alap editbox szöveget se.
local sx, sy = guiGetScreenSize()
function login()
wx, wy = 500, 500
x = (sx/2) - (wx/2)
y = (sy/2) - (wy/2)
guiCreateStaticImage(x,y,500,500,\"login.png\", false) -- Kép előhozása
feledit = guiCreateEdit( 0.40, 0.46, 0.23, 0.037, \"Felhasználónév\", true) --Felh. írás mező
feledittext = guiGetText (feledit)
guiEditSetMaxLength ( feledit, 20 ) --Írás lehetőség felhasználónév
guiSetAlpha(feledit, 0) --Feledit elhalványítása
local jeledit = guiCreateEdit( 0.40, 0.565, 0.23, 0.037, \"Jelszó\", true ) -- Jelszó írás mező
guiEditSetMaxLength ( jeledit, 20 ) --Írás lehetőség jelszó
guiEditSetMasked ( jeledit, true ) --Jelszó \"maszkolás\"
showCursor(true) -- Cursos előhozás
showPlayerHudComponent(\"all\", false) -- hudok kikapcsolása
showChat(false) -- Chat kikapcsolása
if (isElement(zene)) then --Ha a zene be van kapcsolva
destroyElement(zene) -- Akkor kapcsolja ki
end -- Ha nincs
--zene = playSound(\"music.mp3\", true) -- Akkor játsza le
setBlurLevel (255)-- Blur szint
setCameraMatrix(2457.73145, -1666.30969, 24.23867, 5568.388671875, -1218.42474365234, 69.881813049316) -- Kamera nézése
bindKey ( \"F4\", \"both\", funcInput ) -- F4 kiakpcsolás
addEventHandler(\"onClientRender\", root, gombok) -- Gombok elindítása
addEventHandler(\"onClientClick\", getRootElement(), gomb) --Gomb hozzáadása
end
addEventHandler(\"onClientResourceStart\", getRootElement(), login)
function gombok()
dxDrawRectangle ( sx/2.77, sy/1.6, sx/8, sy/20, tocolor ( 0, 0, 0, 200 ) ) -- Bejelentkezés
dxDrawRectangle ( sx/1.97, sy/1.6, sx/8, sy/20, tocolor ( 0, 0, 0, 200 ) ) -- Regisztráció
dxDrawText ( \"Bejelentkezés\", sx/2.64, sy/1.58, sx, sy, tocolor ( 255, 255, 255, 255 ), 1.5, \"default-bold\" ) -- Bejelentkezés gomb
dxDrawText ( \"Regisztráció\", sx/1.9, sy/1.58, sx, sy, tocolor ( 255, 255, 255, 255 ), 1.5, \"default-bold\" ) -- Bejelentkezés gomb
dxDrawText (feledittext, sx/2.45, sy/2.15, sx, sy, tocolor ( 255, 255, 255, 255 ), 1.4, \"default-bold\" ) --Feledit szöveg
end
-
Próbáld local-lal berakni az onClientRender-be a feledittext változót.
-
Anélkül inkább mert akkor ellehet érni más function-ből.
-
thegergo02
Ha máshol NEM AKARJA elérni, akkor nem kell globálissá tenni, teljesen fölösleges dolog :)
/tudtommal kevésbé biztonságos, lassabb bár ezekben nem vagyok biztos, csak olvastam/
-
WOOW! Köszönöm, működött minden, istenek vagytok :D . Köszönöm szépen mindenkinek aki segített, hatalmas pacsi ;) . További szép estét mindenkinek!
-
Bocsánat, de lenne még egy problémám, aztán már nem lesz több :D :D . Hogyan lehetne azt megoldani, hogy amikor írok, a 5. betűnél villog a kis írás csík, de már 12 karaktert írtam be. Hogyan lehetne azt megcsinálni, hogy rendesen kövesse a kis csík amit írok. ( nem akarok a betűt kicsiníteni, mert akkor már túl kicsi lenne. ( kép: KATTINTS IDE . A képen jelenleg az utolsó s betű előtt villog az a kis egyenes, ami mutatja, hogy hol jársz az írása. Tudom, nehéz értelmezni :D )
-
Az azért van, mert az editbox-ban más betűtípus van, kissebb a mérete, és annak a szövegnek követi a kurzor a helyét. Ha betűtípust cserélsz az editbox-ban, jó lesz. :)
-
Sajnos eléggé nokedli vagyok ebben. Kerestem mta wikin, de nem találtam betűtípus megváltoztatást editboxon belüle, csak ezeket :
-
https://wiki.multitheftauto.com/wiki/GuiCreateFont