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.

  • Anúncios

    • Wallz

      Suporte e Serviço Pago: Tabela de Valores!   04/03/2023

      Devido a acontecimentos recentes e para eu não parar de mexer de vez com l2j, a pedido de alguns clientes, a partir de hoje, suporte remoto, edição de dlls, edição de patches de proteção e atualizações será cobrado um valor simbólico pois por causa de alguns usuários agindo de má fé eu vou ter que parar de disponibilizar conteúdo e suporte remoto grátis Suporte Remoto: Acesso remoto AnyDesk/TeamViewer: R$40,00/hora ~ R$25,00/fração de hora (15~30 minutos) Instalação de Servidor no PC: R$60,00 (Para computador doméstico o servidor será configurado por padrão parar rodar em 127.0.0.1, pois eu não mexerei com portas de roteador) Instalação de Servidor em VPS/Dedicado: R$ 60,00 (Apenas a instalação dos programas e da pack, não inclui configurar in-game, add npc/itens custom nem qualquer outra modificação) Add Item Custom: R$80,00 cada set (armaduras/armas) sem configurar status específico. Add/Criar Moedas Custom: R$40,00 se tiver que criar textura + R$20 por moeda Add NPC/Mob Custom: R$ 40,00 cada NPC, sem configurar status ou scripts Serviços adicionais: Updates de Pack: R$29,90/mês a pack Alterações específicas de Proteção: R$95,00 Restaurar Compra (usuários antigos): R$ 35,00 Liberar Interface Custom na Proteção: R$75,00 por DLL Adicionar Logo do Server na Proteção: R$65,00 Server Health & Overview: R$ 150,00/hora de teste Launcher Compacto: R$249,99 
      PAGAMENOS APENAS VIA PIX OU PICPAY.

Wallz

Fundador
  • Total de itens

    400
  • Registro em

  • Última visita

  • Troféus

    499

Posts postados por Wallz


  1. Para editar skills, você precisa acessar:
    Caminho - Game\data\skill_tree\

    A lista de arquivos para edição:
    fishing_skill_tree.xml - Habilidades de pesca. Lá é possível alterar os preços.
    normal_skill_tree.xml - Habilidades de todas as classes, quais skillsbooks são necessários para aprender, uma custo em SP
    pledge_skill_tree.xml - Habilidades do clã, custa RP (Raid Bois Points) e RB Eggs.
    skill_enchant_data.xml - Dados de skills quando encantadas.

    Você pode adicionar a esses arquivos quaisquer habilidades para clãs, jogadores, pescadores e assim por diante. Tudo de forma flexível e configurável.


  2. Caminho para config:
    Game\data\recipe.xml

    Veja abaixo como é o código de um recipe.

    <recipe id="1" name="Recipe: Wooden Arrow" level="1" mp_consume="30" success_rate="100" item_id="1666" is_common="false">
    <!--Description: For Dwarves only. The recipe for a Wooden Arrow. Requires Create Item Level 1. The success rate is 100%-->
    <materials>
    <item id="1864" name="Stem" count="4"/>
    <item id="1869" name="Iron Ore" count="2"/>
    </materials>
    <products>
    <item id="17" name="Wooden Arrow" count="500"/>
    </products>
    <npc_fee>
    <item id="1666" name="Recipe: Wooden Arrow" count="1"/>
    <item id="57" name="Adena" count="200"/>
    </npc_fee>
    </recipe>

    1. A  única coisa que não precisa estar é a taxa do NPC:

    <npc_fee>
    <item id="1666" name="Recipe: Wooden Arrow" count="1"/>
    <item id="57" name="Adena" count="200"/>
    </npc_fee>

    2. O recipe também é compartilhado para todos ou apenas anões se is_common = "false" serão recipes apenas para anões. Em geral, tudo em is_common = "true"Exemplo final:

    <recipe id="1" name="Recipe: Wooden Arrow" level="1" mp_consume="30" success_rate="100" item_id="1666" is_common="false">
    <!--Description: For Dwarves only. The recipe for a Wooden Arrow. Requires Create Item Level 1. The success rate is 100%-->
    <materials>
    <item id="1864" name="Stem" count="4"/>
    <item id="1869" name="Iron Ore" count="2"/>
    </materials>
    <products>
    <item id="17" name="Wooden Arrow" count="500"/>
    </products>
    </recipe>

     


  3. Este tipo de serviço é presente para configurar respawn de Grand Bosses. 

    Exemplo:

    Exemplo:
    ValakasRespawnTimePattern = ~ 180: 0 20 5 * *
    Neste exemplo o valakas tera um respawn de 0 a 180 minutos (~180:) com uma contagem inicial de 20:00, na sexta feira.
    
    Se você quiser vincular não ao dia da semana, mas a partir da hora da morte + dias
    
    Example:
    ValakasRespawnTimePattern = ~ 180: 0 20 +5: * * *
    Valakas will spawn with a spread of 0 to 180 minutes  (~180:) at 20:00 (0 20) +5 days (+5:)

  4. Para proibir o uso de skills em uma determinada zona, precisamos adicionar uma condição à skill na determinada zona:

    Vamos usar o nobless como exemplo:

    1. Primeiro, vamos definir a zona na qual queremos proibir - por exemplo [primeval_peace1], está em Game/data/zone/peace_zone.xml

    2. Encontre a habilidade de que precisamos e adicione um banimento no uso de:

    <skill id="1323" levels="1" name="Noblesse Blessing">
    <set name="magicType" val="MAGIC"/>
    <set name="icon" val="icon.skill1323"/>
    <set name="reuseDelay" val="6000"/>
    <set name="magicLevel" val="1"/>
    <set name="castRange" val="400"/>
    <set name="hitTime" val="4000"/>
    <set name="hitCancelTime" val="500"/>
    <set name="mpConsume1" val="14"/>
    <set name="mpConsume2" val="55"/>
    <set name="itemConsumeId" val="3031"/>
    <set name="itemConsumeCount" val="5"/>
    <set name="target" val="TARGET_ONE"/>
    <set name="skillType" val="BUFF"/>
    <set name="operateType" val="OP_ACTIVE"/>
    <cond msgId="113" addName="1">
    <not>
    <zone name="[primeval_peace1]"/>
    </not>
    </cond>
    <for>
    <effect count="1" name="BlessNoblesse" stackOrder="1" stackType="BlessOfNoble" time="3600" val="0"/>
    </for>
    </skill>

    É muito simples, note acima que incluímos dentro do valor not [primeval_peace1] proibindo assim seu uso quando o personagem estiver nesta zona.

    <not>
    <zone name="[primeval_peace1]"/>
    </not>

    3. Se precisarmos adicionar muitas zonas para o banimento de skills:

    <skill id="1323" levels="1" name="Noblesse Blessing">
    <set name="magicType" val="MAGIC"/>
    <set name="icon" val="icon.skill1323"/>
    <set name="reuseDelay" val="6000"/>
    <set name="magicLevel" val="1"/>
    <set name="castRange" val="400"/>
    <set name="hitTime" val="4000"/>
    <set name="hitCancelTime" val="500"/>
    <set name="mpConsume1" val="14"/>
    <set name="mpConsume2" val="55"/>
    <set name="itemConsumeId" val="3031"/>
    <set name="itemConsumeCount" val="5"/>
    <set name="target" val="TARGET_ONE"/>
    <set name="skillType" val="BUFF"/>
    <set name="operateType" val="OP_ACTIVE"/>
    <cond msgId="113" addName="1">
    <not>
    <or>
    <zone name="[primeval_peace1]"/>
    <zone name="[giran_town_peace2]"/>
    </or>
    </not>
    </cond>
    <for>
    <effect count="1" name="BlessNoblesse" stackOrder="1" stackType="BlessOfNoble" time="3600" val="0"/>
    </for>
    </skill>

    Adicione entre as tags not o <or> assim você poderá incluir mais de uma zona na skill.

    <not>
    <or>
    <zone name="[primeval_peace1]"/>
    <zone name="[giran_town_peace2]"/>
    </or>
    </not>

     


  5. Vamos acessar o arquivo altsettings.properties dentro da pasta config e vamos procurar pelas linhas:

    # Allow custom hero status / Issuance of a custom heroism after the kill RB type HeroAndNoblessRewarder
    AltAllowCustomHero = True
    # Time Expire of Custom Hero status (in hours)
    CustomHeroExpireTime = 24

    O valor precisa ser True e defina o tempo em horas do herói no campo CustomHeroExpireTime.

    Vou mostrar o exemplo com o Barakiel, mas você pode usar com qualquer outro boss.

    <npc id="25325" name="Flame of Splendor Barakiel" title="Raid Boss">
      <set name="aggroRange" value="0"/>
      <set name="ai_type" value="Fighter"/>
      <set name="baseAtkRange" value="40"/>
      <set name="baseCON" value="57"/>
      <set name="baseCritRate" value="40"/>
      <set name="baseDEX" value="73"/>
      <set name="baseHpMax" value="562442"/>
      <set name="baseHpRate" value="1"/>
      <set name="baseHpReg" value="117.684"/>
      <set name="baseINT" value="76"/>
      <set name="baseMAtk" value="1190"/>
      <set name="baseMAtkSpd" value="3819"/>
      <set name="baseMDef" value="764"/>
      <set name="baseMEN" value="80"/>
      <set name="baseMpMax" value="1345.8"/>
      <set name="baseMpReg" value="2.7"/>
      <set name="basePAtk" value="4077"/>
      <set name="basePAtkSpd" value="253"/>
      <set name="basePDef" value="1412"/>
      <set name="baseRunSpd" value="190"/>
      <set name="baseSTR" value="60"/>
      <set name="baseShldDef" value="0"/>
      <set name="baseShldRate" value="0"/>
      <set name="baseWIT" value="70"/>
      <set name="baseWalkSpd" value="50"/>
      <set name="collision_height" value="30.0"/>
      <set name="collision_radius" value="8.0"/>
      <set name="level" value="70"/>
      <set name="rewardExp" value="4135550"/>
      <set name="rewardRp" value="2884"/>
      <set name="rewardSp" value="777993"/>
      <set name="shots" value="NONE"/>
      <set name="texture" value=""/>
      <set name="type" value="RaidBoss"/>
      <equip>
      <rhand item_id="6717"/>
      <!--Monster Only(Einhasad Warrior)-->
      </equip>
      <minions>
      <minion npc_id="25326" count="1"/>
      <!--Barakiel's Disciple-->
      <minion npc_id="25327" count="1"/>
      <!--Barakiel's Acolyte-->
      </minions>
      <skills>
      <skill id="4045" level="1"/>
      <!--Resist Full Magic Attack-->
      <skill id="4188" level="7"/>
      <!--Bleed-->
      <skill id="4190" level="7"/>
      <!--Decrease MP-->
      <skill id="4192" level="7"/>
      <!--BOSS HP Drain-->
      <skill id="4408" level="1"/>
      <!--HP Increase (1x)-->
      <skill id="4409" level="1"/>
      <!--MP Increase (1x)-->
      <skill id="4410" level="11"/>
      <!--Average P. Atk.-->
      <skill id="4411" level="11"/>
      <!--Average M. Atk.-->
      <skill id="4412" level="11"/>
      <!--Average P. Def.-->
      <skill id="4413" level="11"/>
      <!--Average M. Def.-->
      <skill id="4414" level="2"/>
      <!--Standard Type-->
      <skill id="4415" level="4"/>
      <!--One-handed Sword-->
      <skill id="4416" level="8"/>
      <!--Angels-->
      <skill id="4494" level="1"/>
      <!--Raid Boss-->
      <skill id="4913" level="1"/>
      <!--Raid Boss - Level 70-->
      </skills>
      <attributes>
      <defence attribute="fire" value="0"/>
      <defence attribute="water" value="0"/>
      <defence attribute="wind" value="0"/>
      <defence attribute="earth" value="0"/>
      <defence attribute="holy" value="0"/>
      <defence attribute="unholy" value="0"/>
      </attributes>
      <rewardlist type="RATED_GROUPED">
      <group chance="88.8576">
      <reward item_id="5312" min="1" max="1" chance="10.1358"/>
      <reward item_id="5528" min="140" max="420" chance="5.713"/>
      <reward item_id="5527" min="81" max="243" chance="9.8743"/>
      <reward item_id="5495" min="40" max="120" chance="25.396"/>
      <reward item_id="5317" min="1" max="1" chance="10.1358"/>
      <reward item_id="5315" min="1" max="1" chance="14.4641"/>
      <reward item_id="6570" min="1" max="1" chance="17.3435"/>
      <reward item_id="6578" min="1" max="1" chance="6.9375"/>
      </group>
      <group chance="75.0">
      <reward item_id="8172" min="1" max="3" chance="33.3334"/>
      <reward item_id="8176" min="3" max="9" chance="33.3333"/>
      <reward item_id="8619" min="1" max="1" chance="33.3333"/>
      </group>
      </rewardlist>
      </npc>

    Procure a linha <set name="type" value="RaidBoss"/> troque <set name="type" value="HeroAndNoblessRewarder"/>.

    Condições para obter heroi, você tem que estar em party, não pode estar mais longe que 1500 de distância do jogo e estar na classe PRINCIPAL com nível não menor que 75.


  6. Caminho: Game\data\newbie_buffs.xml

    Você pode alterar os buffs e o que o newbie buff faz no servidor. 

    <?xml version="1.0" encoding="UTF-8" ?>
    <list>
        <warrior max_level="25">
            <buff skill_id="4322" skill_level="1" min_level="8" />
            <buff skill_id="4323" skill_level="1" min_level="11" />
            <buff skill_id="4324" skill_level="1" min_level="12" />
            <buff skill_id="4325" skill_level="1" min_level="13" />
            <buff skill_id="4326" skill_level="1" min_level="14" />
            <buff skill_id="4327" skill_level="1" min_level="15" />
            <buff skill_id="4338" skill_level="1" min_level="16" />
        </warrior>
        <mage max_level="25">
            <buff skill_id="4322" skill_level="1" min_level="8" />
            <buff skill_id="4323" skill_level="1" min_level="11" />
            <buff skill_id="4328" skill_level="1" min_level="12" />
            <buff skill_id="4329" skill_level="1" min_level="13" />
            <buff skill_id="4330" skill_level="1" min_level="14" />
            <buff skill_id="4331" skill_level="1" min_level="15" />
            <buff skill_id="4338" skill_level="1" min_level="16" />
        </mage>
    </list>

    É dividido entre classes de fight e mago pelas tags iniciais warrior e mage.

    Adicione o level no campo max_level e a listagem das skills que serão entregues ao personagem newbie.

    1 pessoa curtiu isso

  7. Como recarregar um HTML sem reiniciar o servidor

    Você não precisa usar nenhum comando para recarregar o HTML.
    Apenas vá em - server.properties configure em HtmCacheMode mude para = 0 (zero). Com esta configuração, todos os HTML's seráo reiniciados automaticamente se você alterar o arquivo, sem nenhum comando
    A configuração padrão é 2.
    Use apenas em um servidor de teste - em um servidor normal, Você deve usar a opção 2.


  8. Caminho: Game/config/olympiad.properties

    Procure e deixe o valor assim

    # The Minimum number of participants for start is 2 parties on 3 persons there are enough
    MinParticipantTeamBase = 6

    Agora vamos editar o HTML do gerenciador de olimpíadas.
    Caminho: Game/data/html/oly/olympiad_operator100.htm

    <html>
    <body>
    Grand Olympiad Manager:<br>
    Do you wish to participate in the games of the Grand Olympiad?
    <tr><td align=center><font color="bea27b">(%season% round, %period% circle, count of participant:%currpartcnt%)</font></td></tr>
    <a action="bypass -h npc_%objectId%_oly 102">"I want to join the games without a class distinction."</a>
    <a action="bypass -h npc_%objectId%_oly 101">"I want to join the class-based games."</a>
    <a action="bypass -h npc_%objectId%_Chat 0">Return</a><br>
    </body>
    </html>

    Modificaremos agora para que fosse possível o registro no 3v3:

    <html>
    <body>
    Grand Olympiad Manager:<br>
    Do you wish to participate in the games of the Grand Olympiad?
    <tr><td align=center><font color="bea27b">(%season% round, %period% circle, count of participant:%currpartcnt%)</font></td></tr>
    <a action="bypass -h npc_%objectId%_oly 102">"I want to join the games without a class distinction."</a>
    <a action="bypass -h npc_%objectId%_oly 101">"I want to join the class-based games."</a>
    <a action="bypass -h npc_%objectId%_oly 103">"I want to join the 3v3 games."</a>
    <a action="bypass -h npc_%objectId%_Chat 0">Return</a><br>
    </body>
    </html>

    Perceba que nós chamamos um bypass de ID diferente, 103 então ficou modificado assim:

    <a action="bypass -h npc_%objectId%_oly 103">"I want to join the 3v3 games."</a>

    Condições de participação:
    1. 3 jogadores devem estar em party e estarem registrados
    2. Após a vitória e derrota os pontos são dados ou retirados.
    3. Todos os pontos de vitória são divididos entre os três.
    4. O herói é dado se o jogador da classe acumular mais pontos!

    Como há uma entrega de herói?
    Se o jogador participou dos Jogos Olímpicos 3 vs 3 e 1 vs 1 - os pontos são resumidos.
    A entrega do herói acontece apenas para o 1º jogador da classe, não importa se ele lutou no 3x3 ou 1x1 - entrega apenas para o 1º jogador da classe que somar mais pontos.


  9. Você pode definir a data e horário da primeira siege do seu servidor, para isso dentro do jogo de o comando:
    //admin e selecione a opção Residences e o castelo desejado:
     
    image.png  
    image.png
    image.png 

    Para suspender automaticamente a siege você precisa a cada 7 dias editar ou altera a data dentro da XML em:
    Game\data\events\siege e como exemplo pegamos [1] gludio_castle.xml

    Teremos um parâmetro semelhante a este dentro do documento
    <parameter name="siege_schedule" value="0 16 +14:* * 7|0 20 +14:* * 7" />

    0 16 +14:* * 7|0 20 +14:* * 7


    0 16 +14: * * 7
    (0 16) - 16:00
    +14 - Depois de quantos dias será a próximo siege, neste exemplo, após 14 dias (2 semanas). Se você desejar incluir mais uma semana (+7)
    : * * 7 - Dia da semana. Em nosso exemplo será no domingo (estes são exemplos de Cron, aprenda-os).

    O segundo parâmetro em si também carrega a própria informação, MAS já para a segunda siege desse castelo. Até onde você sabe, alguns dos castelos iniciam sieges em ondas diferentes. Existem apenas dois deles.
    | 0 20 +14: * * 7

    1 pessoa curtiu isso

  10. Caminho de Augmentation e Status: Game/data/optiondata/
    Caminho de Chances: Game/data/variation_data.xml
    Caminho para as variações: Game/data/variation_group.xml

    Exemplo do OptionData

    <Optiondata id = "2600"> - ID da LifeStone (stat/skill)
    <For>
    <Add order = "0x40" stat = "maxMp" value = "20.72" /> - Status
    <Add order = "0x40" stat = "regCp" value = "0.28" /> - Status

    Exemplo de Game/data/variation_data.xml

    <Variation_data mineralId = "8723"> - É o ID de uma Lifestone
    <Options type = "WARRIOR"> - Tipo de arma que as variações 1 e 2 será aplicado em armas do tipo físico.
    <Variation1> - Dados para a variação numero 1
    <Group chance = "100.0"> - A taxa de drop de augmentation do grupo. Não pode ser maior que 100%.
    <Option id = "1" chance = "50.0" /> - Uma chance de aumentar a precipitação, a quantidade de chances dentro do grupo para a opção não poder exceder 100%. O próprio Id é obtido do Game/data/optiondata/
    <Option id = "2" chance = "50.0" />
    
    <Variation2>
    <Group chance = "50.0"> - A chance de drop de augmentation do grupo, não pode exceder 100%.
    <Option id = "7281" chance = "50.0" />
    <Option id = "7282" chance = "50.0" />
    
    <Group chance = "50.0">
    <Option id = "8191" chance = "50.0" />
    <Option id = "8192" chance = "50.0" />
    
    <Options type = "MAGE"> - É o mesmo exemplo do inicio desta postagem no Type Warrior só que agora para Magos.
    <Variation1>
    <Group chance = "100.0">
    <Option id = "3641" chance = "50.0" />
    <Option id = "3642" chance = "50.0" />
      
    <Variation2>
    <Group chance = "50.0">
    <Option id = "7281" chance = "50.0" />
    <Option id = "7282" chance = "50.0" />
    
    <Group chance = "50.0">
    <Option id = "8191" chance = "50.0" />
    <Option id = "8192" chance = "50.0" />

     


  11. Como criar um spawn

    Criando spawn !!

    A especificidade do nosso servidor é que temos todos os dados sobre a localização dos NPC's em formato XML.

    1. Dados da localização: Game\data\spawn
    2. Você precisa criar um arquivo, por exemplo 96_96.xml com o seguinte conteúdo. Na verdade, criamos um arquivo vazio sem nenhum spawn.

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE list SYSTEM "spawn.dtd">
    <list>
    </list>

    3. Agora vamos criar a localização do NPC (spawn).
    Para o Administrador existem alguns comandos disponíveis como:
    3.1. //spawn_loc npc_id - gera um único spawn. Projetado para não gerar (spawn) mobs. Melhor para teleporters, Shops etc
    Em seguida, nosso servidor gerou os seguintes resultados

    <spawn name="[custom_spawn]">
    <npc id="40010" count="1" respawn="60" pos="82520 149192 -3472 57343" />
    </spawn>

    3.2. //spawn_loc 300 40010 .Spawn locations (usado principalmente no que seria rapidamente colonizar localização) - i.e., nós construímos um quadrado devido às arestas longas.
    Também em 1 a praça, podemos adicionar um monte de NPC
    Obtemos os seguintes resultados

    <spawn name="[custom_spawn]">
    <mesh>
    <vertex x="82306" y="149106" minz="-3472" by maxz="-3344" />
    <vertex x="82606" y="149106" minz="-3472" by maxz="-3344" />
    <vertex x="82606" y="149406" minz="-3472" by maxz="-3344" />
    <vertex x="82306" y="149406" minz="-3472" by maxz="-3344" />
    </mesh>
    <npc id="40010" count="1" respawn="60" />
    <npc id="40011" count="1" respawn="60" />
    <npc id="40012" count="1" respawn="60" />
    </spawn>

    Agora nos voltamos para o significado das linhas:

    npc id="40010" - ID do NPC queremos auditoria
    count="1" - O which we need to Caspionet in this square.
    Very convenient if we need to quickly populate the entire location. Specify the desired number of SPC
    respawn="60" - O período de tempo o qual NPC para ira aparecer após a morte.
    name="" - Em geral de qualquer maneira, você pode especificar qualquer conveniente. ou Pode apenas usar [custom_spawn]


  12. Para ajustar o Evento PVP no jogo é necessário digitar o comando //pvpevent no chat
    Irá aparecer na tela do menu principal mostrando as regras para todos os eventos.

    VIxEG.png


    Interpretação dos campos:

    Active - whether they are all On Off
    
    Announce time - time that will announce the start of the Event
    
    Announce reduct - time after which the administration will post Announce
    
    Field Start time (add) - in a time when you add will run all Events.Example:
    12:00;12:30;13:10;14:40
    
    Field Instances - enter into it are instances in which the events. The default is 802;804. And enter in the Instances.

    h3. Tabs for individual configuration's Event
    All game events are set in separate tabs - TvT / CtF / DM
     

    YPBaJ.png



    The interpretation of the fields:
     

    Enabled - whether the event at all to start
    
    Capcha - Se CAPTCHA está habilitado para registro
    
    Req part - O número mínimo de participantes para iniciar Evento
    
    Max part - maximum number of participants in the event
    
    Min level - número máximo de participantes do evento
    
    Max level - O nível mais alto dos participantes
    
    Time - A hora do evento


    Just below the adjusted awards:

    LMnmb.png


    Fields:

    Team Reward - campos para os quais prêmios serão dadas todas as equipe vencedora. Exemplo: 57: 10,000 or more an item 57: 10,000; 4037: 1
    
    Top Reward - campos para os quais prêmios serão dadas um jogador da equipe vencedora, que fez mais Kills do que qualquer um. Example: 57: 10,000 or more an item 57: 10,000; 4037: 1


    Mais opções em que você pode configurar server_variables.sql

    1 pessoa curtiu isso

  13. Caminho:Game\config\server.properties
    Config:
    NoDropItems

    Exemplo para um servidor PvP:
     

    Citar

    NoDropItems = 7638,7835,8619,8621,17,1341,1342,1343,1344,1345,7639,7640,7641,7642,7643,7644,7645,7646,7647,7648,7649,7650,7651,7652,7653,7654,7655,7656,7657,7658,7659,7660,7661,7662,7663,7664,7665,7666,7667,7668,7669,7670,7671,7672,7673,7674,7675,7676,5809,5810,5811,5812,5813,5814,5815,5816,4906,4907,4908,4909,4910,4911,4912,4913,4914,4915,4916,4917,4918,4919,4920,4921,4922,4923,4924,4925,4926,4927,4928,4929,4930,4931,4932,4933,4934,4935,4200,4201,4203,4204,4205,4206,4207,4208,3039,3040,3041,3042,3043,3044,3045,3046,3047,3048,3049,3050,3051,3052,3053,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3064,3065,3066,3067,3068,3069,3070,3071,3072,3073,3074,3075,3076,3077,3078,3079,3080,3081,3082,3083,3084,3085,3086,3087,3088,3089,3090,3091,3092,3093,3094,3095,3096,3097,3098,3099,3100,3101,3102,3103,3104,3105,3106,3107,3108,3109,3110,3111,3112,3113,3114,3115,3116,3117,3118,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1534,1535,1536,1537,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,8877,8878,8879,8880,8881,8882,8883,8884,8885,8886,8887,8888,8889,8890,8891,8892,8893,8894,8895,8896,8897,8898,8899,8900,8901,8902,8903,8904,8905,8906,8907,8908

     


  14. Caminho: Game\config\chatfilters.xml

    Resetar as regras sem reiniciar o servidor (no jogo pelo GM) - //admin > Server > Components - Reload Chat Filter

    Na verdade, já foram descritas todas as regras para o nível mínimo e palavrões, etc. Mas essa parte é comentada - como exemplo, tomamos:
    Bate-papo Proibido para Novatos, limite, envie Aviso

    Code:
      <!--
       <ChatFilter>
        <Channels>SHOUT,TRADE,L2FRIEND</Channels>
        <Level>20</Level>
        <Action>WarnMsg</Action>
        <WarnMsg>common.ChattingProhibitedForNiewbies</WarnMsg>
       </ChatFilter>
        -->

    "What at us has to it will turn out at the exit if we want to establish these rules"

    Code:
    <ChatFilter>
      <Channels>SHOUT,TRADE,L2FRIEND</Channels>
      <Level>20</Level>
      <Action>WarnMsg</Action>
      <WarnMsg>common.ChattingProhibitedForNiewbies</WarnMsg>
    </ChatFilter>


    Mensagem de Advertencia colocada <WarnMsg>common.ChattingProhibitedForNiewbies</WarnMsg>

    Caminho: Game/data/strings/strings_en.properties


  15. Caminho: : Game/config/clan.properties
    Params:

    • Em valor NpcClanCrestDisplay = -1 bandeira não será exibida
    • Em valor NpcClanCrestDisplay = 0 A bandeira do clã do proprietário do território será exibida
    • Se você deseja que o logotipo do seu servidor seja exibido em todos os territórios, é NECESSÁRIO
    • especificar clan_id
    • (Já criado e o logotipo estabelecido) no campo. Exemplo: NpcClanCrestDisplay = 268480143

    Padrão: NpcClanCrestDisplay = -1


  16. 1. Rate de enchants do servidor

    Code:
    # Chances de enchant nessa ordem : +1;+2;+3;...;+EnchantMax
    # Quantidade de elementos deve ser igual a EnchantMax. Isso é, se EnchantMax = 20, aqui deve ter 20 valores definidos.
    EnchantChancesWeapon = 100;100;100;50;50;33;25;20;14;11;8;6;5;4;3;2;2;1;1;1
    EnchantChancesArmor = 100;100;100;50;50;33;25;20;14;11;8;6;5;4;3;2;2;1;1;1
    EnchantChancesFullArmor = 100;100;100;100;50;50;33;25;20;14;11;8;6;5;4;3;2;2;1;1
    EnchantChancesJewelry = 100;100;100;50;50;33;25;20;14;11;8;6;5;4;3;2;2;1;1;1

    2. Como configurar detalhadamente condições para scrolls.

    Caminho - Game \data\enchant_items.xml
    Descrição principal dos parâmetros e seu valor:

    • id="959" - item id
    • infallible="false/true" - quebrar o item ou voltar para 0
    • on_fail="CRYSTALIZE/RESET/NONE" - CRYSTALIZE : quebrar com o Crystal . RESET: volta pra zero . NONE: Deixará valor do enchant no mesmo local.
    • chance_bonus="" Bônus adicional ao enchant . 0.2 + 20%
    • grade="" - Item Grade
    • levels min="0" max="20" - Min and Max . Improvement level for a roll and the maximum level of a enchant scroll
    • items_restrict - what sharpens WEAPON or ARMOR. Weapon or Armor.

    1. Exemplo do que seria despejado em +3 em um enchant não bem sucedido

    <scroll id="ID SCROLL AQUI" infallible="false" reset_lvl="3" on_fail="RESET" chance_bonus="0" grade="S">
    <levels min="0" max="20" />
    <items_restrict type="WEAPON"/>
    </scroll>

    2. Um exemplo de enchant não em +1, e em + how many that for 1 to sharpen. Nela, um exemplo de enchant aumentará em +3 para o valor atual no sucesso.

    <scroll id="ID DO SCROLL AQUI" infallible="false" reset_lvl="0" increment="3" on_fail="RESET" chance_bonus="0" grade="S">
    <levels min="0" max="20" />
    <items_restrict type="WEAPON"/>
    </scroll>


    3. Como fazer que o enchant não volte ao seu valor, e deixe a anterior.

    <scroll id="ID DO SCROLL AQUI" infallible="false" reset_lvl="0" on_fail="NONE" chance_bonus="0" grade="S">
    <levels min="0" max="20" />
    <items_restrict type="WEAPON"/>
    </scroll>

    4. Como adicionar chance adicional a um scroll de 20%, por exemplo

    <scroll id="ID DO SCROLL AQUI" infallible="false" reset_lvl="0" on_fail="RESET" chance_bonus="0.2" grade="S">
    <levels min="0" max="20" />
    <items_restrict type="WEAPON"/>
    </scroll>

  17. Caminho:
    Game/data/zone
    Fomato: XML

    Por exemplo, escolha qualquer zona padrão - por exemplo:
    Game/data/zone/ peace_zone.xml
     

    XML:
    <zone name="[primeval_peace1]" type="peace_zone" >
            <polygon> <!-- 원시의 섬 선착장(20_17) -->
                <coords loc="10408 -27395 -4290 -1290" />
                <coords loc="12065 -25334 -4290 -1290" />
                <coords loc="12223 -23159 -4290 -1290" />
                <coords loc="10424 -22340 -4290 -1290" />
                <coords loc="9566 -23131 -4290 -1290" />
                <coords loc="9290 -24261 -4290 -1290" />
            </polygon>
    </zone>

    Agora logo abaixo estamos modificando a zona para remover o efeito nobles ou alguma outra habilidade ao entrar na zona. No exemplo abaixo está sendo removido o Buff Nobles e também o Shield
    XML:

    <zone name="[primeval_peace1]" type="peace_zone" >
            <set name="removeEffects" val="1323;1040" /> <!-- Blessing of Nobles and Shield -->
            <polygon> <!-- 원시의 섬 선착장(20_17) -->
                <coords loc="10408 -27395 -4290 -1290" />
                <coords loc="12065 -25334 -4290 -1290" />
                <coords loc="12223 -23159 -4290 -1290" />
                <coords loc="10424 -22340 -4290 -1290" />
                <coords loc="9566 -23131 -4290 -1290" />
                <coords loc="9290 -24261 -4290 -1290" />
            </polygon>
        </zone>

    Veja o que foi adicionado - <set name = "removeEffects" val = "1323; 1040" /> em
    que skill_id = 1323; skill_id = 1040


    Você tem a liberdade de colocar quantos buffs quiser

    Opção 2:
    Caso quiser remover apenas 1 buff ao entrar na zona:

    XML:
     <zone name="[primeval_peace1]" type="peace_zone" >
            <set name="zoneBuffs" val="1323" />
            <polygon> <!-- 원시의 섬 선착장(20_17) -->
                <coords loc="10408 -27395 -4290 -1290" />
                <coords loc="12065 -25334 -4290 -1290" />
                <coords loc="12223 -23159 -4290 -1290" />
                <coords loc="10424 -22340 -4290 -1290" />
                <coords loc="9566 -23131 -4290 -1290" />
                <coords loc="9290 -24261 -4290 -1290" />
            </polygon>
        </zone>

     

    1 pessoa curtiu isso

  18. Para editar qualquer classe de jogo sem modificar suas habilidades ou estatísticas básicas, adicionamos o serviço stats_custom_mod. Caminho: Game/ data / stats_custom_mod.xml

    Por exemplo para a classe Shillien Templar:

    XML:
    <?xml version='1.0' encoding='utf-8'?>
    <!DOCTYPE list SYSTEM "stats_custom_mod.dtd">
    <list enabled="false"> <!--Turning on the custom stat setting -->
        <!-- Setup example Shillien Templar class-->
        <player classId="106"> <!-- Shillien Templar -->
        <!--
        Class id 106(Shillien Templar) when attacking class id 108(Ghost Hunter) gets bonuses 10% of mAtk and +20 Patk
        -->
            <targetPlayer classId="108">
                <mul stat="mAtk" val="1.1"/>
                <add stat="pAtk" val="20"/>
            </targetPlayer>
    
            <!-- when equipped Dark Crystal Breastplate, Shillien Templar gets extra bonus 10% of mDef and +20 pDef-->
            <equipedWith itemId="365"> <!-- Dark Crystal Breastplate -->
                <mul stat="mDef" val="1.2"/>
                <add stat="pDef" val="30"/>
            </equipedWith>
        
            <!-- a bonus for Shillien Templar gets immediately and without any conditions, all the above bonuses are also added to the current-->
            <mul stat="mDef" val="1.3"/>
            <add stat="mAtkSpd" val="30"/>
        </player>
    </list>

     


    Você também pode adicionar um número ilimitado de classes e variações. Como um exemplo para Shillien Templar e Ghost Hunter:
     

    XML:
    <?xml version='1.0' encoding='utf-8'?>
    <!DOCTYPE list SYSTEM "stats_custom_mod.dtd">
    <list enabled="false"> <!--Turning on the custom stat setting -->
    
        <player classId="106"> <!-- Shillien Templar -->
            <!-- a bonus for Shillien Templar gets immediately and without any conditions, all the above bonuses are also added to the current-->
            <mul stat="mDef" val="1.3"/>
            <add stat="mAtkSpd" val="30"/>
        </player>
    
        <player classId="108"> <!-- Ghost Hunter -->
            <!-- a bonus for Ghost Hunter gets immediately and without any conditions, all the above bonuses are also added to the current-->
            <mul stat="mDef" val="1.3"/>
            <add stat="mAtkSpd" val="30"/>
            <add stat="pDef" val="30"/>
            <add stat="mAtk" val="30"/>
        </player>
    </list>

     


    Caso for necessário, reduza as estatísticas. Por exemplo, duelista:
     

    XML:
    <?xml version='1.0' encoding='utf-8'?>
    <!DOCTYPE list SYSTEM "stats_custom_mod.dtd">
    <list enabled="false"> <!--Turning on the custom stat setting -->
    
        <player classId="106"> <!-- Duelist -->
            <!-- a reduce stats for Duelist gets immediately and without any conditions-->
            <mul stat="mDef" val="0.8"/> <!-- reduce 20% of mDef -->
            <sub stat="mAtkSpd" val="30"/> <!-- reduce 30 of mAtkSpd -->
        </player>
    </list>

     

    2 pessoas curtiram isso

  19. To make to us to create grind in one pile (Por padrão, no jogo eles não se desenvolvem em uma pilha) É necessário para nós:
    1. Nos pegamos o Id 6577 para encontrar um item necessário para nós data/items/ - por exemplo. está no arquivo 6500-6599.xml:

    Code:
    <etcitem id="6577" name="Blessed Scroll: Enchant Weapon (S)">
    <!-- [blessed_scrl_of_ench_wp_s] -->
    <set name="class" value="MISC"/>
    <set name="crystal_type" value="NONE"/>
    <set name="icon" value="icon.etc_blessed_scrl_of_ench_wp_s_i05"/>
    <set name="price" value="30000000"/>
    <set name="stackable" value="false"/> и тут меняем на true (стопкковой).
    <set name="type" value="SCROLL"/>
    <set name="weight" value="120"/>
    <cond msgId="1508">
    <not>
    <player olympiad="true"/>
    </not>
    </cond>
    </etcitem>

    2. Nos precisamos editar o arquivo do jogo que está no seguinte local Interlude\system\etcitemgrp.dat and to open its file editor - the link to it https://yadi.sk/d/yzgZfj8m3Guvwe
    (depois das mudanças nos escolhemos o FORMATO do codigo 413, e NÃO 414)

    A estrutura dos campos neste arquivo consiste nos seguintes parâmetros:
    d drop_type drop_anim_type drop_radius drop_height UNK_0 drop_mesh drop_tex icon[0] icon[1] icon[2] icon[3] icon[4] icon[5] icon[6] icon[7] icon[8] durability weight material crystallizable type1 mesh_tex_pair_cntm mesh_tex_pair_m[0] mesh_tex_pair_cntt mesh_tex_pair_t[0] item_sound equip_sound stackable family grade

    and if is available for us it is sensitive gray substance in the head - to us to become clearly that before the last stackable parameter just and is responsible for display in the client - it will be piled or will occupy the separate slot VISUALLY. We already determined by the server that the point 6577 will be stackable .

    E também precisamos fazer no cliente:
    Linha original inicial -
    6577 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_blessed_scrl_of_ench_wp_s_i05 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 0 0 0

    We in it change value on:
    6577 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_blessed_scrl_of_ench_wp_s_i05 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 1 0 0

    Assim, fizemos nosso rolo de nitidez ou qualquer outro assunto empilhável visualmente no cliente e no servidor.

    WQYdc6p.png
    2 pessoas curtiram isso

  20. Como usar:

    Existe um NPC pronto com o ID 40032, que inclui todas as classes possíveis de aprendizado. Além disso, ao abordar, dependendo da profissão, você recebe HTML do seguinte conteúdo e caminho

    Game\data\html-en\ multi_newbie_class.htm - classes iniciais básicas
    Game\data\html-en\ multi_first_class.htm - primeira profissão
    Game\data\html-en\ multi_second_class.htm - segunda profissão
    Game\data\html-en\ multi_third_class.htm - terceira profissão

    Suponha que precisamos que as profissões iniciantes tenham a oportunidade de aprender as habilidades de outras profissões, formamos html

    [npc_% objectId% _AltSkillList 10 | Mago Humano]
    Em _AltSkillList, este é o bypass para a multiproff em si, 10 é o ID da profissão; em nossos casos, é o Mago Humano.

    Suponha que, se você quiser dar a oportunidade de estudar Duelist por 3 profissões ou mesmo pela primeira, adicione neste formulário:
    [npc_% objectId% _AltSkillList 88 | Duelista]

    Você também pode adicionar opções não obrigatórias neste NPC, mesmo para um multiproff , e isso lhe dará a oportunidade de aprender habilidades em qualquer classe sem precisar encontrar o professor certo -
    [npc_% objectId% _SkillList | Aprenda habilidades básicas] - Ignore a lista de habilidades da profissão atual

    [npc_% objectId% _FishingSkillList | Aprenda habilidades de pesca.] - aprendendo habilidades de um pescador, mas muitas vezes usadas para aprender habilidades personalizadas

    Seu html final deve ficar mais ou menos assim:

    2J5pp9q.png


  21. 1.Localizações dos arquivos de configurações - data / item_fake_appearance.xml
    2. Formato XML


    Exemplos da operação deste sistema:
    Por exemplo, estamos usando o item id 485 Tattoo of Power, a esse item "anexamos" a identificação 6408 Roupa Formal (Casamento).
    No arquivo, obtemos este resultado:

    <?xml version='1.0' encoding='utf-8'?>
    <!DOCTYPE list SYSTEM "item_fake_appearance.dtd">
    <list enabled="true">
    <item itemId="485">
    <display itemId="6408"/>
    </item>
    </list>

    Observe que esse sistema precisa ser ativado usando o método <list enabled = "true">; por padrão, é falso!
    E assim obtemos esse resultado no jogo.

    6nJat8W.png


    Também podemos fazer um conjunto de armaduras, por exemplo, pegamos o Draconic Leather Set e o arquivo ficará assim:
    XML:

    <?xml version='1.0' encoding='utf-8'?>
    <!DOCTYPE list SYSTEM "item_fake_appearance.dtd">
    <list enabled="true">
    <item itemId="486">
    <display itemId="6379"/>
    <display itemId="6380"/>
    <display itemId="6381"/>
    </item>
    <item itemId="485">
    <display itemId="6408"/>
    </item>
    </list>

    No jogo, ao equipar o item id 486 Tattoo of Fire no jogo, obtemos o seguinte resultado ao alterar a aparência:

    WFn5Ihx.png


    Um aviso, ao lado da pessoa que equipa a primeira vez, ele não é exibido corretamente, é necessário remover o item e equipar novamente o item básico, do lado de quem observar que volta ser exibido corretamente. 


  22. ID do NPC: 40010
    HTML: Game\data\html-en\mods\buffer
    XML: Game\data\buff_templates.xml

    O arquivo XML é o local onde você configura level, valores, condições e assim por diante.

    Vamos considerar a XML e seus buff_templates.xml formato:

    Exemplo:

    <template menuId="200" target="BUFF_PLAYER">
     <consume>
      <item id="57" amount="200000" />
     </consume>
     <produce>
      <skill id="1068" level="3" />
      <skill id="1040" level="3" />
      <skill id="1086" level="2" />
      <skill id="1204" level="2" />
      <skill id="1077" level="3" />
      <skill id="1242" level="2" />
      <skill id="1268" level="4" />
     </produce>
    </template>

    Vamos entender estas tags:

    MenuId - É o ID que vamos criar um alvo de buffer, seja para BUFF_PLAYER ou BUFF_PET.
    Consume - ID e quantidade dos itens para dar o buff.
    Produce - São os valores com ID e nível dos buffs que serão entregues ao chamar esse MenuID.

    <consume>
     <item id="57" amount="200000" /> 
     <item id="4037" amount="0" />
    </consume>

    No exemplo acima coloquei para o item cobrado ser 200000 adenas. 
    Dica: pode criar ou usar uma moeda existente para ser um "coin de buff" ou semelhante. Em amount se o valor for igual a 0 ele não vai consumir ao entregar o buff. Ou você pode colocar um consumo se for uma moeda recorrente. 

    Além disso, você pode usar vários itens na planilha (buff_templates.dtd) a partir dos quais o primeiro dos existentes no inventário será consumido - é conveniente para contas premium com níveis diferentes. Exemplo:

    <consume anyFirst="true">
      <item id="6673" amount="0" />
      <item id="4037" amount="0" />
    </consume>

    Recaptulando, a função produce é onde será armazenamento o buff ou o esquema de buffs que você deseja entregar para aquele ID.

    Entrega apenas 1 buff:

    <produce>
     <skill id="1068" level="1" /> -> Entrega apenas 1 buff 
    </produce>

    Entrega vários buffs:

    <produce>
     <skill id="1068" level="3" />
     <skill id="1040" level="3" />
     <skill id="1086" level="2" />
     <skill id="1204" level="2" />
     <skill id="1077" level="3" />
     <skill id="1242" level="2" />
     <skill id="1268" level="4" />
    </produce>

    Se você quiser limitar um buff para ser entregue apenas em um determinado level use a variável from_level, o player precisa ter 200000 e é necessário ter precisamente o level 20 no exemplo abaixo, veja:

    <consume>
     <item id="57" amount="200000" from_level="20"/> 
    </consume>

    Para exigir um nível mínimo e ser livre para todos os subsequentes podemos usar a variável minLevel na tag do template:

    <template menuId="126" target="BUFF_PLAYER" minLevel="51"> -> Level minimo necessário para receber o buff.
     <consume>
      <item id="57" amount="200000" />
     </consume>
     <produce>
      <skill id="1068" level="3" />
      <skill id="1040" level="3" />
      <skill id="1086" level="2" />
     </produce>
    </template>

    Veja um exemplo de como adicionar um esquema de buff a um dialogo html localizado em \Gameserver\data\html-en\mods\buffer\1.html

    O dialogo vamos encontrar a ação assim:

    <a action="bypass -h scripts_services.Buffer:act ask=200&reply=1">Fighter 1 lvl</a>


    Vamos entender:
    ask=200 - É o ID que inserimos no campo MenuID, portanto, esse botão vai char o buff(s) que você colocou nesse template com as condições internas que você aprendeu neste guia. 

    &reply=1 - É a pagina de retorno, o player clica, ganha o buff e retorna. Neste exemplo o replay é 1, voltara para a 1.html. Você pode criar htmls adicionais de sucesso para buff ou qualquer coisa que sua criatividade permita.

    GG, você entende o básico de como trabalhar com o buff.

    1 pessoa curtiu isso