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 postačuje ve většině situací.
Někdy ale můžete chtít zajistit, aby se konkrétní dveře automaticky zavřely a zamkly. Například pokud máte dveře určené pouze pro zloděje, které slouží jako zkratka, nebo dveře vyžadují klíč, který musí být nejprve získán 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 podřízené oblasti 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čívat 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 pomocí těchto proměnných:
- LOCK_DELAY int X - kde X je počet sekund před tím, než se dveře samy zamknou
- CLOSE_DELAY int X - kde X je počet sekund před tím, než se dveře samy zavřou
Pokud jsou dveře propojeny 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ření, 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ý uvízne uvnitř dveří, což se někdy stává.
Automatické Zavírání Aktivované Oblastí
Existují další možnosti pro skript, který zavírá dveře, když poslední hráč opustí oblast.
- ALWAYSCLOSE int 1 - to způsobí, že dveře budou tímto skriptem vždy zavřeny, normálně, pokud hráč opustí oblast přes dveře, pak tyto dveře zůstanou otevřené, aby se nezavřely z druhé strany, kde hráč aktuálně je, ale někdy může být toto chování nežádoucí
- NEVERCLOSE int 1 - to zabrání, aby dveře byly skriptem zavřeny, 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é zamčeny, 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 neinstancované 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ší vlastnosti dveří jako životy, skript pro automatické zavírání, 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.

To znovu otevře okno vlastností dveří, ale tentokrát budete moci změnit jeho resref na záložce Pokročilé a pole Blueprint ResRef. Nastavte nový resref a poté vyberte kategorii palety (záložka Základní), pokud žádná není, kde později dveře najdete.
Ve výchozím nastavení dojde k respawnu 300 sekund po zničení. Toto můžete 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ý zvolíte v okně vlastností, avšak jakékoli další změny, které jste během tohoto procesu provedli, nebudou zkopírovány na předem umístěný objekt 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 instancovaných oblastech, zejména pokud dveře nějak překáží jinému objektu. To může být použito i pro umístitelné objekty, stanou se nepoužitelnými, pokud byl jejich inventář vyprázdněn, ale v případě umístitelného objektu chcete tento skript vložit do události OnClosed.
Dveře s přechodem mezi oblastmi 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 toto na Arkhalia nepoužívají, ale možnost existuje)
- DVERE string door_tag - štítek dveří, které musí být odemčeny nebo zničeny pro průchod (řešení exploitu s průchodem dveřmi)
