Перейти к содержимому
La2Base
Главная
ЗагрузкиВикиФорумFAQ
Поиск
ruen
Регистрация Войти
ГлавнаяФайлыВикиВойти
  • Главная
  • Загрузки
  • Вики
  • FAQ
  • Обратная связь
  • О проекте
  • Правила
  • Конфиденциальность
  • Условия использования

© 2026 la2base.com · Все права защищены

ruen
Форум/Форум для новичков[JAVA]/[share] Полезные конфиги для Ваших серверов
Поиск

[share] Полезные конфиги для Ваших серверов

7 ответов349 просмотровСейчас просматривают: 1
Vans(molodoys)
Vans(molodoys)

Пользователь

Бывалый

Постов: 183

На форуме с: 28.05.2009

Репутация: +171

Рейтинг: 0

· 17.07.2009, 17:24

Добавляйте свои или наиденные полезные конфиги в тему

Конфиг Максимальной скорости атаки и Каст скорости

Раскрывающийся текст

Index: /L2jtesting/config/l2jmods.properties
===================================================================
--- /L2jtesting/config/l2jmods.properties
+++ /L2jtesting/config/l2jmods.properties
@@ -5,2 +5,8 @@
+
+# Максимальная скорость атаки
+MaxAttackSpeed = 1200
+
+# Минимальная скорость атаки
+MaxCastingSpeed = 1400

Index: /L2jtesting/src/main/java/net/sf/l2j/Config.java
===================================================================
--- /L2jtesting/src/main/java/net/sf/l2j/Config.java
+++ /L2jtesting/src/main/java/net/sf/l2j/Config.java
@@ -954,4 +954,6 @@
public static boolean ENCHANT_BREAK_ARMOR_CRYSTAL;
public static boolean ENCHANT_BREAK_ARMOR_BLESSED;
+ public static int MAX_PATK_SPEED;
+ public static int MAX_MATK_SPEED;


/** ************************************************* **/
@@ -1897,4 +1899,6 @@

ALT_ANNOUNCE_PK = Boolean.parseBoolean(L2JModSettings.getProperty("AnnouncePk", "False"));
+ MAX_PATK_SPEED = Integer.parseInt(L2JModSettings.getProperty("MaxAttackSpeed", "0"));
+ MAX_MATK_SPEED = Integer.parseInt(L2JModSettings.getProperty("MaxCastingSpeed", "0"));


}
@@ -2445,5 +2449,7 @@
else if (pName.equalsIgnoreCase("ChampionRewardItemID")) L2JMOD_CHAMPION_REWARD_ID = Integer.parseInt(pValue);
else if (pName.equalsIgnoreCase("ChampionRewardItemQty")) L2JMOD_CHAMPION_REWARD_QTY = Integer.parseInt(pValue);
-
+ else if (pName.equalsIgnoreCase("MaxAttackSpeed")) MAX_PATK_SPEED = Integer.parseInt(pValue);
+ else if (pName.equalsIgnoreCase("MaxCastingSpeed")) MAX_MATK_SPEED = Integer.parseInt(pValue);
+

// L2JMOD Wedding System
else if (pName.equalsIgnoreCase("AllowWedding")) L2JMOD_ALLOW_WEDDING = Boolean.parseBoolean(pValue);
@@ -2461,5 +2467,5 @@
else if (pName.equalsIgnoreCase("TvTEventRunningTime")) TVT_EVENT_RUNNING_TIME = Integer.parseInt(pValue);
else if (pName.equalsIgnoreCase("TvTEventParticipationNpcId")) TVT_EVENT_PARTICIPATION_NPC_ID = Integer.parseInt(pValue);
-
+
// PvP settings
else if (pName.equalsIgnoreCase("MinKarma")) KARMA_MIN_KARMA = Integer.parseInt(pValue);
Index: /L2jtesting/src/main/java/net/sf/l2j/gameserver/model/L2Character.java
===================================================================
--- /L2jtesting/src/main/java/net/sf/l2j/gameserver/model/L2Character.java
+++ /L2jtesting/src/main/java/net/sf/l2j/gameserver/model/L2Character.java
@@ -6446,5 +6446,29 @@
public final int getMaxCp() { return getStat().getMaxCp(); }
public int getMAtk(L2Character target, L2Skill skill) { return getStat().getMAtk(target, skill); }
- public int getMAtkSpd() { return getStat().getMAtkSpd(); }
+ public final int getMAtkSps(L2Character target, L2Skill skill)
+ {
+ int matk = (int)calcStat(Stats.MAGIC_ATTACK, _template.baseMAtk, target, skill);
+ L2ItemInstance weaponInst = getActiveWeaponInstance();
+ if (weaponInst != null)
+ {
+ if (weaponInst.getChargedSpiritshot() == L2ItemInstance.CHARGED_BLESSED_SPIRITSHOT)
+ matk *= 4;
+ else if (weaponInst.getChargedSpiritshot() == L2ItemInstance.CHARGED_SPIRITSHOT)
+ matk *= 2;
+ }
+ return matk;
+ }
+
+ public int getMAtkSpd()
+ {
+ int _matkspd = getStat().getMAtkSpd();
+ if (Config.MAX_MATK_SPEED > 0)
+ {
+ if (_matkspd > Config.MAX_MATK_SPEED)
+ return Config.MAX_MATK_SPEED;
+ }
+ return _matkspd;
+ }
+

public int getMaxMp() { return getStat().getMaxMp(); }
public int getMaxHp() { return getStat().getMaxHp(); }
@@ -6468,5 +6492,15 @@
public double getPDefGiants(L2Character target) { return getStat().getPDefGiants(target); }

- public int getPAtkSpd() { return getStat().getPAtkSpd(); }
+ public int getPAtkSpd()
+ {
+ int _patkspd = getStat().getPAtkSpd();
+ if (Config.MAX_PATK_SPEED > 0)
+ {
+ if (_patkspd > Config.MAX_PATK_SPEED)
+ return Config.MAX_PATK_SPEED;
+ }
+ return _patkspd;
+ }
+

public double getPAtkUndead(L2Character target) { return getStat().getPAtkUndead(target); }
public double getPDefUndead(L2Character target) { return getStat().getPDefUndead(target); }



Дроп рейты для коммон итемов

Раскрывающийся текст
Index: java/config/rates.properties
===================================================================
--- java/config/rates.properties
+++ java/config/rates.properties
@@ -9,6 +9,7 @@
RateDropAdena = 1.
RateConsumableCost = 1.
RateDropItems = 1.
+RateDropCommon = 1.
RateRaidDropItems = 1.
RateDropSpoil = 1.
RateDropManor = 1
Index: java/net/sf/l2j/Config.java
===================================================================
--- java/net/sf/l2j/Config.java
+++ java/net/sf/l2j/Config.java
@@ -626,6 +626,8 @@
public static float RATE_EXTR_FISH;
/** Rate for dropped items */
public static float RATE_DROP_ITEMS;
+ /** Рейты дропа коммон итемов*/
+ public static float RATE_DROP_COMMON_ITEMS;

/** Rate for dropped items by Raid Bosses */
public static float RATE_DROP_ITEMS_BY_RAID;
/** Rate for spoiled items */
@@ -1623,6 +1625,7 @@
RATE_CONSUMABLE_COST = Float.parseFloat(ratesSettings.getProperty("RateConsumableCost", "1."));
RATE_EXTR_FISH = Float.parseFloat(ratesSettings.getProperty("RateExtractFish", "1."));
RATE_DROP_ITEMS = Float.parseFloat(ratesSettings.getProperty("RateDropItems", "1."));
+ RATE_DROP_COMMON_ITEMS = Float.parseFloat(ratesSettings.getProperty("RateDropCommon", "1."));
RATE_DROP_ITEMS_BY_RAID = Float.parseFloat(ratesSettings.getProperty("RateRaidDropItems", "1."));
RATE_DROP_SPOIL = Float.parseFloat(ratesSettings.getProperty("RateDropSpoil", "1."));
RATE_DROP_MANOR = Integer.parseInt(ratesSettings.getProperty("RateDropManor", "1"));
Index: java/net/sf/l2j/gameserver/model/L2Attackable.java
===================================================================
--- java/net/sf/l2j/gameserver/model/L2Attackable.java
+++ java/net/sf/l2j/gameserver/model/L2Attackable.java
@@ -1061,7 +1061,8 @@
// Applies Drop rates
if (drop.getItemId() == 57) dropChance *= Config.RATE_DROP_ADENA;
else if (isSweep) dropChance *= Config.RATE_DROP_SPOIL;
- else dropChance *= isRaid() ? Config.RATE_DROP_ITEMS_BY_RAID : Config.RATE_DROP_ITEMS;
+ else if (isRaid()) dropChance *= Config.RATE_DROP_ITEMS_BY_RAID;
+ else dropChance *= drop.isCommonDrop() ? Config.RATE_DROP_COMMON_ITEMS :
Config.RATE_DROP_ITEMS;

if (Config.L2JMOD_CHAMPION_ENABLE && isChampion())
dropChance *= Config.L2JMOD_CHAMPION_REWARDS;
@@ -1179,7 +1180,8 @@

int dropChance = drop.getChance();
if (drop.getItemId() == 57) dropChance *= Config.RATE_DROP_ADENA;
- else dropChance *= isRaid() ? Config.RATE_DROP_ITEMS_BY_RAID : Config.RATE_DROP_ITEMS;
+ else if (isRaid()) dropChance *= Config.RATE_DROP_ITEMS_BY_RAID;
+ else dropChance *= drop.isCommonDrop() ? Config.RATE_DROP_COMMON_ITEMS :
Config.RATE_DROP_ITEMS;
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion())
dropChance *= Config.L2JMOD_CHAMPION_REWARDS;

Index: java/net/sf/l2j/gameserver/model/L2DropData.java
===================================================================
--- java/net/sf/l2j/gameserver/model/L2DropData.java
+++ java/net/sf/l2j/gameserver/model/L2DropData.java
@@ -34,6 +34,7 @@
private int _chance;
private String _questID = null;
private String[] _stateID = null;
+ private boolean _common = false;

/**
* Returns the ID of the item dropped
@@ -150,6 +151,22 @@
{
return _questID != null && _stateID != null;
}
+
+ /**
+ * Sets that item is common
+ */
+ public void setCommonDrop(boolean item)
+ {
+ _common = item;
+ }
+
+ /**
+ * Returns true if item is common
+ */
+ public boolean isCommonDrop()
+ {
+ return _common;
+ }


/**
* Returns a report of the object
Index: java/net/sf/l2j/gameserver/model/L2DropCategory.java
===================================================================
--- java/net/sf/l2j/gameserver/model/L2DropCategory.java
+++ java/net/sf/l2j/gameserver/model/L2DropCategory.java
@@ -194,9 +194,12 @@
{
int randomIndex = Rnd.get(getCategoryBalancedChance());
int sum = 0;
+ float rate = Config.RATE_DROP_ITEMS_BY_RAID;
for (L2DropData drop : getAllDrops())
{
- sum += Math.min((drop.getChance()*(raid?Config.RATE_DROP_ITEMS_BY_RAID : Config.RATE_DROP_ITEMS)),L2DropData.MAX_CHANCE);
+ if (!raid)
+ rate = drop.isCommonDrop() ? Config.RATE_DROP_COMMON_ITEMS : Config.RATE_DROP_ITEMS;
+ sum += Math.min((drop.getChance()*rate),L2DropData.MAX_CHANCE);


if (sum >= randomIndex) // drop this item and exit the function
return drop;
Index: java/net/sf/l2j/gameserver/datatables/NpcTable.java
===================================================================
--- java/net/sf/l2j/gameserver/datatables/NpcTable.java
+++ java/net/sf/l2j/gameserver/datatables/NpcTable.java
@@ -27,6 +27,7 @@
import javolution.util.FastMap;
import net.sf.l2j.Config;
import net.sf.l2j.L2DatabaseFactory;
+import net.sf.l2j.gameserver.datatables.ItemTable;
import net.sf.l2j.gameserver.model.L2DropCategory;
import net.sf.l2j.gameserver.model.L2DropData;
import net.sf.l2j.gameserver.model.L2MinionData;
@@ -169,6 +170,7 @@

while (dropData.next())
{
+ int itemId = dropData.getInt("itemId");
int mobId = dropData.getInt("mobId");
npcDat = _npcs.get(mobId);
if (npcDat == null)
@@ -178,10 +180,11 @@
}
dropDat = new L2DropData();

- dropDat.setItemId(dropData.getInt("itemId"));
+ dropDat.setItemId(itemId);
dropDat.setMinDrop(dropData.getInt("min"));
dropDat.setMaxDrop(dropData.getInt("max"));
dropDat.setChance(dropData.getInt("chance"));
+ dropDat.setCommonDrop(ItemTable.getInstance().createDummyItem(itemId).isCommonItem());

int category = dropData.getInt("category");

@@ -210,6 +213,7 @@
int cCount = 0;
while (dropData.next())
{
+ int itemId = dropData.getInt("itemId");
int mobId = dropData.getInt("mobId");
npcDat = _npcs.get(mobId);
if (npcDat == null)
@@ -218,10 +222,11 @@
continue;
}
dropDat = new L2DropData();
- dropDat.setItemId(dropData.getInt("itemId"));
+ dropDat.setItemId(itemId);
dropDat.setMinDrop(dropData.getInt("min"));
dropDat.setMaxDrop(dropData.getInt("max"));
dropDat.setChance(dropData.getInt("chance"));
+ dropDat.setCommonDrop(ItemTable.getInstance().createDummyItem(itemId).isCommonItem());
int category = dropData.getInt("category");
npcDat.addDropData(dropDat, category);
cCount++;


Конфиг настраивающий время респа Эпик Рб

Раскрывающийся текст

В ядро


Index: java/config/NPC.properties
===================================================================
--- java/config/NPC.properties (revision 2832)
+++ java/config/NPC.properties (working copy)
@@ -116,4 +116,29 @@
# Configure the interval at which boss minions will re-spawn.
# This time is in milliseconds, 1 minute is 60000 milliseconds.
# Retail: 300000
-RaidMinionRespawnTime = 300000
\ No newline at end of file
+RaidMinionRespawnTime = 300000
+
+#============================================================#
+# Grand Boss #
+#============================================================#
+# Максимальный респ должен быть больше минимального. Время в часах

+#Антарас
+AntharasMinRespawn = 192
+AntharasMaxRespawn = 337
+#Баюм
+BaiumMinRespawn = 121
+BaiumMaxRespawn = 129
+#Коре
+CoreMinRespawn = 27
+CoreMaxRespawn = 74
+#Орфен
+OrfenMinRespawn = 28
+OrfenMaxRespawn = 69
+#АнтКвин
+QAMinRespawn = 19
+QAMaxRespawn = 54
+#Валакас
+ValakasMinRespawn = 192
+ValakasMaxRespawn = 337
+#Закен
+ZakenMinRespawn = 19
+ZakenMaxRespawn = 54

\ No newline at end of file
Index: java/net/sf/l2j/Config.java
===================================================================
--- java/net/sf/l2j/Config.java
+++ java/net/sf/l2j/Config.java (working copy)
@@ -588,6 +588,20 @@
public static double RAID_MINION_RESPAWN_TIMER;
public static float RAID_MIN_RESPAWN_MULTIPLIER;
public static float RAID_MAX_RESPAWN_MULTIPLIER;
+ public static int ANTHARAS_MIN_RESPAWN;
+ public static int ANTHARAS_MAX_RESPAWN;
+ public static int BAIUM_MIN_RESPAWN;
+ public static int BAIUM_MAX_RESPAWN;
+ public static int CORE_MIN_RESPAWN;
+ public static int CORE_MAX_RESPAWN;
+ public static int ORFEN_MIN_RESPAWN;
+ public static int ORFEN_MAX_RESPAWN;
+ public static int QA_MIN_RESPAWN;
+ public static int QA_MAX_RESPAWN;
+ public static int VALAKAS_MIN_RESPAWN;
+ public static int VALAKAS_MAX_RESPAWN;
+ public static int ZAKEN_MIN_RESPAWN;
+ public static int ZAKEN_MAX_RESPAWN;

public static int INVENTORY_MAXIMUM_PET;

/** ************************************************** **/
@@ -1675,6 +1689,20 @@
RAID_MIN_RESPAWN_MULTIPLIER = Float.parseFloat(NPC.getProperty("RaidMinRespawnMultiplier", "1.0"));
RAID_MAX_RESPAWN_MULTIPLIER = Float.parseFloat(NPC.getProperty("RaidMaxRespawnMultiplier", "1.0"));
RAID_MINION_RESPAWN_TIMER = Integer.parseInt(NPC.getProperty("RaidMinionRespawnTime", "300000"));
+ ANTHARAS_MIN_RESPAWN = Integer.parseInt(NPC.getProperty("AntharasMinRespawn", "192"));
+ ANTHARAS_MAX_RESPAWN = Integer.parseInt(NPC.getProperty("AntharasMaxRespawn", "337"));
+ BAIUM_MIN_RESPAWN = Integer.parseInt(NPC.getProperty("BaiumMinRespawn", "121"));
+ BAIUM_MAX_RESPAWN = Integer.parseInt(NPC.getProperty("BaiumMaxRespawn", "129"));
+ CORE_MIN_RESPAWN = Integer.parseInt(NPC.getProperty("CoreMinRespawn", "27"));
+ CORE_MAX_RESPAWN = Integer.parseInt(NPC.getProperty("CoreMaxRespawn", "74"));
+ ORFEN_MIN_RESPAWN = Integer.parseInt(NPC.getProperty("OrfenMinRespawn", "28"));
+ ORFEN_MAX_RESPAWN = Integer.parseInt(NPC.getProperty("OrfenMaxRespawn", "69"));
+ QA_MIN_RESPAWN = Integer.parseInt(NPC.getProperty("QAMinRespawn", "19"));
+ QA_MAX_RESPAWN = Integer.parseInt(NPC.getProperty("QAMaxRespawn", "54"));
+ VALAKAS_MIN_RESPAWN = Integer.parseInt(NPC.getProperty("ValakasMinRespawn", "192"));
+ VALAKAS_MAX_RESPAWN = Integer.parseInt(NPC.getProperty("ValakasMaxRespawn", "337"));
+ ZAKEN_MIN_RESPAWN = Integer.parseInt(NPC.getProperty("ZakenMinRespawn", "19"));
+ ZAKEN_MAX_RESPAWN = Integer.parseInt(NPC.getProperty("ZakenMaxRespawn", "54"));

INVENTORY_MAXIMUM_PET = Integer.parseInt(NPC.getProperty("MaximumSlotsForPet", "12"));

}
@@ -2205,7 +2233,21 @@
else if (pName.equalsIgnoreCase("RaidMpRegenMultiplier")) RAID_MP_REGEN_MULTIPLIER = Double.parseDouble(pValue);
else if (pName.equalsIgnoreCase("RaidPDefenceMultiplier")) RAID_PDEFENCE_MULTIPLIER = Double.parseDouble(pValue) /100;
else if (pName.equalsIgnoreCase("RaidMDefenceMultiplier")) RAID_MDEFENCE_MULTIPLIER = Double.parseDouble(pValue) /100;
- else if (pName.equalsIgnoreCase("RaidMinionRespawnTime")) RAID_MINION_RESPAWN_TIMER =Integer.parseInt(pValue);
+ else if (pName.equalsIgnoreCase("RaidMinionRespawnTime")) RAID_MINION_RESPAWN_TIMER = Integer.parseInt(pValue);
+ else if (pName.equalsIgnoreCase("AntharasMinRespawn")) ANTHARAS_MIN_RESPAWN = Integer.parseInt(pValue);
+ else if (pName.equalsIgnoreCase("AntharasMaxRespawn")) ANTHARAS_MAX_RESPAWN = Integer.parseInt(pValue) < ANTHARAS_MIN_RESPAWN ? ANTHARAS_MIN_RESPAWN : Integer.parseInt(pValue);
+ else if (pName.equalsIgnoreCase("BaiumMinRespawn")) BAIUM_MIN_RESPAWN = Integer.parseInt(pValue);
+ else if (pName.equalsIgnoreCase("BaiumMaxRespawn")) BAIUM_MAX_RESPAWN = Integer.parseInt(pValue) < BAIUM_MIN_RESPAWN ? BAIUM_MIN_RESPAWN : Integer.parseInt(pValue);
+ else if (pName.equalsIgnoreCase("CoreMinRespawn")) CORE_MIN_RESPAWN = Integer.parseInt(pValue);
+ else if (pName.equalsIgnoreCase("CoreMaxRespawn")) CORE_MAX_RESPAWN = Integer.parseInt(pValue) < CORE_MIN_RESPAWN ? CORE_MIN_RESPAWN : Integer.parseInt(pValue);
+ else if (pName.equalsIgnoreCase("OrfenMinRespawn")) ORFEN_MIN_RESPAWN = Integer.parseInt(pValue);
+ else if (pName.equalsIgnoreCase("OrfenMaxRespawn")) ORFEN_MAX_RESPAWN = Integer.parseInt(pValue) < ORFEN_MIN_RESPAWN ? ORFEN_MIN_RESPAWN : Integer.parseInt(pValue);
+ else if (pName.equalsIgnoreCase("QAMinRespawn")) QA_MIN_RESPAWN = Integer.parseInt(pValue);
+ else if (pName.equalsIgnoreCase("QAMaxRespawn")) QA_MAX_RESPAWN = Integer.parseInt(pValue) < QA_MIN_RESPAWN ? QA_MIN_RESPAWN : Integer.parseInt(pValue);
+ else if (pName.equalsIgnoreCase("ValakasMinRespawn")) VALAKAS_MIN_RESPAWN = Integer.parseInt(pValue);
+ else if (pName.equalsIgnoreCase("ValakasMaxRespawn")) VALAKAS_MAX_RESPAWN = Integer.parseInt(pValue) < VALAKAS_MIN_RESPAWN ? VALAKAS_MIN_RESPAWN : Integer.parseInt(pValue);
+ else if (pName.equalsIgnoreCase("ZakenMinRespawn")) ZAKEN_MIN_RESPAWN = Integer.parseInt(pValue);
+ else if (pName.equalsIgnoreCase("ZakenMaxRespawn")) ZAKEN_MAX_RESPAWN = Integer.parseInt(pValue) < ZAKEN_MIN_RESPAWN ? ZAKEN_MIN_RESPAWN : Integer.parseInt(pValue);


else if (pName.equalsIgnoreCase("StartingAdena")) STARTING_ADENA = Integer.parseInt(pValue);
else if (pName.equalsIgnoreCase("UnstuckInterval")) UNSTUCK_INTERVAL = Integer.parseInt(pValue);

В Датапак

Index: data/scripts/ai/individual/Antharas.java
===================================================================
--- data/scripts/ai/individual/Antharas.java
+++ data/scripts/ai/individual/Antharas.java (working copy)
@@ -14,6 +14,7 @@
*/
package ai.individual;

+import net.sf.l2j.Config;
import net.sf.l2j.gameserver.ai.CtrlIntention;
import net.sf.l2j.gameserver.instancemanager.GrandBossManager;
import net.sf.l2j.gameserver.model.L2CharPosition;
@@ -219,7 +220,7 @@
npc.broadcastPacket(new PlaySound(1, "BS01_D", 1, npc.getObjectId(), npc.getX(), npc.getY(), npc.getZ()));
this.startQuestTimer("spawn_cubes", 10000, npc, null);
GrandBossManager.getInstance().setBossStatus(ANTHARAS,DEAD);
- long respawnTime = ((192 + Rnd.get(145) ) * 3600000);
+ long respawnTime = ((Config.ANTHARAS_MIN_RESPAWN + Rnd.get(Config.ANTHARAS_MAX_RESPAWN - Config.ANTHARAS_MIN_RESPAWN) ) * 3600000);
this.startQuestTimer("antharas_unlock", respawnTime, null, null);
// also save the respawn time so that the info is maintained past reboots
StatsSet info = GrandBossManager.getInstance().getStatsSet(ANTHARAS);
Index: data/scripts/ai/individual/Baium.java
===================================================================
--- data/scripts/ai/individual/Baium.java
+++ data/scripts/ai/individual/Baium.java (working copy)
@@ -22,6 +22,7 @@
import javolution.util.FastList;
import ai.group_template.L2AttackableAIScript;

+import net.sf.l2j.Config;
import net.sf.l2j.gameserver.GeoData;
import net.sf.l2j.gameserver.ThreadPoolManager;
import net.sf.l2j.gameserver.datatables.SkillTable;
@@ -356,7 +357,7 @@
// spawn the "Teleportation Cubic" for 15 minutes (to allow players to exit the lair)
addSpawn(29055,115203,16620,10078,0,false,900000); ////should we teleport everyone out if the cubic despawns??
// "lock" baium for 5 days and 1 to 8 hours [i.e. 432,000,000 + 1*3,600,000 + random-less-than(8*3,600,000) millisecs]
- long respawnTime = ((121 + Rnd.get(8)) * 3600000);
+ long respawnTime = ((Config.BAIUM_MIN_RESPAWN + Rnd.get(Config.BAIUM_MAX_RESPAWN - Config.BAIUM_MIN_RESPAWN)) * 3600000);
GrandBossManager.getInstance().setBossStatus(LIVE_BAIUM,DEAD);
startQuestTimer("baium_unlock", respawnTime, null, null);
// also save the respawn time so that the info is maintained past reboots
Index: data/scripts/ai/individual/Core.java
===================================================================
--- data/scripts/ai/individual/Core.java
+++ data/scripts/ai/individual/Core.java (working copy)
@@ -17,6 +17,7 @@
import java.util.List;

import javolution.util.FastList;
+import net.sf.l2j.Config;
import net.sf.l2j.gameserver.instancemanager.GrandBossManager;
import net.sf.l2j.gameserver.model.L2Attackable;
import net.sf.l2j.gameserver.model.actor.instance.L2GrandBossInstance;
@@ -191,7 +192,7 @@
addSpawn(31842,18948,110166,-6397,0,false,900000);
GrandBossManager.getInstance().setBossStatus(CORE,DEAD);
//time is 60hour +/- 23hour
- long respawnTime = (27 + Rnd.get(47)) * 3600000;
+ long respawnTime = (Config.CORE_MIN_RESPAWN + Rnd.get(Config.CORE_MAX_RESPAWN - Config.CORE_MIN_RESPAWN)) * 3600000;
startQuestTimer("core_unlock", respawnTime, null, null);
// also save the respawn time so that the info is maintained past reboots
StatsSet info = GrandBossManager.getInstance().getStatsSet(CORE);
Index: data/scripts/ai/individual/Orfen.java
===================================================================
--- data/scripts/ai/individual/Orfen.java
+++ data/scripts/ai/individual/Orfen.java (working copy)
@@ -17,6 +17,7 @@
import java.util.List;

import javolution.util.FastList;
+import net.sf.l2j.Config;
import net.sf.l2j.gameserver.ai.CtrlIntention;
import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.instancemanager.GrandBossManager;
@@ -311,7 +312,7 @@
npc.broadcastPacket(new PlaySound(1, "BS02_D", 1, npc.getObjectId(), npc.getX(), npc.getY(), npc.getZ()));
GrandBossManager.getInstance().setBossStatus(ORFEN,DEAD);
//time is 48hour +/- 20hour
- long respawnTime = (28 + Rnd.get(41) * 3600000);
+ long respawnTime = (Config.ORFEN_MIN_RESPAWN + Rnd.get(Config.ORFEN_MAX_RESPAWN - Config.ORFEN_MIN_RESPAWN) * 3600000);
this.startQuestTimer("orfen_unlock", respawnTime, null, null);
// also save the respawn time so that the info is maintained past reboots
StatsSet info = GrandBossManager.getInstance().getStatsSet(ORFEN);
Index: data/scripts/ai/individual/QueenAnt.java
===================================================================
--- data/scripts/ai/individual/QueenAnt.java
+++ data/scripts/ai/individual/QueenAnt.java (working copy)
@@ -17,6 +17,7 @@
import java.util.List;

import javolution.util.FastList;
+import net.sf.l2j.Config;
import net.sf.l2j.gameserver.ai.CtrlIntention;
import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.instancemanager.GrandBossManager;
@@ -234,7 +235,7 @@
npc.broadcastPacket(new PlaySound(1, "BS02_D", 1, npc.getObjectId(), npc.getX(), npc.getY(), npc.getZ()));
GrandBossManager.getInstance().setBossStatus(QUEEN,DEAD);
//time is 36hour +/- 17hour
- long respawnTime = ((19 + Rnd.get(35) ) * 3600000);
+ long respawnTime = ((Config.QA_MIN_RESPAWN + Rnd.get(Config.QA_MAX_RESPAWN - Config.QA_MIN_RESPAWN) ) * 3600000);
startQuestTimer("queen_unlock", respawnTime, null, null);
cancelQuestTimer("action", npc, null);
// also save the respawn time so that the info is maintained past reboots
Index: data/scripts/ai/individual/Valakas.java
===================================================================
--- data/scripts/ai/individual/Valakas.java
+++ data/scripts/ai/individual/Valakas.java (working copy)
@@ -22,6 +22,7 @@
import javolution.util.FastList;
import ai.group_template.L2AttackableAIScript;

+import net.sf.l2j.Config;
import net.sf.l2j.gameserver.ThreadPoolManager;
import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.instancemanager.GrandBossManager;
@@ -965,7 +966,7 @@
npc.broadcastPacket(new PlaySound(1, "B03_D", 1, npc.getObjectId(), npc.getX(), npc.getY(), npc.getZ()));
// uncoment me once animations available
//GrandBossManager.getInstance().setBossStatus(VALAKAS,DEAD);
- long respawnTime = ((192 + Rnd.get(145) ) * 3600000);
+ long respawnTime = ((Config.VALAKAS_MIN_RESPAWN + Rnd.get(Config.VALAKAS_MAX_RESPAWN - Config.VALAKAS_MIN_RESPAWN) ) * 3600000);
this.startQuestTimer("valakas_unlock", respawnTime, null, null);
// also save the respawn time so that the info is maintained past reboots
StatsSet info = GrandBossManager.getInstance().getStatsSet(VALAKAS);
Index: data/scripts/ai/individual/Zaken.java
===================================================================
--- data/scripts/ai/individual/Zaken.java
+++ data/scripts/ai/individual/Zaken.java (working copy)
@@ -17,6 +17,7 @@
import java.util.logging.Logger;

import ai.group_template.L2AttackableAIScript;
+import net.sf.l2j.Config;
import net.sf.l2j.gameserver.GameTimeController;
import net.sf.l2j.gameserver.ThreadPoolManager;
import net.sf.l2j.gameserver.ai.CtrlIntention;
@@ -752,7 +753,7 @@
npc.broadcastPacket(new PlaySound(1, "BS02_D", 1, npc.getObjectId(), npc.getX(), npc.getY(), npc.getZ()));
GrandBossManager.getInstance().setBossStatus(ZAKEN,DEAD);
//time is 36hour +/- 17hour
- long respawnTime = ((19 + Rnd.get(35) ) * 3600000);
+ long respawnTime = ((Config.ZAKEN_MIN_RESPAWN + Rnd.get(Config.ZAKEN_MAX_RESPAWN - Config.ZAKEN_MIN_RESPAWN) ) * 3600000);
startQuestTimer("zaken_unlock", respawnTime, null, null);
cancelQuestTimer("1001", npc, null);
cancelQuestTimer("1003", npc, null);



Рейты дропа с РБ

Раскрывающийся текст
Index: D:/Workspace/GameServer_Clean/java/config/rates.properties
===================================================================
--- D:/Workspace/GameServer_Clean/java/config/rates.properties (revision 666)
+++ D:/Workspace/GameServer_Clean/java/config/rates.properties (working copy)
@@ -17,6 +17,18 @@
RateQuestsReward = 1.
RateKarmaExpLost = 1
RateSiegeGuardsPrice = 1
+#Дроп Адены с Рб и Миньонов
+AdenaBoss = 1.
+AdenaRaid = 1.
+AdenaMinon = 1.
+#Дроп итемов с Рб и миньонов
+ItemsBoss = 1.
+ItemsRaid = 1.
+ItemsMinon = 1.
+#Спойл с Рб и миньонов
+SpoilBoss = 1.
+SpoilRaid = 1.
+SpoilMinon = 1.


# Player Drop Rate control, values are the percent values
PlayerDropLimit = 0
Index: D:/Workspace/GameServer_Clean/java/net/sf/l2j/Config.java
===================================================================
--- D:/Workspace/GameServer_Clean/java/net/sf/l2j/Config.java
+++ D:/Workspace/GameServer_Clean/java/net/sf/l2j/Config.java (working copy)
@@ -388,6 +388,19 @@
public static float RATE_DROP_ITEMS;
/** Rate for spoiled items */
public static float RATE_DROP_SPOIL;
+ /**Raids Config */
+ //ADENA BOSS
+ public static float ADENA_BOSS;
+ public static float ADENA_RAID;
+ public static float ADENA_MINON;
+ //ITEMS BOSS
+ public static float ITEMS_BOSS;
+ public static float ITEMS_RAID;
+ public static float ITEMS_MINON;
+ //SPOIL BOSS
+ public static float SPOIL_BOSS;
+ public static float SPOIL_RAID;
+ public static float SPOIL_MINON;

/** Rate for quest items */
public static float RATE_DROP_QUEST;
/** Rate for karma and experience lose */
@@ -1416,6 +1429,18 @@
RATE_CONSUMABLE_COST = Float.parseFloat(ratesSettings.getProperty("RateConsumableCost", "1."));
RATE_DROP_ITEMS = Float.parseFloat(ratesSettings.getProperty("RateDropItems", "1."));
RATE_DROP_SPOIL = Float.parseFloat(ratesSettings.getProperty("RateDropSpoil", "1."));
+ //ADENA BOSS
+ ADENA_BOSS = Float.parseFloat(ratesSettings.getProperty("AdenaBoss", "1."));
+ ADENA_RAID = Float.parseFloat(ratesSettings.getProperty("AdenaRaid", "1."));
+ ADENA_MINON = Float.parseFloat(ratesSettings.getProperty("AdenaMinon", "1."));
+ //ITEMS BOSS
+ ITEMS_BOSS = Float.parseFloat(ratesSettings.getProperty("ItemsBoss", "1."));
+ ITEMS_RAID = Float.parseFloat(ratesSettings.getProperty("ItemsRaid", "1."));
+ ITEMS_MINON = Float.parseFloat(ratesSettings.getProperty("ItemsMinon", "1."));
+ //SPOIL BOSS
+ SPOIL_BOSS = Float.parseFloat(ratesSettings.getProperty("SpoilBoss", "1."));
+ SPOIL_RAID = Float.parseFloat(ratesSettings.getProperty("SpoilRaid", "1."));
+ SPOIL_MINON = Float.parseFloat(ratesSettings.getProperty("SpoilMinon", "1."));

RATE_BOX_SPAWN = Integer.parseInt(ratesSettings.getProperty("RateBoxSpawn","20"));
RATE_DROP_QUEST = Float.parseFloat(ratesSettings.getProperty("RateDropQuest", "1."));
RATE_KARMA_EXP_LOST = Float.parseFloat(ratesSettings.getProperty("RateKarmaExpLost", "1."));
@@ -1821,6 +1846,18 @@
else if (pName.equalsIgnoreCase("RateConsumableCost")) RATE_CONSUMABLE_COST = Float.parseFloat(pValue);
else if (pName.equalsIgnoreCase("RateDropItems")) RATE_DROP_ITEMS = Float.parseFloat(pValue);
else if (pName.equalsIgnoreCase("RateDropSpoil")) RATE_DROP_SPOIL = Float.parseFloat(pValue);
+ //ADENA BOSS
+ else if (pName.equalsIgnoreCase("AdenaBoss")) ADENA_BOSS = Float.parseFloat(pValue);
+ else if (pName.equalsIgnoreCase("AdenaRaid")) ADENA_RAID = Float.parseFloat(pValue);
+ else if (pName.equalsIgnoreCase("AdenaMinon")) ADENA_MINON = Float.parseFloat(pValue);
+ //ADENA BOSS
+ else if (pName.equalsIgnoreCase("ItemsBoss")) ITEMS_BOSS = Float.parseFloat(pValue);
+ else if (pName.equalsIgnoreCase("ItemsRaid")) ITEMS_RAID = Float.parseFloat(pValue);
+ else if (pName.equalsIgnoreCase("ItemsMinon")) ITEMS_MINON = Float.parseFloat(pValue);
+ //ADENA BOSS
+ else if (pName.equalsIgnoreCase("SpoilBoss")) SPOIL_BOSS = Float.parseFloat(pValue);
+ else if (pName.equalsIgnoreCase("SpoilRaid")) SPOIL_RAID = Float.parseFloat(pValue);
+ else if (pName.equalsIgnoreCase("SpoilMinon")) SPOIL_MINON = Float.parseFloat(pValue);

else if (pName.equalsIgnoreCase("RateBoxSpawn")) RATE_BOX_SPAWN = Integer.parseInt(pValue);
else if (pName.equalsIgnoreCase("RateDropQuest")) RATE_DROP_QUEST = Float.parseFloat(pValue);
else if (pName.equalsIgnoreCase("RateKarmaExpLost")) RATE_KARMA_EXP_LOST = Float.parseFloat(pValue);
Index: D:/Workspace/GameServer_Clean/java/net/sf/l2j/gameserver/model/L2Attackable.java
===================================================================
--- D:/Workspace/GameServer_Clean/java/net/sf/l2j/gameserver/model/L2Attackable.java
+++ D:/Workspace/GameServer_Clean/java/net/sf/l2j/gameserver/model/L2Attackable.java (working copy)
@@ -45,7 +45,8 @@
import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PetInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2RaidBossInstance;
+import net.sf.l2j.gameserver.model.actor.instance.L2BossInstance; // Boss rate drops
+import net.sf.l2j.gameserver.model.actor.instance.L2RaidBossInstance; // Boss rate drops

import net.sf.l2j.gameserver.model.actor.instance.L2SiegeGuardInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2SummonInstance;
import net.sf.l2j.gameserver.model.actor.knownlist.AttackableKnownList;
@@ -952,9 +953,28 @@
if (Config.DEEPBLUE_DROP_RULES) dropChance = ((drop.getChance() - ((drop.getChance() * levelModifier)/100)) / deepBlueDrop);

// Applies Drop rates
- if (drop.getItemId() == 57) dropChance *= Config.RATE_DROP_ADENA;
- else if (isSweep) dropChance *= Config.RATE_DROP_SPOIL;
- else dropChance *= Config.RATE_DROP_ITEMS;

+ /**Raids Config */
+ if (drop.getItemId() == 57)
+ {
+ if (this instanceof L2RaidBossInstance) dropChance *= Config.ADENA_RAID;
+ else if (this instanceof L2BossInstance) dropChance *= Config.ADENA_BOSS;
+ else if (this instanceof L2MinionInstance) dropChance *= Config.ADENA_MINON;
+ else dropChance *= Config.RATE_DROP_ADENA;
+ }
+ else if (isSweep)
+ {
+ if (this instanceof L2RaidBossInstance) dropChance *= Config.SPOIL_RAID;
+ else if (this instanceof L2BossInstance) dropChance *= Config.SPOIL_BOSS;
+ else if (this instanceof L2MinionInstance) dropChance *= Config.SPOIL_MINON;
+ else dropChance *= Config.RATE_DROP_SPOIL;
+ }
+ else
+ {
+ if (this instanceof L2RaidBossInstance) dropChance *= Config.ITEMS_RAID;
+ else if (this instanceof L2BossInstance) dropChance *= Config.ITEMS_BOSS;
+ else if (this instanceof L2MinionInstance) dropChance *= Config.ITEMS_MINON;
+ else dropChance *= Config.RATE_DROP_ITEMS;
+ }


// Round drop chance
dropChance = Math.round(dropChance);
@@ -1035,7 +1055,11 @@
if (Config.DEEPBLUE_DROP_RULES) categoryDropChance = ((categoryDropChance - ((categoryDropChance * levelModifier)/100)) / deepBlueDrop);

// Applies Drop rates
- categoryDropChance *= Config.RATE_DROP_ITEMS;
+ /**Raids Config */
+ if (this instanceof L2RaidBossInstance) categoryDropChance *= Config.ITEMS_RAID;
+ else if (this instanceof L2BossInstance) categoryDropChance *= Config.ITEMS_BOSS;
+ else if (this instanceof L2MinionInstance) categoryDropChance *= Config.ITEMS_MINON;
+ else categoryDropChance *= Config.RATE_DROP_ITEMS;


// Round drop chance
categoryDropChance = Math.round(categoryDropChance);
@@ -1063,8 +1087,21 @@
// if smaller.

int dropChance = drop.getChance();
- if (drop.getItemId() == 57) dropChance *= Config.RATE_DROP_ADENA;
- else dropChance *= Config.RATE_DROP_ITEMS;

+ /**Raids Config */
+ if (drop.getItemId() == 57)
+ {
+ if (this instanceof L2RaidBossInstance) dropChance *= Config.ADENA_RAID;
+ else if (this instanceof L2BossInstance) dropChance *= Config.ADENA_BOSS;
+ else if (this instanceof L2MinionInstance) dropChance *= Config.ADENA_MINON;
+ else dropChance *= Config.RATE_DROP_ADENA;
+ }
+ else
+ {
+ if (this instanceof L2RaidBossInstance) dropChance *= Config.ITEMS_RAID;
+ else if (this instanceof L2BossInstance) dropChance *= Config.ITEMS_BOSS;
+ else if (this instanceof L2MinionInstance) dropChance *= Config.ITEMS_MINON;
+ else dropChance *= Config.RATE_DROP_ITEMS;
+ }


dropChance = Math.round(dropChance);

0
S
Snow

Пользователь

Участник

Постов: 27

На форуме с: 04.12.2008

Рейтинг: 0

· 17.07.2009, 17:34

Последние 2 давно искал, но не находил, а у Ему уже исходов старых нету (Таймлайна) чтоб посмотреть спасибо

0
Виктор
Виктор

Пользователь

Бывалый

Постов: 120

На форуме с: 03.06.2009

Репутация: +16

Рейтинг: 0

· 17.07.2009, 18:55

напиши конфиг для точки

0
Vans(molodoys)
Vans(molodoys)

Пользователь

Бывалый

Постов: 183

На форуме с: 28.05.2009

Репутация: +171

Рейтинг: 0

· 17.07.2009, 19:00

Какой именно надо?

0
Виктор
Виктор

Пользователь

Бывалый

Постов: 120

На форуме с: 03.06.2009

Репутация: +16

Рейтинг: 0

· 17.07.2009, 19:03

чтоб норм был до +30 точил

0
Vans(molodoys)
Vans(molodoys)

Пользователь

Бывалый

Постов: 183

На форуме с: 28.05.2009

Репутация: +171

Рейтинг: 0

· 17.07.2009, 19:06

Эмм, не понял 100% шанс точки до 30?

0
Виктор
Виктор

Пользователь

Бывалый

Постов: 120

На форуме с: 03.06.2009

Репутация: +16

Рейтинг: 0

· 17.07.2009, 19:15

не не щас скрин выложу посмотри по таким %

Раскрывающийся текст


к стате обьясните мне почему стандартный конфик када я его перенастраиваю непашет ?? наскрине видно изменил на +30 точку а он точит до +16 по стандартному

(ещё поясните как эти конфиги поставить)

0
Войдите или зарегистрируйтесь чтобы ответить