Сообщений: 5
Тем: 2
Зарегистрирован: Sep 2011
Репутация:
0
Подскажите пожалуйста, как сделать чтобы спойлеры смогли носить дуалдаггеры? в сборке которую я использую это зависит только от профессии.
Исходники L2Phoenix
Сообщений: 983
Тем: 11
Зарегистрирован: Mar 2010
Репутация:
11,535
В Inventory.java есть проверка:
[src=java]if(item.getItemType() == WeaponType.DUALDAGGER && !PlayerClass.values()[owner.getActiveClassId()].isOfType(ClassType.DaggerMaster))
return Msg.YOU_DO_NOT_MEET_THE_REQUIRED_CONDITION_TO_EQUIP_THAT_ITEM;[/src]
В PlayerClass.java про все классы расписано, например для ТХ:
[src=java]Adventurer(human, Fighter, Fourth, DaggerMaster), //93[/src]
Спойлеру надо стать DaggerMaster-ом. Должно сработать.
Сообщений: 5
Тем: 2
Зарегистрирован: Sep 2011
Репутация:
0
Array Написал:В Inventory.java есть проверка:
[src=java]if(item.getItemType() == WeaponType.DUALDAGGER && !PlayerClass.values()[owner.getActiveClassId()].isOfType(ClassType.DaggerMaster))
return Msg.YOU_DO_NOT_MEET_THE_REQUIRED_CONDITION_TO_EQUIP_THAT_ITEM;[/src]
В PlayerClass.java про все классы расписано, например для ТХ:
[src=java]Adventurer(human, Fighter, Fourth, DaggerMaster), //93[/src]
Спойлеру надо стать DaggerMaster-ом. Должно сработать.
спасибо большое, помогло.
Сообщений: 1,065
Тем: 20
Зарегистрирован: Mar 2010
Репутация:
3,855
09-22-2011, 02:22 PM
(Сообщение последний раз редактировалось: 09-22-2011, 02:52 PM Gaikotsu.)
ага, только вот ты этим делом перекрыл спойлеру возможность носить династи броню, распакованную на Weapon Master'а.
в данном случае лучше делать скажем проверку на наличие скилла Dual Dagger Mastery, к тому же это исправит то, что дуал даггеры можно надевать до того как этот скилл выучен.
Сообщений: 983
Тем: 11
Зарегистрирован: Mar 2010
Репутация:
11,535
Одел дуалдаггеры - полезай в "даггерскую" броню (:
Что-то вроде:
такого
Добавить в L2Skill:
[src=java]public static final int SKILL_DUALDAGGER_MASTERY = 923;[/src]
И проверять так:
[src=java]if(item.getItemType() == WeaponType.DUALDAGGER && !owner.getSkillLevel(L2Skill.SKILL_DUALDAGGER_MASTERY) > 0)
return Msg.YOU_DO_NOT_MEET_THE_REQUIRED_CONDITION_TO_EQUIP_THAT_ITEM;[/src]
Ну и скилл должен быть у спойлера в изучении.
?
Сообщений: 1,065
Тем: 20
Зарегистрирован: Mar 2010
Репутация:
3,855
Сообщений: 127
Тем: 33
Зарегистрирован: Apr 2011
09-30-2011, 06:27 PM
(Сообщение последний раз редактировалось: 09-30-2011, 07:51 PM Megapolis.)
Вот так я написал себе и теперь все классы могут носить дуал дагеры, что ещо нада ?
l2skill
import java.lang.reflect.Constructor;
import java.util.HashMap;
import java.util.StringTokenizer;
import java.util.TreeMap;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.logging.Level;
import java.util.logging.Logger;
public abstract class L2Skill implements Cloneable
{
public static final int SKILL_DUALDAGGER_MASTERY = 923;
public static class AddedSkill
{
public int id;
public int level;
public AddedSkill(int id, int level)
{
this.id = id;
this.level = level;
}
public L2Skill getSkill()
{
return SkillTable.getInstance().getInfo(id, level);
}
}
public static enum Element
{
FIRE(0, Stats.ATTACK_ELEMENT_FIRE, Stats.FIRE_RECEPTIVE),
WATER(1, Stats.ATTACK_ELEMENT_WATER, Stats.WATER_RECEPTIVE),
WIND(2, Stats.ATTACK_ELEMENT_WIND, Stats.WIND_RECEPTIVE),
EARTH(3, Stats.ATTACK_ELEMENT_EARTH, Stats.EARTH_RECEPTIVE),
SACRED(4, Stats.ATTACK_ELEMENT_SACRED, Stats.SACRED_RECEPTIVE),
UNHOLY(5, Stats.ATTACK_ELEMENT_UNHOLY, Stats.
Inventory
// не камаэли и рапиры/арбалеты/древние мечи
if(owner.getRace() != Race.kamael && (item.getItemType() == WeaponType.CROSSBOW || item.getItemType() == WeaponType.RAPIER || item.getItemType() == WeaponType.ANCIENTSWORD))
return Msg.YOU_DO_NOT_MEET_THE_REQUIRED_CONDITION_TO_EQUIP_THAT_ITEM;
if(itemId >= 7850 && itemId <= 7859 && owner.getLvlJoinedAcademy() == 0) // Clan Oath Armor
return Msg.THIS_ITEM_CAN_ONLY_BE_WORN_BY_A_MEMBER_OF_THE_CLAN_ACADEMY;
if(item.isClanApellaItem() && owner.getPledgeClass() < L2Player.RANK_WISEMAN)
return Msg.YOU_DO_NOT_MEET_THE_REQUIRED_CONDITION_TO_EQUIP_THAT_ITEM;
if(item.getItemType() == WeaponType.DUALDAGGER && owner.getSkillLevel(L2Skill.SKILL_DUALDAGGER_MASTERY) > 0)
return Msg.YOU_DO_NOT_MEET_THE_REQUIRED_CONDITION_TO_EQUIP_THAT_ITEM;
if(item.getItem() instanceof L2Armor && ((L2Armor) item.getItem()).getClassType() != null && !PlayerClass.values()[owner.getActiveClassId()].isOfType(((L2Armor) item.getItem()).getClassType()))
return Msg.YOU_DO_NOT_MEET_THE_REQUIRED_CONDITION_TO_EQUIP_THAT_ITEM;
Сообщений: 127
Тем: 33
Зарегистрирован: Apr 2011
Сообщений: 1,065
Тем: 20
Зарегистрирован: Mar 2010
Репутация:
3,855
Цитата:if(item.getItemType() == WeaponType.DUALDAGGER && owner.getSkillLevel(L2Skill.SKILL_DUALDAGGER_MASTERY) > 0)
return Msg.YOU_DO_NOT_MEET_THE_REQUIRED_CONDITION_TO_EQUI P_THAT_ITEM;
чуть-чуть подумай
Сообщений: 127
Тем: 33
Зарегистрирован: Apr 2011
Gaikotsu Написал:чуть-чуть подумай
Не понял (
|