Перейти к содержанию
Авторизация  
Xample

Как Добавить Дроп Колов Всем Рб Сборка Rebellion Hf?

Рекомендуемые сообщения

Вообщем задача такая- нужно добавить всем Рейд боссам выше 60лвла в дроплист колы от 1 до 3 с шансом 50% (или просто по 1 с шансом 50%)

В xml прописывать каждому рб нехочу (ибо нужно будет иногда выключать)

в базе данных тоже прописать вроде некуда(

Помогите составить код как эвента хоть... сборка Rebellion HF

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В сурсах фирт-тим есть такой эвент, попробуй от туда взять.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть скрипт в датапаке (ворлд дроп) в нем можно добавить это все. (правда он на яве ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть скрипт в датапаке (ворлд дроп) в нем можно добавить это все. (правда он на яве ;)

Так Rebellion и есть на яве. ща глянул в админ панеле есть эвент "World-Drop(Item)" запуск/остановка. Но консоль выдаёт:

 

[13:04:03] ERROR Script class events.worlddrop.worlddrop not found!

[13:04:34] ERROR Script class events.worlddrop.worlddrop not found!

 

 

Скинь плиз этот скрипт

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так Rebellion и есть на яве. ща глянул в админ панеле есть эвент "World-Drop(Item)" запуск/остановка. Но консоль выдаёт:

 

[13:04:03] ERROR Script class events.worlddrop.worlddrop not found!

[13:04:34] ERROR Script class events.worlddrop.worlddrop not found!

 

 

Скинь плиз этот скрипт

 

А зачем смотреть в админ панели? Он в дп лежать должен, scripts/events/*.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А зачем смотреть в админ панели? Он в дп лежать должен, scripts/events/*.

нету ни в Rebellion ни в First-Team((((

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну так, а написать не?

 

с использованием обычного, допустим rollDrop'a, ограничением по уровню и функцией выдачи.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну так, а написать не?

 

с использованием обычного, допустим rollDrop'a, ограничением по уровню и функцией выдачи.

неумею писать( поэтому и обратился сюда

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

package events;
import sw.awaken.commons.util.Rnd;
import sw.awaken.gameserver.listener.actor.OnDeathListener;
import sw.awaken.gameserver.model.Creature;
import sw.awaken.gameserver.model.Player;
import sw.awaken.gameserver.model.actor.listener.CharListenerList;
import sw.awaken.gameserver.model.instances.NpcInstance;
import sw.awaken.gameserver.model.reward.RewardData;
import sw.awaken.gameserver.scripts.Functions;
import sw.awaken.gameserver.scripts.ScriptFile;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class CoLDrop extends Functions implements ScriptFile, OnDeathListener
{
private static final Logger _log = LoggerFactory.getLogger(CoLDrop.class);
protected static int CoL = 4037;//Вписать ID CoL
protected static int min = 1;//Вписать минимум
protected static int max = 2;//Вписать максимум
@Override
public void onLoad()
{
CharListenerList.addGlobal(this);
_log.info("Loaded Event: CoLDrop [state: activated]");
}

@Override
public void onReload()
{
//dummy
}
@Override
public void onShutdown()
{
//dummy
}

@Override
public void onDeath(Creature cha, Creature killer)
{
int count = Rnd.get(min,max);
if (SimpleCheckDrop(cha, killer))
{
if(cha.getLevel() >= 60)
{
if (Rnd.chance(100))//Шанс
{
 ((NpcInstance) cha).dropItem(killer.getPlayer(), CoL, count);
}
}
}
}
}

 

Как то так. Только поменять импорты под ребеллион/фт.

Изменено пользователем AwakenDev
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как то так. Только поменять импорты под ребеллион/фт.

 

 

 

 

[14:17:50] INFO Scripts: Loading...
[14:17:50] INFO Loading l2r-scripts.jar
[14:17:51] ERROR C:\server\Rebellion\game\data\scripts\events\CoLDrop\CoLDrop.ja
va:1,1: Syntax error on token "Invalid Character", delete this token
[14:17:58] ERROR Scripts: Failed loading scripts!
Server terminated ...
Для продолжения нажмите любую клавишу . . .

 

 


package events.CoLDrop;
import l2r.commons.util.Rnd;
import l2r.gameserver.listener.actor.OnDeathListener;
import l2r.gameserver.model.Creature;
import l2r.gameserver.model.Player;
import l2r.gameserver.model.actor.listener.CharListenerList;
import l2r.gameserver.model.instances.NpcInstance;
import l2r.gameserver.model.reward.RewardData;
import l2r.gameserver.scripts.Functions;
import l2r.gameserver.scripts.ScriptFile;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class CoLDrop extends Functions implements ScriptFile, OnDeathListener
{
private static final Logger _log = LoggerFactory.getLogger(CoLDrop.class);
protected static int CoL = 57;//Вписать ID CoL
protected static int min = 100;//Вписать минимум
protected static int max = 500;//Вписать максимум
@Override
public void onLoad()
{
CharListenerList.addGlobal(this);
_log.info("Loaded Event: CoLDrop [state: activated]");
}
@Override
public void onReload()
{
//dummy
}
@Override
public void onShutdown()
{
//dummy
}
@Override
public void onDeath(Creature cha, Creature killer)
{
int count = Rnd.get(min,max);
if (SimpleCheckDrop(cha, killer))
{
if(cha.getLevel() >= 60)
{
if (Rnd.chance(100))//Шанс
{
((NpcInstance) cha).dropItem(killer.getPlayer(), CoL, count);
}
}
}
}
}

 

 

Изменено пользователем Xample

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сохрани в UTF-8 без BOM.

Теперь ошибок не выдало. А как его теперь запустить? Если он автоматом активен, то (в моём случае (57) адена должна валиться) не валится с РБ(

 

попробовал в админке сделать кнопку с action="bypass -h scripts_events.CoLDrop.CoLDrop:startEvent"

консоль выдала [14:55:27] ERROR Scripts: No such method events.CoLDrop.CoLDrop.startEvent()!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Потому что в скрипте нет метода startEvent()

 

нашёл в сборке такой вот скрипт:


package events.CustomDropItems;

import l2r.commons.util.Rnd;
import l2r.gameserver.Config;
import l2r.gameserver.listener.actor.OnDeathListener;
import l2r.gameserver.model.Creature;
import l2r.gameserver.model.actor.listener.CharListenerList;
import l2r.gameserver.model.instances.MonsterInstance;
import l2r.gameserver.model.instances.NpcInstance;
import l2r.gameserver.scripts.Functions;
import l2r.gameserver.scripts.ScriptFile;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class CustomDropItems extends Functions implements ScriptFile, OnDeathListener
{
private static final Logger _log = LoggerFactory.getLogger(CustomDropItems.class);

private static final int[] DROP = Config.CDItemsId;
private static final int[] CDItemsCountDropMin = Config.CDItemsCountDropMin;
private static final int[] CDItemsCountDropMax = Config.CDItemsCountDropMax;
private static final double[] CustomDropItemsChance = Config.CustomDropItemsChance;
private static boolean ALLOW_MIN_MAX_PLAYER_LVL = Config.CDItemsAllowMinMaxPlayerLvl;
private static final int MIN_PLAYER_LVL = Config.CDItemsMinPlayerLvl;
private static final int MAX_PLAYER_LVL = Config.CDItemsMaxPlayerLvl;
private static boolean ALLOW_MIN_MAX_MOB_LVL = Config.CDItemsAllowMinMaxMobLvl;
private static final int MIN_MOB_LVL = Config.CDItemsMinMobLvl;
private static final int MAX_MOB_LVL = Config.CDItemsMaxMobLvl;
private static boolean ALLOW_ONLY_RB_DROPS = Config.CDItemsAllowOnlyRbDrops;
private static boolean _active = false;

@Override
public void onLoad()
{
CharListenerList.addGlobal(this);
if(Config.AllowCustomDropItems)
{
_active = true;
_log.info("Loaded CustomDropItems: CustomDropItems [state: activated]");
}
else
_log.info("Loaded CustomDropItems: CustomDropItems [state: deactivated]");
}

@Override
public void onReload()
{

}

@Override
public void onShutdown()
{

}

@Override
public void onDeath(Creature cha, Creature killer)
{
if(!ALLOW_ONLY_RB_DROPS)
{
if((ALLOW_MIN_MAX_PLAYER_LVL && checkValidate(killer, cha, true, false)) && (ALLOW_MIN_MAX_MOB_LVL && checkValidate(killer, cha, false, true)))
{
dropItemMob(cha, killer);
}
else if((ALLOW_MIN_MAX_PLAYER_LVL && checkValidate(killer, cha, true, false)) && !ALLOW_MIN_MAX_MOB_LVL)
{
dropItemMob(cha, killer);
}
else if(!ALLOW_MIN_MAX_PLAYER_LVL && (ALLOW_MIN_MAX_MOB_LVL && checkValidate(killer, cha, false, true)))
{
dropItemMob(cha, killer);
}
else if(!ALLOW_MIN_MAX_PLAYER_LVL && !ALLOW_MIN_MAX_MOB_LVL)
{
dropItemMob(cha, killer);
}
else
return;
}
else if(ALLOW_ONLY_RB_DROPS && (cha.isRaid() || cha.isBoss()))
{
if((ALLOW_MIN_MAX_PLAYER_LVL && checkValidate(killer, cha, true, false)) && (ALLOW_MIN_MAX_MOB_LVL && checkValidate(killer, cha, false, true)))
{
dropItemRb(cha, killer);
}
else if((ALLOW_MIN_MAX_PLAYER_LVL && checkValidate(killer, cha, true, false)) && !ALLOW_MIN_MAX_MOB_LVL)
{
dropItemRb(cha, killer);
}
else if(!ALLOW_MIN_MAX_PLAYER_LVL && (ALLOW_MIN_MAX_MOB_LVL && checkValidate(killer, cha, false, true)))
{
dropItemRb(cha, killer);
}
else if(!ALLOW_MIN_MAX_PLAYER_LVL && !ALLOW_MIN_MAX_MOB_LVL)
{
dropItemRb(cha, killer);
}
else
return;
}
else
return;
}

private boolean checkValidate(Creature killer, Creature mob, boolean lvlPlayer, boolean lvlMob)
{
if(mob == null || killer == null)
return false;

if(lvlPlayer && (killer.getLevel() >= MIN_PLAYER_LVL && killer.getLevel() <= MAX_PLAYER_LVL))
return true;

if(lvlMob && (mob.getLevel() >= MIN_MOB_LVL && mob.getLevel() <= MAX_MOB_LVL))
return true;

return false;
}

private void dropItemMob(Creature cha, Creature killer)
{
if(_active && SimpleCheckDrop(cha, killer))
for(int i = 0; i < DROP.length; i++)
if(Rnd.chance(CustomDropItemsChance[i] * killer.getPlayer().getRateItems() * ((MonsterInstance) cha).getTemplate().rateHp))
((MonsterInstance) cha).dropItem(killer.getPlayer(), DROP[i], Rnd.get(CDItemsCountDropMin[i], CDItemsCountDropMax[i]));
else
return;
}

private void dropItemRb(Creature cha, Creature killer)
{
if(_active)
for(int i = 0; i < DROP.length; i++)
if(Rnd.chance(CustomDropItemsChance[i] * killer.getPlayer().getRateItems() * ((NpcInstance) cha).getTemplate().rateHp))
((NpcInstance) cha).dropItem(killer.getPlayer(), DROP[i], Rnd.get(CDItemsCountDropMin[i], CDItemsCountDropMax[i]));
else
return;
}
}

 

 

 

 

 

И настройки к нему:


# Конфигурация скрипта CustomDropItems
AllowCustomDropItems = True
# ID итемов добавляемых в дроп лист мобам
# в формате 1234;5678 и т.д.
CDItemsId = 6673
CDItemsCountDropMin = 1
CDItemsCountDropMax = 3
# Шанс дропа итемов
CustomDropItemsChance = 100;
# Задействовать уровни играков?
CDItemsAllowMinMaxPlayerLvl = False
# Минимальный уровень которым будет дропать итемы(работает только при CDItemsAllowMinMaxPlayerLvl = True)
CDItemsMinPlayerLvl = 1
# Максимальный уровень которым будет дропать итемы(работает только при CDItemsAllowMinMaxPlayerLvl = True)
CDItemsMaxPlayerLvl = 85
# Задействовать уровни мобов?
CDItemsAllowMinMaxMobLvl = False
# Минимальный уровень с которых будет дропать итемы(работает только при CDItemsAllowMinMaxMobLvl = True)
CDItemsMinMobLvl = 70
# Максимальный уровень с которых будет дропать итемы(работает только при CDItemsAllowMinMaxMobLvl = True)
CDItemsMaxMobLvl = 86
# Включить дроп только РБ?(При CDItemsAllowOnlyRbDrops = True, с обычных мобов падать не будет)
CDItemsAllowOnlyRbDrops = True

 

 

 

Скрипт работает, но он не добавляет в дроп к рб, а заменивает на 1 предмет который указан в конфиге, посмотри плиз, мож по этому скрипту можно наладить работоспособность CoLDrop.java ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Оказалось скрипт CoLDrop.java работает, но только на обычных мобов и на охрану рб, а из самих РБ не выпадает, как немножечко переделать скрипт? наверное чтото с этим связанно? cha.isRaid cha.isBoss

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Допиши к ((NpcInstance) cha).dropItem(killer.getPlayer(), CoL, count);

Следущей строкой.

 

((RaidBossInstance) cha).dropItem(killer.getPlayer(), CoL, count);

 

Импорт инстанса рейдов не забудь дописать.

Изменено пользователем AwakenDev

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Допиши к ((NpcInstance) cha).dropItem(killer.getPlayer(), CoL, count);

Следущей строкой.

 

((RaidBossInstance) cha).dropItem(killer.getPlayer(), CoL, count);

 

Импорт инстанса рейдов не забудь дописать.

 

 

Дописал

 import l2r.gameserver.model.instances.RaidBossInstance;

 

Вставил:

 

@Override
public void onDeath(Creature cha, Creature killer)
{
int count = Rnd.get(min,max);
if (SimpleCheckDrop(cha, killer))
{
if(cha.getLevel() >= 60)
{
if (Rnd.chance(100))//Шанс
{
	 ((NpcInstance) cha).dropItem(killer.getPlayer(), CoL, count);
  ((RaidBossInstance) cha).dropItem(killer.getPlayer(), CoL, count);
}
}
}
}
}

 

С РБ также не падает, а с мобов падает и консоль пишет:

[19:36:00] ERROR
java.lang.ClassCastException: l2r.gameserver.model.instances.MonsterInstance can
not be cast to l2r.gameserver.model.instances.RaidBossInstance
    at events.CoLDrop.CoLDrop.onDeath(CoLDrop.java:52)
    at l2r.gameserver.model.actor.listener.CharListenerList.onDeath(CharList
enerList.java:118)
    at l2r.gameserver.model.Creature.onDeath(Creature.java:1698)
    at l2r.gameserver.model.instances.NpcInstance.onDeath(NpcInstance.java:3
18)
    at l2r.gameserver.model.instances.MonsterInstance.onDeath(MonsterInstanc
e.java:309)
    at l2r.gameserver.model.Creature.doDie(Creature.java:1649)
    at l2r.gameserver.model.Creature.onReduceCurrentHp(Creature.java:3247)
    at l2r.gameserver.model.instances.NpcInstance.onReduceCurrentHp(NpcInsta
nce.java:292)
    at l2r.gameserver.model.instances.MonsterInstance.onReduceCurrentHp(Mons
terInstance.java:332)
    at l2r.gameserver.model.Creature.reduceCurrentHp(Creature.java:3216)
    at l2r.gameserver.model.instances.MonsterInstance.reduceCurrentHp(Monste
rInstance.java:845)
    at l2r.gameserver.skills.skillclasses.MDam.useSkill(MDam.java:36)
    at l2r.gameserver.model.Creature.callSkill(Creature.java:1155)
    at l2r.gameserver.model.Playable.callSkill(Playable.java:531)
    at l2r.gameserver.model.Creature.onMagicUseTimer(Creature.java:3111)
    at l2r.gameserver.model.GameObjectTasks$MagicUseTask.runImpl(GameObjectT
asks.java:371)
    at l2r.commons.threading.RunnableImpl.run(RunnableImpl.java:21)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
access$201(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Убери рейд инстанс, поставь вместо SimpleCheckDrop

SimpleCheckDropWithMonster

 

Если такого метода в Functions нету, то допиши.

 

public static boolean SimpleCheckDropWithMonster(Creature mob, Creature killer)
{
 return mob != null && mob.isMonster() && killer != null && killer.getPlayer() != null && killer.getLevel() - mob.getLevel() < 9;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Убери рейд инстанс, поставь вместо SimpleCheckDrop

SimpleCheckDropWithMonster

 

Если такого метода в Functions нету, то допиши.

 

public static boolean SimpleCheckDropWithMonster(Creature mob, Creature killer)
{
return mob != null && mob.isMonster() && killer != null && killer.getPlayer() != null && killer.getLevel() - mob.getLevel() < 9;
}

 

 

 

Все верно?:


package events.CoLDrop;
import l2r.commons.util.Rnd;
import l2r.gameserver.Config;
import l2r.gameserver.listener.actor.OnDeathListener;
import l2r.gameserver.model.Creature;
import l2r.gameserver.model.actor.listener.CharListenerList;
import l2r.gameserver.model.instances.MonsterInstance;
import l2r.gameserver.model.instances.NpcInstance;
import l2r.gameserver.model.instances.RaidBossInstance;
import l2r.gameserver.scripts.Functions;
import l2r.gameserver.scripts.ScriptFile;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class CoLDrop extends Functions implements ScriptFile, OnDeathListener
{
public static boolean SimpleCheckDropWithMonster(Creature mob, Creature killer)
{
return mob != null && mob.isMonster() && killer != null && killer.getPlayer() != null && killer.getLevel() - mob.getLevel() < 9;
}
private static final Logger _log = LoggerFactory.getLogger(CoLDrop.class);
protected static int CoL = 6673;//Вписать ID CoL
protected static int min = 1;//Вписать минимум
protected static int max = 3;//Вписать максимум
@Override
public void onLoad()
{
CharListenerList.addGlobal(this);
_log.info("Loaded Event: CoLDrop [state: activated]");
}
@Override
public void onReload()
{
//dummy
}
@Override
public void onShutdown()
{
//dummy
}
@Override
public void onDeath(Creature cha, Creature killer)
{
int count = Rnd.get(min,max);
if (SimpleCheckDropWithMonster(cha, killer))
{
if(cha.getLevel() >= 60)
{
if (Rnd.chance(100))//Шанс
{
((NpcInstance) cha).dropItem(killer.getPlayer(), CoL, count);
((RaidBossInstance) cha).dropItem(killer.getPlayer(), CoL, count);
}
}
}
}
}

 

 

 

С рб теперь падает норм, но и падает с миньонов и обычных монстров и при этом консоль выдаёт:

 

 


[20:02:44] ERROR
java.lang.ClassCastException: l2r.gameserver.model.instances.MonsterInstance can
not be cast to l2r.gameserver.model.instances.RaidBossInstance
at events.CoLDrop.CoLDrop.onDeath(CoLDrop.java:57)
at l2r.gameserver.model.actor.listener.CharListenerList.onDeath(CharList
enerList.java:118)
at l2r.gameserver.model.Creature.onDeath(Creature.java:1698)
at l2r.gameserver.model.instances.NpcInstance.onDeath(NpcInstance.java:3
18)
at l2r.gameserver.model.instances.MonsterInstance.onDeath(MonsterInstanc
e.java:309)
at l2r.gameserver.model.Creature.doDie(Creature.java:1649)
at l2r.gameserver.model.Creature.onReduceCurrentHp(Creature.java:3247)
at l2r.gameserver.model.instances.NpcInstance.onReduceCurrentHp(NpcInsta
nce.java:292)
at l2r.gameserver.model.instances.MonsterInstance.onReduceCurrentHp(Mons
terInstance.java:332)
at l2r.gameserver.model.Creature.reduceCurrentHp(Creature.java:3216)
at l2r.gameserver.model.instances.MonsterInstance.reduceCurrentHp(Monste
rInstance.java:845)
at l2r.gameserver.skills.skillclasses.MDam.useSkill(MDam.java:36)
at l2r.gameserver.model.Creature.callSkill(Creature.java:1155)
at l2r.gameserver.model.Playable.callSkill(Playable.java:531)
at l2r.gameserver.model.Creature.onMagicUseTimer(Creature.java:3111)
at l2r.gameserver.model.GameObjectTasks$MagicUseTask.runImpl(GameObjectT
asks.java:371)
at l2r.commons.threading.RunnableImpl.run(RunnableImpl.java:21)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
access$201(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

 

 

 

 

 


[20:06:45] ERROR
java.lang.ClassCastException: l2r.gameserver.model.instances.MinionInstance cann
ot be cast to l2r.gameserver.model.instances.RaidBossInstance
at events.CoLDrop.CoLDrop.onDeath(CoLDrop.java:57)
at l2r.gameserver.model.actor.listener.CharListenerList.onDeath(CharList
enerList.java:118)
at l2r.gameserver.model.Creature.onDeath(Creature.java:1698)
at l2r.gameserver.model.instances.NpcInstance.onDeath(NpcInstance.java:3
18)
at l2r.gameserver.model.instances.MonsterInstance.onDeath(MonsterInstanc
e.java:309)
at l2r.gameserver.model.instances.MinionInstance.onDeath(MinionInstance.
java:37)
at l2r.gameserver.model.Creature.doDie(Creature.java:1649)
at l2r.gameserver.model.Creature.onReduceCurrentHp(Creature.java:3247)
at l2r.gameserver.model.instances.NpcInstance.onReduceCurrentHp(NpcInsta
nce.java:292)
at l2r.gameserver.model.instances.MonsterInstance.onReduceCurrentHp(Mons
terInstance.java:332)
at l2r.gameserver.model.Creature.reduceCurrentHp(Creature.java:3216)
at l2r.gameserver.model.instances.MonsterInstance.reduceCurrentHp(Monste
rInstance.java:845)
at l2r.gameserver.skills.skillclasses.MDam.useSkill(MDam.java:36)
at l2r.gameserver.model.Creature.callSkill(Creature.java:1155)
at l2r.gameserver.model.Playable.callSkill(Playable.java:531)
at l2r.gameserver.model.Creature.onMagicUseTimer(Creature.java:3111)
at l2r.gameserver.model.GameObjectTasks$MagicUseTask.runImpl(GameObjectT
asks.java:371)
at l2r.commons.threading.RunnableImpl.run(RunnableImpl.java:21)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
access$201(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я ж сказал, убери ((RaidBossInstance) cha).dropItem(killer.getPlayer(), CoL, count);

 

А вот это, желательно вписать в Functions. И убрать из того.

public static boolean SimpleCheckDropWithMonster(Creature mob, Creature killer)

{

return mob != null && mob.isMonster() && killer != null && killer.getPlayer() != null && killer.getLevel() - mob.getLevel() < 9;

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я ж сказал, убери ((RaidBossInstance) cha).dropItem(killer.getPlayer(), CoL, count);

 

А вот это, желательно вписать в Functions. И убрать из того.

public static boolean SimpleCheckDropWithMonster(Creature mob, Creature killer)

{

return mob != null && mob.isMonster() && killer != null && killer.getPlayer() != null && killer.getLevel() - mob.getLevel() < 9;

}

 

 

 

 

((RaidBossInstance) cha).dropItem(killer.getPlayer(), CoL, count); убрал

 

 

ошибка перестала появляться, но дроп с обычных мобов остался,

незнаю куда переписать(((

public static boolean SimpleCheckDropWithMonster(Creature mob, Creature killer)

{

return mob != null && mob.isMonster() && killer != null && killer.getPlayer() != null && killer.getLevel() - mob.getLevel() < 9;

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я ж сказал куда. В ядре gameserver/scripts/function.

 

Прояви чуть логики, сравни 2 метода симпла, и поймеш как у мобов убрать

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я ж сказал куда. В ядре gameserver/scripts/function.

 

Прояви чуть логики, сравни 2 метода симпла, и поймеш как у мобов убрать

 

 

туда не получиться запихать, ядро же скомпилинное(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у ребеллиона/фт есть сурс расшаренный вроде как. Ну да ладно.

Тогда оставь его в твоем файле. Насчет мобов, перед mob.isMonster() допиши восклицательный знак.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у ребеллиона/фт есть сурс расшаренный вроде как. Ну да ладно.

Тогда оставь его в твоем файле. Насчет мобов, перед mob.isMonster() допиши восклицательный знак.

поставил, с перестало выпадать со всех

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...