Cze??. Postanowi?em se zrobi? panel logowania ( z postaciami ), ale nie wiem jak pobiera? dane z mysql, czy gracz ma ju? posta?, a jak tak, to ile. W sensie wiem, w serwerze, ale nie wiem jak zrobi?, ?eby to sprawdza? po stronie clienta ( czyli, ile jest postaci. Np. je?li jedna to pokazuje si? jakie? okienko ). Wiem tyle, ?e triggerem. Ale nie wiem co ?le robi?.
Za???my, ?e najpierw gracz musi si? zalogowa? na konto(tak?) To po zalogowaniu si? sprawdzasz ile gracz ma postaci o ile ma i triggerujesz klienta z danymi o postaciach i wywo?ujesz render.
Np.
--str klienta
l_edit = guiCreateEdit(...)
r_edit = guiCreateEdit(...)
btn = guiCreateButton(...)
addEventHandler ("onClientGUIClick",btn,function()
triggerServerEvent("zaloguj_gracza",localPlayer,guiGetText(l_edit),r_edit)
end)
-- str serwera
addEvent ("zaloguj_gracza",true)
addEventHandler ("zaloguj_gracza",resourceRoot,function(login,haslo)
local result = ...("SELECT * FROM twoja_tabela_kont WHERE login=?",login)
if result and result[1] and result[1].login == login and result[1].haslo == haslo then
--logujesz gracza i triggerujesz z danymi o postaciach
local result_postacie = ...("SELECT * FROM twoja_tabela_postaci WHERE przypisany_login=?",login)
if result_postacie and result_postacie[1] then
--trigger z danymi
triggerClientEvent(client,"zrob_gui_postaci",client,result_postacie)
end
end
end)
-- znowu strona klienta
addEvent ("zrob_gui_postaci",true)
addEventHandler ("zrob_gui_postaci",resourceRoot,function(postacie)
-- pod zmienna postacie sa dane w tabeli z postaciami przypisanymi do danego loginu
local function renderZoneBox()
--zrob sobie dxDrawy z danymi, tablice mozesz rozbic w petli i umieszczac dane
dxDrawText(...)
end
addEventHandler ("onClientRender",root,renderZoneBox)
end)
[ Dodano: 2020-04-16, 18:15 ]
To jest tylko przyk?ad, nie kopiuj go bo nie zadzia?a, mam nadziej?, ?e Cie jako? nakieruje.
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