Wysłany: 2020-09-12, 20:56
killercycDDS
Migacz
Wiek: 25 Na forum: 4512 dni Posty: 629
Nick w MP: killer_cyc[DDS]
Piwa : 1659
Witam ucz? si? robi? odczyt z bazy mysql do gui i natkn??em si? na kilka problem?w
1. Czemu gdy zrobi? za pomoc? binda to po pierwszym klikni?ciu nic nie wyskakuje a po ponownym gdy powinno zamkn?? nagle warto?? z mysql si? pojawiaj? ale po jakim? czasie powoduje straszne spadki fps?w
1.1 Jak zrobi? by nie dublowa?o wynik?w
2. Pr?bowa?em zrobi? te? na marker lecz gdy wejd? w marker nic nie wyst?powa?o
Strona C
gui_sell = false
function gui_sellxd ()
okno_sell = guiCreateWindow ( 541 , 330 , 848 , 502 , "Panel sprzeda?y pojazd?w" , false )
guiWindowSetSizable ( okno_sell , false )
lista = guiCreateGridList ( 549 , 362 , 830 , 335 , false )
guiGridListAddColumn ( lista , "ID" , 0.3 )
guiGridListAddColumn ( lista , "Pojazd" , 0.3 )
guiGridListAddColumn ( lista , "Przebieg" , 0.3 )
triggerServerEvent ( "test2" , resourceRoot , localPlayer )
end
function xdde ( result )
-- guiGridListClear ( lista )
for i , v in pairs ( result ) do
local row = guiGridListAddRow ( lista )
guiGridListSetItemText ( lista , row , 1 , v [ "id" ], false , false )
guiGridListSetItemText ( lista , row , 2 , getVehicleNameFromModel ( v [ "model" ]), false , false )
guiGridListSetItemText ( lista , row , 3 , math . floor ( v [ "mileage" ]).. " KM" , false , false )
end
end
addEvent ( "test" , true )
addEventHandler ( "test" , resourceRoot , xdde )
bindKey ( "F6" , "down" , function()
if gui_sell == true then
gui_sell = false
showCursor ( false )
removeEventHandler ( "onClientRender" , root , gui_sellxd )
else
gui_sell = true
showCursor ( true )
addEventHandler ( "onClientRender" , root , gui_sellxd )
end
end )
--[[ local xd = createMarker (- 1925.44 , 249.96 , 41.05 - 1 , "cylinder" , 1 , 255 , 215 , 0 )
addEventHandler ( "onClientMarkerHit" , xd , function( el , md )
if el ~= localPlayer then return end
if getPedOccupiedVehicle ( el ) then return end
showCursor ( true )
addEventHandler ( "onClientRender" , root , gui_sellxd )
setElementData ( el , "marker:sell" , true )
end )--]]
Strona S
addEvent ( "test2" , true )
addEventHandler ( "test2" , resourceRoot ,function( el )
local resulted = exports [ "pystories-db" ]: dbGet ( "SELECT * FROM pystories_vehicles WHERE ownedPlayer=?" , getElementData ( el , "player:sid" ))
triggerClientEvent ( el , "test" , resourceRoot , resulted )
end )
Wysłany: 2020-09-12, 22:53
Maniekxx
Amator
Wiek: 24 Na forum: 2894 dni Posty: 232
Nick w MP: Maniekxx
Piwa : 225
1. Zamiast zmiennej 'gui_sell', sprawdzaj czy okno jest otwarte, czy zamkni?te za pomoc? funkcji
guiGetVisible()
if guiGetVisible ( okno_sell ) == false then
-- otwierasz okno
else
-- zamykasz okno
end
2. Staraj si? nazywa? funkcj? kt?re piszesz w miar? normalny spos?b, umo?liwi to ?atwiejsze odczytanie kodu.
3. Spadki FPS s? spowodowane zapewne wy?wietlaniem okna za pomoc? eventu 'onClientRender', u?yj do tego funkcji 'guiSetVisible()'.
4. Aby wyniki z bazy danych pobra?y si? za pierwszym razem po otwarciu okna, wysy?aj event 'test2' gdy gracz naci?nie klawisz 'f6'.
Więcej szczegółów
Wystawiono 1 piw(a):killercycDDS
Wysłany: 2020-09-13, 00:25
killercycDDS
Migacz
Wiek: 25 Na forum: 4512 dni Posty: 629
Nick w MP: killer_cyc[DDS]
Piwa : 1659
"Maniekxx" napisał/a :1. Zamiast zmiennej 'gui_sell', sprawdzaj czy okno jest otwarte, czy zamkni?te za pomoc? funkcji
guiGetVisible()
if guiGetVisible ( okno_sell ) == false then
-- otwierasz okno
else
-- zamykasz okno
end
2. Staraj si? nazywa? funkcj? kt?re piszesz w miar? normalny spos?b, umo?liwi to ?atwiejsze odczytanie kodu.
3. Spadki FPS s? spowodowane zapewne wy?wietlaniem okna za pomoc? eventu 'onClientRender', u?yj do tego funkcji 'guiSetVisible()'.
4. Aby wyniki z bazy danych pobra?y si? za pierwszym razem po otwarciu okna, wysy?aj event 'test2' gdy gracz naci?nie klawisz 'f6'.
ok zrobi?em to za pomoc? guiSetVisible i dzia?a dzi?ki i nie laguje. Co do nazewnictwa robi? to dla test?w wi?c wymy?lone s?. Kolejne pytanie takie jak unikn?? czego? takiego jak kto? naci?nie na g?rny pasek?
Wysłany: 2020-09-13, 00:59
Wilq
Wiek: 24 Na forum: 4429 dni Posty: 3410
Piwa : 739
Wydaje mi si?, ?e w evencie
sprawdzasz czy source to gui_sell, je?li tak to
Więcej informacji znajdziesz w Wikipedii MTA: cancelEvent
Wysłany: 2020-09-13, 01:42
killercycDDS
Migacz
Wiek: 25 Na forum: 4512 dni Posty: 629
Nick w MP: killer_cyc[DDS]
Piwa : 1659
Wilq , obecny kod wygl?da tak
local wm ={}
wm . okno_sell = guiCreateWindow ( 541 , 330 , 848 , 502 , "Panel sprzeda?y pojazd?w" , false )
guiWindowSetSizable ( wm . okno_sell , false )
guiSetVisible ( wm . okno_sell , false )
guiWindowSetMovable ( wm . okno_sell , false )
wm . lista = guiCreateGridList ( 549 , 362 , 830 , 335 , false )
guiGridListAddColumn ( wm . lista , "ID" , 0.3 )
guiGridListAddColumn ( wm . lista , "Pojazd" , 0.3 )
guiGridListAddColumn ( wm . lista , "Przebieg" , 0.3 )
guiSetVisible ( wm . lista , false )
function xdde ( result )
guiGridListClear ( wm . lista )
for i , v in pairs ( result ) do
local row = guiGridListAddRow ( wm . lista )
guiGridListSetItemText ( wm . lista , row , 1 , v [ "id" ], false , false )
guiGridListSetItemText ( wm . lista , row , 2 , getVehicleNameFromModel ( v [ "model" ]), false , false )
guiGridListSetItemText ( wm . lista , row , 3 , math . floor ( v [ "mileage" ]).. " KM" , false , false )
end
end
addEvent ( "test" , true )
addEventHandler ( "test" , resourceRoot , xdde )
bindKey ( "F6" , "down" , function()
if guiGetVisible ( wm . okno_sell ) == true then
showCursor ( false )
guiSetVisible ( wm . okno_sell , false )
guiSetVisible ( wm . lista , false )
else
guiSetVisible ( wm . okno_sell , true )
guiSetVisible ( wm . lista , true )
showCursor ( true )
triggerServerEvent ( "test2" , resourceRoot , localPlayer )
end
end )
Wysłany: 2020-09-13, 08:44
Wilq
Wiek: 24 Na forum: 4429 dni Posty: 3410
Piwa : 739
Ustaw parent gridlisty na to okno. To chyba 6 albo 7 argument.
Więcej szczegółów
Wystawiono 1 piw(a):killercycDDS
Wysłany: 2020-09-13, 11:58
killercycDDS
Migacz
Wiek: 25 Na forum: 4512 dni Posty: 629
Nick w MP: killer_cyc[DDS]
Piwa : 1659
Dzi?ki za pomoc do zamkni?cia
Tagi: gui
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: