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

Wysłany: 2017-05-21, 11:40


Atroth







Wiek: 23
Na forum: 3677 dni
Posty: 1089
Nick w MP: Atroth

Piwa: 4808

Respekt: 540
Respekt: 540

Witam. Ucz? si? pisa? skrypty pod baz? danych. Chcia?bym zrobi? tak, i? przy wej?ciu gracza na serwer, w bazie danych zapisuje si? jego nick i liczba pieni?dzy. Niestety nie wiem jak to zrobi?.


local connect dbConnect "sqlite""baza.db" )
if connect then
    outputDebugString"Po??czenie z baz? SQLite zako?czy?o si? powodzeniem.")
    dbExec (connect"CREATE TABLE IF NOT EXISTS player (nick TEXT, money TEXT)")
    dbExec (connect"CREATE TABLE IF NOT EXISTS frakcja (nick TEXT)")
else
    outputDebugString"Po??czenie z baz? SQLite zako?czy?o si? nie powodzeniem.")
    stopResource(getThisResource())
end


for i,v in ipairs (getElementsByType("player")) do
    local nick getPlayerName(v)
    local money getPlayerMoney(v)
    dbQuery connect"INSERT INTO player ( nick, money ) VALUES ( ?,? )"nickmoney)
end


Podpis

Użytkownik - 10-05-2016
Support Team - 17.06.2017
Moderator - 25.11.2017
Mod-Team - 02.07.2018

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-21, 12:10


Dexnes_

Tiger






Wiek: 26
Na forum: 4401 dni
Posty: 620
Nick w MP: Dexnes

Piwa: 1394

Respekt: 390
Respekt: 390Respekt: 390Respekt: 390Respekt: 390

Mo?e jaki? event ?


Więcej informacji znajdziesz w Wikipedii MTA:

onPlayerJoin


Poczytaj co robi :


Więcej informacji znajdziesz w Wikipedii MTA:

dbQuery



Więcej informacji znajdziesz w Wikipedii MTA:

dbExec


Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-21, 20:48


Atroth







Wiek: 23
Na forum: 3677 dni
Posty: 1089
Nick w MP: Atroth

Piwa: 4808

Respekt: 540
Respekt: 540

BlackGamePL, Czy to jest dobrze? Nie mam teraz mo?liwo?ci sprawdzenia czy dzia?a.


local connect dbConnect "sqlite""baza.db" )
if connect then
    outputDebugString"Po??czenie z baz? SQLite zako?czy?o si? powodzeniem.")
    local tabela dbExec connect"CREATE TABLE IF NOT EXISTS player ( name VARCHAR )" )
    local tabela2 dbExec connect"CREATE TABLE IF NOT EXISTS frakcja ( name VARCHAR )" )
else
    outputDebugString"Po??czenie z baz? SQLite zako?czy?o si? nie powodzeniem.")
    stopResource(getThisResource())
end

addEventHandler("onPlayerJoin"getRootElement(), function()
for i,v in ipairs (getElementsByType("player")) do
    local nick getPlayerName(v)
    local qh dbQuery connect"INSERT INTO player ( nick ) VALUES ( ?,? )"nick)
    local result dbPollqh, -)
end
end)


Podpis

Użytkownik - 10-05-2016
Support Team - 17.06.2017
Moderator - 25.11.2017
Mod-Team - 02.07.2018

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-21, 21:28


Dexnes_

Tiger






Wiek: 26
Na forum: 4401 dni
Posty: 620
Nick w MP: Dexnes

Piwa: 1394

Respekt: 390
Respekt: 390Respekt: 390Respekt: 390Respekt: 390

Rookspack, Nie , do "INSERT" bardziej polecam dbExec , gdy? dodatkowe sprawdzanie nie b?dzie ci potem potrzebne. W dodatku nie wiem po co ci p?tla do graczy , po wej?ciu gracza na serwer b?dzie pobiera?o wszystkich graczy. Co do tego zapytania to nie wiem dlaczego masz "?,?" skoro dodajesz tylko 1 argument.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-21, 22:41


Atroth







Wiek: 23
Na forum: 3677 dni
Posty: 1089
Nick w MP: Atroth

Piwa: 4808

Respekt: 540
Respekt: 540

BlackGamePL, Zmieni?em krok po kroku jak napisa?e?.

Wyskakuje bad argument z

local nick getPlayerName(plr)


Ca?y kod:


local connect dbConnect "sqlite""baza.db" )
if connect then
    outputDebugString"Po??czenie z baz? SQLite zako?czy?o si? powodzeniem.")
    local tabela dbExec connect"CREATE TABLE IF NOT EXISTS player ( Nick VARCHAR )" )
    local tabela2 dbExec connect"CREATE TABLE IF NOT EXISTS frakcja ( Nick VARCHAR )" )
else
    outputDebugString"Po??czenie z baz? SQLite zako?czy?o si? nie powodzeniem.")
    stopResource(getThisResource())
end

addEventHandler("onPlayerJoin"getRootElement(), 
function(plr)
    local nick getPlayerName(plr)
    dbExec connect"INSERT INTO player ( Nick ) VALUES ( ? )"nick)
end
)


Prosz? o wyrozumia?o??. Baza danych w LUA na pocz?tku jest trudnym ogarni?ciem.

Podpis

Użytkownik - 10-05-2016
Support Team - 17.06.2017
Moderator - 25.11.2017
Mod-Team - 02.07.2018

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-22, 09:54


marcin778

Krytyk serwerów MTA






Wiek: 24
Na forum: 4149 dni
Posty: 2268
Nick w MP: Marcineg

Piwa: 4662

Respekt: 1436,8
Respekt: 1436,8

Zamie? plr na source

Podpis
Moje prace: https://www.youtube.com/c...MuaWGHPp1mhlGnw

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- dawniej
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-22, 14:12


Atroth







Wiek: 23
Na forum: 3677 dni
Posty: 1089
Nick w MP: Atroth

Piwa: 4808

Respekt: 540
Respekt: 540

marcin778, Ok, brak db3. Czy za pomoc? sqllite browser b?d? m?g? przegl?da? nicki graczy, kt?rzy wejd? na serwer?

Podpis

Użytkownik - 10-05-2016
Support Team - 17.06.2017
Moderator - 25.11.2017
Mod-Team - 02.07.2018

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-23, 00:35


marcin778

Krytyk serwerów MTA






Wiek: 24
Na forum: 4149 dni
Posty: 2268
Nick w MP: Marcineg

Piwa: 4662

Respekt: 1436,8
Respekt: 1436,8

Tak, ale mog? by? problemy z tym ,?e kolumna Nick jest VARCHAR powinno by? TEXT

Podpis
Moje prace: https://www.youtube.com/c...MuaWGHPp1mhlGnw

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- dawniej
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-23, 15:57


Atroth







Wiek: 23
Na forum: 3677 dni
Posty: 1089
Nick w MP: Atroth

Piwa: 4808

Respekt: 540
Respekt: 540

marcin778, Wi?c zmieni?em. Odpali?em skrypt przez konsol?, wchodz? na serwer, patrz? w otwieram baze danych, s? tabele, ale mojego nicku ju? nie :x

Podpis

Użytkownik - 10-05-2016
Support Team - 17.06.2017
Moderator - 25.11.2017
Mod-Team - 02.07.2018

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-24, 21:45


eject

kurdebele






Wiek: 30
Na forum: 3659 dni
Posty: 182
Nick w MP: EjecT

Piwa: 2456

Respekt: 85,8

Ostrzeżeń: 60%
local connect dbConnect "sqlite""baza.db" )
if connect then
    outputDebugString"Po??czenie z baz? SQLite zako?czy?o si? powodzeniem.")
    local tabela dbExec connect"CREATE TABLE IF NOT EXISTS player ( Nick VARCHAR )" )
    local tabela2 dbExec connect"CREATE TABLE IF NOT EXISTS frakcja ( Nick VARCHAR )" )
else
    outputDebugString"Po??czenie z baz? SQLite zako?czy?o si? nie powodzeniem.")
    stopResource(getThisResource())
end

addEventHandler("onPlayerJoin"getRootElement(), 
function()
    local nick getPlayerName(source)
    dbExec connect"INSERT INTO player ( Nick ) VALUES ( ? )"nick)
end
)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-24, 21:51


Atroth







Wiek: 23
Na forum: 3677 dni
Posty: 1089
Nick w MP: Atroth

Piwa: 4808

Respekt: 540
Respekt: 540

eject, Nie wiem za bardzo co ty tu zmieni?e?, pomijaj?c, ?e ten spos?b ju? pr?bowa?em, czyta si? up ...

Podpis

Użytkownik - 10-05-2016
Support Team - 17.06.2017
Moderator - 25.11.2017
Mod-Team - 02.07.2018

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-24, 21:54


eject

kurdebele






Wiek: 30
Na forum: 3659 dni
Posty: 182
Nick w MP: EjecT

Piwa: 2456

Respekt: 85,8

Ostrzeżeń: 60%
1. Usun plik sqlite.db pry wylaczonym skrypcie
2. Przy tworzeniu tavel masz Nick VARCHAR zmien na Nick TEXT
3.zastosuj dzialanie handlera onPlayerJoin z kodu wyzej.
4 odpal skrypt
5.reconnect

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-24, 21:58


Atroth







Wiek: 23
Na forum: 3677 dni
Posty: 1089
Nick w MP: Atroth

Piwa: 4808

Respekt: 540
Respekt: 540

eject, Skrypt jest oparty na serwerze lokalnym. Nie za bardzo napisa?e? to po polsku.

Podpis

Użytkownik - 10-05-2016
Support Team - 17.06.2017
Moderator - 25.11.2017
Mod-Team - 02.07.2018

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-24, 22:00


eject

kurdebele






Wiek: 30
Na forum: 3659 dni
Posty: 182
Nick w MP: EjecT

Piwa: 2456

Respekt: 85,8

Ostrzeżeń: 60%
Po polaczeniu przy dbConnect tworxy ci plik w folderze danego asobu w twoim przykladu baza.db potem zastosuj wskazowki wyzej

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-24, 22:05


Atroth







Wiek: 23
Na forum: 3677 dni
Posty: 1089
Nick w MP: Atroth

Piwa: 4808

Respekt: 540
Respekt: 540

eject,

Zmieni?em VARCHAR na TEXT w kodzie. Nie za bardzo to rozumiem:

Kod:


3.zastosuj dzialanie handlera onPlayerJoin z kodu wyzej.


Podpis

Użytkownik - 10-05-2016
Support Team - 17.06.2017
Moderator - 25.11.2017
Mod-Team - 02.07.2018

Postaw piwo autorowi tego posta
 

 
Tagi: baza :: danych
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Baza danych Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

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