Witam. Pisz? skrypt na system pojazd?w z zapisem w pliku bazy danych na sqlite. Problem polega na tym, ?e wszystko fajnie pi?knie, zapisuje co powinien, wczytuje co powinien, ale jak ju? co? si? zmieni w poje?dzie (pozycja, stan ?wiate?, tuning) to po ponownym wczytaniu jest stan, w jakim na pocz?tku zapisa?o te pojazdy. Kto? wie o co mo?e chodzi?? Stawiam i
if baza then
outputDebugString ("* Baza danych przechowalni za?adowana pomy?lnie.")
else
outputDebugString ("* Wyst?pi? problem z baz? danych przechowalni!")
end
function pobierzHandling (element, wartosc)
if isElement (element) and getElementType (element) == "vehicle" and type (wartosc) == "string" then
local handlingTable = getVehicleHandling (element)
local value = handlingTable[wartosc]
if value then
return value
end
end
end
function bbaza ()
local usuwanie = dbQuery ( baza, "CREATE TABLE IF NOT EXISTS POJAZDY ( id int, model int, owner TEXT, x FLOAT, y FLOAT, z FLOAT, rotx FLOAT, roty FLOAT, rotz FLOAT, color1 FLOAT, color2 ...
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...
Witam, mam problem z baz? danych, bo dopiero zaczynam z ni? przygod?. Chc? pobra? warto?? z np. pierwszego wiersza. z kolumny "ILOSC". Narazie napisa?em co? takiego:
Witam ! Mam problem, poniewaz jak chce zrobic reset pojazdow na dayz to usuwam baze danych i wgrywam ta co wczesniej byla no i wszystko ok tylko czemu mi tenty tez usuwa
Witam, chcia?bym rozpocz?? przygod? z baz? danych jak? jest sqlite.
Prosi?bym o funkcje kt?re s? potrzebne do stworzenia takiej bazy danych oraz w jaki spos?b mog? tworzy? kolumn? lub rubryk? z nickiem gracza np. do premium?
Witam, zacz??em si? bawi? z sql lite. I mam oto taki problem:
DB3; attempt to concatenate global (a nil value) (guiPass)
s-side:
(Pr?bowa?em w t?umaczu)
connect = dbConnect( "sqlite", "richDB.db" )
if connect then
outputDebugString( "[richGAME]Po??czenie z baz? SQLite zako?czy?o si? powodzeniem.")
else outputDebugString( "[richGAME]Po??czenie z baz? SQLite zako?czy?o si? nie powodzeniem.") stopResource(getThisResource()) end
addEvent("ClickLoogin", true)
function Login() Login = "" Pass = "" local auth = dbQuery( connect, (string("SELECT Uid FROM rich_users WHERE Login = '"..guiLogin.."' AND Pass = '"..guiPass.."' LIMIT 1", Login, Pass)))
if guiLogin == Login and Pass == guiPass then
outputChatBox("Zalogowano")
else outputChatBox("Poda?e? z?e has?o lub login!") end
end
addEventHandler("ClickLoogin", getRootElement(), Login)
Witam, mam problem z wyci?ganiem danych z SQLite, ucz? si? dopiero LUA i pr?buje ale nie potrafi? tego zrobi?:
local gate=createObject(8378,2882.5,-246.19999694824,11.199999809265,0,0,90)
function bramacrips(plr)
if (getAccount(data.account)) then
local player = getAccountPlayer(getAccount(data.account)) users[data.groupName] = {} table.insert(users[data.groupName], data.account)
if (player) then
moveObject(gate,2000,2882.5,-246.19999694824,4.199999809265) end
end function bramacrips2(plr)
if (getAccount(data.account)) then
local player = getAccountPlayer(getAccount(data.account)) users[data.groupName] = {} table.insert(users[data.groupName], data.account)
if (player) then
moveObject(gate,2000,2882.5,-246.19999694824,11.199999809265) end
end
addCommandHandler('otworz',bramacrips) addCommandHandler('zamknij',bramacrips2) end
end
(S? na ko?cu dwa endy bo bez tego skrypt si? nie uruchamia?.)
Zamierzam zrobi? bramy pod bazy do grup(DayZ)
Oto skrypcik razem z db: [CLICK]
Zrobi?em system raport?w pod SQLite. Dzia?a on tak ?e po wspisaniu komendy /raport [id] [tresc] zapisuje mi w bazie dany SQL zg?aszanego, zg?aszaj?cego, tre?? oraz date.
Cze??. Pisz? skrypt na pr?b? czasow? i potrzebuj? posortowa? wyniki w tabeli sqlite od najmniejszej do najwi?kszej tylko za bardzo nie wiem jakiej funkcji u?y? albo zapytania(o ile tak to si? nazywa w sqlite - nie ogarniam tego praktycznie) dlatego przychodz? do was poprosi? o pomoc Za pomoc stawiam piwko
Witam chcia?bym pod?oczy? do sql takom w?a?nie element dat? ale nw jak to zrobi? bo nie bardzo ogarniam sql
Element data:
[lua]setElementData(pojazd, "Turbo", "1")[/lua]
a tu kod zapisu aut:
[lua]handler = dbConnect("sqlite", "pojazdy.db")
--pojazdy
dbExec(handler, "CREATE TABLE IF NOT EXISTS pojazdy (id INTEGER PRIMARY KEY AUTOINCREMENT, wlasciciel TEXT, model INTEGER, x FLOAT, y FLOAT, z FLOAT, rot FLOAT, ca INTEGER, cb INTEGER, cc INTEGER, przebieg FLOAT, paliwo FLOAT)")
dbExec(handler, "CREATE UNIQUE INDEX IF NOT EXISTS IDX_id on pojazdy(id)")
--tuning
dbExec(handler, "CREATE TABLE IF NOT EXISTS tuning (id INTEGER, t0 INTEGER, t1 INTEGER, t2 INTEGER, t3 INTEGER, t4 INTEGER, t5 INTEGER, t6 INTEGER, t7 INTEGER, t8 INTEGER, t9 INTEGER, t10 INTEGER, t11 INTEGER, t12 INTEGER, t13 INTEGER, t14 INTEGER, t15 INTEGER, t16 INTEGER, paintjob INTEGER, hr INTEGER, hg INTEGER, hb INTEGER, lighthp INTEGER)")
dbExec(handler, "CREATE UNIQUE INDEX IF NOT EXISTS IDX_id on tuning(id)")
local function getVehicle(id)
if id then
id=tonumber(id)
for _,v in ipairs(getElementsByType("vehicle"))do
if getElementData(v,"car_id") then
if getElementData(v,"car_id")==id then
return v
end
end
end
end
return false
end
Chcia?bym zaprezentowa? mam skrypt kt?ry dzisiaj napisa?em. Zaj??o mi to 2 godziny ale efekty pracy wida?.
Skrypt kt?ry wam prezentuje jest Zapis Pojazd?w na SQLite. Ca?y skrypt jest napisany w spos?b taki, aby ka?dy m?g? go ka?dy edytowa?.
Na ten czas system zapisuje takie warto?ci jak: -Model pojazdu
-ID pojazdu( elementData )
-Color ( 12 color?w )
-Tuning
-Tablice
-Pozycje
-Rotacje
-?ycie
-PaintJob
Wymagania aby zapisa? pojazd:
-Aby zapisa? pojazd trzeba by? jego kierowc?
-Auto musi posiada? elementDate (vehicle:id, vehicle:owner, prywatne )
Komendy:
- /veh.zapisz = zapisuje pojazd do bazy danych SQLite
- /veh.usun = usuwa pojazd z bazy danych SQLite
Prosz? o zg?aszanie swoich pomys??w oraz wszelkich b??d?w skryptu ( b??d?w prawdopodobnie nie ma )
Download:
Ukryta wiadomość / Hidden message(aby ją zobaczyć musisz postawić użytkownikowi)
Wiadomość została ukryta, aby ją przeczytać należy się zalogować.
Witam, mam problem z zapisem tuningu. Kiedy montuj? tuning do tylko jednego auta, w momencie zapisu samochod?w zapisuje on te? dla wszystkich aut wy?ej w tabeli.
[size=18][color=orange][center]SQL - SQLite[/center][/color][/size]
Witaj [you], w tym poradniku nauczysz się rozróżniać czym jest SQLite, a czym jest samo SQL. Bardzo wiele osób myśli, że jest to to samo, ale tak nie jest. Kolejną rzeczą, którą się dowiesz w tym poradniku, jest to, że nauczysz się podstawowych zapytań SQL i będziesz je stosować w skryptach Lua. Na sam koniec dowiesz się, jakie są funkcje SQL (SQLite) w Lua i jak wygląda ich składnia oraz przykłady zastosowań.
[size=14][color=#aaff00]Czym jest SQL?[/color][/size]
Jest to język programowania (język zapytań), dzięki któremu możemy zarządzać bazą danych (SQLite i MSQL), dodawać, usuwać, aktualizować oraz pobierać dane z tabeli, a także tworzyć i modyfikować tabele w bazie danych.
[size=14][color=#aaff00]Czym jest SQLite?[/color][/size]
SQLite jest systemem zarządzania bazą danych (inaczej samą bazą danych). SQLite możemy otworzyć przy pomocy programu DB Browser for SQLite, który możemy pobrać tutaj. Bazę danych tę obsługuje język SQL, który tutaj opisuję.
[size=18][color=orange][center]SQL w MTA i jej funkcje[/center][/color][/size]
W tej części poradnika postaram się wyjaśnić, jakie są funkcje SQL w MTA i jak ich używać.
[size=14][color=#aaff00]dbConnect[/color][/size]
Na samym początku wyjaśnię, jak połączyć się z Twoją bazą danych i poprzez jaką funkcję. Funkcja nazywa się dbConnect i jest bardzo łatwa w zastosowaniu.
[b]dbConnect[/b] jest funkcją typu [b]Side-Server[/b], możemy tylko używać...
Wyt?umaczy kto? sqlite? Chc? wiedzie? jak zrobi? plik tabele itd
[lua]tabela = dbConnect ("sqlite","pojazdy.db")
function zapisz (source)
for k, v in ipairs (getElementsByType ("vehicle")) do
local r, g, b, a = getVehicleColor(v)
przebieg = getElementData (v, "pojazd_przebieg")
paliwo = getElementData (v, "pojazd_paliwo")
model = getElementModel (v)
local x,y,z = getElementPosition(v)
ansert = dbQuery (tabela, ("CREATE TABLE IF NOT EXIST Veh(VEH TEXT)")
insert = dbQuery (tabela, "INSERT INTO (przebieg, paliwo, model, x, y, z, r, g, b, a) VALUES (?,?,?,?,?,?,?,?,?,?)", przebieg, paliwo, model, x, y, z, r, g, b, a)
end
end
function pobierz (source)
local a = dbQuery (tabela, "SELECT * FROM Veh")
local x = dbPoll(a, -1)
for _,v in ipairs (x) do
auto = createVehicle (v["model"], x, y, z)
setElementData (auto, "pojazd_przebieg", v["przebieg"])
setElementData (auto, "pojazd_paliwo", v["paliwo"])
local r,g,b = ["r"], ["g"], ["b"]
setVehicleColor(v["model"], r, g, b)
end
end
addEventHandler ( "onResourceStart", getRootElement(), pobierz )
function asd(player, cmd, model)
id = getVehicleID (model)
local x,y,z = getElementPosition(pl...
Witam. Taki mi?y kto? t?umaczy? mi sqlite ale nie wiem czy dobrze zrozumia?em ca?e po??czenia itp. Zrobi?em skrypt na zapis auta (raczej jednego ) ale nie wiem czy by dzia?a? bo nie mam dost?pu do komputera a chcia?bym to ogarn??. Co? jest ?le (znaczy na pewno jest xD), a jak tak to m?g?by kto? co?o tym dopowiedzie??
tabela = dbConnect ("sqlite","cos.db")
function zapisz_auta_z_mapy (source)
for k, v in ipairs (getElementsByType (vehicle)) do przebieg = getElementData (v, "pojazd_paliwo") model = getElementModel (v) cos = dbQuery (tabela, "INSERT INTO (przebieg, model) VALUES (przebieg, model, ?))
end
end
-- bez eventa :P
function ppbierz (source)
dbQuery (tabela, "SELECT przebieg, model FROM tabela")
auto = createVehicle (model, x, y, z)
setElementData (auto, "pojazd_paliwo", przebieg)
end
-- bez eventa :p
Za pomoc daj?
[ Dodano: 2015-11-17, 22:39 ]
Liter?wki wybaczcie ale pisane na telefonie na szybko
Witam tak jak w temacie zrobi?em sobie zapis pojazd?w ale chcia?bym r?wnie? zrobi? zapis tuningu i o to moje pytanie jak to zrobi? jakich funkcji event?w u?y? mo?e mi kto? to rozpisa? bo pr?bowa?em parena?cie razy ale mi nie wychodzi?o za pomoc i
Witajcie mam ju? tyle kodu i nie wiem jak dalej pomo?e kto? za pomoc oczywi?cie browarek wiem tyle ?e funkcja getVehicleUpgradeOnSlot pr?bowa?em paru sposob?w ale nic nie dzia?a?o
local tuning = dbConnect ( "sqlite", "zapistune.db" )
addEventHandler ( "onResourceStart", resourceRoot, function ()
if tuning then
dbExec ( tuning, "CREATE TABLE IF NOT EXISTS Tuning()" ) local q = dbQuery ( tuning, "SELECT * tuning" ) local result = dbPoll ( q, -1 )
if result then for i,v in pairs ( result ) do end
end
end
end )
function zapis ( plr ) dbQuery ( tuning, "DELETE FROM Tuning" )
for i,v in ipairs ( getElementsByType ( "vehicle" ) ) do dbQuery ( tuning, "INSERT INTO Tuning () VALUES ()") end
end
end
Witam, mam sw?j system pojazd?w i robi? teraz zapis do niego ale jak mi zapisuje pojazdy to wszystkie nawet publiczne jak zrobi? aby tylko zapisywa?y z systemu a druga rzecz polega na tym jak zrobi? aby zapisywa? mi si? tuning jakie funkcje za pomoc zimne
Witam. M?g?by mi kto? tutaj wyt?umaczy? jak tworzy? skrypty oparte na sqlite? Tzn. Od czego zacz??, jak "w?o?y?" co? do tabeli, jak si? po??czy? z baz?, jak przechowywa? w niej dane itp. Prosi?bym te? o jakie? przyk?ady w kodach razem z obja?nieniami . Nauczy?bym si? z wiki ale nie znam dobrze angielskiego i tak samo nie wejde na kana? Pioruna bo nie mam transferu ?eby ogl?da? na YouTube . Za pomoc stawiam
Witajcie, mam problem z przechowywalni? pojazd?w polega on na tym, ?e jak wk?adam auto do przecho to je chowa ale jak chcem wyci?gn?? to nie moge
[lua]
local polaczenie = dbConnect ( "sqlite", "db.db" )
dbExec ( polaczenie, "CREATE TABLE IF NOT EXISTS Zapis ( ID INTEGER, Model INTEGER, Paintjob INTEGER, Tuning VARCHAR, Paliwo INTEGER, Owner VARCHAR )" )
local marker=createMarker(-1855.70,113.46,14.30,"cylinder",6,255,0,255,100)
local odb=createMarker(-1849.64,110.88,14.30,"cylinder",3,255,0,0,100)
addEventHandler("onMarkerHit",root,function(e)
if source==marker then
if getElementType(e)=="vehicle" then
local id=getElementData(e, "id")
if id then
local paliwo=getElementData(e, "pojazd_paliwo") or 0
tabela = {}
for _,v in ipairs ( getVehicleUpgrades ( e ) ) do
table.insert ( tabela, v )
end
local tuning=table.concat ( tabela, "," )
local owner=getElementData(e, "wlasciciel") or "Brak"
local model=getElementModel(e)
local paint=getVehiclePaintjob(e)
dbExec( polaczenie,"INSERT INTO `Zapis` (ID, Model,Paintjob,Tuning,Paliwo,Owner) VALUES (?,?,?,?,?,?)",id,model,paint,tuning,paliwo,owner)
destroyElement(e)
else
outputChatBox("Schowa?e? sw?j pojazd do przechowywalni aut.")
end
end
elseif source==odb then
if getElementType(...
Witajcie, chcai?bym aby kto? z was pom?g? mi napisa? zapis aut sqlite pod system aut z mojego serwera ja nie znam si? wogule na sqlite wi?c potrzebuje pomocy wyt?umaczy kto? jak zacz?? za pomoc
Siemanko robie sobie logowanie w sqlite i mam:
KOD
local conn = dbConnect("sqlite","zapis_gracza_logim.db")
addEventHandler("onResourceStart",resourceRoot,
function() dbExec(conn, "CEREATE TABLE IF NOT EXISTE konto(id INTEGER AUTO_INCREMENT, nazwa INTEGER AUTO_INCREMENT, kasa INTEGER AUTO_INCREMENT, skin INTEGER AUTO_INCREMENT, pojazd INTEGER AUTO_INCREMENT)") end )
I jak mog? go sprawdzi? czy tabela si? pojawi?a czy si? nie pojawia? Wiem ?e jest jaki? program free ale nie wiem gdzie go mog? znale?? szukam ju? od 30min i nic.
Witam chia?bym si? dowiedzie? kt?re wed?ug was jest lepsze: SQLite czy XMl.
I poda? ciekawe przyk?ady zastosowa? waszego wyboru.
A tak pozatym mam pytanko.
Czy w XML je?eli si? nie zresetuje skryptu nie zostan? wgran? nowe rekordy czy? nie ?
A w SQLite da si? zauwa?y?em to na moim systemie zapisu pojazdu.
Je?eli si? myle prosz? o popraw?
Kolejny pytanko mo?e mi kto? poda? najwa?niejsze zapytania SQL ?
Co w tym jest nie tak, ?e w princie s? warto?ci 0, opr?cz UID, kt?rym pomin??em baze danych. Nie wy?wietla nazwy, pieni?dzy ani lidera. Wiem ?e to na pewno jest co? nie tak z pobieraniem danych z bazy. Tylko co?
Witam, daje na te forum m?j system pojazd?w komedy dla admina
udost?pniam skrypt z powodu ?e inni podkradli si? pod moje skrypty
za niebawem udost?pnie ca?ego Gamemode YLGames i YW-Life serwery kt?re robi?em
-zapiszpojazdy zapisujemy pojazdy
-stworz <id pojazdu> <login w?a?ciciela>
max mo?na mie? 5 aut.
Sprzedawanie jest za pomoca markera
Ukryta wiadomość / Hidden message(aby ją zobaczyć musisz postawić użytkownikowi)
Wiadomość została ukryta, aby ją przeczytać należy się zalogować.
Witam napisa?em skrypt na prywatne pojazdy, ale jest ma?y problem kiedy zrestartuje serwer to skrypt nie zapisuje w?asciciela pojazdu, jak mog? zrobi? zeby w?a?ciciel si? zapisa??
Mam pewien problem z skryptem [b]Shuffle[/b] gdy? mam skrypt na prywatne auta oraz nadawanie im ID i chcia?bym doda? do tego zapisu aut zapisywanie tuningu i zapisywanie tego ID lecz nie wychodzi mi.
Skrypt na tworzenie tych aut z nadawaniem ID:
[lua]aktualneID = 0
function give(playerSource,pcar,car,cost,km)
car = getVehicleModelFromName(car)
if isPlayerInACL(playerSource,"Admin") then
local x, y, z = getElementPosition(playerSource)
if ( car ) then
local theCar = createVehicle(car,x,y,z-0.1)
warpPedIntoVehicle(playerSource,theCar)
setElementPosition(playerSource,x,y,z+1.5)
local xr,yr,zr = getElementRotation(playerSource)
setElementRotation(theCar,xr,yr,zr)
setElementData(theCar,"vehicle:cost",tonumber(cost))
setElementData(theCar,"vehicle:owner",0)
setElementData(theCar,"vehicle:id",aktualneID)
setVehiclePlateText(theCar,"SF "..aktualneID)
aktualneID = aktualneID + 1
setElementFrozen(theCar,true)
outputChatBox("#63DBFF*Stworzy?e? pojazd #B9F46C"..getVehicleNameFromModel(car).." #63DBFFkt?ry kosztuje #B9F46C"..cost.."$#63DBFF.",playerSource,0,0,0,true)
if km then
setElementData(theCar,"vehicle:travel",tonumber(km))
end
else
outputChatBox("#63DBFF*Wpisa?e? z?? nazw? auta.",play...
Helo?. Od niedawna bawi? si? w MTA j?zykami bazodanowymi (czyli wbudowanymi SQLite i MySQL). Niby nauczy?em si? ju? wykonywa? podstawowe zapytania, ale jak widz?, SQLite jest ponad 10 razy wolniejsze przy wykonywaniu SELECT. Zastosowa?em transakcje, kt?re powinny by? wsz?dzie dla tego j?zyka (zastosowa?em si? do tego poradnika), wykonuj? zapytania [b]250,000[/b] razy (!) i z tego co zauwa?y?em:
- INSERT w SQLite dzia?a o kilkana?cie, czasem kilkaset milisekund szybciej (!)
- SELECT w SQLite dzia?a o ponad 10 razy wolniej
Dla test?w w??czy?em te? transakcje dla obu j?zyk?w (tak mi poleci? Tey) i w?a?nie od tego czasu zauwa?y?em, ?e SQLite si? "krztusi". Czy da si? to jako? zoptymalizowa??
Dodam te? tekst z log?w, coby udowodni?, ?e rzeczywi?cie SQLite ma problem z wykonywaniem SELECT:
[code][10] INFO: Czas wykonania p?tli - 3917 milisekund.
[10] INFO: Po??czono z baz? danych.
[10] INFO: Pomy?lnie wype?niono tabel? w SQLite. Czas trwania to 3548 milisekund
[10] INFO: Pomy?lnie wype?niono tabel? w MySQL. Czas trwania to 3640 milisekund
[10] INFO: Pomy?lnie wybrano z tabeli. Czas trwania dla SQLite to 1678 milisekund
[10] INFO: Pomy?lnie wybrano z tabeli. Czas trwania dla MySQL to 182 milisekund[/code]
A tutaj kod:
[lua]local MySQL_HOST = "HOST"
local MySQL_USER = "USER"
local MySQL_PASS = "PASS"
local MySQL_DB = "DB"
local MySQL_PORT = 3306
Witajcie, od wiek?w korzystam z MySQL, ale ostatnio mam straszne problemy z Apache w XAMPP. Postanowi?em si? przerzuci? na SQLite. Lecz tu mam problem, czym r??ni? i jak r??ni? si? funkcje pomi?dzy SQLite a MySQL
Witam sci?g?em sobie bansystem z jakiej? strony i wogule nie umiem tego przet?umaczy? nawet nei wiem co to znaczy i nie ogarniam prosi?bym jakby kto? m?g? jako? to ogarn?? albo da? link do jakiego? polskiego polej? sie