SerweryWłasny serwerDla twórcówForumFAQDokumentacjaBezpieczeństwo
Pobierz launcher
  1. Dokumentacja
  2. Funkcje wspólne
  3. 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 = true
true/"broadcast": wszyscy, false/"local": tylko serwer, "subscribe": tylko gracze z addElementDataSubscriber.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 dostaje onPlayerChangesProtectedData), "default" = ustawienie element_data_client_changes w 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ż