Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Lineage II (https://forum.zone-game.info/forumdisplay.php?f=34)
-   -   Не ясно (https://forum.zone-game.info/showthread.php?t=5824)

moonbeam 28.12.2009 15:16

Не ясно
 
как сделать что бы перс 1 лвла мог носить s grade (к примеру)
как это сделать?

Каратель 28.12.2009 15:22

Re: Не ясно
 
вроде в конфиге что-то было, хоть не уверен 50:50 конфиг или ядро :D

Navvy 28.12.2009 15:22

Re: Не ясно
 
Идешь в БД в табличку armor меняешь у нужной вещи в столбце crystal_type значение с s на none. Все. Чар 1 лвла может носить s grade.

intheend 28.12.2009 21:48

Re: Не ясно
 
И одежка\вепон не бьется? Шикарно, особенно на лоу реит :D

Каратель, но в каждой сборке есть подобный конфиг.

Каратель 28.12.2009 23:12

Re: Не ясно
 
Цитата:

Сообщение от intheend (Сообщение 49091)
И одежка\вепон не бьется? Шикарно, особенно на лоу реит :D

Каратель, но в каждой сборке есть подобный конфиг.

я этим не интересовался и сказал что я не уверен XD

incognito 30.12.2009 01:44

Re: Не ясно
 
в конфигах раньше было такое allowgradepenalty или Disablegradepanalty
собственно оно и убирало антибонусы от не своего грейда

zloy_ua 30.12.2009 02:12

Re: Не ясно
 
сборка L2jOfficial_rev1158

в конфигах нету.

incognito 30.12.2009 17:31

Re: Не ясно
 
Цитата:

Сообщение от zloy_ua (Сообщение 49189)
сборка L2jOfficial_rev1158

в конфигах нету.

нашел у ся тока старые исходы оффишиалов
ну тут есть 2 варианта
1) 4267 скил махнуть на то чтобы не менял ничего
2) залезть в L2PcInstance.java
найти сея код
Код:

public void refreshExpertisePenalty()
{
    int newPenalty = 0;

    for (L2ItemInstance item : getInventory().getItems())
    {
        if (item != null && item.isEquipped())
        {
              int crystaltype = item.getItem().getCrystalType();

              if (crystaltype > newPenalty)
                    newPenalty = crystaltype;
          }
    }

    newPenalty = newPenalty - getExpertiseIndex();

    if (newPenalty <= 0)
            newPenalty = 0;

    if (getExpertisePenalty() != newPenalty)
    {
        _expertisePenalty = newPenalty;

        if (newPenalty > 0)
              super.addSkill(SkillTable.getInstance().getInfo(4267, 1));
        // level used to be newPenalty
        else
              super.removeSkill(getKnownSkill(4267));

        sendPacket(new EtcStatusUpdate(this));
    }
}

и закоментить строчки:
Код:

if (newPenalty > 0)
  super.addSkill(SkillTable.getInstance().getInfo(4267, 1));
// level used to be newPenalty
else
    super.removeSkill(getKnownSkill(4267));

чтобы получилось так:
Код:

// if (newPenalty > 0)
//  super.addSkill(SkillTable.getInstance().getInfo(4267, 1));
// level used to be newPenalty
// else
//    super.removeSkill(getKnownSkill(4267));

В обоих случаях грейдпенальти останется, но 1 случае будет вешаться скилл не дающий ничего,а во 2 случае не будет вешаться скил урезающий статы вообще


Текущее время: 15:06. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot