Olá amigos bom dia, sou novo ainda estou aprendendo e estou tendo muita dificuldade pra add este mod na minha acis 398 não encontro alguns diretórios e também da alguns errors enfim. Alguém poderia por favor adaptar esse mod para acis 398 ? dês de já muito obrigado
Propriedades:
Citação
# ---------------------------------------------------------------------------
# Custom - non-retail-like systems that have been integrated into the project.
# Be warned that there may be no support for these mods ban the original author's assistance.
# ---------------------------------------------------------------------------
# Champion mobs - Turn random mobs into Champions
# ---------------------------------------------------------------------------
# Enable/Disable Champion Mob System.
ChampionEnable = True
# Force Champion mobs to be passive?
# To leave champion mobs to default/Aggressive, set to False.
# To set all champion mobs to Passive, set True.
ChampionPassive = False
# % chance for a mob to became champion (0 to disable).
ChampionFrequency = 20
# Title of all Champion Mobs.
ChampionTitle = C H A M P I O N
# Min and max levels allowed for a mob to be a Champion mob.
ChampionMinLevel = 20
ChampionMaxLevel = 80
# Hp multiplier for Champion mobs.
ChampionHp = 4
# Hp Regen Multiplier for Champion mobs.
ChampionHpRegen = 1
# Standard rewards multiplier for Champion mobs.
ChampionRewards = 2
# Adena & Seal Stone rewards multiplier for Champion mobs.
ChampionAdenasRewards = 2
# Specified reward item ID
ChampionRewardItemID = 6393
# The amount of the specified reward a player will receive if they are awarded the item.
ChampionRewardItemQty = 10
# % Chance to obtain a specified reward item from a higher level Champion mob.
# Default: 0
ChampionRewardLowerLvlItemChance = 100
# % Chance to obtain a specified reward item from a lower level Champion mob.
# Default: 0
ChampionRewardHigherLvlItemChance = 100
Diff:
Citação
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 classConfig{+publicstatic final String CHAMPION_FILE ="./config/JDev/event/ChampionMobs.properties";+publicstatic boolean L2JDEV_CHAMPION_ENABLE;+publicstatic boolean L2JDEV_CHAMPION_PASSIVE;+publicstaticint L2JDEV_CHAMPION_FREQUENCY;+publicstaticString L2JDEV_CHAMP_TITLE;+publicstaticint L2JDEV_CHAMP_MIN_LVL;+publicstaticint L2JDEV_CHAMP_MAX_LVL;+publicstaticint L2JDEV_CHAMPION_HP;+publicstaticint L2JDEV_CHAMPION_REWARDS;+publicstaticfloat L2JDEV_CHAMPION_ADENAS_REWARDS;+publicstaticfloat L2JDEV_CHAMPION_HP_REGEN;++publicstaticint L2JDEV_CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE;+publicstaticint L2JDEV_CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE;+publicstaticint L2JDEV_CHAMPION_REWARD_ID;+publicstaticint L2JDEV_CHAMPION_REWARD_QTY;+publicstatic 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 instanceofMonster)&&(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..1c2d3e5100644--- 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;+}++publicvoid setChampion(boolean chanpion)+{+ _champion =true;+ _champion = chanpion;++}+publicvoid 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..1570565100644--- 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 instanceofMonster)
_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..6af2c38100644--- 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&& isRaidBoss()&& isChampion())+{+// Apply Special Item drop with random(rnd) quantity(qty) for champions.+if(Config.L2JDEV_CHAMPION_ENABLE && isChampion()&&((Config.L2JDEV_CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE >0)||(Config.L2JDEV_CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE >0)))+{+int champqty =Rnd.get(Config.L2JDEV_CHAMPION_REWARD_QTY);+IntIntHolder item =newIntIntHolder(Config.L2JDEV_CHAMPION_REWARD_ID,++champqty);++if((player.getStatus().getLevel()<= player.getStatus().getLevel())&&(Rnd.get(100)<Config.L2JDEV_CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE))+{+if(Config.AUTO_LOOT || isFlying())+{+ player.addItem("ChampionLoot", item.getId(), item.getValue(),this,true);// Give the item(s) to the L2PcInstance that has killed the L2Attackable+}+else+{+ dropItem(player, item);+}+}+elseif((player.getStatus().getLevel()> player.getStatus().getLevel())&&(Rnd.get(100)<Config.L2JDEV_CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE))+{+if(Config.AUTO_LOOT || isFlying())+{+ player.addItem("ChampionLoot", item.getId(), item.getValue(),this,true);// Give the item(s) to the L2PcInstance that has killed the L2Attackable+}+else+{+ dropItem(player, 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);
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.
Question
MEIRELES
Olá amigos bom dia, sou novo ainda estou aprendendo e estou tendo muita dificuldade pra add este mod na minha acis 398 não encontro alguns diretórios e também da alguns errors enfim. Alguém poderia por favor adaptar esse mod para acis 398 ? dês de já muito obrigado
Propriedades:
Diff:
1 answer to this question
Recommended Posts
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.