Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2020-04-16, 12:15


AsaXx







Wiek: 20
Na forum: 2413 dni
Posty: 74
Nick w MP: AsaXx

Piwa: 413

Respekt: 50

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?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-04-16, 14:30


kamison

Przyszły programista .lua






Wiek: 25
Na forum: 3302 dni
Posty: 391
Nick w MP: kamison

Piwa: 594

Respekt: 205,3
Respekt: 205,3Respekt: 205,3

Podaj chocia? jaki? kod/??czenie z baz? danych(zmienne exportowane)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-04-16, 17:48


AsaXx







Wiek: 20
Na forum: 2413 dni
Posty: 74
Nick w MP: AsaXx

Piwa: 413

Respekt: 50

Serwer:

local maks_ilosc_postaci 999 -- Maksymalna ilosc kont do rejestracji
    addEvent("logging:newPostac"true)
    addEventHandler("logging:newPostac"resourceRoot, function(imie,nazwisko,wiek,waga,skin)
        local result=exports["pystories-db"]:dbGet("SELECT * FROM royal_postacie WHERE register_serial=?"getPlayerSerial(client))
        if result and #result >= maks_ilosc_postaci then
            triggerClientEvent(client"logging:result"resourceRootfalse"Osi?…gn?…?‚e?› juĹĽ limit kont.","blad")
        return end
        local result=exports["pystories-db"]:dbGet("SELECT * FROM royal_postacie WHERE imie=? AND nazwisko=?"imienazwisko)
        if result and #result > 0 then
            triggerClientEvent(client"logging:result"resourceRootfalse"Podane imi?™ i nazwisko zosta?‚o juĹĽ zaj?™te.","blad")
        else
            local query=exports["pystories-db"]:dbSet("INSERT INTO royal_postacie (imie,nazwisko,wiek,waga,register_serial,skin) VALUES (?,?,?,?,?,?)",imie,nazwisko,wiek,waga,getPlayerSerial(client),skin)
            if query then
                triggerClientEvent(client"logging:result"resourceRootfalse"Stworzy?‚e?› posta?‡ pomy?›lnie!","git")
                --setElementData(client"player:logged"true)
            end
        end
    end)

addEvent("logging:spr"true)
addEventHandler("logging:spr"root, function()
    local result=exports["pystories-db"]:dbGet("SELECT * FROM royal_postacie WHERE register_serial=?"getPlayerSerial(client))
end)



Client:

local sw,sh guiGetScreenSize()
local scale 1280 sw

local sprr triggerServerEvent("logging:spr"root)

function renderZoneBox()
    if sppr == 2 then 
        dxDrawRectangle(sx*0/1280sy*0/720sx*1280/1280sy*1720/720tocolor(121212230))
        dxDrawImage(sx*50/1280sy*150/720sx*350/1280sy*350/720"bgl.png")
        dxDrawImage(sx*50/1280sy*505/720sx*350/1280sy*35/720"bgl.png")
        dxDrawText("Imi?™:"85/scale, -50/scale950/scale450/scaletocolor(188200204a), 0.58font4"left""center"falsefalsefalsefalsefalse)
        dxDrawText("Nazwisko:"85/scale50/scale950/scale450/scaletocolor(188200204a), 0.57font4"left""center"falsefalsefalsefalsefalse)
        dxDrawText("Wiek:"85/scale160/scale950/scale450/scaletocolor(188200204a), 0.57font4"left""center"falsefalsefalsefalsefalse)
        dxDrawText("Waga:"85/scale260/scale950/scale450/scaletocolor(188200204a), 0.57font4"left""center"falsefalsefalsefalsefalse)
        dxDrawText("Skin:"85/scale345/scale950/scale450/scaletocolor(188200204a), 0.57font4"left""center"falsefalsefalsefalsefalse)
        if not isMouseIn(sx*50/1280sy*505/720sx*350/1280sy*35/720then
            dxDrawText("Za?‚óż posta?‡"165/scale593/scale950/scale450/scaletocolor(188200204a), 0.57font4"left""center"falsefalsefalsefalsefalse)
        else 
            dxDrawText("Za?‚óż posta?‡"164/scale594/scale950/scale450/scaletocolor(188200204a), 0.59font4"left""center"falsefalsefalsefalsefalse)
        end
    elseif not sprr then 
        dxDrawText("Za?‚óż posta?‡"164/scale594/scale950/scale450/scaletocolor(188200204a), 0.59font4"left""center"falsefalsefalsefalsefalse)
    elseif sprr == 1 then 
        dxDrawRectangle(sx*0/1280sy*0/720sx*1000/1280sy*1720/720tocolor(121212230))
    end
    local x,y=getPointFromDistanceRotation(1764.612181470.85852distangler)
    setCameraMatrix(x,y,75.72,1623.69385.660)
    angler=(angler+0.009)
end


Struktura ,,royal-postacie":

https://i.imgur.com/gAdHMr3.png

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-04-16, 18:14


kamison

Przyszły programista .lua






Wiek: 25
Na forum: 3302 dni
Posty: 391
Nick w MP: kamison

Piwa: 594

Respekt: 205,3
Respekt: 205,3Respekt: 205,3

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[1then
            --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 danymitablice 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.

Postaw piwo autorowi tego posta
 

 
Tagi: robię :: źle?
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » co robię źle? Odpowiedz do tematu

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
Dodaj temat do Ulubionych
Wersja do druku