Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Выделение мобов-чемпионов. (L2JServer)
#1
На астериосе мобы-чемпионы выделяются красивым синим/красным кругов вокруг, а как бы такое же реализовать на сборке L2Jserver, к примеру.
Я скачал svn, нашел в файле java\net\sf\l2j\gameserver\network\serverpackets\AbstractNpcInfo.java строки if(Config.L2JMOD_CHAMPION_ENABLE && cha.isChampion()) >>>
_title = (Config.L2JMOD_CHAMP_TITLE)<<<;
// On every subclass
Думаю, если прописать сюда добавление того "ореола", все должно работать, только не понимаю, каким образом это прописать и примера посмотреть, к сожалению нет. Sad
(Сборку Феникс, что на астериосе скачать не могу, так как постов мало еще)
Ответ
#2
Код:
public int getChampion()
  {
   [I] return this._isChampion;[/I]
  }

  public void setChampion(int level)
  {
    if (level == 0)
    {
      removeSkillById(Integer.valueOf(4407));
      this._isChampion = 0;
    }
    else
    {
      addSkill(SkillTable.getInstance().getInfo(4407, level));
      this._isChampion = level;
      setCurrentHp(getMaxHp(), false);
    }
  }

[I]  public int getTeam()
  {
    return getChampion();
  }
[/I]
Код:
[I]  NpcInfo tmp18_9 = this; (tmp18_9.colHeight = this._cha.getColHeight()).currentColHeight = this;
    NpcInfo tmp35_26 = this; (tmp35_26.colRadius = this._cha.getColRadius()).currentColRadius = this;
    if (this._cha.getEffectList().getEffectByType(L2Effect.EffectType.Grow) != null)[/I]
    {
      this.currentColHeight = (int)(this.currentColHeight / 1.2D);
      this.currentColRadius = (int)(this.currentColRadius / 1.2D);
    }

....................

    if (this._cha instanceof L2Summon)
    {
      if (this._cha.getTeam() < 3);
      if ((this._attacker == null) || (this._attacker.getTeam() == 0))
        this.team = 0;
      else if (this._attacker.getTeam() == this._cha.getTeam())
        this.team = 1;
      else
        this.team = 2;
    }
    else {
      this.team = ((this.team = this._cha.getTeam()) ? tmp18_9 :
        (runImpl_Decoy()) ? tmp35_26 :
        this._cha.getTeam());
    }
  }

Вот примерно так.
Ответ
#3
Да, спасибо большое за код, но, нельзя ли хоть какие-нибудь пояснения по нему?
4407 - это скилл, в котором есть ореол вокруг перса? На сколько понял, вы увеличиваете размеры этого ореола и применяете скилл к нужному мобу.
Ответ
#4
Совершенно точно.
4407-NPC Aura Burn
Рандомом с указанным в конфиге шансом определяются 2 "команды" мобов.
х10 (синие) и х50 красные.
Ответ
#5
а можна по подробней как ето делать)
Ответ
#6
Подробнее, это только выложить сюда измененные файлы, наверное.
Я еще не менял у себя, и не проверял, само собой. Надо будет чуть править, так как ума вставить еще и вторую команду мобов-чемпионов не хватит, но очень хочется видеть не только надпись на чемпионами.
Ответ
#7
я имею введу куда их пихать,так как на разных зборках разное ,такчто готовое не кинуть Smile
Ответ
#8
В том и дело, что на всех сборках по разному. у себя нашел процедуру
public void setChampion(boolean champ)
{
_champion = champ;
}
в файле L2_GameServer\java\net\sf\l2j\gameserver\model\actor\L2Character.java
Соответственно, его и надо менять.
А вот, где найти код из второй части, точно не знаю, вернее, где его добавлять/изменять.
Если бы идею сами разработчики заметили, тогда и проблем меньше. Smile
Ответ
#9
arivano Написал:В том и дело, что на всех сборках по разному. у себя нашел процедуру
public void setChampion(boolean champ)
{
_champion = champ;
}
в файле L2_GameServer\java\net\sf\l2j\gameserver\model\actor\L2Character.java
Соответственно, его и надо менять.
А вот, где найти код из второй части, точно не знаю, вернее, где его добавлять/изменять.
Если бы идею сами разработчики заметили, тогда и проблем меньше. Smile

Во первых это не процедура, а класс.
Во вторых менять его не надо.
Ответ
#10
Понятно, будем изучать java. Либо пытать разработчика, чтобы добавил код для скила на чемпионов.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Нет агра мобов после респа Kagaku 0 895 03-30-2020, 06:54 PM
Последний пост: Kagaku
  Хп мобов silok 6 2,371 03-04-2018, 08:08 AM
Последний пост: silok
  Пропадание мобов Map 7 2,059 11-09-2017, 04:35 PM
Последний пост: Map
  Проблемы с заливкой таблиц в бд l2jserver HF dbinst_gs a6y 3 1,900 10-08-2017, 11:01 PM
Последний пост: a6y
  Добавление РБ и Мобов virusoflove 1 1,573 01-23-2017, 08:52 PM
Последний пост: virusoflove
  проблема с npc сборка l2jserver HF p5 rufus666999 1 1,106 02-03-2016, 06:31 PM
Последний пост: rufus666999
  L2JServer High Five Ljucifer 4 3,528 05-10-2015, 11:31 AM
Последний пост: Donatte
  прыжки мобов/игроков KoKoS 4 1,585 04-19-2015, 02:48 PM
Последний пост: KoKoS
  L2jServer Компиляция AirRebbit 6 2,038 09-21-2014, 09:04 AM
Последний пост: DRIAD
  Выделение ОЗУ debian 7 singer 4 1,824 04-19-2014, 08:14 PM
Последний пост: SouthBridge

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)