- Dokumentacja
- Funkcje wspólne
- setElementData
Funkcja
setElementData
Zapisuje wartość pod kluczem w elemencie. Domyślnie wartość trafia do wszystkich graczy, co wywołuje onElementDataChange.
Składnia
bool setElementData(element theElement, string key, mixed value [, mixed syncMode = true, string clientChangesPolicy = "default"])Argumenty
theElementelement- Element.
keystring- Klucz.
valuemixed- Wartość: liczba, tekst, tablica, element,
true/false. syncModemixed, opcjonalny = truetrue/"broadcast": wszyscy,false/"local": tylko serwer,"subscribe": tylko gracze zaddElementDataSubscriber.W MTA:SA inna wartość domyślna: string syncMode = "broadcast"clientChangesPolicystring, opcjonalny = "default"- Czy skrypty klientów mogą zmieniać ten klucz:
"allow"tak,"deny"nie (zmiana odrzucona, gracz dostaje wartość serwera, serwer dostajeonPlayerChangesProtectedData),"default"= ustawienieelement_data_client_changesw server-config.json (domyślnie"allow").
Różnice względem MTA:SA
- Argumenty zaznaczone innym kolorem różnią się od MTA:SA.
W MTA:SA
setElementData(element theElement, string key, var value, string syncMode = "broadcast", string clientChangesPolicy = "default")Zwraca
true przy powodzeniu.
Przykład
addEventHandler("onPlayerLogin", root, function(_, account)
setElementData(source, "level", getAccountData(account, "level") or 1)
setElementData(source, "password_hash", "...", false)
end)
Uwagi
Kto zmienił. W onElementDataChange po zmianie od klienta zmienna globalna client wskazuje gracza; przy zmianie z serwera jest nil.
Rozsyłaj tylko to, co klient musi znać. Każda zmiana wysyłana do wszystkich kosztuje ruch sieciowy; dane tylko dla serwera ustawiaj z false.
Zobacz też
getElementDataZwraca wartość danych elementu pod kluczem. Dane ustawiasetElementData; dane rozsyłane widać też na kliencie.removeElementDataUsuwa wartość danych elementu pod kluczem (u wszystkich graczy).onElementDataChangeZmieniły się dane elementu (setElementDataalboremoveElementData), także od klienta.