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

Wysłany: 2020-11-05, 23:56


NoNamik







Wiek: 35
Na forum: 2185 dni
Posty: 289
Nick w MP: JestemNoNamem

Piwa: 374

Respekt: 60

Witam ostatnio chcia?em dorobi? spawn z ostatni? pozycja doda?em w pystories users tabelk? pos dimensions i interior lecz jak podmienilem lecz dalej to nie dzia?a (Ostatni? pozycj? bra?em od pssm)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-11-06, 00:15


Maniekxx

Amator






Wiek: 24
Na forum: 2894 dni
Posty: 232
Nick w MP: Maniekxx

Piwa: 225

Respekt: 110
Respekt: 110

Ostrzeżeń: 20%
Przy wyj?ciu gracza z serwera, musisz pobra? jego pozycj?, dimension oraz interior, a nast?pnie zapisa? to wszystkie informacj? w bazie danych za pomoc? zapytania.

U?yj do tego eventu: https://wiki.multitheftauto.com/wiki/OnPlayerQuit

Potem przy logowaniu, sprawdzaj czy kolumna pos, jest czym? zape?niona, je?li tak to pobieraj z niej dane i za ich pomoc? ze spawni gracza.

Je?li chcesz zapisywa? pozycj? gracza do jednej kolumny, musisz j? pobra?, i zapisa? w bazie danych wraz z przecinkami.

Nast?pnie przy wybieraniu spawnu, doda? t? pozycj?. Gdy b?dzie chcia? si? zespawni? w swojej ostatniej pozycji, u?yj funkcji split.

Aby usun?? przecinki z tej warto?ci kt?r? pobierzesz z bazy danych. Przy respawnie gracza funkcji spawnPlayer() 2,3 oraz 4 argument wstaw przekszta?cone ju? warto?ci.

Tu masz przyk?adowy kod: https://pastebin.com/yQzPncZ8 , nie mog?em go tu wrzuci? poniewa? strona na to nie pozwala.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-11-06, 00:21


NoNamik







Wiek: 35
Na forum: 2185 dni
Posty: 289
Nick w MP: JestemNoNamem

Piwa: 374

Respekt: 60

Z logowaniem nie mam problemu tylko z tym zapisem po wyj?ciu gdy? mam mam onplayerquit ?eby zapisywa?o lecz tego nie robi

[ Dodano: 2020-11-06, 00:22 ]
Jutro ci wy?le kawa?ek kodu i mo?e zobaczysz co jest ?le

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-11-06, 00:26


Maniekxx

Amator






Wiek: 24
Na forum: 2894 dni
Posty: 232
Nick w MP: Maniekxx

Piwa: 225

Respekt: 110
Respekt: 110

Ostrzeżeń: 20%
Ok, czekam na kod.

[ Dodano: 2020-11-06, 00:27 ]
Przy okazji, sprawd? db3 (/debugscript 3) przy wychodzeniu z serwera, oraz przy ??czeniu si? z nim i wybieraniu ostatniej pozycji. Tym sposobem b?dziemy mogli szybciej zbada? ?r?d?o b??du.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-11-06, 11:39


NoNamik







Wiek: 35
Na forum: 2185 dni
Posty: 289
Nick w MP: JestemNoNamem

Piwa: 374

Respekt: 60

s_saveplayers

function savePlayerData(plr)
    local sid=getElementData(plr,"player:sid")
    if not sid then return end
    local money=getPlayerMoney(plr)
    local reputation=getElementData(plr,"player:reputation")
    local worker =getElementData(plr,"player:workinjob")
    local hourstonumber(getElementData(plr,"player:hours")) or 0
    local pp getElementData(plr,"player:pp")
    local x,y,getElementPosition(plr)
    local dim getElementDimension(plr)
    local int getElementInterior(plr)
    local query=exports["pystories-db"]:dbSet("UPDATE pystores_users SET money=?, reputation=?, worker=?, hours=?, pp=? WHERE id=?",
    moneyreputationworkerhoursppsid)
    local query2=exports["pystories-db"]:dbSet(string.format("UPDATE pystores_users SET pos='%.2f,%.2f,%.2f', dimension=%d, interior=%d WHERE id=%d",
    x,y,zdimintsid))
end


addEvent("save:player",true)
addEventHandler("save:player"root, function(player)
if isElement(player) and player then
if getElementType(player) ~= "player" then return end
savePlayerData(player)
outputDebugString("pystories_users> Zapisano statystyki gracza: "..getPlayerName(player))
end
end)
addEventHandler("onPlayerQuit"root, function() savePlayerData(sourceend)



[ Dodano: 2020-11-06, 11:40 ]
jak cos nie ma bledow w db3

[ Dodano: 2020-11-06, 11:40 ]
jak cos nie ma bledow w db3

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-11-06, 12:03


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

To jest zapis, a wczytywanie tego i ustawianie pozycji?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-11-06, 12:15


Maniekxx

Amator






Wiek: 24
Na forum: 2894 dni
Posty: 232
Nick w MP: Maniekxx

Piwa: 225

Respekt: 110
Respekt: 110

Ostrzeżeń: 20%
Zanim wyjdziesz z serwera, u?yj komendy do sprawdzania pozycji, a nast?pnie roz??cz si? z serwera i sprawd? w bazie danych czy pozycja si? zmieni?a, je?li tak, to b?dzie to b??d z wczytywaniem pozycji, a nie z jej zapisem.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-11-06, 13:26


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Sprawdza?e? czy po wyj?ciu z serwera rekord w tabeli si? zmieni?? Bo mo?e to by? b??d z zapisem. Daj zna? i bedziemy dalej sprawdza?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-11-06, 13:27


NoNamik







Wiek: 35
Na forum: 2185 dni
Posty: 289
Nick w MP: JestemNoNamem

Piwa: 374

Respekt: 60

w tym rzecz ze sprawdzalem i nie zapisywalo

[ Dodano: 2020-11-06, 13:30 ]


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-11-06, 13:36


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Zr?b ten zapis na jak?? komend?, wywolaj j? i sprawdz czy sa jakies bledy w db3.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-11-06, 13:43


NoNamik







Wiek: 35
Na forum: 2185 dni
Posty: 289
Nick w MP: JestemNoNamem

Piwa: 374

Respekt: 60

function savePlayerData(plr)
    local sid=getElementData(plr,"player:sid")
    if not sid then return end
    local money=getPlayerMoney(plr)
    local reputation=getElementData(plr,"player:reputation")
    local worker =getElementData(plr,"player:workinjob")
    local hourstonumber(getElementData(plr,"player:hours")) or 0
    local pp getElementData(plr,"player:pp")
    local x,y,getElementPosition(plr)
    local dim getElementDimension(plr)
    local int getElementInterior(plr)
    local query=exports["pystories-db"]:dbSet("UPDATE pystores_users SET money=?, reputation=?, worker=?, hours=?, pp=? WHERE id=?",
    moneyreputationworkerhoursppsid)
    local query2=exports["pystories-db"]:dbSet(string.format("UPDATE pystores_users SET pos='%.2f,%.2f,%.2f', dimension=%d, interior=%d WHERE id=%d",
    x,y,zdimintsid))
end


addEvent("save:player",true)
addEventHandler("save:player"root, function(player)
if isElement(player) and player then
if getElementType(player) ~= "player" then return end
savePlayerData(player)
outputDebugString("pystories_users> Zapisano statystyki gracza: "..getPlayerName(player))
end
end)
addEventHandler("onPlayerQuit"root, function() savePlayerData(sourceend)

addCommandHandler("pozycja",savePlayerData)



takie cos?

Ostatnio zmieniony przez MeeShuffle 2020-11-06, 13:43, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-11-06, 13:44


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Kod wstawiaj zawsze w [lua]

Tak, wpisz cmd /pozycja w grze i zobacz bledy w db3

Postaw piwo autorowi tego posta
 

 
Tagi: nie :: zapisuje :: ostatniej :: pozycji :: bazie :: 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 » nie zapisuje ostatniej pozycji w bazie danych 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