PL/getAccountData
From Multi Theft Auto: Wiki
Note: Polecamy, abyś klucze wartości zapisywał w sposób 'zasób.klucz'. Zostanie to pokazane w przykładzie poniżej. Może to zapobiec niezgodnościom pomiędzy różnymi zasobami. |
Funkcja ta pozyskuje wartość zapisaną pod danym kluczem przez setAccountData. Dane zapisane w account data są trwale zapisane przez całą sesję użytkownika, wyjątkiem jest granie przy użyciu konta gościa.
Składnia
string getAccountData ( account konto, string klucz )
OOP Syntax Help! I don't understand this!
- Method: account:getData(...)
- Counterpart: setAccountData
Required Arguments
- theAccount: Konto z którego chcesz pobrać wartość.
- key: Klucz pod którym jest zapisana wartość.
Zwracana wartość
Funkcja ta zwraca string zawierający wartość lub fałsz jeżeli nie było żadnej wartości pod danym kluczem.
Przykład
Załóżmy, że tworzymy dwa zasoby w którym chcemy użyć klucza o nazwie punkty. Pierwszy to ps a drugi to pp, gdybyśmy w obu jako klucz ustawili po prostu punkty oba zasoby nadpisywałyby wartość na nową.
Przykład poprawnego użycia:
-- zasób ps function nadajPunkt(plr, cmd) local acc = getPlayerAccount(plr) -- pobieramy swoje konto local wartosc = getAccountData(acc, "ps.pkt") -- pobieramy wartosc naszego konta spod klucza ps.pkt setAccountData(acc, "ps.pkt", wartosc + 1) -- nadajemy o 1 wiecej obecnej wartości klucza ps.pkt end addCommandHandler("nadajpkt", nadajPunkt) -- zasób pp function nadajPkt(plr, cmd) local acc = getPlayerAccount(plr) -- pobieramy swoje konto local wartosc = getAccountData(acc, "pp.pkt") -- pobieramy wartosc naszego konta spod klucza ps.pkt setAccountData(acc, "pp.pkt", wartosc + 1) -- nadajemy o 1 wiecej obecnej wartości klucza ps.pkt end addCommandHandler("nadajpunkt", nadajPkt) -- wpisujac 3 razy komende /nadajpkt z zasobu ps mamy 3 punkty pod kluczem ps.pkt, wpisujac raz komende /nadajpunkt z zasobu pp mamy 1 punkt pod kluczem pp.pkt -- gdybyśmy ustawili jako klucz funkcji getAccountData oraz setAccountData samo pkt, bez przedrostka nazwy zasobu czyli pp. lub ps. -- punkty te by się sumowały i zamiast w dwóch zasobach mieć dwa osobne naliczania punktów, mielibyśmy jedno główne sumowanie