Szia! Van egy olyan függvény, hogy
https://wiki.multitheftauto.com/wiki/DbConnect. Ezzel tudsz csatlakozni. Ezt a csatlakozást mentsd le egy változóba:
-- SZERVER OLDAL --
local conenction = dbConnect([...])
aztán jön az adatbázisból lekérdezés., Ehhez ezt a függvényt használjuk:
https://wiki.multitheftauto.com/wiki/DbQueryHa például van egy "characters" táblád, és abból le akarod kérdezni az XY serialhoz tartozó adatokat, például az "admin" értékét, akkor azt ígcs csinálod meg:
function queryFunction(player,cmd,serial) -- a funkció fusson le, és a "player" változóba mentse le azt az játékost, aki beírta a parancsot, a "cmd" változóba a parancs nevét, amit beírt, a "serial" ba a parancs beírása utáni első argumentumot, ami a mi esetnkben a keresett játékos serialja lesz
local qh = dbQuery(connection,"SELECT * FROM adatok WHERE serial=?",serial) -- létrehozol egy változót, a qh-t, mint queryHandler, majd abba lekérdezel egy táblát. Az idézőjelek közözzi részleg azt jelenti rendre: jelölj ki mindent az adatok táblából, ahol a serial=?. Itt a következő argumentum kerül az első kérdőjel helyére, azaz az serial.
local res = dbPoll(qh,500) -- itt a dbPoll kicsomagolja a táblát a res (mint response) változóba, amit kaptál, a qh-ba lementett táblát. Ha a szerver nem válaszol, 500 miliszekundum után megszakítja a folyamatot.
if res then -- ha létezik a tábla
if (#res > 0) -- ha a tábla soarinak száma (#res) nagyobb mint nulla
for i, value in ipairs(res) do -- menejn végig for ciklussal ennek a táblának a sorain
if (value["admin"] >= 1) then -- ha a "value" sornak az "admin" oszlopának az értéke nagyobb, vagy egyenlő mint nulla
triggerClientEvent("infoFromServer",root,value["admin"],player) -- triggerelünk egy kliens oldali eventet, aminek most meg kellene hívódnia. a root-ra, azaz minden elementre meghívjuk ezt a triggerelést. Első paraméternek megadjuk neki a "value["admin"]"-t, másodiknak pedig a játékost, aki beírta a parancsot: "player". Most nézzük meg a kliens oldalt.
end
end
end
dbFree(qh) -- elengedjük a táblát, már nincs ránk szükségünk rá, ne fogyassza a memóriát
end
addCommandHandler("query",queryFunction) -- létrehozunk egy parancsot "query" névvel, majd megadjuk, hogy a "queryFunction" függvény fusson le ennek a parancsnak a beírásakor
-- KLIENS OLDAL --
addEvent("infoFromServer",true) -- itt létrehozzuk az eventet, amit megtriggereltünk szerveroldalról
function infoFromServerHandler (adminLVL, player) -- ugye ráküldtük a functionra triggerelésnél elsőnek az adminszintet, másodjára azt a játékost, aki beírta a parancsot.
if localPlayer == player then -- ha a kliens oldali helyi játékos (localplayer) az az a játékos, aki beírta szerver oldalon a parancsot (player). Erre azért van szükség, mert az összes játékosnak meghívódik ez a kliens oldali event, mivel root-tal triggereltünk, vagy például az event root-tal van hozzáadva.
-- és itt már tudod használni a változót, amit áthoztunk, például ki tudod írni a chatbe:
outputChatBox("A kiválasztott játékos adminszintje:" ..tostring(adminLVL).."!")
end
addEventHandler("infoFromServer",root,infoFromServerHandler) -- itt hozzáadjuk az infoFromServer eventet. Ez fusson le a "root", azaz összes elementnek, majd hívódjon meg ezen event meghívódásakor a infoFromServerHandler function.
Remélem tudtam segíteni.