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

Wysłany: 2020-12-01, 11:48


flimbo123







Wiek: 33
Na forum: 5776 dni
Posty: 93
Nick w MP: Flimbo

Piwa: 190

Respekt: 60

Witam, dopiero zaczynam przygod? z LUA, pr?buj? sam ogarn?? zapis score po wylogowaniu gracza. Prosi?bym o pomoc, poniewa? po reconnect i ponownym zalogowaniu gracz nadal ma 0 score, a opr?cz tego utworzone teamy r?wnie? dosta?y w rubryce Score warto?? 0. Oto kod:

addEventHandler('onResourceStart',getResourceRootElement(), 
function() 
call(getResourceFromName("scoreboard"), "addScoreboardColumn""Score"end
addEventHandler("onPlayerLogin"root, 
function() 
     accountScore getAccountData(getPlayerAccount(source), "Score")
     if (accountScorethen
          setElementData(source"Score"tonumber(accountScore)) 
     else
          setElementData(source"Score"0) 
     end
end
)

addEventHandler("onPlayerQuit"root,
function ()
     local scoreData getElementData(source"Score")
     setAccountData(getPlayerAccount(source), "Score"scoreData)
end
)


By?bym wdzi?czny za "w?dk?", a nie ryb?. W ko?cu chcia?bym nauczy? si? sam, a nie dosta? gotowy kod z kt?rego nic nie wynios? ;-)

Ostatnio zmieniony przez Wilq 2020-12-01, 11:48, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-12-01, 11:53


Wilq







Wiek: 24
Na forum: 4429 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Jakie? b??dy /debugscript 3?
Przy evencie onPlayerQuit warto sprawdza? najpierw czy gracz jest w og?le zalogowany (warunek z funkcj? getPlayerAccount).
W evencie onPlayerLogin funkcja pod tym eventem masz zdefiniowane konto gracza ("theCurrentAccount"), na kt?re si? zalogowa? - mo?esz z niego skorzysta?, mo?e tutaj le?y problem.


Więcej informacji znajdziesz w Wikipedii MTA:

onPlayerLogin


Więcej informacji znajdziesz w Wikipedii MTA:

onPlayerQuit


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-12-01, 13:20


flimbo123







Wiek: 33
Na forum: 5776 dni
Posty: 93
Nick w MP: Flimbo

Piwa: 190

Respekt: 60

Debugscript 3 nie dumpuje ?adnych b??d?w.

Sprawdzenie, czy gracz jest w og?le zalogowany nie ma w tym przypadku sensu, poniewa? panel logowania nie wpu?ci gracza niezalogowanego, a funkcja /logout jest zablokowana.

?miem przypuszcza?, ?e mo?e problem le?y w funkcji zapisywania danych do AccountDaty, jednak chyba niezbyt si? da wej?? w baz? i sprawdzi? czy taka AccData jest w og?le zapisana.

Mo?e ma kto? dzia?aj?cy kod, kt?ry mo?na por?wna? z tym i przeanalizowa? ewentualne niedoci?gni?cia?

@EDIT: Ustawi?em manualnie AccontDat? w internal.db, po zalogowaniu rzeczywi?cie przydzieli?o mi t? warto??, kt?r? zapisa?em. Wychodzi na to, ?e problem jest w zapisie.

Postaw piwo autorowi tego posta
 

 
Tagi: zapis :: score :: accountdata
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA 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