Ir para conteúdo
  • Cadastre-se
  • 0

CHAMPION MOD ACIS 398


Meireles

Pergunta

Olá amigos eu preocurei esse mod champion pra acis 398 porém não encontrei e os que eu encontrei não consigo adicionar da muitos erros e não encontro alguns caminhos..  enfim o ultimo que encontrei foi esse aqui e também não estou conseguindo add por eu ser novo não sei muito e gostaria de pedir se alguém poderia adaptar por favor pra acis 398. dês de já muito obrigado 🙏

O ultimo que encontrei:

Arquivo .properties
 

Citar
O conteúdo está oculto, favor efetuar login ou se cadastrar!

 



Diff
 

Citar
O conteúdo está oculto, favor efetuar login ou se cadastrar!

 

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts recomendados

  • 0

Vou tentar adaptar amigo, me deseje sorte 

Te Ajudei? Curte ai para me ajudar!
Ass.: Daniel Amaral

Denky Project Is Coming Soon, Acessem o Site: Denky Project

Link para o comentário
Compartilhar em outros sites


  • 0
Citar

 

diff --git a/java/net/sf/l2j/Config.java b/java/net/sf/l2j/Config.java
--- a/java/net/sf/l2j/Config.java
+++ b/java/net/sf/l2j/Config.java

 public final class Config
 {

+    public static final String CHAMPION_FILE = "./config/JDev/event/ChampionMobs.properties";
     
+    public static boolean L2JDEV_CHAMPION_ENABLE;
+    public static boolean L2JDEV_CHAMPION_PASSIVE;
+    public static int L2JDEV_CHAMPION_FREQUENCY;
+    public static String L2JDEV_CHAMP_TITLE;
+    public static int L2JDEV_CHAMP_MIN_LVL;
+    public static int L2JDEV_CHAMP_MAX_LVL;
+    public static int L2JDEV_CHAMPION_HP;
+    public static int L2JDEV_CHAMPION_REWARDS;
+    public static float L2JDEV_CHAMPION_ADENAS_REWARDS;
+    public static float L2JDEV_CHAMPION_HP_REGEN;
+    
+    public static int L2JDEV_CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE;
+    public static int L2JDEV_CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE;
+    public static int L2JDEV_CHAMPION_REWARD_ID;
+    public static int L2JDEV_CHAMPION_REWARD_QTY;

+    public static final void CHAMPION()
+    {
+        final ExProperties CHAMPION = initProperties(CHAMPION_FILE);
+        
+        L2JDEV_CHAMPION_ENABLE = CHAMPION.getProperty("ChampionEnable", false);
+        L2JDEV_CHAMPION_PASSIVE = CHAMPION.getProperty("ChampionPassive", false);
+        L2JDEV_CHAMPION_FREQUENCY = CHAMPION.getProperty("ChampionFrequency", 0);
+        L2JDEV_CHAMP_TITLE = CHAMPION.getProperty("ChampionTitle", "Champion");
+        L2JDEV_CHAMP_MIN_LVL = CHAMPION.getProperty("ChampionMinLevel", 20);
+        L2JDEV_CHAMP_MAX_LVL = CHAMPION.getProperty("ChampionMaxLevel", 60);
+        L2JDEV_CHAMPION_HP = CHAMPION.getProperty("ChampionHp", 7);
+        L2JDEV_CHAMPION_HP_REGEN = CHAMPION.getProperty("ChampionHpRegen", 1);
+        L2JDEV_CHAMPION_REWARDS = CHAMPION.getProperty("ChampionRewards", 8);
+        L2JDEV_CHAMPION_ADENAS_REWARDS = CHAMPION.getProperty("ChampionAdenasRewards", 1);
+        
+        L2JDEV_CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE = CHAMPION.getProperty("ChampionRewardLowerLvlItemChance", 0);
+        L2JDEV_CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE = CHAMPION.getProperty("ChampionRewardHigherLvlItemChance", 0);
+        L2JDEV_CHAMPION_REWARD_ID = CHAMPION.getProperty("ChampionRewardItemID", 6393);
+        L2JDEV_CHAMPION_REWARD_QTY = CHAMPION.getProperty("ChampionRewardItemQty", 1);
+         
+     }
     
--- a/java/net/sf/l2j/gameserver/model/actor/Attackable.java
+++ b/java/net/sf/l2j/gameserver/model/actor/Attackable.java
@@ -108,7 +108,19 @@
         if (Config.PART_ZONE_MONSTERS_ID.contains(Integer.valueOf(getNpcId())))
             DropZoneManager.addReward(killer);
         
-        
+        setChampion(false);
+        if (Config.L2JDEV_CHAMPION_ENABLE)
+        {
+            // Set champion on next spawn
+            if (!(killer instanceof Monster) && (Config.L2JDEV_CHAMPION_FREQUENCY > 0) && (getStatus().getLevel() >= Config.L2JDEV_CHAMP_MIN_LVL) && (getStatus().getLevel() <= Config.L2JDEV_CHAMP_MAX_LVL))
+            {
+                
+                if (Rnd.get(100) < Config.L2JDEV_CHAMPION_FREQUENCY)
+                {
+                    setChampion(true);
+                }
+            }
+        }
\ No newline at end of file
diff --git a/java/net/sf/l2j/gameserver/model/actor/Creature.java b/java/net/sf/l2j/gameserver/model/actor/Creature.java
index d970f82..1c2d3e5 100644
--- a/java/net/sf/l2j/gameserver/model/actor/Creature.java
+++ b/java/net/sf/l2j/gameserver/model/actor/Creature.java

         return "[Creature objId=" + getObjectId() + "]";
     }
     
+    private boolean _champion = false;
+    
+    public boolean isChampion()
+    {
+        return _champion;
+    }
+    
+    public void setChampion(boolean chanpion)
+    {
+        _champion = true;
+        _champion = chanpion;
+        
+    }
+    

     public void reduceCurrentHp(double i, Creature attacker, boolean awake, boolean isDOT, L2Skill skill)
     {
-        getStatus().reduceHp(i, attacker, awake, isDOT, false);
+        if (Config.L2JDEV_CHAMPION_ENABLE && isChampion() && (Config.L2JDEV_CHAMPION_HP != 0))
+        {
+            getStatus().reduceHp(i / Config.L2JDEV_CHAMPION_HP, attacker, awake, isDOT, false);
+        }
+        else
+            getStatus().reduceHp(i, attacker, awake, isDOT, false);

diff --git a/java/net/sf/l2j/gameserver/network/serverpackets/AbstractNpcInfo.java b/java/net/sf/l2j/gameserver/network/serverpackets/AbstractNpcInfo.java
index 262c0c6..1570565 100644
--- a/java/net/sf/l2j/gameserver/network/serverpackets/AbstractNpcInfo.java
+++ b/java/net/sf/l2j/gameserver/network/serverpackets/AbstractNpcInfo.java
@@ -109,6 +109,9 @@
             if (Config.SHOW_NPC_LVL && _npc instanceof Monster)
                 _title = "Lv " + _npc.getStatus().getLevel() + (_npc.getTemplate().getAggroRange() > 0 ? "* " : " ") + _title;
             
+            if (Config.L2JDEV_CHAMPION_ENABLE && _npc.isChampion())
+                _title = "" + Config.L2JDEV_CHAMP_TITLE;
+            

diff --git a/java/net/sf/l2j/gameserver/model/actor/instance/Monster.java b/java/net/sf/l2j/gameserver/model/actor/instance/Monster.java
index deaed87..6af2c38 100644
--- a/java/net/sf/l2j/gameserver/model/actor/instance/Monster.java
+++ b/java/net/sf/l2j/gameserver/model/actor/instance/Monster.java
+import net.sf.l2j.commons.random.Rnd;
                     if (attacker.isPremium())
                     {
                         exp *= Config.VIP_XP_SP_RATE;
                         sp *= Config.VIP_XP_SP_RATE;
                     }
                     
+                    if (Config.L2JDEV_CHAMPION_ENABLE && isChampion())
+                    {
+                        exp *= Config.L2JDEV_CHAMPION_REWARDS;
+                        sp *= Config.L2JDEV_CHAMPION_REWARDS;
+                     }

+                        if (attacker != null && isChampion())+
+                        {                
+                            int champqty = Rnd.get(Config.L2JDEV_CHAMPION_REWARD_QTY);
+                            IntIntHolder item = new IntIntHolder(Config.L2JDEV_CHAMPION_REWARD_ID, ++champqty);
+                            
+                            // Verifica se o alvo é um boss
+                            boolean isBoss = isRaidBoss();
+                            
+                            // Multiplica o prêmio por 5 se o alvo for um boss
+                            if (isBoss) {
+                                item.setValue(item.getValue() * 5);
+                            }
+                            
+                            // Verifica se o atacante tem um nível menor ou igual ao do alvo
+                            boolean lowerLevel = (attacker.getStatus().getLevel() <= getStatus().getLevel());
+                            
+                            // Calcula a chance de queda com base no nível do atacante
+                            double dropChance = lowerLevel ? Config.L2JDEV_CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE : Config.L2JDEV_CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE;
+                            
+                            // Verifica se o item será dropado
+                            if (Rnd.get(100) < dropChance) {
+                                if (Config.AUTO_LOOT || isFlying()) {
+                                    attacker.addItem("ChampionLoot", item.getId(), item.getValue(), this, true);
+                                } else {
+                                    dropItem(attacker, item);
+                                }
+                            }
+                        }

@@ -604,6 +622,7 @@
         {
             ItemInstance item = ItemInstance.create(holder.getId(), holder.getValue(), player, this);
             item.setDropProtection(player.getObjectId(), isRaidBoss());
+            item.setDropProtection(player.getObjectId(), isChampion());
             item.setInstance(getInstance(), false);

 

ta ai amigo... adaptado. e testado

lembrando que esse mod a config passive nao esta funcionando.

Te Ajudei? Curte ai para me ajudar!
Ass.: Daniel Amaral

Denky Project Is Coming Soon, Acessem o Site: Denky Project

Link para o comentário
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...




×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.