- Dokumentacja
- Świat
Kategoria
Świat
Wszystkie funkcje i zdarzenia Lua z kategorii Świat, po stronie serwera i klienta.
Funkcje serwera 72
createTworzy element wody jako obszar o trzech albo czterech wierzchołkach. Ostatni argumentWater trueoznacza płytką wodę.getZwraca prostokąt garażu wyliczony zGarage Bounding Box setGarageBounds: granice zachodnia, wschodnia, południowa i północna.getZwraca położenie garażu podane przezGarage Position setGarageBounds.getZwraca rozmiar garażu podany przezGarage Size setGarageBounds.getZwraca wartość zJetpack Weapon Enabled setJetpackWeaponEnabled(domyślniefalse).getZwraca wysokość najniższej przeszkody nad punktem (czy nad głową jest dach), według modelu serwera: tylko obiekty skryptów, bez budynków mapy.Roof Position getZwraca położenie wierzchołka elementu wody.Water Vertex Position getZwraca liczby zapisane pod nazwą przezWorld Property setWorldProperty.isZwraca, czy rodzaj dźwięków otoczenia jest włączony (domyślnie tak).Ambient Sound Enabled isZwraca, czy wywołanoGame World Removed removeGameWorld(i nie cofnięto).isZwraca, czy błąd gry został włączony przezGlitch Enabled setGlitchEnabled(domyślnie wszystkie wyłączone).isSprawdza, czy zegar gry jest zatrzymany przezTime Frozen setTimeFrozen.isZwraca, czy dźwięk świata nie został wyciszony przezWorld Sound Enabled setWorldSoundEnabled(sprawdza też wyciszenie całej grupy).processSprawdza, czy odcinek przecina jeden konkretny element, traktując go jako kulę o jego promieniu (uproszczenie po stronie serwera). Zwraca punkt na odcinku najbliższy środka elementu.Line Against Mesh removeZapisuje ukrycie całej mapy San Andreas (dla serwerów z własną mapą).Game World resetPrzywraca wszystkie dźwięki otoczenia (kasuje ustawienia zAmbient Sounds setAmbientSoundEnabled).resetPrzywraca domyślną wartośćBirds Enabled trueustawienia ptaków.resetPrzywraca domyślne rozmycie (36).Blur Level resetPrzywraca domyślną wartość (Corona Reflections Enabled false) odbić świateł.resetPrzywraca domyślne ziarno (0).Grain Level resetPrzywraca domyślny mnożnik ziarna (1).Grain Multiplier resetKasuje ustawienia zHeat Haze setHeatHaze.resetPrzywraca domyślną wartość (Interior Furniture Enabled true) mebli we wnętrzach.resetPrzywraca domyślną bliską płaszczyznę kamery (0,3).Near Clip Distance resetPrzywraca domyślną odległość rysowania postaci (60).Peds LODDistance resetKasuje kolor słońca zSun Color setSunColor.resetPrzywraca domyślny rozmiar słońca (1).Sun Size resetPuszcza zatrzymany zegar gry; to samo coTime Frozen setTimeFrozen(false).resetPrzywraca domyślną odległość rysowania pojazdów (500).Vehicles LODDistance resetDruga nazwaVolumetric Shadows resetVolumetricShadowsEnabled.resetPrzywraca domyślną wartość (Volumetric Shadows Enabled false) cieni objętościowych.resetKasuje kolor wody zWater Color setWaterColor.resetPrzywraca domyślną wartość (Water Drawn Last false) ustawieniasetWaterDrawnLast.resetKasuje poziom wody ustawiony przezWater Level setWaterLevel.resetKasuje wiatr ustawiony przezWind Velocity setWindVelocity.resetKasuje naraz większość ustawień świata zapisanych przez skrypty: nazwane właściwości, filtr koloru, mgłę, rozmiar słońca i księżyca, deszcz, ziarno, rozmycie, zasięgi rysowania, fale, ptaki, odbicia, cienie, meble, wyciszone dźwięki, prędkość gry i długość minuty. Dodatkowo, o ile nie podaszWorld Properties false, kasuje właściwości specjalne, garaże, błędy gry i ustawienie broni na plecaku.resetKasuje jedną nazwaną właściwość zWorld Property setWorldProperty.resetKasuje wszystkie wyciszenia zWorld Sounds setWorldSoundEnabled.restoreCofaGame World removeGameWorld.setPozwala albo zabrania wspomagania celowania u wszystkich graczy.Aim Assist Enabled falsewymusza celowanie swobodne (celownik nie przyciąga się do celu), a ustawienie w menu gry jest zablokowane. Przydaje się na serwerach PvP, gdzie gracze z padem i z myszą mają mieć równe szanse.setZapisuje włączenie albo wyłączenie dźwięków otoczenia:Ambient Sound Enabled "gunfire"(odległe strzały w niebezpiecznych dzielnicach) lub"general"(pozostałe odgłosy tła).setZapisuje, czy nad mapą mają latać ptaki (domyślnie tak).Birds Enabled setZapisuje siłę rozmycia ruchu przy szybkiej jeździe (0-255, w grze domyślnie 36).Blur Level setZapisuje, czy światła (latarnie, reflektory) mają się odbijać na mokrej nawierzchni (domyślnie nie).Corona Reflections Enabled setPodaje położenie i rozmiar garażu, żeby działałyGarage Bounds getGaragePosition,getGarageSizeigetGarageBoundingBox(serwer nie zna danych garaży z gry).setZapisuje, czy garaż gry (warsztaty Pay'n'Spray, garaże misji, numery 0-49) ma być otwarty. Stan jest wysyłany do graczy i odczytywany przezGarage Open isGarageOpenpo obu stronach.setWłącza albo wyłącza znany błąd gry (glitch) dopuszczany na wielu serwerach. Dostępne nazwy:Glitch Enabled quickreload(szybkie przeładowanie),fastfire(szybsze strzelanie przerwaniem animacji),fastmove(szybki ruch w kucki),crouchbug(strzał-kucnięcie),closedamage(obrażenia z bliska),hitanim(animacja trafienia),fastsprint(szybki sprint klikaniem),baddrivebyhitbox(zła strefa trafień przy strzelaniu z auta),quickstand(szybkie wstawanie),kickoutofvehicle_onmodelreplace.setDodaje do obrazu gry ziarno jak na starym filmie, u wszystkich graczy (0 = brak, 255 = najmocniej). Siłę mnożyGrain Level setGrainMultiplier.setMnożnik siły ziarna zGrain Multiplier setGrainLevel(0-10, domyślnie 1). Ziarno nie przekracza swojej najwyższej siły.setZmienia siłę grawitacji w świecie gry u wszystkich graczy. Domyślnie 0,008; mniejsza wartość daje wyższe skoki i dłuższe loty aut (np. 0,004 = połowa ziemskiej). Gra przyjmuje wartości od 0 do 1 (bez zera).Gravity setZapisuje ustawienia drgania powietrza (efekt gorąca nad asfaltem na pustyni).Heat Haze setZapisuje, czy wnętrza (domy, sklepy) mają mieć meble (domyślnie tak). Przydaje się, gdy wstawiasz do wnętrza własne wyposażenie.Interior Furniture Enabled setZapisuje ogólną zgodę na strzelanie z broni w locie na plecaku odrzutowym (domyślnie nie). Przyjmuje jedną wartość dla wszystkich broni.Jetpack Weapon Enabled setZapisuje odległość bliskiej płaszczyzny kamery: rzeczy bliżej kamery niż ta wartość nie są rysowane (0,1-20 m, domyślnie 0,3).Near Clip Distance setZapisuje odległość, od której postacie przestają być rysowane (0-500 m, domyślnie 60).Peds LODDistance setZapisuje kolor słońca: rdzeń i poświatę (korona), każdy RGB 0-255. Bez trzech ostatnich liczb poświata dostaje kolor rdzenia.Sun Color setZapisuje rozmiar tarczy słońca (0-100, domyślnie 1).Sun Size setZatrzymuje albo puszcza zegar gry u wszystkich graczy. Zatrzymany zegar trzyma stałą porę dnia (np. wieczne południe na serwerze wyścigowym).Time Frozen setTimenadal może zmienić godzinę.setZapisuje, czy sygnalizacja ma być zablokowana w obecnym stanie (bez automatycznej zmiany).Traffic Lights Locked setZapisuje stan sygnalizacji świetlnej na skrzyżowaniach (0-9).Traffic Light State setZapisuje odległość, od której pojazdy przestają być rysowane (0-500 m, domyślnie 500).Vehicles LODDistance setZapisuje, czy postacie i pojazdy mają mieć cienie objętościowe (domyślnie nie).Volumetric Shadows Enabled setZapisuje kolor wody (RGB 0-255) i jej krycie (domyślnie 200).Water Color setZapisuje, czy woda ma być rysowana jako ostatnia (wpływa to na widoczność przezroczystych obiektów pod wodą).Water Drawn Last setZapisuje poziom wody: z samą liczbą - dla całego świata, z elementem wody - dla tego elementu.Water Level setPrzesuwa wierzchołek elementu wody zWater Vertex Position createWater.setZapisuje wysokość fal na wodzie (0-100, domyślnie 0).Wave Height setZapisuje kierunek i siłę wiatru. Wartość trafia do graczy i odczytuje jąWind Velocity getWindVelocitypo stronie klienta, np. dla własnych efektów.setZapisuje nazwaną właściwość świata złożoną z maksymalnie trzech liczb, np. kolor albo intensywność efektu z listy (World Property AmbientColor,LightsOnGround,SpriteBrightnessitd.). Nazwa jest bez znaczenia wielkości liter.setZapisuje wyciszenie dźwięków świata według grup i numerów (np. grupa 0 = odgłosy ludzi, 5 = ptaki). Numer -1 oznacza całą grupę; wywołanie z dwoma argumentami (World Sound Enabled group, enabled) też dotyczy całej grupy.setWłącza albo wyłącza specjalną właściwość świata:World Special Property Enabled hovercars,aircars,extrabunny,extrajump,randomfoliage,snipermoon,extraairresistance,underworldwarp,vehiclesunglare,coronaztest,watercreatures,burnflippedcars,fireballdestruct,roadsignstext,extendedwatercannons,tunnelweatherblend,ignorefirestate,flyingcomponents,vehicleburnexplosions,vehicle_engine_autostart. Naprawdę działavehicle_engine_autostart: wyłączona sprawia, że silnik auta nie zapala się sam, gdy kierowca wsiada, i trzeba go włączać przezsetVehicleEngineState.testSprawdza, czy kula w podanym punkcie nachodzi na jakiś element (pojazd, postać, obiekt) według uproszczonego modelu serwera (elementy jako kule, bez budynków mapy). Przydaje się np. do sprawdzenia, czy miejsce na stworzenie auta jest wolne.Sphere Against World
Funkcje klienta 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 getNoweSzuka 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).
Funkcje wspólne 48
areZwraca wartość zapisaną przezTraffic Lights Locked setTrafficLightsLocked(domyślniefalse).getZwraca wartość zBirds Enabled setBirdsEnabled(domyślnietrue).getZwraca wartość zBlur Level setBlurLevel(domyślnie 36).getZwraca nazwę regionu mapy w punkcie (City Name "Los Santos","San Fierro","Las Venturas","Red County","Flint County","Whetstone","Bone County","Tierra Robada"); to samo cogetZoneName(x, y, z, true).getZwraca filtr koloru ustawiony przezColor Filter setColorFilter. U klienta zwraca filtr lokalny, a bez niego filtr z serwera.getZwraca wartość zCorona Reflections Enabled setCoronaReflectionsEnabled(domyślniefalse).getZwraca wartość zGrain Level setGrainLevel(domyślnie 0).getZwraca wartość zGrain Multiplier setGrainMultiplier(domyślnie 1).getZwraca siłę grawitacji świata (domyślnie 0,008).Gravity getZwraca wysokość gruntu pod punktem. Na kliencie pyta grę (prawdziwy teren i budynki). Na serwerze serwer nie zna terenu mapy, więc bierze tylko obiekty skryptów i poziom wody; często zwracaGround Position false.getZwraca ustawienia drgania powietrza zapisane przezHeat Haze setHeatHaze.getZwraca wartość zInterior Furniture Enabled setInteriorFurnitureEnabled(domyślnietrue).getZwraca wartość zNear Clip Distance setNearClipDistance(domyślnie 0,3).getZwraca wartość zPeds LODDistance setPedsLODDistance(domyślnie 60).getZwraca kolory nieba zapisane przezSky Gradient setSkyGradient.getZwraca kolor słońca zapisany przezSun Color setSunColor.getZwraca rozmiar słońca zapisany przezSun Size setSunSize(domyślnie 1).getZwraca aktualną godzinę i minutę gry na serwerze (tę samą, którą widzą gracze).Time getZwraca stan sygnalizacji zapisany przezTraffic Light State setTrafficLightState(domyślnie 0).getZwraca wartość zVehicles LODDistance setVehiclesLODDistance(domyślnie 500).getZwraca kolor wody zapisany przezWater Color setWaterColor.getZwraca poziom wody zapisany przezWater Level setWaterLevel; gdy nie ustawiono, dla podanego punktu zwraca 0 (poziom morza).getZwraca wysokość fal zapisaną przezWave Height setWaveHeight.getZwraca aktualną pogodę oraz pogodę, do której trwa płynna zmiana zWeather setWeatherBlended(albonil).getZwraca wiatr zapisany przezWind Velocity setWindVelocity. Na serwerzefalse, gdy nie ustawiono; na kliencie wtedy 0, 0, 0.getZwraca prostokąt obejmujący całą strefę (wszystkie jej części) o podanej nazwie: minimalne i maksymalne współrzędne. Gdy nie ma takiej dzielnicy, szuka regionu.Zone Bounds getZwraca środek prostokąta strefy zZone Center getZoneBounds. Przydaje się np. do postawienia znacznika „Idź do Idlewood”. Środek nie musi leżeć na ziemi ani w samej strefie, jeśli ma ona nieregularny kształt.getZwraca liczbę prostokątów stref (dzielnic) i regionów w danych mapy.Zone Count getZwraca nazwę dzielnicy (strefy mapy) w podanym punkcie, np.Zone Name "Grove Street","Idlewood","Downtown Los Santos", czyli to, co gra pokazuje na ekranie po wjeździe w nową okolicę. ZcitiesOnly = truezwraca nazwę regionu ("Los Santos","San Fierro","Las Venturas","Red County"…). Działa po obu stronach na danych 356 stref gry, bez pytania klienta.getZwraca posortowaną listę nazw wszystkich dzielnic (bez powtórzeń) albo, zZone Names citiesOnly = true, nazw regionów. Dobre do list wyboru w panelach.isSprawdza, czy wspomaganie celowania jest dozwolone (Aim Assist Enabled setAimAssistEnabledna serwerze). U klienta mówi, czy serwer na nie pozwala.isZwraca, czy garaż został oznaczony jako otwarty przezGarage Open setGarageOpen. Działa po obu stronach.isSprawdza, czy punkt leży w strefie albo regionie o podanej nazwie (wielkość liter bez znaczenia). Strefa może składać się z wielu prostokątów; liczy się każdy z nich.Inside Zone isSprawdza, czy odcinek między dwoma punktami nie jest niczym zasłonięty. Na kliencie pyta grę (teren, budynki, obiekty, pojazdy, postacie, kolizje z plików .col). Na serwerze liczy na uproszczonym modelu: elementy skryptów jako kule, bez terenu i budynków mapy, więc służy tylko do przybliżonej oceny.Line Of Sight Clear isZwraca wartość zVolumetric Shadows Enabled setVolumetricShadowsEnabled(domyślniefalse).isZwraca wartość zWater Drawn Last setWaterDrawnLast(domyślniefalse).isZwraca, czy specjalna właściwość świata jest włączona: wartość zWorld Special Property Enabled setWorldSpecialPropertyEnabledalbo domyślną (np.randomfoliageivehicle_engine_autostartdomyślnie włączone,hovercarswyłączone).processSzuka pierwszej przeszkody na odcinku między dwoma punktami i zwraca szczegóły trafienia. Na kliencie pyta grę (teren, budynki, obiekty, auta, postacie, kolizje z plików .col) i zwraca dużo danych: punkt trafienia, element, normalną powierzchni, materiał, oświetlenie, część ciała lub pojazdu, a na życzenie także model obiektu mapy z położeniem. Każde wywołanie czeka ok. jedną klatkę gry; gdy świat jeszcze się wczytuje (ekran ładowania), od razu zwracaLine Of Sight false. Na serwerze liczy na uproszczonym modelu (kule elementów, bez terenu i budynków).removeZapisuje usunięcie obiektów mapy San Andreas o danym modelu w kuli o podanym promieniu. Można wywołać wiele razy; każde wywołanie dodaje wpis. Wywołane, zanim gra wczyta swoje modele (np. przy wejściu gracza), czeka i działa po wczytaniu.World Model resetZdejmuje filtr koloru. Na serwerze u wszystkich graczy; u klienta zdejmuje filtr lokalny, a filtr z serwera (jeśli jest) zostaje.Color Filter resetKasuje kolory nieba zSky Gradient setSkyGradient.restoreUsuwa wpisyWorld Model removeWorldModeldla danego modelu, których kula styka się z podaną kulą. Bez współrzędnych usuwa wszystkie wpisy tego modelu. Najpierw zdejmuje wpisy zasobu, który ją wywołał; wpisy innych zasobów tylko wtedy, gdy własnych nie ma.setNakłada filtr koloru na obraz gry: dwie warstwy RGBA mnożą kolory świata, każda w stopniu swojej przezroczystości (alfa 0 = warstwa nic nie zmienia, 255 = pełny kolor warstwy). Na serwerze filtr dostają wszyscy gracze, u klienta tylko ten gracz (ma pierwszeństwo przed filtrem z serwera). Napisy i okna skryptów nie są barwione.Color Filter setZapisuje kolory nieba: górny (zenit) i dolny (przy horyzoncie), każdy RGB 0-255.Sky Gradient setUstawia godzinę w grze u wszystkich graczy. Od tej chwili zegar idzie dalej sam (o ile nie jest zatrzymany przezTime setTimeFrozen); jedna minuta gry trwa domyślnie sekundę (setMinuteDuration). Pora dnia zmienia oświetlenie, kolor nieba i to, czy jest ciemno.setNatychmiast zmienia pogodę u wszystkich graczy. Numery 0-22 to pogody San Andreas, np. 0 bardzo słonecznie, 1-7 różne odmiany słońca i chmur, 8 burza, 9 mgła, 16 deszcz, 19 burza piaskowa. Przerywa płynną zmianę zWeather setWeatherBlended.setZapowiada płynną zmianę pogody: serwer przełącza pogodę na nową po upływie około dwóch godzin gry.Weather Blended testSprawdza, czy odcinek przecina powierzchnię wody (według poziomu zLine Against Water getWaterLevel) i zwraca punkt przecięcia.
Zdarzenia klienta 6
onSerwer włączył albo wyłączył mapę pod ESC (Client Map Enabled Change setMapEnabled,setPlayerMapEnabled).onPołączenie z serwerem się zacięło albo wróciło. Gdy przez 2,5 s nie przychodzą żadne dane, gra pokazuje na środku ekranu „NETWORK TROUBLE”, postać staje w miejscu i przychodziClient Player Network Status status=0; gdy dane wrócą, przychodzistatus=1.onZnacznik GPS lokalnego gracza zniknął: zdjęty na mapie, skryptem albo gracz dojechał.Client Waypoint Remove onLokalny gracz ma nowy znacznik GPS gry: z mapy (Client Waypoint Set "map") albo ze skryptu ("script").onŚwiat został odsłonięty po ekranie wczytywania. Od tej chwili gracz widzi grę.Client World Loaded onDźwięk świata od innego gracza. Zdarzenie jest zarejestrowane, ale obecny klient nie wysyła jeszcze tych meldunków, więc na razie nie przychodzi.Client World Sound