O fórum teve que ser recriado do zero, usuários do fórum antigo precisam se cadastrar novamente e caso você seja usuário vip se identifique perante a um administrador que o status vip será reatribuído..

Welcome to L2JDream Project

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

Sign in to follow this  
Followers 0
Wallz

Como criar zonas que serão ativadas por período de tempo

Este sistema foi projetado para implementar muitas ideias ao implementar eventos no jogo.

Por exemplo, em um determinado momento, uma zona com uma bandeira de pvp ou qualquer outra liga e gera mobs nesta zona, ou simplesmente ativa a zona.

Como exemplo, um evento mais complexo será dado - desabilitar zonas pacíficas em Gludio e habilitar zonas PvP e povoá-las com mobs para o período de atividade desta zona, e ao mesmo tempo fazer um anúncio do lançamento da zona e seu colapso.

Em palavras simples, nós ativamos a zona, geramos mobs usando o cron timer e também o usamos para desativar zonas e gerar spawn.

E então escolhemos a opção mais simples: Nesta variante, ativamos a zona pvp da zona baium às 19:00 e desligamos às 20:00, enquanto dentro da zona geramos [cron_spawn] um grupo de data/spawn, também fazemos um anúncio sobre como transformar o zona ligada e desligada. Agora consideramos em detalhes:

<set name = "[baium_epic_fun]" - a própria zona com a qual trabalhamos. IMPORTANTE * Os nomes das zonas não devem ser iguais!!
<set name = "enabled" val = "false" /> - em nosso exemplo, a zona é desabilitada por padrão e só é habilitada por temporizador.
<set name = "cronZoneEnablePattern" val = "0 19 * * *" /> - o parâmetro é responsável por ativar a zona no momento que precisamos. Formato CronTab - como compô-lo https://crontab.guru/
<set name = "cronZoneDisablePattern" val = "0 20 * * *" /> - o parâmetro é responsável por desativar a zona no momento que precisarmos. Formato CronTab - como compô-lo https://crontab.guru/
<set name = "cronZoneEnableBroadcastSpawnEvent" val = "[cron_spawn]" /> - Lista de Spawn que será ativada quando a zona for habilitada event_name = "[cron_spawn]" or any other name
<set name = "cronZoneDisableBroadcastDespawnEvent" val = "[cron_spawn]" /> - Lista de geração que será desativada quando a zona for habilitada event_name = "[cron_spawn]" or any other name
<set name = "cronZoneEnableAnnounceCustomMessage" val = "voicedcommandhandlers.Debug.Enabled" /> - O anúncio que ocorrerá na ativação. Estará em data/strings
<set name = "cronZoneDisableAnnounceCustomMessage" val = "voicedcommandhandlers.Debug.Disabled" /> - Anúncio que ocorrerá na desativação. Estará em data/strings *IMPORTANTE* O mesmo não é necessário na zona para usar todos os parâmetros, digamos que você não especifique o anúncio - não terá. Suponha que você não especifique um spawn na zona - ele não estará lá. Não é necessário especificar isso também, Assim como nem cronZoneEnablePattern or cronZoneDisablePattern são necessários, a menos que você os queira usar.

 <zone name="[baium_epic_fun]" type="fun" >
        <set name="enabled" val="false" />
        <set name="cronZoneEnablePattern" val="0 19 * * *" />
        <set name="cronZoneDisablePattern" val="0 20 * * *" />
        <set name="cronZoneEnableBroadcastSpawnEvent" val="[cron_spawn]" />
        <set name="cronZoneDisableBroadcastDespawnEvent" val="[cron_spawn]" />
        <set name="cronZoneEnableAnnounceCustomMessage" val="voicedcommandhandlers.Debug.Enabled" />
        <set name="cronZoneDisableAnnounceCustomMessage" val="voicedcommandhandlers.Debug.Disabled" />
        <polygon>
            <coords loc="116616 17576 10032 10232" />
            <coords loc="117064 16552 10032 10232" />
            <coords loc="117032 15592 10032 10232" />
            <coords loc="116664 14632 10032 10232" />
            <coords loc="116024 14008 10032 10232" />
            <coords loc="115128 13640 10032 10232" />
            <coords loc="114136 13624 10032 10232" />
            <coords loc="113256 13992 10032 10232" />
            <coords loc="112568 14664 10032 10232" />
            <coords loc="112216 15592 10032 10232" />
            <coords loc="112216 16552 10032 10232" />
            <coords loc="112600 17432 10032 10232" />
            <coords loc="113288 18120 10032 10232" />
            <coords loc="114152 18472 10032 10232" />
            <coords loc="115144 18488 10032 10232" />
            <coords loc="116152 18024 10032 10232" />
        </polygon>
    </zone>

Exemplo de Spawn:

<spawn name="[custom_spawn]" event_name="[cron_spawn]">
    <npc id="20001" count="1" respawn="60" pos="114856 16616 10080 38521" />
    <npc id="20001" count="1" respawn="60" pos="114636 16443 10080 40014" />
    <npc id="20001" count="1" respawn="60" pos="114504 16168 10080 46038" />
    <npc id="20001" count="1" respawn="60" pos="114520 16040 10080 50449" />
    <npc id="20001" count="1" respawn="60" pos="114616 15944 10080 3355" />
    <npc id="20001" count="1" respawn="60" pos="114877 16012 10080 1875" />
    <npc id="20001" count="1" respawn="60" pos="115024 16105 10080 7805" />
    <npc id="20001" count="1" respawn="60" pos="115278 16421 10080 5636" />
    <npc id="20001" count="1" respawn="60" pos="115416 16200 10080 46871" />
    <npc id="20001" count="1" respawn="60" pos="115328 16074 10080 40959" />
</spawn>

2) Agora estamos considerando uma opção mais difícil, apertar os cintos de segurança. Estamos fazendo uma desativação completa de zonas pacíficas na cidade de Gludio, tornando-a uma zona PvP, desparecendo NPCs pacíficos e gerando Mobs. Então ligamos a zona pacífica, desligamos os mobs e geramos NPCs pacíficos..
E isso tudo vai iniciar as 16:00 e terminar as 16:30.
Na cidade de Gludio tem 2 zonas que a desenhamos [guldiocastle_town_peace1] and [guldiocastle_town_peace2] e então desativamos no período do evento e ligamos após <set name = "cronZoneDisablePattern" val = "0 16 * * *" /> - Desativar a zona de Paz [guldiocastle_town_peace1] and [guldiocastle_town_peace2]
<set name = "cronZoneEnablePattern" val = "31 16 * * *" /> -  Ativar a Zona de Paz [guldiocastle_town_peace1] and [guldiocastle_town_peace2]
Despawn all peaceful NPCs - e então as piruetas começam, precisamos reunir todos os NPCs pacíficos em um grupo e atribuí-lo um event_name = "[gludio_peace_npc]" no Spawn ele Despawna todos os NPCs 
No fim, anunciamos que o evento acabou - в data/strings add the line zone_gludio_pvp.Disable=The Town of Gludo has become peaceful!
Exemplo:

<zone name="[guldiocastle_town_peace1]" type="peace_zone" >
        <set name="cronZoneDisablePattern" val="0 16 * * *" />
        <set name="cronZoneEnablePattern" val="31 16 * * *" />
        <set name="cronZoneDisableBroadcastDespawnEvent" val="[gludio_peace_npc]" />
        <set name="cronZoneDisableAnnounceCustomMessage" val="zone_gludio_pvp.Disable" />
        <polygon>
            <coords loc="-11998 123905 -3245 -2745" />
            <coords loc="-12880 126192 -3245 -2745" />
            <coords loc="-13928 126485 -3245 -2745" />
            <coords loc="-14408 126484 -3245 -2745" />
            <coords loc="-15239 126174 -3245 -2745" />
            <coords loc="-16120 125367 -3245 -2745" />
            <coords loc="-16551 124468 -3245 -2745" />
            <coords loc="-16550 123911 -3245 -2745" />
            <coords loc="-16509 123323 -3245 -2745" />
            <coords loc="-14638 122381 -3245 -2745" />
            <coords loc="-12022 122270 -3245 -2745" />
        </polygon>
    </zone>
    <zone name="[guldiocastle_town_peace2]" type="peace_zone" >
        <set name="cronZoneDisablePattern" val="0 16 * * *" />
        <set name="cronZoneEnablePattern" val="30 16 * * *" />
        <polygon>
            <coords loc="-14956 121115 -3156 -2656" />
            <coords loc="-12670 121093 -3156 -2656" />
            <coords loc="-12021 121755 -3156 -2656" />
            <coords loc="-12019 123005 -3156 -2656" />
            <coords loc="-15400 123009 -3156 -2656" />
        </polygon>
    </zone>

Agora nós precisamos ativar as zonas PvP ao invés de desativar as zonas de Paz:
<set name = "cronZoneEnablePattern" val = "1 16 * * *" /> -ativar zonas de pvp [guldiocastle_town_pvp1] and [guldiocastle_town_pvp2]
<set name = "cronZoneEnablePattern" val = "31 16 * * *" /> - ativar zonas de paz [guldiocastle_town_pvp1] and [guldiocastle_town_pvp2]
Spawna todos mobs - crie seu proprio grupo de mobs para spawnar com o nome do evento = "[gludio_pvp_mobs]"
Anunciamos que começou o evento: - в data/strings add the line zone_gludio_pvp.Enable=The city of Gludo has become unsafe! Fight monsters and players for a reward

<zone name="[guldiocastle_town_pvp1]" type="battle_zone" >
        <set name="cronZoneEnablePattern" val="1 16 * * *" />
        <set name="cronZoneDisablePattern" val="30 16 * * *" />
        <set name="cronZoneEnableBroadcastSpawnEvent" val="[gludio_pvp_mobs]" />
        <set name="cronZoneEnableAnnounceCustomMessage" val="zone_gludio_pvp.Enable" />
        <polygon>
            <coords loc="-11998 123905 -3245 -2745" />
            <coords loc="-12880 126192 -3245 -2745" />
            <coords loc="-13928 126485 -3245 -2745" />
            <coords loc="-14408 126484 -3245 -2745" />
            <coords loc="-15239 126174 -3245 -2745" />
            <coords loc="-16120 125367 -3245 -2745" />
            <coords loc="-16551 124468 -3245 -2745" />
            <coords loc="-16550 123911 -3245 -2745" />
            <coords loc="-16509 123323 -3245 -2745" />
            <coords loc="-14638 122381 -3245 -2745" />
            <coords loc="-12022 122270 -3245 -2745" />
        </polygon>
    </zone>
    <zone name="[guldiocastle_town_pvp2]" type="battle_zone" >
        <set name="cronZoneEnablePattern" val="1 16 * * *" />
        <set name="cronZoneDisablePattern" val="30 16 * * *" />
        <polygon>
            <coords loc="-14956 121115 -3156 -2656" />
            <coords loc="-12670 121093 -3156 -2656" />
            <coords loc="-12021 121755 -3156 -2656" />
            <coords loc="-12019 123005 -3156 -2656" />
            <coords loc="-15400 123009 -3156 -2656" />
        </polygon>
    </zone>

Todo o conjunto de parâmetros:

"cronZoneEnablePattern" - Quando a Zona ativa. Exemplo <set name = "cronZoneEnablePattern" val = "0 18 * * *" />
"cronZoneEnableBroadcastSpawnEvent" - Evento para Spawnar quando a zona for ATIVADA<set name = "cronZoneEnableBroadcastSpawnEvent" val = "[gludio_peace_npc]" />
"cronZoneEnableBroadcastDespawnEvent" - Evento para DESpawnar quando a zona for ATIVADA <set name = "cronZoneEnableBroadcastSpawnEvent" val = "[gludio_pvp_mobs]" />
"cronZoneEnableAnnounceCustomMessage" - Anúncio para quando ativar a Zona <set name="cronZoneEnableAnnounceCustomMessage" val="zone_gludio_pvp.Enable" />

"cronZoneDisablePattern" - Quando a Zona Desliga. Example <set name="cronZoneEnablePattern" val="0 19 * * *" />
"cronZoneDisableBroadcastSpawnEvent" - Evento para DESpawnar os NPCS ativados pela zona <set name="cronZoneEnableBroadcastSpawnEvent" val="[gludio_peace_npc]" />
"cronZoneDisableBroadcastDespawnEvent" - Evento para DESpawnar quando a zona for desativada <set name="cronZoneEnableBroadcastSpawnEvent" val="[gludio_pvp_mobs]" />
"cronZoneDisableAnnounceCustomMessage" - Anúncio para quando desativar a Zona <set name="cronZoneEnableAnnounceCustomMessage" val="zone_gludio_pvp.Disable" />

Todo o sistema é limitado apenas pela sua imaginação, com a ajuda desta ferramenta você pode fazer qualquer evento do jogo, ativar zonas e gerar, girar zonas do seu jeito e o que vier à sua mente..

Share this post


Link to post
Share on other sites
Sign in to follow this  
Followers 0