Obsah
Automatické Zavírání/Zamykání Dveří
Ve výchozím nastavení zůstávají dveře otevřené, dokud poslední hráč neopustí oblast. To stačí ve většině situací.
Někdy však možná budete chtít zajistit, aby se konkrétní dveře zavíraly a zamykaly automaticky. Například pokud máte dveře pouze pro zloděje, které slouží jako zkratka, nebo dveře vyžadují klíč, který je třeba nejprve získat od pojmenovaného monstra.
K tomu vložte skript ark_zamkni do události OnOpen dveří. Nebo, ve speciálním případě, kdy dveře vedou do podoblati bez návratu, můžete chtít použít událost OnAreaTransitionClicked - to zabrání typickému problému, kdy hráč otevře dveře a pak se rozhodne odpočinout před vstupem, v takovém případě by se dveře normálně zavřely a zamkly.
Výchozí časovač pro zamykání a zavírání dveří s tímto skriptem je 15 sekund. Pokud chcete jiný čas, můžete to specifikovat těmito proměnnými:
- LOCK_DELAY int X - kde X je počet sekund, než se dveře samy zamknou
- CLOSE_DELAY int X - kde X je počet sekund, než se dveře samy zavřou
Pokud jsou dveře spojeny s jinými dveřmi, pak zavření dveří z jedné strany je zavře i z druhé strany.
Tento skript také zpožďuje zavírání, pokud je hráč do 5 metrů od dveří, aby se předešlo problému s hráčem, který otevře dveře a odpočívá, nebo hráčem, který zůstane uvězněn uvnitř dveří, což se někdy stává.
Automatické Zavírání Spuštěné Oblastí
Existují další možnosti pro skript, který zavírá dveře, když poslední hráč opustí oblast.
- ALWAYSCLOSE int 1 - to přinutí dveře, aby byly vždy zavřeny tímto skriptem, normálně, pokud hráč opustil oblast přes dveře, pak tyto dveře zůstanou otevřené, aby se nezavřely z druhé strany, kde hráč právě je, ale někdy může být toto chování nežádoucí
- NEVERCLOSE int 1 - to zabrání dveřím, aby byly zavřeny skriptem, to je užitečné, pokud chcete mít dveře předem otevřené a nechcete, aby se někdy zavřely
- LOCKME int 1 - dveře s touto proměnnou budou také zamknuty, když poslední hráč opustí oblast, může být použito i na umístitelné objekty s inventářem
Respawn Dveří
Pokud chcete, aby byly dveře zničitelné v neinstanční oblasti, pak budete chtít, aby se tyto dveře po nějaké době znovu objevily. K tomu nastavte skript sh_respdvere do události OnDeath dveří. Poté nastavte další charakteristiky dveří, jako jsou životní body, automatický zavírací skript, tvrdost nebo dokonce past a stiskněte OK. Jakmile to máte, musíte vytvořit šablonu z těchto dveří. K tomu klikněte pravým tlačítkem na dveře a vyberte Přidat do palety.

Tím se znovu otevře okno vlastností dveří, ale tentokrát budete moci změnit jejich resref v záložce Pokročilé a poli Blueprint ResRef. Nastavte nový resref a poté vyberte kategorii palety (záložka Základní), pokud tam žádná není, kde později dveře najdete.
Ve výchozím nastavení se respawn uskuteční 300 sekund po zničení. Můžete to změnit pomocí proměnné:
- RESPAWN_DELAY int X - kde X je počet sekund, po kterých se dveře znovu objeví
Všimněte si, že přidání předem umístěného objektu do palety automaticky změní jeho resref na nový resref, který vyberete v okně vlastností, avšak jakékoli další změny, které jste během tohoto procesu provedli, nebudou zkopírovány do předem umístěného objektu v oblasti. Proto doporučuji smazat předem umístěný objekt a umístit ho znovu z palety.
Další Skripty a Proměnné pro Dveře
Skript sh_useablefalse v události OnOpen způsobí, že dveře po otevření již nebudou použitelné a interaktivní. Někdy to dělám v instančních oblastech, zejména pokud dveře nějak překážejí jinému objektu. Toto lze použít i pro umístitelné objekty, stanou se nepoužitelnými, pokud byl jejich inventář vyprázdněn, ale v případě umístitelných objektů chcete tento skript vložit do události OnClosed.
Dveře s přechodem do oblasti mohou mít další proměnné:
- PROGRESS_MINIMUM integer X - minimální procento vyčištěných spawnů pro průchod, související s Progress System
- DISABLE_TRANSITION_IN_COMBAT integer 1 - zabraňuje průchodu, dokud je hráč v boji a dokud jsou v oblasti živé nepřátelské bytosti
- MIN_LVL integer X - zabraňuje průchodu bez specifikované minimální úrovně (pokud vím, žádné dveře na Arkhalia to nepoužívají, ale možnost existuje)
- DVERE string door_tag - značka dveří, které musí být odemčeny nebo zničeny pro průchod (řešení exploitu běžícího přes dveře)
