Как увеличить дальность атаки персонажа с определенными предметами

Knight006

Знаменитый
Пользователь
Сообщения
17
Розыгрыши
0
Репутация
0
Реакции
2
Баллы
1 235
Хроники
  1. Prologue: Prelude of War
Исходники
Присутствуют
Сборка
L2J_mobius assasin
Всем здравствуйте форумчане!
Интересует ответ на вопрос в названии темы.

В догонку, как разрешить персонажам надевать например лук\двурук ?
Спасибо
 
Всем здравствуйте форумчане!
Интересует ответ на вопрос в названии темы.

В догонку, как разрешить персонажам надевать например лук\двурук ?
Спасибо
Изменить ренж атаки у предмета.
Убрать проверку на запрет оденавия лука/двурука.
 
Всем здравствуйте форумчане!
Интересует ответ на вопрос в названии темы.

В догонку, как разрешить персонажам надевать например лук\двурук ?
Спасибо
1. Есть такой прикол как "документация" и она даже есть, хоть и не рассписана.

Что такое "Дальность Атаки"? Правильно, даже если загуглили "Attack Range". Заходим в документацию предметов и смотрим доступные параметры... Находим "attack_range". По-умолчанию он 40. Ставим в датапаке и все, теперь можно (скрорее всего) увеличить расстояние атаки.

В догонку, как разрешить персонажам надевать например лук\двурук
Если это условный Vanguard / Assassin / Гномка - то лучше не пытаться рисковать.

У Вангарда есть анимации бега/ожидания/атаки только с Копьем и с Рукой.
У Ассассина если что-то на него одеть кроме кинжала - он станет Хуманом или Темным Эльфом. (так они и так является этими - в этом случае не будет "уникальных" анимаций).
У гномки нету анимации с Рапирой, по-этому она будет в Т позе стоять.

Ну а если сильно хочется побаловаться - ищите в InventoryListener проверку на тип оружия и категорий по классам.

Index написал(а):
Ты шо пес, что ты ему втираешь, а ну обьясняй намана, а не заставляй человека еще темы создавать

У мобиуса есть закос на ПТС категории, в которых все строится на наименовании Enum и записаном внутри ИД.

XML:
    <category name="HUMAN_2ND_GROUP">
        <id>1</id> <!-- warrior -->
        <id>4</id> <!-- knight -->
        <id>7</id> <!-- rogue -->
        <id>11</id> <!-- wizard -->
        <id>15</id> <!-- cleric -->
    </category>
<category name="HUMAN_2ND_GROUP"> <== именно то что идет после "name" является "enum"-ом.
java/org/l2jmobius/gameserver/enums/CategoryType.java
Java:
package org.l2jmobius.gameserver.enums;

/**
 * This class defines all category types.
 * @author xban1x
 */
public enum CategoryType
{
    FIGHTER_GROUP,
    MAGE_GROUP,
    WIZARD_GROUP,
    CLERIC_GROUP,
    ATTACKER_GROUP,
    TANKER_GROUP,
    FIRST_CLASS_GROUP,
    SECOND_CLASS_GROUP,
    THIRD_CLASS_GROUP,
    FOURTH_CLASS_GROUP,
    EQUIP_ENABLE_R,
    FIFTH_CLASS_GROUP,
    SIXTH_CLASS_GROUP,
    SIXTH_SIGEL_GROUP,
    SIXTH_TIR_GROUP,
    SIXTH_OTHEL_GROUP,

После чего как мы поняли и осознали что есть "Категории" - идем искать наши класс ИД в этих категориях. Открываем "CategoryData.xml" и ищем там наших условных "ЭссЭссИнов".
Нашли следующее - ASSASSIN_ALL_CLASS
Java:
    <category name="ASSASSIN_ALL_CLASS">
        <id>221</id> <!-- Male Assassin 0 -->
        <id>222</id> <!-- Male Assassin 1 -->
        <id>223</id> <!-- Male Assassin 2 -->
        <id>224</id> <!-- Male Assassin 3 -->
        <id>225</id> <!-- Female Assassin 0 -->
        <id>226</id> <!-- Female Assassin 1 -->
        <id>227</id> <!-- Female Assassin 2 -->
        <id>228</id> <!-- Female Assassin 3 -->
    </category>
Ищем по коду... Видем что у нас где-то в UseItem висит проверка с "ASSASSIN_ALL_CLASS".
Java:
            // Prevent equip shields for Death Knight, Sylph or Vanguard players.
            if (item.isArmor() && (item.getArmorItem().getItemType() == ArmorType.SHIELD) && ... CategoryData.getInstance().isInCategory(CategoryType.ASSASSIN_ALL_CLASS, player.getClassId().getId())))
            {
                player.sendPacket(SystemMessageId.YOU_DO_NOT_MEET_THE_REQUIRED_CONDITION_TO_EQUIP_THAT_ITEM);
                return;
            }

Смешно только что у Ассассинов проверки... Ну их нет.

1699512834214.png
 
Последнее редактирование:
Всем здравствуйте форумчане!
Интересует ответ на вопрос в названии темы.

В догонку, как разрешить персонажам надевать например лук\двурук ?
Спасибо
Так лук могут все классы одевать для двурука добавляй скил персу на разрешения
 
  • Facepalm
Реакции: Psycho

    Psycho

    Баллов: -28
    Посрал не сняв штаны
Так лук могут все классы одевать для двурука добавляй скил персу на разрешения
Да что ты, прям все?
И как же скил поможет, если есть проверка на запрет одевания, и нет анимации для этого типа оружия?
 
Запрещено публиковать исходный код без BB-кода — CODE
Как вам моя гномка?
Спасибо, не знал про гномов и рапиру

Как тут красиво код вставить я не вижу
Кому интересно - код запрещает гномам рапиру носить, вставлять в useitem.java к остальным проверкам

if (item.isWeapon() && (player.getRace() == Race.DWARF) && (item.getItemType() == WeaponType.RAPIER))
{
player.sendPacket(SystemMessageId.YOU_DO_NOT_MEET_THE_REQUIRED_CONDITION_TO_EQUIP_THAT_ITEM);
return;
}
 
Спасибо за разьяснение, ненужную проверку убрал\закомментил
Появился еще вопрос, после компила, куда сохраняются эти все методы?
Есть возможность избежать перетирания конфигов, предметов и html ?
Networking для геймсервера по идее сохраняется в gameserver.jar?

Спасибо за разьяснение, ненужную проверку убрал\закомментил
Появился еще вопрос, после компила, куда сохраняются эти все методы?
Есть возможность избежать перетирания конфигов, предметов и html ?
Networking для геймсервера по идее сохраняется в gameserver.jar?
Разобрался, Gameserver.jar в данном случае
 
Назад
Сверху Снизу