Czesc Mam takie pytanie, jak zrobic zapis i wczytywanie tuningu w JSON ? Chodzi o to ze poprostu funkcja getVehicleUpgrade, nie zwraca slotu tylko jak?? tabel?. Je?eli zapisuj? tabele do zmiennej i pr?buj? j? nada? to nie dzia?a Za pomoc and
[ Dodano: 2018-07-23, 21:23 ]
przyk?ad z wiki zwraca co? dziwnego czyli
np Nie mam spoilera a pisze ?e mam id 1010 (ale 1010 to nitro)
Cze?? A wi?c zrobi?em sobie funkcje kt?ra zapisuje mi co? w JSON do bazy danych, lecz niestety nie dzia?a, a mianowicie nie dzia?a pobieranie tych danych czyli statusu silnika, hamulca i ?wiate?, a samo nadawanie dzia?a. Oto kod:
Witam. Mam pewien problem ot?? zapisuj? sobie dan? w SQLite przy pomocy toJSON i wszystko jest cacy tylko problem pojawia si? w momencie kiedy chc? te dane odczyta?, a dok?adniej wyskakuje mi w debugscript taki oto komunikat:
[code]
WARNING: [gameplay][SAO]-logowanieS.lua:59: Bad argument @ 'fromJSON' [Expected string at argument 1, got nil]
WARNING: [gameplay][SAO]-logowanieS.lua:60: Bad argument @ 'fromJSON' [Expected string at argument 1, got nil]
WARNING: [gameplay][SAO]-logowanieS.lua:61: Bad argument @ 'fromJSON' [Expected string at argument 1, got nil]
[/code]
i nie do ko?ca wiem jak to naprawi?
Tutaj jest zapisywanie:
[lua]
dbExec(conn, "INSERT INTO userdata(uid, login, position, rotation, stats) VALUES(?,?,?,?,?)",1,login,toJSON({0,0,5}),toJSON({0,0,0}),toJSON({100,0,0}))
[/lua]
A tutaj odczytywanie:
[lua]
local qh = dbQuery(conn, "SELECT * FROM accounts")
local result = dbPoll(qh, -1)
if result and #result > 0 then
for i,row in pairs(result) do
if login == row["login"] and pass == base64Decode(row["password"]) then
outputChatBox("zalogowano pomyslnie", source)
setElementData(source, "player_logged", true)
setElementData(source, "player_UID", row["ID"])
local stats = fromJSON(row["stats"])
local pos = fromJSON(row["position"])
local rot = fromJSON(row["rotation"])
setEl...
Przez ostatni czas tutaj wchodz? i wylewam moje b??dy, wi?c zrobi? tak kolejny raz.
Pobra?em skrypt na zapis, uzna?em ?e jest solidniej wykonany ni? ja bym go zrobi?, lecz prawie wszystko dzia?a. Mi?dzy innymi gdy zgin? bro? si? nie zapisuje (oczywi?cie jest db, za chwilk? o tym), a gdy robi? reconnect wcze?niej przydzielaj?c sobie bro? ow? dostaj? po zalogowaniu. Czyli jedyny konflikt przy ?mierci.
Oto warning:
[lua]Bad argument "toJSON"[/lua]
to jest linijka 143 czyli w tym zdarzeniu:
[lua]addEventHandler("onPlayerWasted", root,
function ( )
local account = getPlayerAccount(source)
if (account) and not (isGuestAccount(account)) then
local weapons = getAllPedWeapon(source)
setAccountData(account, "weapons", toJSON(weapons))
end
end)[/lua]
Dok?adnie ta:
[lua]end (przedostatni, zaka?czaj?cy instrukcj? warunkow?)[/lua]
To Error:
[lua]Bad argument #1 to pairs, table expected got nil[/lua]
Kod:
[lua]addEventHandler("onPlayerSpawn", root,
function ( )
local account = getPlayerAccount(source)
if (account) and not (isGuestAccount(account)) then
local weapons = getAccountData(account, "weapons")
if (weapons) then
takeAllWeapons(source)
for weapon, ammo in pairs(fromJSON(weapons)) do
giveWeapon(source, weapon, ammo, true)
end
end
end
end)[/lua]
Linijka b??du:
[lua]giveWeapon(source, we...