<armor id="55555" name="test">
<set name="crystal_type" value="NONE"/>
<set name="price" value="0"/>
<set name="type" value="NONE"/>
<set name="weight" value="10"/>
<equip>
<slot id="HAIR_ALL"/>
</equip>
<for>
<add stat="pDef" order="0x30" value="5008"/>
<add stat="mDef" order="0x30" value="5008"/>
<add stat="runSpd" order="0x30" value="508"/>
<add stat="maxHp" order="0x30" value="5000"/>
</for>
</armor>
посмотреть в других итемах как сделано и сделать по аналогии религия не позволяет? так еще и вопрос не в серверном разделе а в клиентском, откуда вы беретесь такие, Одмены мамкиныМожете поделиться строчкой которая запрещает использовать предмет на Олимпиаде? Желательно несколько вариантов)
Код:<armor id="55555" name="test"> <set name="crystal_type" value="NONE"/> <set name="price" value="0"/> <set name="type" value="NONE"/> <set name="weight" value="10"/> <equip> <slot id="HAIR_ALL"/> </equip> <for> <add stat="pDef" order="0x30" value="5008"/> <add stat="mDef" order="0x30" value="5008"/> <add stat="runSpd" order="0x30" value="508"/> <add stat="maxHp" order="0x30" value="5000"/> </for> </armor>
Вроде все мы из одного места появляемся)посмотреть в других итемах как сделано и сделать по аналогии религия не позволяет? так еще и вопрос не в серверном разделе а в клиентском, откуда вы беретесь такие, Одмены мамкины
збазибоКод:<cond msgId="1508"> <not> <player olympiad="true"/> </not> </cond>
//Olympiad.ini
AltOlyRestrictedItems = 6611,6612
//Config.java
public static final String OLYMPIAD_CONFIG_FILE = "./config/main/Olympiad.ini";
public static List<Integer> LIST_OLY_RESTRICTED_ITEMS;
final PropertiesParser Olympiad = new PropertiesParser(OLYMPIAD_CONFIG_FILE);
String[] olyRestrictedItems = Olympiad.getString("AltOlyRestrictedItems", "6611,6612").split(",");
LIST_OLY_RESTRICTED_ITEMS = new ArrayList<>(olyRestrictedItems.length);
for (String id : olyRestrictedItems)
{
LIST_OLY_RESTRICTED_ITEMS.add(Integer.parseInt(id));
}
//gameserver/model/items/L2Item.java
public boolean isOlyRestrictedItem()
{
return _is_oly_restricted || Config.LIST_OLY_RESTRICTED_ITEMS.contains(_itemId);
}
public boolean checkCondition(L2Character activeChar, L2Object target, boolean sendMessage)
{
if (activeChar.canOverrideCond(PcCondOverride.ITEM_CONDITIONS) && !Config.GM_ITEM_RESTRICTION)
{
return true;
}
// Don't allow hero equipment and restricted items during Olympiad
if ((isOlyRestrictedItem() || isHeroItem()) && ((activeChar instanceof L2PcInstance) && activeChar.getActingPlayer().isInOlympiadMode()))
{
//gameserver/model/items/instance/L2ItemInstance.java
public boolean isOlyRestrictedItem()
{
return getItem().isOlyRestrictedItem();
}
зачем такое гомно делать я хзЧтобы не прописывать, взял с лыжи кусок кода:
Можно сразу указать список предметов который запретить на олимпиаде.
Код://Olympiad.ini AltOlyRestrictedItems = 6611,6612 //Config.java public static final String OLYMPIAD_CONFIG_FILE = "./config/main/Olympiad.ini"; public static List<Integer> LIST_OLY_RESTRICTED_ITEMS; final PropertiesParser Olympiad = new PropertiesParser(OLYMPIAD_CONFIG_FILE); String[] olyRestrictedItems = Olympiad.getString("AltOlyRestrictedItems", "6611,6612").split(","); LIST_OLY_RESTRICTED_ITEMS = new ArrayList<>(olyRestrictedItems.length); for (String id : olyRestrictedItems) { LIST_OLY_RESTRICTED_ITEMS.add(Integer.parseInt(id)); } //gameserver/model/items/L2Item.java public boolean isOlyRestrictedItem() { return _is_oly_restricted || Config.LIST_OLY_RESTRICTED_ITEMS.contains(_itemId); } public boolean checkCondition(L2Character activeChar, L2Object target, boolean sendMessage) { if (activeChar.canOverrideCond(PcCondOverride.ITEM_CONDITIONS) && !Config.GM_ITEM_RESTRICTION) { return true; } // Don't allow hero equipment and restricted items during Olympiad if ((isOlyRestrictedItem() || isHeroItem()) && ((activeChar instanceof L2PcInstance) && activeChar.getActingPlayer().isInOlympiadMode())) { //gameserver/model/items/instance/L2ItemInstance.java public boolean isOlyRestrictedItem() { return getItem().isOlyRestrictedItem(); }
Это вопрос к лыже ужезачем такое гомно делать я хз
это не лыжа по хтмл сразу же видно это овер а так тебе совет избавится от этого бредаЭто вопрос к лыже уже
По секрету из лыжи l2j sunrise 1091это не лыжа по хтмл сразу же видно это овер а так тебе совет избавится от этого бреда
оо епт мда удачи тебе братПо секрету из лыжи l2j sunrise 1091
между прочим по теме, только отдельно конфиг выводить который дублирует функцию темплейта итемов лишнее. Конфиги и костыли это удел оверосборок)Чтобы не прописывать, взял с лыжи кусок кода:
Можно сразу указать список предметов который запретить на олимпиаде.
Код://Olympiad.ini AltOlyRestrictedItems = 6611,6612 //Config.java public static final String OLYMPIAD_CONFIG_FILE = "./config/main/Olympiad.ini"; public static List<Integer> LIST_OLY_RESTRICTED_ITEMS; final PropertiesParser Olympiad = new PropertiesParser(OLYMPIAD_CONFIG_FILE); String[] olyRestrictedItems = Olympiad.getString("AltOlyRestrictedItems", "6611,6612").split(","); LIST_OLY_RESTRICTED_ITEMS = new ArrayList<>(olyRestrictedItems.length); for (String id : olyRestrictedItems) { LIST_OLY_RESTRICTED_ITEMS.add(Integer.parseInt(id)); } //gameserver/model/items/L2Item.java public boolean isOlyRestrictedItem() { return _is_oly_restricted || Config.LIST_OLY_RESTRICTED_ITEMS.contains(_itemId); } public boolean checkCondition(L2Character activeChar, L2Object target, boolean sendMessage) { if (activeChar.canOverrideCond(PcCondOverride.ITEM_CONDITIONS) && !Config.GM_ITEM_RESTRICTION) { return true; } // Don't allow hero equipment and restricted items during Olympiad if ((isOlyRestrictedItem() || isHeroItem()) && ((activeChar instanceof L2PcInstance) && activeChar.getActingPlayer().isInOlympiadMode())) { //gameserver/model/items/instance/L2ItemInstance.java public boolean isOlyRestrictedItem() { return getItem().isOlyRestrictedItem(); }
Ну от костылей нужно точно избавлять сервер, там еще море проблем.между прочим по теме, только отдельно конфиг выводить который дублирует функцию темплейта итемов лишнее. Конфиги и костыли это удел оверосборок)
делал на скорую руку. до снять не составит труда, большую часть я снял, так как был запрет на запуск геоНу от костылей нужно точно избавлять сервер, там еще море проблем.
Кстати там не до конца убрана привязка и постоянно пишет что пул закрыт, может до конца вырезать и обновить в ресурсах?
Ну сам мувинг можно выпилить, да и гео хорошо бы заменить чтобы читало птс геодату.делал на скорую руку. до снять не составит труда, большую часть я снял, так как был запрет на запуск гео, но после того как посмотрел на мувинг дальше ковыряться желание пропало)
Пздц что за токсичность, эти строки были взяты с другого форума для примера не более.Чел, а можно вопрос. Ты слышал когда то в школе о математическом порядке выполнения действий ?
Так вот, ты делаешь add с порядком 0x30, а как правило порядок 0x30 принадлежит к mul - Multiplayer (Множитель).
Т.е. получается сервер тебе и смысла запускать нет, ибо ты 2+2 * 2 никогда не отличишь от (2+2) * 2 и соответственно всю возможную или мнимую прибыль потратишь на Балтику 9 и донта в World of Tanks
package l2p.gameserver.enums;
public enum ItemFlags
{
DESTROYABLE(true), // возможность уничтожить
DROPABLE(true), // возможность дропнуть
SELLABLE(true), // возможность продать NPC
TRADEABLE(true), // возможность передать/продать другому игроку
COMMISSIONABLE(true), // возможность продать в системе комиссионной торговли
ENCHANTABLE(false), // возможность заточить
ATTRIBUTABLE(false), // возможность заточить атрибутом
ALLOWED_ON_OLYMPIAD(true), // возможность использовать на олимпиаде
ALLOWED_ON_FESTIVAL(true), // возможность использовать на фестивале хаоса
ALLOWED_ON_PVP_EVENT(true), // возможность использовать на PvP-эвентах
ALLOWED_ON_CHAOTIC(true), // возможность использовать в хаотическом состоянии
ALLOWED_APPEARANCE(true), // возможность изменить внешний вид
ALLOWED_PET(false); // можно использовать петом (бутылки лечения и все такое)
public static final ItemFlags[] VALUES = values();
private final int _mask;
private final boolean _default;
ItemFlags(boolean defaultValue)
{
_default = defaultValue;
_mask = 1 << ordinal();
}
public int getMask()
{
return _mask;
}
public boolean getDefault()
{
return _default;
}
}
...
for (ItemFlags f : ItemFlags.VALUES)
{
boolean _def = f.getDefault();
// TODO: для ALLOWED_ON_FESTIVAL не забыть потом расписать в xml значения
// для предметов, которым этот парамер не задан, его значение будет равно значению параметра ALLOWED_ON_OLYMPIAD
if (f == ItemFlags.ALLOWED_ON_FESTIVAL || f == ItemFlags.ALLOWED_ON_PVP_EVENT)
_def = isAllowedOnOlympiad();
boolean flag = set.getBool(f.name().toLowerCase(), _def);
if (flag)
activeFlag(f);
}
...
public boolean hasFlag(ItemFlags f)
{
return (_flags & f.getMask()) == f.getMask();
}
private void activeFlag(ItemFlags f)
{
_flags |= f.getMask();
}
<weapon id="39602" name="Острие Антараса Иного Измерения">
<stat name="icon" value="icon.weapon_antaras_dagger_i01" />
<stat name="type" value="DAGGER" />
<stat name="ex_type" value="DAGGER" />
<stat name="category" value="DRAGON" />
<stat name="crystal_type" value="NONE" />
<stat name="rnd_dam" value="5" />
<stat name="equip_reuse_delay" value="30" />
<stat name="soulshots" value="1" />
<stat name="spiritshots" value="1" />
<stat name="weight" value="1520" />
<stat name="price" value="0" />
<stat name="keep_type" value="1" />
<stat name="destroyable" value="false" />
<stat name="dropable" value="false" />
<stat name="sellable" value="true" />
<stat name="tradeable" value="false" />
<stat name="commissionable" value="false" />
<stat name="allowed_appearance" value="false" />
<stat name="allowed_on_olympiad" value="false" />
<stat name="allowed_on_festival" value="false" />
<attributes>
<attribute element="earth" value="999" />
</attributes>
<skills>
<skill id="8890" level="1" /> <!-- Почет / Dignity -->
<skill id="8893" level="1" /> <!-- Дыхание Антараса / Antharas' Breath -->
<skill id="8895" level="1" /> <!-- Плеть Антараса / Antharas Lash -->
<skill id="8901" level="1" /> <!-- Дракон-рыцарь / Dragon Knight -->
</skills>
<equip>
<slot id="RIGHT_HAND" />
</equip>
<for>
<add stat="pAtk" order="0x10" value="2523" />
<add stat="mAtk" order="0x10" value="1257" />
<add stat="pAccuracy" order="0x10" value="-3.75" />
<set stat="pCritRateStatic" order="0x08" value="120" />
<set stat="atkBaseSpeed" order="0x08" value="433" />
<enchant stat="pAtk" order="0x0C" value="0" />
<enchant stat="mAtk" order="0x0C" value="0" />
</for>
</weapon>
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?