local sx , sy = guiGetScreenSize ()
-- local czc = exports . czcionka : CZ ()
local czc = dxCreateFont ( "DroidSans-Bold.ttf" , 12 )
local wlaczony = false
local strona = 1
local alpha = 255
local punkty = 0
local ilosc_loo_w_puli = 15
local punkty_aby_zdac = 12
local txt_strona_3 = ""
local btn ={
{ podswietlanie = true , scrlX = 0 , clr ={ 0 , 0 , 0 }, clr_napis ={ 255 , 255 , 255 }, strona = 1 , x = sx / 2 - 200 , y = sy / 2 + 130 , w = 150 , h = 25 , png = "egzamin" },
{ podswietlanie = true , scrlX = 0 , clr ={ 0 , 0 , 0 }, clr_napis ={ 255 , 255 , 255 }, strona = 1 , x = sx / 2 + 50 , y = sy / 2 + 130 , w = 150 , h = 25 , png = "zamknij" },
{ podswietlanie = true , scrlX = 0 , clr ={ 0 , 0 , 0 }, clr_napis ={ 255 , 255 , 255 }, strona = 2 , x = sx / 2 + 80 , y = sy / 2 + 130 , w = 150 , h = 25 , png = "dalej" },
{ podswietlanie = true , scrlX = 0 , clr ={ 0 , 0 , 0 }, clr_napis ={ 255 , 255 , 255 }, strona = 3 , x = sx / 2 - 200 , y = sy / 2 + 130 , w = 150 , h = 25 , png = "egzamin" },
{ podswietlanie = true , scrlX = 0 , clr ={ 0 , 0 , 0 }, clr_napis ={ 255 , 255 , 255 }, strona = 3 , x = sx / 2 + 50 , y = sy / 2 + 130 , w = 150 , h = 25 , png = "zamknij" },
}
function napisy_refresh ()
napisy ={
{ strona = 1 , x = sx , y = sy / 1.75 - 120 , txt = "Informacja\nblebleblebleblebleblebl" },
{ strona = 3 , x = sx , y = sy / 2 - 120 , txt = txt_strona_3 },
}
end
napisy_refresh ()
--[[for i , v in pairs ( loo ) do
--if i == 2 then
for w , odp in pairs ( v . odpowiedzi ) do
v . radio_button = guiCreateRadioButton ( sx / 2 - 270 , sy / 2 - w , 540 , 20 , odp , false )
-- outputDebugString ( tostring ( v . radio_button ))
guiSetVisible ( v . radio_button , false )
end
-- end
end ]]
local recX , recY , recX2 , recY2 = sx / 2 - 300 , sy / 2 - 200 , 600 , 400
local dxdraw =(
function()
local kx , ky = getCursorPosition ()
kx = kx * sx
ky = ky * sy
-- dxDrawRectangle ( sx / 2 - 300 , sy / 2 - 200 , 600 , 400 , tocolor ( 255 , 255 , 255 , 60 ))
if ( strona == 2 ) then
-- dxDrawRectangle ( sx / 2 - 285 , sy / 2 - 185 , 570 , 370 , tocolor ( 0 , 0 , 0 , 100 ))
end
-- dxDrawRectangle ( recX , recY , recX2 , recY2 , tocolor ( 155 , 155 , 155 , 255 ))
for i = 0 , 90 do
rrz2 = math . rad ( i )
px = recX + recX2 - ( 50 * math . sin (- rrz2 ))
py = recY + 50 - ( 50 * math . cos (- rrz2 ))
pw = py - recY
rrz3 = math . rad ( i + 180 )
py2 = recY + 50 +( recY2 - 100 ) - ( 50 * math . cos (- rrz3 ))
pw2 = recY + 50 +( recY2 - 100 )
px3 = recX - (- 50 * math . sin (- rrz2 ))
-- dxDrawRectangle ( px , py , 1 , ( recY2 - 50 - pw )+( py2 - pw2 ), tocolor ( 64 , 64 , 64 , 255 ))
-- dxDrawRectangle ( px3 , py , 1 , ( recY2 - 50 - pw )+( py2 - pw2 ), tocolor ( 64 , 64 , 64 , 255 ))
local sxxx , syyy = guiGetScreenSize ()
local zoom = 1
local fh = 1920
if sx < fh then
zoom = math . min ( 2 , fh / sx )
end
dxDrawImage ( 670.5 / zoom , 320 / zoom , 560 / zoom , 400 / zoom , 'i/gui.png' , angle , 0 , - 120 )
end
for i , v in ipairs ( btn ) do
if ( strona == v . strona ) then
if not v . alpha then
v . alpha = 155
end
if ( kx >= v . x -( v . scrlX / 2 )) and ( kx <= v . x + v . w + v . scrlX / 2 ) and ( ky >= v . y ) and ( ky <= v . y + v . h ) then
if v . alpha < 255 then
-- v . alpha = v . alpha + 5
end
if v . scrlX < 20 then
-- v . scrlX = v . scrlX + 5
end
else
if v . alpha > 155 then
-- v . alpha = v . alpha - 5
end
if v . scrlX > 0 then
-- v . scrlX = v . scrlX - 5
end
end
-- dxDrawImage ( v . x , v . y , v . w , v . h , "i/" .. v . png .. ".png" , 0 , 0 , 0 , tocolor ( 255 , 255 , 255 , alpha ))
-- dxDrawRectangle ( v . x -( v . scrlX / 2 ), v . y , v . w + v . scrlX , v . h , tocolor ( v . clr [ 1 ] or 0 , v . clr [ 2 ] or 0 , v . clr [ 3 ] or 0 , v . alpha ))
dxDrawText ( v . png , v . x , v . y , v . x + v . w , v . y + v . h , tocolor ( v . clr_napis [ 1 ] or 255 , v . clr_napis [ 2 ] or 255 , v . clr_napis [ 3 ] or 255 , 255 ), 1 , czc , "center" , "center" )
else
if v . scrlX > 0 then
v . scrlX = 0
v . alpha = 155
end
end
end
--if guiGetInputEnabled () then
for i , v in ipairs ( napisy ) do
if ( strona == v . strona ) then
dxDrawText ( v . txt , v . x + 2 , v . y + 2 , 0 , 0 , tocolor ( 0 , 0 , 0 , 255 ), 1 , czc , "center" )
dxDrawText ( v . txt , v . x , v . y , 0 , 0 , tocolor ( 255 , 255 , 255 , 255 ), 1 , czc , "center" )
end
end
end
)
-- # funkcje pocz?tkowe:
-- triggerServerEvent ( "ev" , resourceRoot , "podbierz_koszt_doladowania" )
addEvent ( "evc" , true )
addEventHandler ( "evc" , resourceRoot ,
function( ev , arg1 , arg2 )
if ( ev == "wlacz_okno" ) then
if arg1 then
if wlaczony then
return
end
addEventHandler ( "onClientRender" , root , dxdraw )
wlaczony = true
showCursor ( true )
setElementData ( localPlayer , "3dtext_status" , false )
elseif not arg1 then
removeEventHandler ( "onClientRender" , root , dxdraw )
wlaczony = false
showCursor ( false )
strona = 1
setElementData ( localPlayer , "3dtext_status" , true )
end
end
end
)
-- #
-- addEventHandler ( "onClientRender" , root , dxdraw )
-- wlaczony = true
-- showCursor ( true )
local gui ={}
local zuzyte_loo ={}
tworzenie_quizu =(
function()
if ( #zuzyte_loo>=ilosc_loo_w_puli) then
strona = 3
zuzyte_loo ={}
if ( punkty >= punkty_aby_zdac ) then
txt_strona_3 = "Egzamin zdany pomy?lnie!\n\nPunkty: " .. punkty .. "/" .. ilosc_loo_w_puli .. ".\n\nGratulacje! Udaj si? teraz na egzamin praktyczny 1."
triggerServerEvent ( "ev" , resourceRoot , "zaliczteorie" )-- zaliczanie teorii
else
txt_strona_3 = "Egzamin oblany.\n\nPunkty: " .. punkty .. "/" .. ilosc_loo_w_puli .. ".\n\nAby zda?, nale?y zdoby? " .. punkty_aby_zdac .. " punkt?w. Spr?buj ponownie."
end
napisy_refresh ()
return
end
local najwiekszy_numerek = nil
for i , v in pairs ( loo ) do
najwiekszy_numerek = math . max ( i )
end
ask = math . random ( 2 , najwiekszy_numerek )
local zajete_loo = false
for i , v in ipairs ( zuzyte_loonia ) do
if ( ask == v ) then
zajete_loonie = true
end
end
if zajete_loonie then
tworzenie_quizu ()
return
end
answers = loonia [ ask ]. odpowiedzi
gui . loonie_txt = guiCreateLabel ( sx / 2 - 270 , sy / 2 - 170 , 540 , 40 , ( #zuzyte_loonia+1)..". "..loonia[ask].loonie, false)
guiLabelSetHorizontalAlign ( gui . loonie_txt , "center" , true )
if loonia [ ask ]. obrazek then
gui . image = guiCreateStaticImage ( sx / 2 - 285 , sy / 2 - 130 , 570 , 240 , loonia [ ask ]. obrazek , false )
end
for i , v in ipairs ( answers ) do
v . radio_button = guiCreateRadioButton ( sx / 2 - 270 , sy / 2 - v . wysokosc , 540 , 20 , v . odpowiedz , false )
guiSetFont ( v . radio_button , "default-bold-small" )
end
end
)
local dalej =(
function()
local odp = nil
for i , v in ipairs ( answers ) do
if guiRadioButtonGetSelected ( v . radio_button ) then
odp = guiGetText ( v . radio_button )
end
end
if not odp then
exports [ "es-komunikaty" ]: komunikat ( "Najpierw zaznacz odpowied?." )
return false
end
local answer = split ( odp , "." )
table . insert ( zuzyte_loonia , ask )
if ( answer [ 1 ] == loonia [ ask ]. poprawne ) then
punkty = punkty + 1
end
return true
end
)
local usuwanie_quizu =(
function()
for i , v in ipairs ( answers ) do
if v . radio_button then
destroyElement ( v . radio_button )
end
end
for i , v in pairs ( gui ) do
if isElement ( v ) then
destroyElement ( v )
end
end
end
)
addEventHandler ( "onClientClick" , root ,
function( _ , state , abx , aby )
if not wlaczony then
return
end
if ( state == "up" ) then
local z_btn = nil -- ##buttony
for i , v in ipairs ( btn ) do
if ( v . strona == strona ) then
if ( abx >= v . x ) and ( abx <= v . x + v . w ) and ( aby >= v . y ) and ( aby <= v . y + v . h ) then
z_btn = v
end
end
end
if not z_btn then
return
end
if ( strona == 1 ) or ( strona == 3 ) then
if ( z_btn . png == "zamknij" ) then
triggerEvent ( "evc" , resourceRoot , "wlacz_okno" , false )
elseif ( z_btn . png == "egzamin" ) then
if getElementData ( localPlayer , "user:pjBteoria" ) then
exports [ "es-komunikaty" ]: komunikat ( "Teori? masz ju? zaliczon?." )
return
end
punkty = 0
strona = 2
tworzenie_quizu ()
end
elseif ( strona == 2 ) then
if ( z_btn . png == "dalej" ) then
local go = dalej ()
if not go then
return
end
usuwanie_quizu ()
tworzenie_quizu ()
end
end
end
end
)
Cze??, to znowu ja i znowu przychodz? z t? ?mieszn? grafik?..., + ?eby pobiera?o cuboid tego buttona. albo po prostu zrobi?, tylko napiszcie co zmienili?cie Chcia?bym to przerobi? pod export costam : createButton ( "costam" , "costam" , sw / 33 - 124 / 2 / zoom , sh / 2 + 212 / zoom , 124 / zoom , 33 / zoom , 2 , 0 , false );
Potrzebuje wsparcia... nie podajcie funkcji, bo po prostu jestem zielony w tym i nie umiem tego zrobi?, licz? naprawd? na te wsparcie, a i przy okazji jak macie to mo?ecie jakie? szkolenia kursy czy co? jak wiki poda?. Ch?tnie przyjm?. ;-)
[ Dodano : 2019-02-07, 16:14 ]
ref
[ Dodano : 2019-02-08, 00:00 ]
ref