- Dokumentacja
- Funkcje klienta
Funkcje klienta
Funkcje dostępne w skryptach type="client". Działają w grze u każdego gracza osobno: rysowanie, klawisze, interfejs.
Funkcje wspólne działają też tutaj. Na przykład setTimer czy getElementPosition znajdziesz w dziale Funkcje wspólne.
Nowe funkcje i zdarzenia! 2
getNoweZwraca ścieżkę, szerokość, wysokość i kolor obrazu ustawionego przezPlayer Crosshair Image setPlayerCrosshairImage. Bez własnego obrazu zwracafalse.setNoweUstawia własny obraz celownika na środku ekranu i chowa oryginalny celownik gry. Obraz jest widoczny stale, gdy składnik HUDPlayer Crosshair Image "crosshair"jest włączony; skrypt decyduje, kiedy pokazywać go podczas celowania. Plik musi być dostępny dla klienta, np. przez<file src="celownik.png" />wmeta.xml.falseusuwa obraz i przywraca celownik gry zgodnie z ustawieniem widoczności. Zatrzymanie zasobu usuwa należący do niego obraz. Przy błędzie poprzedni obraz pozostaje bez zmian.
Blipy 1
Bronie 2
isSprawdza, czy koło wyboru broni jest włączone.Weapon Wheel Enabled setCałkowicie wyłącza albo przywraca koło wyboru broni z gry. Wyłączone koło nigdy się nie otwiera: nie ma menu, spowolnienia czasu ani szarego tła. Zmiana broni rolką myszy działa dalej. Domyślnie koło jest włączone. Ustawienie dotyczy tylko tej gry; jeśli koło było otwarte, zamyka się od razu.Weapon Wheel Enabled
Czat i konsola 1
Cząsteczki 1
Discord 10
resetKasuje wszystko, co skrypty ustawiły w statusie Discord gracza (teksty, obrazki, czasy, grupę, przyciski, własną aplikację) i przywraca domyślny status Trilogy Hub: „Playing on: nazwa serwera / As nick”. Status jest też kasowany automatycznie, gdy gracz łączy się z serwerem, rozłącza albo wychodzi.Discord Rich Presence Data setPrzełącza status Discord gracza na własną aplikację Discord serwera (Application ID z panelu Discord Developer Portal). Dzięki temu w statusie widać nazwę Twojego serwera zamiast „Trilogy Hub” i można używać własnych obrazków z zakładki Rich Presence → Art Assets tej aplikacji. Zmiana aplikacji wymaga ponownego połączenia z Discordem, dlatego obrazki ustawione wcześniej są kasowane. Pusty napis wraca do aplikacji Trilogy Hub.Discord Application ID setUstawia duży obrazek w statusie Discord gracza oraz podpis, który pojawia się po najechaniu na niego myszą. Obrazek to klucz (nazwa) grafiki wgranej w Discord Developer Portal do aplikacji ustawionej przezDiscord Rich Presence Asset setDiscordApplicationID. Bez własnej aplikacji Trilogy Hub pokazuje swoje logo. Pusty klucz usuwa obrazek ustawiony skryptem.setDodaje pod statusem Discord gracza przycisk z linkiem, np. „Dołącz do Discorda” albo „Strona serwera”. Można mieć dwa przyciski (numer 1 i 2). Discord pokazuje przyciski innym osobom oglądającym profil gracza, a nie samemu graczowi. Pusta etykieta usuwa przycisk.Discord Rich Presence Button setUstawia górną linię statusu „Gra w...” na profilu Discord gracza (rich presence), np. „Służba w policji” albo „Wyścig: Grove Street”. Status pokazuje launcher Trilogy Hub, więc działa, gdy gracz ma uruchomioną aplikację Discord na komputerze. Zmiany trafiają do Discorda najwyżej raz na 15 sekund (to limit Discorda), więc częstsze wywołania są łączone i widać ostatnią wartość. Pusty napis przywraca domyślny tekst „Playing on: nazwa serwera”.Discord Rich Presence Details setUstawia licznik „zostało” w statusie Discord: Discord odlicza czas do podanej chwili (np. końca rundy). Podaj znacznik Unix w sekundach. 0 wyłącza odliczanie.Discord Rich Presence End Time setUstawia rozmiar grupy w statusie Discord, wyświetlany jako „(2 z 4)”, np. liczba osób w drużynie albo w misji. Domyślnie launcher pokazuje liczbę graczy na serwerze; 0, 0 przywraca to zachowanie. Rozmiar musi wynosić co najmniej 1 i nie więcej niż maksimum.Discord Rich Presence Party Size setUstawia mały okrągły obrazek w rogu dużego obrazka statusu Discord, np. ikonę frakcji albo rangi, z podpisem po najechaniu myszą. Obrazek musi być w Art Assets aplikacji ustawionej przezDiscord Rich Presence Small Asset setDiscordApplicationID. Pusty klucz usuwa obrazek.setUstawia licznik „upłynęło” w statusie Discord: Discord liczy czas od podanej chwili (np. od początku misji albo zmiany). Podaj czas jako znacznik Unix w sekundach, np. zDiscord Rich Presence Start Time getRealTime().timestamp. 0 przywraca licznik od chwili wejścia do gry.setUstawia dolną linię statusu Discord gracza, zwykle opis tego, co robi teraz (np. „Patroluje Idlewood”, „Na mapie: 12/32 graczy”). Działa tak samo jakDiscord Rich Presence State setDiscordRichPresenceDetails: przez launcher, z limitem jednej zmiany na 15 sekund. Pusty napis przywraca domyślne „As nick” (nick gracza).
Dźwięk 9
getZwraca przesunięcie dźwięku między głośnikami (-1 do 1).Sound Pan getZwraca punkt świata, w którym gra dźwięk 3D. To samo zwracaSound Position3 D getElementPositionna dźwięku.isSprawdza, czy radio gry w pojeździe jest włączone.Radio Enabled isSprawdza, czy dźwięk gra w kółko.Sound Looped playOdtwarza wbudowany dźwięk interfejsu gry po numerze (kliknięcia menu, zakup, punkt kontrolny itd.). Numery 0-30 to dźwięki z rozgrywki, 31-39 dźwięki menu. Numeracja jest własna, bo Definitive Edition ma inny zestaw dźwięków niż stare San Andreas.Sound Front End setWłącza albo wyłącza radio gry w pojeździe. Wyłączone daje ciszę zamiast stacji GTA, na przykład pod własne radio przezRadio Enabled playSound. Z serwera:setPlayerRadioEnabled.setUstawia, czy dźwięk ma grać w kółko. Zapętlenie najprościej ustawić przy tworzeniu:Sound Looped playSound(plik, true).setUstawia przesunięcie dźwięku między głośnikami:Sound Pan -1lewy,0środek,1prawy.setPrzesuwa dźwięk 3D w nowy punkt świata. To samo robiSound Position3 D setElementPositionna dźwięku.
Dźwięk (klient) 27
getBez numeru banku zwraca liczbę banków w pojemniku. Z numerem banku zwraca liczbę dźwięków w tym banku.SFXBank Sound Count getSprawdza, czy pojemnik dźwięków gry istnieje. Pliki dźwięków są zawsze w grze; to, czy dany bank zagra, mówiSFXStatus isSFXBankLoaded.getZwraca aktualne parametry efektu: nazwa → wartość.Sound Effect Parameters getZwraca tabelę wszystkich efektów dźwięku: nazwa efektu →Sound Effects true/false.getZwraca głośność, którą gracz naprawdę słyszy: po odległości od kamery i po suwaku głośności w ustawieniach.Sound Heard Volume getZwraca długość dźwięku w sekundach.Sound Length getZwraca odległość, od której dźwięku 3D nie słychać.Sound Max Distance getZwraca odległość pełnej głośności dźwięku 3D.Sound Min Distance getZwraca, w której sekundzie jest odtwarzanie.Sound Position getZwraca wszystkie grające dźwięki stworzone przez skrypty.Sounds getZwraca prędkość odtwarzania.Sound Speed getZwraca głośność ustawioną skryptem (nie uwzględnia odległości ani suwaka gracza).Sound Volume isSprawdza, czy gra ma teraz wczytany bank dźwięków. Tylko taki bank zagra przezSFXBank Loaded playSFXiplaySFX3D.isSprawdza, czy dźwięk jest wstrzymany.Sound Paused playOdtwarza dźwięk z banków samej gry San Andreas (kroki, broń, zderzenia, pojazdy, dźwięki misji) bez pozycji w świecie. Dźwięk gra silnik dźwięku gry, więc ma tę samą głośność efektów co gra.SFX playOdtwarza dźwięk z banków gry w punkcie świata. Ściszanie z odległością i panoramę liczy silnik dźwięku gry.SFX3 D playOdtwarza plik MP3 albo WAV z zasobu bez pozycji w świecie (słychać go tak samo wszędzie). Plik musi być wSound meta.xmljako<file>.playOdtwarza dźwięk w punkcie świata. Cichnie z odległością od kamery: do 5 m gra pełną głośnością, od 20 m go nie słychać. Ma panoramę lewo-prawo.Sound3 D setWłącza albo wyłącza efekt na dźwięku zSound Effect Enabled playSound/playSound3D. Dostępne efekty:chorus,compressor,distortion,echo,flanger,gargle,i3dl2reverb,parameq,reverb(jak w MTA) ibandpass(pasmo przenoszenia, np. głos przez telefon).setUstawia parametr efektu, także wyłączonego. Nazwy i zakresy są jak w MTA (np.Sound Effect Parameter echo:wetDryMix,feedback,leftDelay,rightDelay,panDelay;reverb:inGain,reverbMix,reverbTime,highFreqRTRatio);bandpass:lowCut,highCut,gain.setUstawia odległość, od której dźwięku 3D nie słychać (domyślnie 20 m).Sound Max Distance setUstawia odległość, do której dźwięk 3D gra pełną głośnością (domyślnie 5 m). Maksymalna odległość rośnie, gdy trzeba.Sound Min Distance setWstrzymuje albo wznawia dźwięk.Sound Paused setPrzewija dźwięk do podanej sekundy.Sound Position setUstawia prędkość odtwarzania.Sound Speed 1to normalnie, wyższa wartość przyspiesza i podwyższa dźwięk.setUstawia głośność dźwięku.Sound Volume 1to normalnie, do2wzmacnia.stopZatrzymuje dźwięk i usuwa go. Wywołuje zdarzenieSound onClientSoundStoppedz powodem"destroyed".
Efekty 21
createTworzy trwały efekt cząsteczkowy gry (np. dym, ogień, fontanna) w punkcie świata.Effect destroyUsuwa efekt utworzony przezEffect createEffect.fxJednorazowy efekt cząsteczkowy: krew (rozprysk w kierunku).Add Blood fxJednorazowy efekt cząsteczkowy: trafienie pociskiem (dym i iskry).Add Bullet Impact fxJednorazowy efekt cząsteczkowy: plusk po strzale w wodę.Add Bullet Splash fxJednorazowy efekt cząsteczkowy: odłamki.Add Debris fxJednorazowy efekt cząsteczkowy: plusk pod stopami.Add Foot Splash fxJednorazowy efekt cząsteczkowy: odłamki szkła.Add Glass fxJednorazowy efekt cząsteczkowy: błysk wystrzału.Add Gunshot fxJednorazowy efekt cząsteczkowy: uderzenie pięścią.Add Punch Impact fxJednorazowy efekt cząsteczkowy: iskry.Add Sparks fxJednorazowy efekt cząsteczkowy: wystrzał z czołgu.Add Tank Fire fxJednorazowy efekt cząsteczkowy: przebita opona.Add Tyre Burst fxJednorazowy efekt cząsteczkowy: strumień z hydrantu.Add Water Hydrant fxJednorazowy efekt cząsteczkowy: plusk wody.Add Water Splash fxJednorazowy efekt cząsteczkowy: drzazgi.Add Wood fxTworzy cząstki o zadanym kolorze, rozmiarze i czasie życia.Create Particle getZwraca gęstość cząstek efektu.Effect Density getZwraca tempo efektu.Effect Speed setUstawia gęstość cząstek efektu (0-2, domyślnie 1).Effect Density setUstawia tempo efektu (domyślnie 1).Effect Speed
Elementy 14
getZwraca pozycję kości postaci w świecie.Element Bone Position getZwraca prostopadłościan obejmujący model elementu, względem jego środka.Element Bounding Box getZwraca odległość od środka ciężkości elementu do spodu jego modelu. Przydaje się do stawiania elementów na ziemi.Element Distance From Centre Of Mass To Base Of Model getZwraca poświatę ustawioną przezElement Highlight setElementHighlight.getZwraca, jak mocno element jest oświetlony (0 ciemno, 1 jasno).Element Lighting isSprawdza, czy dwa elementy mogą się zderzyć.Element Collidable With isSprawdza, czy element istnieje tylko u tego gracza (utworzony skryptem klienta, nie zna go serwer).Element Local isSprawdza, czy element jest widoczny na ekranie gracza.Element On Screen isSprawdza, czy element może znikać, gdy gracz się oddali (strumieniowanie).Element Streamable isSprawdza, czy element jest wczytany u tego gracza.Element Streamed In isSprawdza, czy to gracz lokalny liczy fizykę elementu.Element Syncer isSprawdza, czy element czeka na wczytanie terenu pod sobą (wtedy jest zatrzymany w powietrzu).Element Waiting For Ground To Load setWłącza albo wyłącza kolizję między dwoma elementami, tylko u tego gracza i w obie strony. Przydaje się do trybu ducha: Twoje auto przenika przez auta innych graczy, ale dalej zderza się ze ścianami, beczkami i resztą mapy.Element Collidable With setRozjaśnia cały model elementu kolorem (poświata) tylko u tego gracza: NPC, gracza (także własną postać), pojazd albo obiekt. Wołane zElement Highlight falsezamiast koloru zdejmuje poświatę.
Gracze 4
getNoweZwraca ścieżkę, szerokość, wysokość i kolor obrazu ustawionego przezPlayer Crosshair Image setPlayerCrosshairImage. Bez własnego obrazu zwracafalse.getZwraca, jak głośno gracz teraz mówi:Player Voice Level -1gdy milczy, a gdy mówi stopień od0(cicho) do3(głośno). Przydaje się do własnych wskaźników mowy.getZwraca klawisz mówienia lokalnego gracza: jego własny z menu ESC albo, gdy go nie wybrał, domyślny klawisz serwera. Druga wartość to nazwa do pokazania na ekranie.Voice Push To Talk Key setNoweUstawia własny obraz celownika na środku ekranu i chowa oryginalny celownik gry. Obraz jest widoczny stale, gdy składnik HUDPlayer Crosshair Image "crosshair"jest włączony; skrypt decyduje, kiedy pokazywać go podczas celowania. Plik musi być dostępny dla klienta, np. przez<file src="celownik.png" />wmeta.xml.falseusuwa obraz i przywraca celownik gry zgodnie z ustawieniem widoczności. Zatrzymanie zasobu usuwa należący do niego obraz. Przy błędzie poprzedni obraz pozostaje bez zmian.
Interfejs (GUI) 145
guiZdejmuje skupienie z kontrolki, więc pisanie przestaje do niej trafiać.Blur guiPrzenosi okno albo kontrolkę na wierzch.Bring To Front guiSprawdza, czy pole wyboru jest zaznaczone.Check Box Get Selected guiZaznacza albo odznacza pole wyboru.Check Box Set Selected guiDodaje pozycję do listy rozwijanej.Combo Box Add Item guiUsuwa wszystkie pozycje z listy rozwijanej.Combo Box Clear guiZwraca liczbę pozycji listy rozwijanej.Combo Box Get Item Count guiZwraca tekst pozycji listy rozwijanej.Combo Box Get Item Text guiZwraca numer wybranej pozycji (od 0) alboCombo Box Get Selected -1, gdy nic nie wybrano.guiSprawdza, czy lista rozwijana jest rozwinięta.Combo Box Is Open guiUsuwa pozycję z listy rozwijanej.Combo Box Remove Item guiZmienia tekst pozycji listy rozwijanej.Combo Box Set Item Text guiRozwija albo zwija listę rozwijaną.Combo Box Set Open guiWybiera pozycję listy rozwijanej.Combo Box Set Selected -1czyści wybór.guiTworzy przeglądarkę jako kontrolkę GUI. Mysz, kółko i klawiatura trafiają do strony same. Element przeglądarki doCreate Browser loadBrowserURLdostajesz przezguiGetBrowser.guiTworzy przycisk. Kliknięcie wywołujeCreate Button onClientGUIClick.guiTworzy pole wyboru (tak/nie).Create Check Box guiTworzy listę rozwijaną. Wybór pozycji wywołujeCreate Combo Box onClientGUIComboBoxAccepted.guiTworzy jednolinijkowe pole tekstowe. Zmiana tekstu wywołujeCreate Edit onClientGUIChanged, EnteronClientGUIAccepted.guiTworzy czcionkę z pliku TTF zasobu doCreate Font guiSetFont. Rozmiar w punktach.guiTworzy listę z kolumnami (tabelę). Kolumny dodajesz przezCreate Grid List guiGridListAddColumn, wiersze przezguiGridListAddRow.guiTworzy napis.Create Label guiTworzy wielolinijkowe pole tekstowe.Create Memo guiTworzy pasek postępu (0-100).Create Progress Bar guiTworzy przycisk wyboru jednej opcji z grupy. Grupę tworzą przyciski z tym samym rodzicem.Create Radio Button guiTworzy pasek przewijania (0-100). Przesunięcie wywołujeCreate Scroll Bar onClientGUIScroll.guiTworzy przewijany obszar. Kontrolki dodane jako dzieci, które się nie mieszczą, można przewinąć.Create Scroll Pane guiTworzy suwak wartości 0-100. Zmiana wywołujeCreate Slider onClientGUIChanged.guiTworzy obrazek z pliku zasobu (PNG, JPG). Plik musi być wCreate Static Image meta.xml.guiDodaje zakładkę do panelu. Zakładka jest rodzicem dla swoich kontrolek.Create Tab guiTworzy panel z zakładkami. Zakładki dodajesz przezCreate Tab Panel guiCreateTab.guiTworzy okno z paskiem tytułu. Okno można przeciągać i skalować, ma przycisk zamknięcia (zdarzenieCreate Window onClientGUIClose). Inne kontrolki dodajesz jako jego dzieci.guiUsuwa zakładkę z panelu razem z jej kontrolkami.Delete Tab guiZwraca pozycję kursora tekstowego w polu (liczba znaków przed kursorem).Edit Get Caret Index guiZwraca największą liczbę znaków, jaką można wpisać w pole.Edit Get Max Length guiSprawdza, czy pole ukrywa tekst gwiazdkami.Edit Is Masked guiSprawdza, czy pole jest tylko do odczytu.Edit Is Read Only guiUstawia pozycję kursora tekstowego w polu.Edit Set Caret Index guiUkrywa wpisywany tekst gwiazdkami, np. dla hasła.Edit Set Masked guiUstawia największą liczbę znaków w polu.Edit Set Max Length guiUstawia pole tylko do odczytu (nie da się w nim pisać).Edit Set Read Only guiUstawia skupienie na kontrolce, więc pisanie trafia do niej.Focus guiZwraca przezroczystość kontrolki (0-1).Get Alpha guiZwraca element przeglądarki z kontrolkiGet Browser guiCreateBrowser.guiZwraca rodzaj kursora pasujący do kontrolki pod myszką:Get Cursor Type "default","text"albo"sizing".guiSprawdza, czy kontrolka reaguje na mysz i klawiaturę.Get Enabled guiZwraca kontrolkę ze skupieniem (tę, do której trafia pisanie).Get Focus guiZwraca czcionkę kontrolki (nazwę albo uchwyt zGet Font guiCreateFont).guiSprawdza, czy interfejs przejmuje klawiaturę od gry.Get Input Enabled guiZwraca tryb wejścia interfejsu:Get Input Mode "allow_binds","no_binds"albo"no_binds_when_editing".guiZwraca pozycję kontrolki względem rodzica.Get Position guiZwraca wszystkie właściwości kontrolki, także wbudowane (rodzaj, tekst, pozycja, rozmiar...). Przydaje się przy szukaniu błędów.Get Properties guiZwraca własną właściwość kontrolki ustawioną przezGet Property guiSetProperty.guiZwraca bieżącą skalę GUI.Get Scale guiZwraca rozmiar ekranu w pikselach.Get Screen Size guiZwraca wybraną zakładkę panelu.Get Selected Tab guiZwraca rozmiar kontrolki.Get Size guiZwraca tekst kontrolki (napisu, przycisku, pola, tytuł okna).Get Text guiZwraca nazwę bieżącego motywu, a jako drugi wynik jego kolory rysowania.Get Theme guiZwraca jeden kolor bieżącego motywu.Get Theme Color guiZwraca nazwy dostępnych motywów (posortowane).Get Theme Names guiSprawdza, czy kontrolka jest widoczna.Get Visible guiZwraca wszystkie kontrolki najwyższego poziomu (okna i kontrolki bez rodzica). Przydaje się przy szukaniu błędów.Get Widgets guiDodaje kolumnę do listy. Szerokość podajesz jako ułamek szerokości listy.Grid List Add Column guiDodaje wiersz. Teksty kolejnych komórek możesz podać od razu jako dalsze argumenty.Grid List Add Row guiDopasowuje szerokość kolumny do najdłuższej komórki.Grid List Auto Size Column guiUsuwa wszystkie wiersze listy (kolumny zostają).Grid List Clear guiZwraca liczbę kolumn listy.Grid List Get Column Count guiZwraca nagłówek kolumny.Grid List Get Column Title guiZwraca szerokość kolumny.Grid List Get Column Width guiZwraca, jak daleko lista jest przewinięta w poziomie (0-100).Grid List Get Horizontal Scroll Position guiZwraca kolor tekstu komórki.Grid List Get Item Color guiZwraca wartość przypiętą do komórki przezGrid List Get Item Data guiGridListSetItemData.guiZwraca tekst komórki.Grid List Get Item Text guiZwraca liczbę wierszy listy.Grid List Get Row Count guiZwraca liczbę wybranych wierszy (0 albo 1, lista wybiera jeden wiersz).Grid List Get Selected Count guiZwraca wybrany wiersz (od 0) i kolumnę (od 1). Gdy nic nie wybrano:Grid List Get Selected Item -1, -1.guiZwraca listę wybranych komórek jako tabliceGrid List Get Selected Items {row = ..., column = ...}.guiZwraca tryb zaznaczania wierszy zapisany przezGrid List Get Selection Mode guiGridListSetSelectionMode.guiZwraca, jak daleko lista jest przewinięta w pionie (0-100).Grid List Get Vertical Scroll Position guiWstawia wiersz po wskazanym.Grid List Insert Row After -1wstawia na początek.guiSprawdza, czy kliknięcie w nagłówek sortuje listę (domyślnie tak).Grid List Is Sorting Enabled guiUsuwa kolumnę razem z jej komórkami.Grid List Remove Column guiUsuwa wiersz.Grid List Remove Row guiZmienia nagłówek kolumny.Grid List Set Column Title guiUstawia szerokość kolumny.Grid List Set Column Width guiPrzewija listę w poziomie (0-100).Grid List Set Horizontal Scroll Position guiUstawia kolor tekstu komórki.Grid List Set Item Color guiPrzypina do komórki dowolną wartość niewidoczną dla gracza, np. element albo numer modelu.Grid List Set Item Data guiUstawia tekst komórki. ZGrid List Set Item Text section = truewiersz staje się nagłówkiem sekcji.guiUstawia, czy lista pokazuje paski przewijania.Grid List Set Scroll Bars guiWybiera wiersz listy.Grid List Set Selected Item -1czyści wybór. WywołujeonClientGUIChanged.guiZapisuje tryb zaznaczania (numer). Lista zaznacza zawsze jeden wiersz.Grid List Set Selection Mode guiWłącza albo wyłącza sortowanie po kliknięciu w nagłówek.Grid List Set Sorting Enabled guiPrzewija listę w pionie (0-100).Grid List Set Vertical Scroll Position guiSortuje listę po kolumnie. Liczby porównuje jako liczby, resztę jako tekst. Czyści wybór.Grid List Sort By Column guiZwraca kolor napisu.Label Get Color guiZwraca wysokość czcionki napisu w pikselach.Label Get Font Height guiZwraca szerokość tekstu napisu w pikselach.Label Get Text Extent guiUstawia kolor napisu.Label Set Color guiWyrównuje tekst napisu w poziomie i opcjonalnie zawija wiersze.Label Set Horizontal Align guiWyrównuje tekst napisu w pionie.Label Set Vertical Align guiZwraca pozycję kursora w polu wielolinijkowym. Druga nazwaMemo Get Caret Index guiEditGetCaretIndex.guiZwraca, jak daleko przewinięte jest pole wielolinijkowe (0-100).Memo Get Vertical Scroll Position guiSprawdza, czy pole wielolinijkowe jest tylko do odczytu. Druga nazwaMemo Is Read Only guiEditIsReadOnly.guiUstawia pozycję kursora w polu wielolinijkowym. Druga nazwaMemo Set Caret Index guiEditSetCaretIndex.guiUstawia pole wielolinijkowe tylko do odczytu. Druga nazwaMemo Set Read Only guiEditSetReadOnly.guiPrzewija pole wielolinijkowe (0-100).Memo Set Vertical Scroll Position guiPokazuje okno dialogowe z przyciskami. Po kliknięciu wywołujeMessage Box onClientGUIAccepted(źródło: okno, argumenty: napis przycisku i jego numer), a potem okno znika.guiPrzenosi okno pod pozostałe.Move To Back guiPokazuje krótkie powiadomienie w prawym dolnym rogu ekranu. Naraz widać najwyżej 6.Notify guiZwraca postęp paska (0-100).Progress Bar Get Progress guiUstawia postęp paska (0-100).Progress Bar Set Progress guiSprawdza, czy przycisk wyboru jest wybrany.Radio Button Get Selected guiWybiera przycisk z grupy (pozostałe w grupie się odznaczają).Radio Button Set Selected guiDodaje własny motyw. Brakujące kolory bierze z bieżącego motywu.Register Theme guiZwraca pozycję paska przewijania (0-100).Scroll Bar Get Scroll Position guiUstawia pozycję paska przewijania (0-100).Scroll Bar Set Scroll Position guiZwraca, jak daleko obszar jest przewinięty w poziomie (0-100).Scroll Pane Get Horizontal Scroll Position guiZwraca, jak daleko obszar jest przewinięty w pionie (0-100).Scroll Pane Get Vertical Scroll Position guiPrzewija obszar w poziomie (0-100).Scroll Pane Set Horizontal Scroll Position guiUstawia, czy obszar pokazuje paski przewijania.Scroll Pane Set Scroll Bars guiPrzewija obszar w pionie (0-100).Scroll Pane Set Vertical Scroll Position guiUstawia przezroczystość kontrolki (0 niewidoczna, 1 pełna).Set Alpha guiWłącza albo wyłącza kontrolkę. Wyłączona jest wyszarzona i nie reaguje.Set Enabled guiUstawia czcionkę kontrolki: nazwę wbudowanej (Set Font "default-normal","default-small","default-bold-small","default-bold","clear-normal","sa-header","sa-gothic") albo uchwyt zguiCreateFont.guiPrzekazuje klawiaturę do interfejsu zamiast do gry (postać nie reaguje na klawisze, bindy nie działają).Set Input Enabled guiUstawia tryb wejścia:Set Input Mode "allow_binds"(bindy działają),"no_binds"(nie działają) albo"no_binds_when_editing"(nie działają podczas pisania w polu).guiPrzesuwa kontrolkę. WywołujeSet Position onClientGUIMove.guiUstawia właściwość kontrolki. Obsługiwane:Set Property "CloseButtonEnabled"(przycisk zamknięcia okna) i"AlwaysOnTop"; inne nazwy są zapamiętywane dla skryptu.guiUstawia skalę całego GUI (0.5-4, domyślnie 1): czcionki, pasek tytułu, wiersze list i zakładek. Pozycje i rozmiary kontrolek zostają w pikselach skryptu.Set Scale guiWybiera zakładkę panelu.Set Selected Tab guiZmienia rozmiar kontrolki. WywołujeSet Size onClientGUISize.guiZmienia tekst kontrolki.Set Text guiZmienia motyw całego interfejsu: nazwa (Set Theme default,sunset,midnight,ocean,emerald,crimson,grape,slate,lightalbo własny zguiRegisterTheme) albo tabela kolorów.guiZmienia jeden kolor bieżącego motywu. Klucze:Set Theme Color accent,accentBright,accentDim,accentText,windowBg,windowBorder,titleBg,titleBgActive,panelBg,fieldBg,fieldBorder,text,textDim,textDisabled,hover,press,shadow,scrollTrack,scrollThumb.guiPokazuje albo chowa kontrolkę razem z jej dziećmi.Set Visible guiZwraca wartość suwaka (0-100).Slider Get Value guiUstawia wartość suwaka (0-100).Slider Set Value guiZwraca prawdziwy rozmiar pliku obrazka w pikselach.Static Image Get Native Size guiPodmienia plik obrazka w kontrolce.Static Image Load Image guiSprawdza, czy okno da się przeciągać.Window Is Movable guiSprawdza, czy okno da się skalować.Window Is Sizable guiUstawia, czy okno da się przeciągać myszą.Window Set Movable guiUstawia, czy okno da się skalować, ciągnąc za krawędź.Window Set Sizable
Kamera 13
getZwraca element kamery gracza, np. do przyczepiania innych elementów albo danych.Camera getZwraca, czy kamera przenika obiekty i pojazdy (ustawienie zCamera Clip setCameraClip).getZwraca poziom chwiania kamery (0-255).Camera Drunk Level getZwraca pole widzenia zapisane przezCamera Field Of View setCameraFieldOfView.getZwraca filtr kamery:Camera Goggle Effect "normal","nightvision"albo"thermalvision".getZwraca obecny widok kamery w pojeździe, odczytany z gry:Camera View Mode 0= zderzak (widok z wnętrza),1= blisko,2= średnio,3= daleko. Uwzględnia też zmianę widoku klawiszem przez gracza.resetKończy potrząsanie kamerą.Shake Camera setZapisuje, czy kamera ma przenikać obiekty i pojazdy.Camera Clip setChwieje kamerą jak po alkoholu w grze (0 = brak, 255 = najmocniej). Przy wyższym poziomie sterowanie postacią też lekko się opóźnia.Camera Drunk Level setZapisuje pole widzenia kamery (10-120 stopni).Camera Field Of View setWłącza filtr obrazu gry: noktowizję (zielony, rozjaśniony obraz) albo termowizję (ciepłe postacie i pojazdy na czerwono, reszta na niebiesko).Camera Goggle Effect "normal"wyłącza filtr. To ten sam efekt co gogle w grze.setZmienia widok kamery w pojeździe, tak jak klawisz zmiany widoku w grze:Camera View Mode 0= zderzak (widok z wnętrza),1= blisko,2= średnio,3= daleko. Gracz może potem dalej zmieniać widok klawiszem.shakePotrząsa kamerą przez chwilę, np. przy wybuchu. Siła 0-255.Camera
Kursor 5
getZwraca przezroczystość kursora (0-255).Cursor Alpha getZwraca obecny kształt kursora: nazwę ustawioną przezCursor Type setCursorTypealbo kształt, który kursor przyjął sam nad przeglądarką.setUstawia przezroczystość kursora w grze (0 = niewidoczny, 255 = pełny). Kursor pokazany przezCursor Alpha showCursorjest rysowany przez grę, nad HUD-em, GUI i przeglądarkami, więc przezroczystość widać też na zrzutach ekranu.setZamienia kursor gry na własny obraz: plik PNG z zasobu albo teksturę zCursor Image dxCreateTexturelubdxCreateRenderTarget. Wywołanie bez argumentu albo zfalsewraca do wbudowanego kursora.setZmienia kształt kursora gry. Bez argumentu kursor wraca do zmieniania kształtu sam: nad linkiem w przeglądarce zmienia się w rękę, nad polem tekstowym w kreskę.Cursor Type
Pojazdy 1
Postacie 7
getZwraca liczbę kości szkieletu postaci w tej wersji gry (szkielet Definitive Edition ma ich więcej niż klasyczny). Gdy gra jeszcze nie pokazała żadnej postaci, zwraca 0. Razem zPed Bone Count getPedBoneNamepozwala wypisać wszystkie kości.getZamienia nazwę kości szkieletu gry na jej indeks, który można potem podać doPed Bone Index By Name getPedBonePositioni podobnych funkcji. Niektóre nazwy powtarzają się w szkielecie (są np. dwie kości „Spine”); drugi argument wybiera, które wystąpienie zwrócić.getTłumaczy numer kości ze starszych skryptów (np. 8 = głowa, 25 = prawa dłoń) na indeks kości w szkielecie Definitive Edition. Przydaje się przy przenoszeniu istniejących skryptów, które używają numerów kości. Gdy kość nie ma odpowiednika w nowym szkielecie, zwracaPed Bone Index For Mta false.getZwraca macierz 4x4 kości postaci w tej klatce, w takim samym układzie jakPed Bone Matrix getElementMatrix: wiersz 1 = oś X kości, 2 = oś Y, 3 = oś Z, 4 = pozycja. To te same osie, w którychattachElementToBoneliczy przesunięcie i obrót, więc punkt przyczepienia topozycja + X*dx + Y*dy + Z*dz. Liczona prosto z obrotu kości w silniku, bez kątów Eulera, więc nie gubi dokładności przy obrotach o 90°.getZwraca nazwę kości szkieletu gry o podanym numerze (np.Ped Bone Name "Head","R_Hand"). Numer to indeks kości w szkielecie Definitive Edition (0 dogetPedBoneCount() - 1), nie numer zgetBoneIDs.getZwraca obrót wybranej kości szkieletu postaci w świecie, w stopniach, dokładnie tak, jak wygląda w bieżącej klatce animacji. Działa dla postaci widocznych w tej grze. Przydaje się do przyczepiania obiektów do dłoni albo głowy tak, żeby obracały się razem z nią.Ped Bone Rotation getZwraca naraz położenie i obrót kości postaci (x, y, z, rx, ry, rz), co jest szybsze niż osobne wywołaniaPed Bone Transform getPedBonePositionigetPedBoneRotationw każdej klatce. Wartości są czytane z bieżącej klatki animacji w tej grze.
Pozostałe 15
areSprawdza, czy wbudowane tabliczki nad głowami są u siebie włączone.Nametags Enabled downloadPobiera plik zasobu oznaczony wFile meta.xmljako<file src="..." download="false"/>dopiero wtedy, gdy jest potrzebny (np. duża muzyka). Wynik przychodzi w zdarzeniuonClientFileDownloadComplete, zawsze asynchronicznie, także gdy plik był już pobrany.":zasob/plik"pobiera plik innego zasobu.getZamienia punkt na ekranie (np. kursor) na piksel strony przeglądarki narysowanej w świecie przezBrowser Position From Screen dxDrawMaterialLine3DalbodxDrawMaterialPrimitive3D. Dzięki temu da się klikać w ekrany i billboardy z przeglądarką stojące w świecie.getZwraca pozycję kursora jako ułamek ekranu 0-1 (x, y). Działa tylko, gdy kursor jest pokazany. Trzy kolejne wyniki (punkt w świecie) są na razie zerami; punkt w świecie pod kursorem daCursor Position getWorldFromScreenPosition.getZwraca pozycję kursora w pikselach ekranu (gdy kursor jest pokazany).Cursor Position Absolute getZwraca aktualny wygląd wbudowanych tabliczek u siebie (tabela z polami jak wNametag Style setNametagStyle).getZamienia punkt w świecie na punkt na ekranie (piksele). ZwracaScreen From World Position false, gdy punkt jest za kamerą albo poza ekranem. Trzeci wynik to odległość od kamery. Przydaje się do napisów nad głowami.getZwraca rozmiar ekranu gry w pikselach. To samo coScreen Size guiGetScreenSize.isSprawdza, czy gracz właśnie pisze na czacie.Chat Box Input Active isSprawdza, czy konsola gry jest otwarta.Console Active isSprawdza, czy menu gry (pauza) jest otwarte.Main Menu Active isSprawdza, czy klient właśnie pobiera pliki zasobów (start zasobu alboTransfer Box Active downloadFile).setPrzesuwa kursor w podane miejsce okna gry (piksele). ZwracaCursor Position false, gdy okno gry nie jest aktywne albo jest zminimalizowane.setWłącza albo wyłącza u siebie wbudowane tabliczki nad głowami innych graczy. Skrót dlaNametags Enabled setNametagStyle({ enabled = ... }); przydaje się, gdy zasób rysuje własne tabliczki.setUstawia u siebie wygląd wbudowanych tabliczek nad głowami innych graczy. Pola jak wNametag Style setPlayerNametagStyle:enabled,distance,showDistance,scale,color,background; podajesz tylko te do zmiany.
Przeglądarka 48
canSprawdza, czy w historii przeglądarki jest poprzednia strona.Browser Navigate Back canSprawdza, czy w historii przeglądarki jest następna strona.Browser Navigate Forward createTworzy przeglądarkę, czyli stronę HTML renderowaną do tekstury. Rysujesz ją przezBrowser dxDrawImage, a adres ładujesz dopiero w zdarzeniuonClientBrowserCreated.createTworzy gotowe okno przeglądarki: kontrolkę z myszą, kółkiem i klawiaturą, ładowanie adresu po starcie, kursor, skupienie klawiatury i blokadę sterowania. Wszystko zwalniaBrowser Window destroyElement(okno)albo zatrzymanie zasobu.evaluateWykonuje kod JavaScript na stronie lokalnej i oddaje jego wynik do Lua. Jeśli kod zwraca Promise, funkcja czeka na wynik.Browser Javascript executeWykonuje kod JavaScript na stronie. Działa tylko na przeglądarkach lokalnych.Browser Javascript focusPrzekazuje klawiaturę przeglądarce. Tekst trafia do strony, gdy jej pole tekstowe jest aktywne i widać kursor.Browser nilzdejmuje skupienie z wszystkich przeglądarek.getZwraca, ile razy na sekundę strona jest przerysowywana.Browser Frame Rate getZwraca krycie piksela strony. Przydaje się, żeby kliknięcia w przezroczyste miejsca HUD-u trafiały do gry.Browser Pixel Alpha getZwraca właściwość przeglądarki. Obsługiwana jestBrowser Property "mobile"(widok telefonu).getZwraca wszystkie przeglądarki utworzone przez skrypty.Browsers getZwraca ustawienia przeglądarki wybrane przez gracza (ESC, Ustawienia, Przeglądarka).Browser Settings getZwraca rozmiar przeglądarki w pikselach.Browser Size getPobiera kod HTML bieżącej strony i przekazuje go do funkcji.Browser Source getZwraca tytuł strony (zBrowser Title <title>).getZwraca bieżący adres strony.Browser URL getZwraca głośność jednej przeglądarki albo, bez argumentu, głośność wszystkich przeglądarek.Browser Volume getZwraca powiększenie strony (Browser Zoom 1to 100%).injectWpisuje tekst w aktywne pole strony, znak po znaku (zdarzeniaBrowser Character keypress/input), także polskie litery i inne znaki UTF-8.injectWysyła do strony naciśnięcie albo puszczenie klawisza (np. Enter, Backspace, strzałki), tak jakby gracz nacisnął go na klawiaturze. Strona dostaje zwykłe zdarzeniaBrowser Key keydown/keyup. Do wpisywania tekstu służyinjectBrowserCharacter.injectWciska przycisk myszy na stronie w miejscu ostatniegoBrowser Mouse Down injectBrowserMouseMove. Dwa wciśnięcia w tym samym miejscu w ciągu 0,5 s strona dostaje jako podwójne kliknięcie, trzy jako potrójne (zaznaczenie akapitu), tak jak w Windows.injectPrzesuwa kursor myszy na stronie.Browser Mouse Move injectPuszcza przycisk myszy na stronie.Browser Mouse Up injectPrzewija stronę kółkiem myszy. Wartości ujemne przewijają w dół i w prawo.Browser Mouse Wheel isSprawdza, czy domena (albo adres) jest niedostępna dla przeglądarek z internetem: przez czarną listę, brak zgody gracza albo wyłączone strony zdalne.Browser Domain Blocked isSprawdza, czy przeglądarka ma skupienie klawiatury.Browser Focused isSprawdza, czy strony rysuje karta graficzna.Browser GPUEnabled isSprawdza, czy strona się jeszcze ładuje.Browser Loading isSprawdza, czy przeglądarka jest lokalna (pliki zasobów), a nie zdalna (internet).Browser Local isSprawdza, czy rysowanie strony jest wstrzymane.Browser Rendering Paused isSprawdza, czy gra może tworzyć przeglądarki.Browser Supported loadŁaduje adres w przeglądarce. Przeglądarka lokalna otwiera pliki zasobów, a zdalna strony z dozwolonych domen.Browser URL markOznacza tabelę jako listę: pusta tabela trafia do strony przeglądarki (As Array triggerBrowserEvent,toJSON) jako[]zamiast{}. Zwraca tę samą tabelę.navigatePrzechodzi do poprzedniej strony z historii.Browser Back navigatePrzechodzi do następnej strony z historii.Browser Forward reloadPrzeładowuje bieżącą stronę.Browser Page requestProsi gracza o zgodę na strony z podanych domen. Domena musi być na liście serwera (Browser Domains browser_domainswserver-config.json), inne są odrzucane bez pytania. Zgoda jest zapamiętywana.resizeZmienia rozmiar przeglądarki.Browser setOdpowiada z Lua na zapytania strony pod daną ścieżką, np.Browser Ajax Handler fetch("http://trilogy/local/api"). Funkcja zwraca treść odpowiedzi i opcjonalnie typ MIME. Bez funkcji obsługa jest usuwana.setRozmywa tło gry pod wskazanymi prostokątami strony (efekt szkła). Pusta lista alboBrowser Backdrop Regions nilwyłącza efekt. Bez regionów nic nie kosztuje.setUstawia, ile razy na sekundę strona się przerysowuje (1-240, domyślnie 60). Mniej klatek to mniej pracy procesora, na przykład dla rzadko zmienianego HUD-a; więcej klatek daje płynniejsze animacje na monitorach powyżej 60 Hz.Browser Frame Rate setUdostępnia stronie lokalnej funkcję Lua. W JavaScripcie wywołujesz ją przezBrowser Function await trilogy.call("nazwa", ...)i dostajesz jej wynik.setUstawia właściwość przeglądarki. Obsługiwana jestBrowser Property "mobile":"1"włącza widok telefonu.setWstrzymuje albo wznawia rysowanie strony. Wstrzymana strona nie obciąża procesora, gdy jej nie widać.Browser Rendering Paused setUstawia głośność jednej przeglądarki albo, gdy podasz tylko liczbę, wszystkich przeglądarek.Browser Volume setUstawia powiększenie strony (0.25-5,Browser Zoom 1to 100%).toggleOtwiera albo zamyka narzędzia deweloperskie strony. WymagaBrowser Dev Tools setDevelopmentMode(true, true)i"browser_devtools": truewserver-config.json.triggerWysyła zdarzenie z Lua do strony lokalnej. W JavaScripcie odbierasz je przezBrowser Event trilogy.on("nazwa", fn), bez sklejania kodu w napisie.
Rysowanie (dx) 92
attachPrzyczepia kamerę do elementu (pojazd, gracz, postać, obiekt, obiekt modelu). Pozycja i cel są w metrach w układzie elementu (x w prawo, y do przodu, z w górę); cel domyślnie 10 m przed kamerą. Lusterko wsteczne to kamera z tyłu auta patrząca do tyłu iCamera Render setCameraRenderMirrored.createTworzy drugą kamerę, która renderuje świat do tekstury: lusterko w aucie, monitoring, ekran z widokiem z drona. Teksturę rysujesz przezCamera Render dxDrawImage,dxDrawMaterialLine3Dalbo przekazujesz shaderowi. Rozmiar 16-2048 pikseli, 0-60 zdjęć na sekundę (0 = tylko na żądanie przezrenderCameraMatrix/updateCameraRender). Każde zdjęcie to dodatkowy render sceny, więc kosztuje wydajność.createKładzie obrazek na ziemi - ślad, plamę albo oznaczenie miejsca. Obrazek układa się na pochyłościach i krawężnikach, a nie wisi płasko nad nimi. Rysowany jest do 150 m od kamery, a przy ustawionym czasie życia ostatnia sekunda płynnie wygasa. Decal zostaje do destroyGroundDecal albo zatrzymania zasobu.Ground Decal createTworzy nagranie z danych AVI (MJPEG): zRecording From Data getRecordingData, z pliku albo od innego gracza.createTworzy odtwarzacz nagrania, który jest teksturą: rysujesz go jak każdą teksturę, także w świecie przezRecording Player dxDrawMaterialLine3D. Nagranie można potem usunąć, odtwarzacz ma swoje klatki.destroyUsuwa decal z createGroundDecal.Ground Decal detachOdpina kamerę od elementu; zostaje w miejscu ostatniego zdjęcia.Camera Render dxZamienia piksele na inny format:Convert Pixels plain,pngalbojpeg(z jakością 1-100).dxTworzy czcionkę z pliku TTF/OTF zasobu albo z kroju systemowego (podajesz nazwę). Rozmiar jest w punktach. Czcionkę przekazujesz doCreate Font dxDrawTextiguiSetFont.dxTworzy powierzchnię do rysowania poza ekranem. PoCreate Render Target dxSetRenderTarget(rt)wszystkiedxDraw*rysują na niej, a potem rysujesz ją jak teksturę. Bez kanału alfa każdy piksel jest kryjący.dxTworzy źródło obrazu ekranu o podanym rozmiarze.Create Screen Source dxUpdateScreenSourcewpisuje do niego obraz gry (przeskalowany), który potem rysujesz albo przetwarzasz shaderem.dxTworzy teksturę: z pliku obrazu zasobu, z pikseli (Create Texture plain,png,jpeg,dds) albo pustą o podanym rozmiarze. Tekstura jest materiałem dladxDrawImage,dxDrawMaterial*3Di shaderów.dxRysuje prostokąt z wypełnieniem i ramką o podanej grubości jednym wywołaniem.Draw Bordered Rectangle dxRysuje koło, elipsę albo wycinek koła o środku (x, y) i promieniu w pikselach. Krótka forma przyjmuje sam kolor jako czwarty argument.Draw Circle dxRysuje prostokąt z pionowym przejściem od koloru górnego do dolnego.Draw Gradient Rectangle dxRysuje obraz (plik PNG/JPG zasobu, teksturę, render target, przeglądarkę albo kamerę) w prostokącie ekranu, z opcjonalnym obrotem i zabarwieniem.Draw Image dxRysuje wycinek obrazu (u, v, szerokość i wysokość wycinka w pikselach obrazu) w prostokącie ekranu. Przydaje się do arkuszy ikon i pasków postępu.Draw Image Section dxRysuje odcinek między dwoma punktami ekranu.Draw Line dxRysuje odcinek między dwoma punktami świata: rzutuje je na ekran i łączy linią. Rysuje tylko, gdy oba końce są na ekranie, i nie jest zasłaniany przez budynki.Draw Line3 D dxRysuje materiał (obraz, teksturę, przeglądarkę, kamerę albo shader) jako pas w świecie 3D: od punktu początku (góra obrazu) do końca, o podanej szerokości. Pas jest zwrócony do kamery albo do punktuDraw Material Line3 D faceX, faceY, faceZ. Rysunek jest częścią świata: zasłaniają go budynki i świeci (ekran widać w nocy). Tak zrobisz billboard, ekran kina albo napis nad budynkiem.dxRysuje kształt z trójkątów w świecie 3D pokryty materiałem. Wierzchołki toDraw Material Primitive3 D {x, y, z, kolor, u, v}, gdzie u i v (0-1) mówią, który punkt obrazu trafia w wierzchołek. Kolor całego kształtu pochodzi z pierwszego wierzchołka.dxJakDraw Material Section Line3 D dxDrawMaterialLine3D, ale rysuje tylko wycinek materiału (u, v, szerokość i wysokość wycinka w pikselach).dxRysuje model obiektu gry w danym miejscu na jedną klatkę: bez kolizji, zasłaniany przez świat. Nie działa dla postaci i pojazdów. Pierwsza klatka nowego modelu czeka, aż gra go wczyta. Najwyżej 64 obiekty naraz.Draw Model3 D dxRysuje kształt 2D z listy wierzchołkówDraw Primitive {x, y [, kolor]}: punkty, linie albo trójkąty. Kolor jest płynnie mieszany między wierzchołkami.dxRysuje kształt z trójkątów w świecie 3D z wierzchołkówDraw Primitive3 D {x, y, z, kolor}. Cały kształt ma kolor pierwszego wierzchołka.dxRysuje wypełniony prostokąt na ekranie w jednej klatce. Wywołuj wDraw Rectangle onClientRender, żeby był widoczny cały czas.dxRysuje prostokąt z zaokrąglonymi rogami. Promień jest w pikselach i nie przekracza połowy krótszego boku.Draw Rounded Rectangle dxRysuje tekst na ekranie w jednej klatce. Wywołuj wDraw Text onClientRender, żeby był widoczny cały czas.dxRysuje napis w punkcie świata. Wołaj wDraw Text3 D onClientRender. Napis maleje z odległością i wygasa przy końcu zasięgu.dxRysuje siatkę kuli w świecie (do debugowania, np. zasięgu strefy). Rysowana na ekranie, więc widać ją przez ściany.Draw Wired Sphere dxZwraca tryb ustawiony przezGet Blend Mode dxSetBlendMode(domyślnie"blend").dxZwraca czcionkę ustawioną przezGet Default Font dxSetDefaultFontw tym zasobie albo"default".dxZwraca ustawienieGet Draw Priority dxSetDrawPrioritybieżącego zasobu:"overHud"(domyślnie) albo"underHud".dxZwraca wysokość jednego wiersza tekstu w pikselach dla skali i czcionki.Get Font Height dxZwraca opis czcionki: krój (Get Font Info family), rozmiar w pikselach (px) i punktach (size), ustawienia stylu i źródło.dxZwraca nazwy wbudowanych czcionek:Get Font List default,default-bold,clear,arial,sans,pricedown,bankgothic,diploma,beckett,unifont,inter,inter-medium,inter-semibold,inter-bold.dxZwraca szerokość i wysokość materiału: tekstury, render targetu, przeglądarki albo shadera.Get Material Size dxZwraca kolor piksela (x, y) z pikseli w formacieGet Pixel Color plain.dxMówi, w jakim formacie są piksele:Get Pixels Format "plain","png","jpeg","dds"albofalse.dxZwraca szerokość i wysokość obrazu zapisanego w pikselach (dowolny format).Get Pixels Size dxZwraca stan rysowania: tryb testowy, rozdzielczość, liczbę tekstur, render targetów i źródeł ekranu skryptów oraz pamięć tekstur. Przydaje się do szukania wycieków tekstur.Get Status dxZwraca szerokość i wysokość bloku tekstu, także przy zawijaniu do podanej szerokości.Get Text Size dxOdczytuje piksele tekstury, render targetu albo źródła ekranu w formacieGet Texture Pixels plain,pngalbojpeg, w całości albo z wycinka (x, y, szerokość, wysokość). Na przykład do zrzutu ekranu.dxZwraca szerokość tekstu w pikselach dla danej skali i czcionki (jak wGet Text Width dxDrawText). Przydaje się do wyśrodkowania i ramek dopasowanych do tekstu.dxZwraca rozmiar obrazu z pliku zasobu w pikselach, bez tworzenia tekstury.Image Size dxZwraca ustawienie zIs Aspect Ratio Adjustment Enabled dxSetAspectRatioAdjustmentEnabled.dxWłącza korektę proporcji rysowania na szerokich ekranach. Wartość jest zapamiętywana dla zgodności ze starszymi skryptami (Set Aspect Ratio Adjustment Enabled dxIsAspectRatioAdjustmentEnabled), ale nie zmienia rysowania; licz pozycje odguiGetScreenSize.dxUstawia tryb mieszania kolorów przy rysowaniu (Set Blend Mode blend,add,modulate_add,overwrite). Wartość jest zapamiętywana dla zgodności ze starszymi skryptami (dxGetBlendMode), ale rysowanie zawsze używa zwykłego mieszania.dxUstawia czcionkę, którejSet Default Font dxDrawTextużywa bez podanej czcionki, tylko w bieżącym zasobie.nilprzywraca domyślną.dxUstawia, czy zwykłe rysunki 2D zasobu (Set Draw Priority dxDrawRectangle,dxDrawText,dxDrawImage,dxDrawLinei inne bezpostGUI) są rysowane nad HUD-em i radarem gry ("overHud", domyślnie) czy pod nimi ("underHud"). Ustawienie dotyczy następnych wywołańdxDraw*tego zasobu i trwa do zmiany, a każdy zasób ma własne. W jednymonClientRendermożna przełączać: część rysunków pod HUD-em, część nad nim. Rysunki zpostGUI = truezawsze są nad wszystkim.dxZmienia styl czcionki zSet Font Style dxCreateFont:bold,italic,underline,strike,weight,spacing,widthScale,shadow,outline,outlineColor,gradient,lineSpacing,size. Możesz podać jeden klucz albo tabelę.dxUstawia kolor piksela (x, y) w pikselachSet Pixel Color plaini zmienia przekazany napis. Obrazy mniejsze niż 4x4 są odrzucane.dxUstawia, gdzie rysują funkcjeSet Render Target dxDraw*: na render target (opcjonalnie najpierw go czyści) albo, bez argumentu, na ekranie. Działa tylko wonClientRenderionClientPreRender; po zdarzeniu rysowanie wraca na ekran.dxWłącza tryb testowy, żeby sprawdzić, czy skrypt radzi sobie z błędami:Set Test Mode "no_mem"(tworzenie tekstur zawodzi),"low_mem"(bez skutku),"no_shader"(dxCreateShaderzawodzi),"none"(wyłączony).dxUstawia, co tekstura pokazuje poza swoim obrazem przy wycinkach (Set Texture Edge dxDrawImageSection): powtórzenie (wrap), odbicie (mirror), przeciągnięcie krawędzi (clamp) albo kolor ramki (border).dxWpisuje piksele (Set Texture Pixels plain,png,jpeg) do tekstury albo render targetu, w całości albo w wycinek.dxOdświeża źródło obrazu ekranu obrazem gry (bez nakładki skryptów). Obraz dochodzi 1-2 klatki później.Update Screen Source getZwraca element, do którego kamera jest przyczepiona.Camera Render Attached To getZwraca obecny mnożnik jasności kamery i czy dobiera go automat.Camera Render Exposure getZwraca ustawioną liczbę zdjęć na sekundę (zmierzoną podajeCamera Render Frame Rate getCameraRenderInfo).getZwraca stan kamery:Camera Render Info state, liczbę klatek w teksturze (frames), zmierzone zdjęcia na sekundę (fps), czy obraz dociera (ready), czy element przyczepienia zniknął (attachLost) i błąd (error).getZwraca położenie kamery: x, y, z, cel, przechylenie i pole widzenia. Dla kamery przyczepionej do elementu podaje miejsce ostatniego zdjęcia.Camera Render Matrix getZwraca zasięg widzenia kamery w metrach (0 = jak w grze).Camera Render View Distance getZwraca całe nagranie jako plik AVI (MJPEG) w napisie, np. doRecording Data fileWrite, wysłania na serwer albocreateRecordingFromData.getZwraca piksele jednej klatki nagrania (numer od 1) w formacieRecording Frame jpeg(domyślnie),pngalboplain, np. dodxCreateTexturealbo zapisu zdjęcia.getZwraca informacje o nagraniu: czy trwa (Recording Info recording), liczbę klatek, klatki na sekundę, długość w ms (duration), rozmiar obrazu, rozmiar danych w bajtach (size) i powód zatrzymania (stopReason).getZwraca położenie odtwarzacza i długość nagrania w milisekundach.Recording Player Position getZwraca stan sprawdzania zasłaniania: czy jest włączone (World Point Occlusion Info enabled), czy gra odpowiada (available), liczbę sprawdzeń (checks), kolejkę (queue) i zapamiętane punkty (cached).isSprawdza, czy nagranie wciąż trwa (staje samo po maksymalnym czasie, limicie pamięci albo usunięciu kamery).Camera Recording isSprawdza, czy wartość to działająca kamera zCamera Render createCameraRender.isSprawdza, czy obraz kamery jest odbity.Camera Render Mirrored isSprawdza, czy odtwarzacz gra (nie jest na pauzie i nie doszedł do końca bez pętli).Recording Player Playing isSprawdza, czyWorld Point Occlusion Enabled isWorldPointVisiblesprawdza zasłanianie.isSprawdza, czy punkt świata jest na ekranie i nie zasłania go budynek ani teren. Zasłanianie jest sprawdzane w tle, więc wynik dla nowego punktu przychodzi po chwili. Do napisów i znaczników 3D, które nie mają być widoczne przez ściany.World Point Visible loadWczytuje nagranie z pliku AVI (MJPEG) zasobu.Recording renderRobi jedno zdjęcie kamerą z podanego miejsca (jakCamera Matrix setCameraRenderMatrixiupdateCameraRendernaraz). Obraz pojawia się w teksturze 1-2 klatki później; działa też przy 0 zdjęciach na sekundę.saveZapisuje nagranie do pliku AVI w zasobie (nadpisuje istniejący, jakRecording fileCreate).setUkrywa element tylko w obrazie tej kamery, np. własne auto w lusterku albo gracza trzymającego telefon. Cień elementu zostaje. Do 64 elementów na kamerę.Camera Render Element Hidden setUstawia jasność obrazu kamery:Camera Render Exposure "auto"(domyślnie, dobiera mnożnik 0.5-4 z jasności kadru jak aparat) albo stały mnożnik 0.05-16. Obraz kamery ma podniesione cienie, żeby w nocy wyglądał podobnie do gry.setUstawia, ile zdjęć na sekundę robi kamera (0-60; 0 = tylko na żądanie).Camera Render Frame Rate setUstawia kamerę w miejscu i kierunku jakCamera Render Matrix setCameraMatrix: pozycja, punkt, w który patrzy, przechylenie i pole widzenia (5-170, domyślnie 70). Odpina kamerę od elementu.setOdbija obraz kamery w poziomie (lusterko). Dotyczy też nagrań z tej kamery.Camera Render Mirrored setUstawia zasięg widzenia kamery w metrach (0 = jak w grze). Krótszy zasięg to tańszy render, np. dla lusterka.Camera Render View Distance setZmienia kolor decala z createGroundDecal.Ground Decal Color setWłącza albo wyłącza odtwarzanie w pętli.Recording Player Looped setPauzuje albo wznawia odtwarzacz. Wznowienie po końcu nagrania zaczyna od początku.Recording Player Paused setPrzewija odtwarzacz do podanej milisekundy nagrania.Recording Player Position setUstawia prędkość odtwarzania 0-16 (1 = normalna, 0.5 = zwolnione tempo).Recording Player Speed setWłącza albo wyłącza sprawdzanie zasłaniania wWorld Point Occlusion isWorldPointVisible(false= punkty widoczne przez ściany, do debugowania).startNagrywa obraz kamery zCamera Recording createCameraRenderdo pamięci (bez dźwięku). Zwraca element nagrania. 1-60 klatek na sekundę, do 600 sekund, jakość JPEG 1-100. Kamera powinna robić co najmniej tyle zdjęć na sekundę co nagranie, inaczej klatki się powtarzają.stopKończy nagrywanie. Nagranie zostaje do odtworzenia i zapisu. ZwracaCamera Recording false, gdy już nie nagrywało.updateZleca jedno zdjęcie kamery w najbliższej klatce (obraz w teksturze 1-2 klatki później).Camera Render
Shadery 9
dxTworzy shader z pliku .fx zasobu albo z kodu podanego jako tekst. W Trilogy Hub shader wykonuje podmianę tekstury: obraz podany przezCreate Shader dxSetShaderValuepod parametrem tekstury zastępuje tekstury świata wskazane przezengineApplyShaderToWorldTexture(np. własne billboardy, napisy na budynkach, oklejenie aut). Materiał gry zostaje (oświetlenie, odbicia), zmienia się sam obraz. Efekty pikselowe i wierzchołkowe z kodu HLSL nie są wykonywane.dxUstawia gęstość siatki dla efektów wierzcholkowych shadera. W Trilogy Hub nie ma skutku, bo shadery wykonują tylko podmianę tekstury.Set Shader Tessellation dxObraca obraz shadera rysowany przezSet Shader Transform dxDrawImagew 3D. Nieobsługiwane - zawsze zwracafalse.dxUstawia parametr shadera. Gdy parametr jest teksturą zadeklarowaną w kodzie .fx (albo shader nie ma żadnej), a wartością jest tekstura (Set Shader Value dxCreateTexture, render target, przeglądarka) lub ścieżka obrazu, ten obraz staje się nową teksturą podmienianą w świecie. Liczby i wektory są zapamiętywane dla zgodności ze starszymi skryptami.enginePodmienia teksturę świata San Andreas o podanej nazwie na obraz shadera. Nazwa może zawierać znakiApply Shader To World Texture *i?(np."vehiclegrunge*"). Bez elementu podmiana działa na wszystkich obiektach z tą teksturą, także wczytanych później; z elementem (pojazd, obiekt, postać) - tylko na nim. Nazwy tekstur widocznych teraz w grze zwracaengineGetVisibleTextureNames.enginePodmienia teksturę świata na teksturę skryptu bez pisania shadera: wystarczy tekstura zApply Texture To World Texture dxCreateTexture, render target, zrzut ekranu albo przeglądarka. Działa jakengineApplyShaderToWorldTexture(wzorce*i?, opcjonalny element). Render target i przeglądarka dają żywy obraz, np. telewizor w grze pokazujący stronę WWW.engineZwraca nazwy tekstur San Andreas wczytanych teraz w grze (wokół gracza), z opcjonalnym filtremGet Visible Texture Names *i?. Pomaga znaleźć nazwę tekstury do podmiany: stań przy obiekcie i wypisz listę. Drugi argument (model) jest pomijany.engineZdejmuje podmianę tekstury zrobioną przezRemove Shader From World Texture engineApplyShaderToWorldTexture- trzeba podać ten sam wzorzec nazwy i ten sam element. Wraca oryginalna tekstura gry.engineZdejmuje podmianę zrobioną przezRemove Texture From World Texture engineApplyTextureToWorldTexture(ta sama tekstura, wzorzec i element). Wraca oryginał.
Silnik gry 82
callWywołuje komendę skryptową gry po numerze i zwraca wynik oraz zmienne. Tylko w trybie deweloperskim; u graczy zwracaGame Command false.createTworzy podgląd elementu (pojazd, gracz, postać, obiekt, obiekt modelu) jako obraz doElement Preview dxDrawImage, np. do sklepu z autami albo garderoby.falsejako cel = scena z kamery. Kamera domyślnie krąży wokół celu tak, żeby był cały w kadrze.createStawia model zMesh Object engineLoadMeshw świecie, tylko u tego gracza: pozycja, obrót i skala. Obiektem sterujesz funkcjamisetMeshObject*.destroyUsuwa podgląd zElement Preview createElementPreview.destroyUsuwa obiekt modelu ze świata.Mesh Object engineZwalnia model zFree Mesh engineLoadMesh; obiekty postawione z niego znikają.engineTworzy kolizję COL3 z modelu zGenerate COL engineLoadMesh, gdy autor nie dał pliku.col. Ustawiasz liczbę trójkątów (upraszczanie QEM zachowuje kształt), tryb (siatka, otoczka wypukła, pudełka, kula) i powierzchnię. Wynik podajesz doengineReplaceCOL.engineZwraca dane kolizji zGet COLInfo engineLoadCOL: wersję, nazwę, liczbę kul, prostopadłościanów, ścian i wierzchołków oraz obrysbox.engineZwraca spis animacji wczytanego bloku IFP: tablicęGet IFPAnimations { name, duration, bones }(czas w sekundach, liczba kości).engineZwraca formaty plików modeli, które wczytujeGet Mesh Formats engineLoadMesh.engineZwraca prostopadłościan kolizji modelu: najmniejsze i największe x, y, z względem środka modelu, a na końcu promień kuli kolizji. Dane pochodzą z kolizji wczytanej przez grę, więc działają dla aut, postaci i obiektów. Przydaje się do ustawiania rzeczy na ziemi, liczenia rozmiaru i kadrowania kamery.Get Model Bounding Box engineZwraca flagi modelu ustawione przezGet Model Flags engineSetModelFlagjako tabelę nazwa ->true/false.engineZwraca zasięg rysowania modelu w metrach: ustawiony przezGet Model LODDistance engineSetModelLODDistancealbo z plików San Andreas.engineZwraca nazwy tekstur San Andreas modelu (numer albo nazwa), także kół pojazdu. Niewczytany model jest na chwilę dociągany. Przydaje się do shaderów podmieniających tekstury.Get Model Texture Names engineZwraca godziny widoczności modelu ustawione przezGet Model Visible Time engineSetModelVisibleTime(domyślnie 0 i 24).engineZwraca, jak kości modelu z pliku łączą się z kośćmi szkieletu gry: listęGet Ped Model Bones { hid, bone, occurrence }. Animacje gry sterują modelem przez te kości.engineZwraca pojemność puli gry, np.Get Pool Capacity "building","ped","object","vehicle","col-model","task". Trilogy Hub powiększa pule przy starcie gry.engineZwraca domyślną pojemność puli w Definitive Edition, przed powiększeniem przez Trilogy Hub.Get Pool Default Capacity engineZwraca, ile miejsc puli gry jest teraz zajętych.Get Pool Used Capacity engineZwraca wszystkie podmienione modele: tabelę numer -> ścieżka zasobu.Get Replaced Models enginePrzypisuje tekstury zImport TXD engineLoadTXDdo modelu o danym numerze.engineWczytuje zasób silnika gry (Unreal) po ścieżce, np. model albo materiał z plików gry. Uchwyt podajesz doLoad Asset engineReplaceModel.engineWczytuje kolizję z pliku zasobu (formaty COLL, COL2, COL3, COL4; z archiwum bierze pierwszy model) albo z bajtów pliku.Load COL enginewczytuje model z plikuLoad DFF .dffzasobu (jakengineLoadMesh). Tekstury bierze z.txdprzypisanego wcześniej przezengineImportTXDdla tego numeru albo z.txdo tej samej nazwie. Inna ścieżka niż plik.dffoznacza zasób silnika.engineWczytuje bibliotekę animacji IFP (ANPK z Vice City, ANP2/ANP3 z San Andreas) z pliku albo danych pod własną nazwą bloku (najlepiejLoad IFP "zasob.blok"). Animacje odtwarzasz przezsetPedAnimation(ped, blok, animacja)albo podstawiasz przezengineReplaceAnimation. Zatrzymanie zasobu zwalnia blok.engineWczytuje model 3D z pliku zasobu:Load Mesh .obj,.stl,.ply,.gltf,.glb,.fbx,.3dsoraz.dffz GTA SA (tekstury z.txdobok). Model stawiasz przezcreateMeshObjectalbo podstawiasz pod numer przezengineReplaceModel. Model i wszystkie pliki tekstur (.txd,.mtl, obrazy) muszą być wymienione w<file>wmeta.xml, aby pobrali je nowi gracze.enginewczytuje plikLoad TXD .txdzasobu z teksturami dlaengineImportTXDiengineLoadDFF. Inna ścieżka oznacza teksturę jako zasób silnika.engineSprawia, że na tej postaci animacja gry (blok i nazwa) gra się jako animacja z wczytanego pliku IFP. Działa tylko u tego gracza; jeśli to własna postać, inni widzą efekt w przesyłanej pozie.Replace Animation enginePodmienia obraz ikony blipa gry (numer 0-63, np. 40) na własny obraz. Obraz to plik z zasobu (PNG, JPG, BMP albo GIF, wpisany wReplace Blip Icon meta.xmljako<file>, także:zasob/plik.png) albo dane obrazu, np. odczytane przezfileRead. Nowa ikona pojawia się wszędzie, gdzie gra rysuje ten numer: na radarze, na mapie w menu ESC i w jej legendzie. Blipy z tą ikoną działają dalej tak samo (najechanie myszą, nazwy, kolejność). Najlepiej kwadratowy obraz z przezroczystym tłem; większy niż 256 px jest zmniejszany. Po zatrzymaniu zasobu wraca ikona gry.enginePodmienia kolizję modelu obiektu na kolizję zReplace COL engineLoadCOLalboengineGenerateCOL(także obiektów mapy o tym numerze i modelu pary dzień/noc). Tylko obiekty, nie postacie i pojazdy. Jeśli model jeszcze nie powstał w grze (nowy model zengineRequestModelprzy wejściu gracza albo restarcie zasobu), kolizja czeka i wchodzi, gdy tylko model się pojawi; numer modelu, którego nie ma, dajefalse.enginePodmienia wygląd modelu o danym numerze: na zasób silnika (Replace Model engineLoadAsset) albo model z pliku (engineLoadMesh). Obiekty, pojazdy i postacie (skiny 0-312; model z pliku bez szkieletu jest statyczny) o tym numerze pokazują nowy model. Obiekt bez własnej kolizji dostaje kolizję z.dffalbo z trójkątów modelu; własną kolizję dajeengineReplaceCOL. Działa u tego gracza, więc wywołuj w skrypcie klienta. Podmiana nowego modelu zengineRequestModel, który jeszcze nie powstał w grze (gracz właśnie wchodzi, restart zasobu), czeka na niego; numer modelu, którego nie ma, dajefalse.engineKasuje wszystkie flagi modelu ustawione przezReset Model Flags engineSetModelFlag.enginePrzywraca zasięg rysowania obiektów modelu ustawiony przez grę.Reset Model LODDistance engineCofa podmiany animacji zRestore Animation engineReplaceAnimationna postaci: wszystkie, z jednego bloku gry albo jedną animację.enginePrzywraca ikonę gry poRestore Blip Icon engineReplaceBlipIcon. Bez argumentu przywraca wszystkie ikony podmienione przez ten zasób.enginePrzywraca oryginalną kolizję modelu.Restore COL enginePrzywraca oryginalny wygląd modelu o danym numerze.Restore Model enginePrzywraca oryginalne tekstury modelu.Restore TXD engineDruga nazwaRestream engineRestreamWorld: wczytuje świat wokół gracza od nowa.engineKaże grze wczytać świat wokół gracza od nowa, np. po podmianie wielu modeli.Restream World engineWczytywanie modeli w tle. W Definitive Edition jest zawsze włączone (strumieniowanie Unreala):Set Asynchronous Loading trueniczego nie zmienia,falsezwracafalsez ostrzeżeniem.engineUstawia flagę modelu (Set Model Flag is_road,draw_last,additive,is_treei inne). W Definitive Edition rysuje Unreal, więc flaga jest tylko zapamiętywana (odczyt przezengineGetModelFlags) i nie zmienia obrazu.engineUstawia, od jakiej odległości (0-1400 m) obiekty tego modelu zSet Model LODDistance createObjectprzestają być rysowane, także krótszej niż domyślnie. Zmienia zasięg modelu w grze (jak zasięg z plików IDE San Andreas, domyślnie 40-300 m), więc mapy z edytora widać z daleka; zasięg ponad 300 m wydłuża też wczytywanie tych obiektów. Obiektów mapy (budynki, rośliny) nie zmienia, bo są częścią poziomów Unreala.engineUstawia godziny gry (0-24), w których obiekty tego modelu zSet Model Visible Time createObjectsą widoczne; poza nimi są schowane. Od > do oznacza przez północ (np. 20 i 6 = nocą), 0 i 24 = zawsze.engineW Trilogy Hub zawsze zwracaSet Pool Capacity false: pule gry są powiększane przy starcie gry, a ich rozmiaru nie da się bezpiecznie zmienić w trakcie.engineProsi grę o zwolnienie pamięci strumieniowania.Streaming Free Up Memory engineMówi, czy model jest wczytany:Streaming Get Model Load State "loaded","loading"albo"notloaded".engineZwraca, ile pamięci zajmują wczytane modele (bajty).Streaming Get Used Memory engineMówi grze, że model nie jest już potrzebny i może zwolnić pamięć.Streaming Release Model engineProsi grę o wczytanie modelu do pamięci (np. przed stworzeniem wielu obiektów naraz).Streaming Request Model engineSprawdza, czy model z pliku (Validate Ped Model .dffpostaci) nadaje się na skin: wagi kości, hierarchię i wymagane kości. Zwraca wynik i raport z błędami i ostrzeżeniami albofalse, gdy model nie ma szkieletu (będzie statyczny).findSzuka obiektów silnika gry po fragmencie nazwy albo ścieżki i zwraca listę trafień. Tylko w trybie deweloperskim; u graczy zwracaEngine Object false.getZwraca ścieżkę zdjęcia zapisanego w trwałej pamięci podglądów przezElement Preview Cache setElementPreviewCacheKey. Ścieżkę podasz dodxDrawImagealbodxCreateTexture. Zdjęcie zostaje między sesjami gry.getZwraca ścieżkę pliku PNG podglądu (dlaElement Preview Image dxDrawImageidxCreateTexture) albofalse, gdy nie ma jeszcze pierwszego zdjęcia.getZwraca stan podglądu (Element Preview State "czeka","gotowy","czeka na cel","blad: ...") i liczbę zrobionych zdjęć.getZwraca, co klient wie o silniku gry: wersję, adresy i gotowość refleksji. Tylko w trybie deweloperskim; u graczy zwracaEngine Info false.getZwraca dane modelu zMesh Info engineLoadMesh: format, liczbę wierzchołków i trójkątów oraz obrys{ minX, minY, minZ, maxX, maxY, maxZ }w metrach.getZwraca kolor obiektu modelu alboMesh Object Color false, gdy ma materiał domyślny.getZwraca położenie obiektu modelu.Mesh Object Position getZwraca obrót obiektu modelu w stopniach.Mesh Object Rotation getZwraca skalę obiektu modelu w trzech osiach.Mesh Object Scale getZwraca stan obiektu w grze:Mesh Object State "czeka","gotowy"albo"blad:...".getZwraca ścieżkę zasobu podstawionego pod model (Model Asset false= oryginalny).isSprawdza, czy ikona blipa o tym numerze ma własny obraz zBlip Icon Replaced engineReplaceBlipIcon.isSprawdza, czy wartość to istniejący podgląd zElement Preview createElementPreview.isSprawdza, czy klient może wywoływać komendy skryptowe gry (podstawa części funkcji, np.Game Script Available dxDrawModel3DicreateExplosionu klienta).isSprawdza, czy wartość to istniejący obiekt zMesh Object createMeshObject.isSprawdza, czy obiekt modelu jest widoczny.Mesh Object Visible setNastępne zdjęcie podglądu zapisuje też w trwałej pamięci podglądów pod podanym kluczem. Pamięć zostaje po wyjściu z gry, więc przy następnym wejściu możesz od razu pokazać obraz przezElement Preview Cache Key getElementPreviewCache, bez tworzenia podglądu. Zapis dotyczy jednego zdjęcia; po nim klucz jest czyszczony. Pusty klucz wyłącza zapis.setUstawia stałą kamerę podglądu: pozycję, cel i pole widzenia (metry San Andreas).Element Preview Camera setPodgląd postaci pokazuje tylko to, co postać trzyma w ręce (broń), bez ciała. Kamera krąży wokół samego przedmiotu, np. w sklepie z bronią.Element Preview Held Only setUstawia podgląd modelu bez elementu w świecie (np. lista aut albo skinów w sklepie): rodzaj (Element Preview Model "vehicle","ped","object") i numer modelu. Model stoi tylko u tego gracza, do zdjęć.setUstawia kamerę krążącą wokół celu: kąt w poziomie (Element Preview Orbit yaw, 0 = z północy), kąt w pionie (pitch), odległość (0 = cały cel w kadrze), wysokość i pole widzenia.setUstawia, co ile milisekund podgląd robi nowe zdjęcie (najmniej 50; 0 = tylko po zmianie iElement Preview Refresh updateElementPreview). Jedno zdjęcie kosztuje około 10 ms klatki.setZmienia cel podglądu (element, obiekt modelu alboElement Preview Target false= scena).setNadaje obiektowi modelu jednolity kolor (r, g, b 0-255) z oświetleniem; bez koloru wraca materiał domyślny.Mesh Object Color setPrzestawia obiekt modelu (metry).Mesh Object Position setObraca obiekt modelu (stopnie, kolejność Z, X, Y).Mesh Object Rotation setSkaluje obiekt modelu: jedną liczbą albo osobno w trzech osiach.Mesh Object Scale setKładzie obraz PNG/JPG z zasobu na obiekt modelu (według współrzędnych UV z pliku);Mesh Object Texture falsezdejmuje obraz.setPokazuje albo chowa obiekt modelu.Mesh Object Visible updateZleca nowe zdjęcie podglądu w najbliższej klatce.Element Preview
Strefy kolizji 3
createTworzy na kliencie strefę-prostopadłościan o środku w (x, y, z), obróconą wokół osi pionowej - wygodniejszą niżCol Box createColCuboid, gdy budynek stoi pod kątem.createTworzy na kliencie strefę-sześcian o środku w (x, y, z) i podanej długości boku.Col Cube getZwraca wszystkie strefy kolizji utworzone przez skrypty po stronie tego klienta.Col Shapes
Świat 10
getZwraca wartość efektu obrazu ustawioną przezPost Effect setPostEffectalbo przez serwer (filtr koloru jako"tint", ziarno jako"grain").getZwraca listę nazw efektów obrazu, które przyjmujePost Effect Names setPostEffect.getZamienia punkt na ekranie na punkt w świecie 3D leżący na zadanej odległości od kamery. Przydaje się np. do stawiania obiektów kursorem myszy.World From Screen Position getSzuka modelu mapy San Andreas bez kolizji, przez który przechodzi odcinek: graffiti, szczotek myjni, siatek z przezroczystością.World Model On Line processLineOfSighttakich modeli nie widzi, bo przechodzi przez nie. Gdy odcinek przecina kilka takich modeli, wygrywa najmniejszy (np. graffiti na ścianie budynku). Modele z kolizją pomija, bo te znajdujeprocessLineOfSight. Wynik pasuje wprost doremoveWorldModel.getZwraca kopię wszystkich ustawień świata, które serwer przysłał temu graczowi (pogoda, wiatr, ustawienia zapisane funkcjami świata itd.) jako tabelę klucz → wartość. Przydatne do diagnostyki i własnych efektów zależnych od ustawień serwera.World Settings isSprawdza, czy ekran ładowania Trilogy Hub już zniknął i gracz stoi w świecie gry. Przydaje się, żeby pokazać powitalne okno albo kamerę dopiero wtedy, gdy gracz naprawdę ją widzi.World Loaded resetKończy lokalną długość minuty ustawioną przezMinute Duration setMinuteDurationw skrypcie klienta: zegar wraca do godziny i tempa serwera.resetZdejmuje jeden efekt obrazu ustawiony przezPost Effect setPostEffect. Jeśli ten efekt ustawia też serwer (filtr koloru, ziarno), wraca wartość z serwera.resetZdejmuje wszystkie efekty obrazu ustawione przezPost Effects setPostEffectw tej grze.setUstawia efekt obrazu u tego gracza, liczony przez silnik gry na całym obrazie świata (bez napisów i okien skryptów). Efekt zostaje doPost Effect resetPostEffectalbo wyjścia z serwera. Dostępne efekty:"saturation"(nasycenie, 0-2, 1 = bez zmian, 0 = czarno-biały),"contrast"(0-2),"gamma"(0,1-4),"gain"(wzmocnienie jasności kolorów, 0-4),"offset"(przesunięcie kolorów, -1-1, 0 = bez zmian),"tint"(barwa obrazu: r, g, b 0-255),"temperature"(temperatura bieli w kelwinach, 1500-15000, 6500 = neutralna),"grain"(ziarno 0-1),"grainJitter"(drganie ziarna 0-1),"vignette"(przyciemnienie brzegów 0-1),"bloom"(poświata jasnych miejsc 0-8),"fringe"(rozszczepienie kolorów na brzegach 0-5),"exposure"(ekspozycja -8-8, 0 = bez zmian, +1 = dwa razy jaśniej).
Ubrania 3
getZwraca nazwy modeli, które gra ma dla danej części ubioru.Clothes Models getZwraca spis ubrań i tatuaży, które zna gra: tabelę część ->Clothes Table { nazwa, tatuaz, modele }i ich liczbę. Przydaje się do sklepu z ubraniami.getZwraca, co gra naprawdę założyła lokalnej postaci: tabelę część ->Worn Clothes "tekstura|model". Przydatne do sprawdzenia, czy ubranie z serwera dotarło.
Wejście i sterowanie 12
createPokazuje powiadomienie systemowe Windows obok zegara (przydatne, gdy gra jest zminimalizowana). W obecnej wersji klienta funkcja nie jest jeszcze podłączona do gry i zwracaTray Notification falsez ostrzeżeniem w konsoli;isTrayNotificationEnabledmówi, czy już działa.executeWysyła komendę na serwer tak, jakby gracz wpisał ją w czacie (bez ukośnika na początku).Command getZwraca układ klawiatury gracza (nazwa i identyfikator). W obecnej wersji klienta funkcja nie jest jeszcze podłączona do gry i zwracaKeyboard Layout falsez ostrzeżeniem w konsoli.getSprawdza, czy klawisz jest teraz wciśnięty. Działa także bezKey State bindKey, np. wonClientRender.getZwraca język gracza (ten sam, który wybrał w launcherze i ustawieniach gry) jako tabelę z kodem i nazwą. Kody:Localization pl,en,de,es,fr,it,pt,ru,uk,tr,cs,ro. Serwer zna ten sam język przezgetPlayerLocalization.isSprawdza, czy Caps Lock jest włączony (np. żeby ostrzec przy wpisywaniu hasła).Caps Lock Enabled isSprawdza, czy klawisz F11 minimalizuje grę. ZwracaMinimize Key Enabled false, gdy którykolwiek zasób wyłączył to przezsetMinimizeKeyEnabled.isSprawdza, czy gracz coś wpisuje albo jest w menu: czat, konsola, menu gry, kursor albo pole tekstowe. GdyPlayer Input Busy true, klawisze akcji należy ignorować.isSprawdza, czy klient obsługuje powiadomienia systemowe (Tray Notification Enabled createTrayNotification). W obecnej wersji zwracafalse.setWpisuje tekst do schowka systemowego gracza (np. kod zaproszenia albo adres serwera). W obecnej wersji klienta funkcja nie jest jeszcze podłączona do gry i zwracaClipboard falsez ostrzeżeniem w konsoli.setWłącza albo wyłącza minimalizowanie gry klawiszem F11. Gdy jest wyłączone, F11 nie minimalizuje gry, ale dalej działa wMinimize Key Enabled bindKey, więc serwer może podpiąć pod niego własną funkcję (np. własną mapę).setMiga ikoną gry na pasku zadań, np. gdy gracz dostał prywatną wiadomość, a okno jest w tle. W obecnej wersji klienta funkcja nie jest jeszcze podłączona do gry i zwracaWindow Flashing falsez ostrzeżeniem w konsoli.