PL/getAccountData

From Multi Theft Auto: Wiki
Revision as of 21:39, 20 July 2016 by GabWas (talk | contribs) (GabWas moved page PL/GetAccountData to PL/getAccountData over redirect)
Jump to navigation Jump to search

This template is no longer in use as it results in poor readability. 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

Zobacz również