-
Публикаций
1570 -
Зарегистрирован
-
Посещение
-
Победитель дней
62 -
Отзывы
0%
Тип контента
Профили
Форумы
Загрузки
Магазин
Инструкции
Весь контент Gaikotsu
-
а зачем такое хардкодить? учитывая что таких камней дох... дофига. даже для тех камней, что используются для одного какого-то вида оружия/брони может быть несколько разных используемых конечных вещей ну вот к примеру <stone id="23591" type="WEAPON_APPEARANCE" durability="10080" is_blessed="true"> <!-- Claw of Destruction Appearance Stone [7-day (Event)] / Камень Обработки Тиатенона [7 дн. (Ивент)] --> <item id="21939" special="false" /> <!-- Claw of Destruction / Тиатенон --> <item id="21940" special="false" /> <!-- Claw of Destruction [HP Drain] / Тиатенон [Поглощение HP] --> <item id="21941" special="false" /> <!-- Claw of Destruction [Health] / Тиатенон [Здоровье] --> <item id="21942" special="false" /> <!-- Claw of Destruction [HP Regeneration] / Тиатенон [Регенерация HP] --> <item id="21943" special="false" /> <!-- Claw of Destruction {PvP} / Тиатенон - PvP --> <item id="21944" special="false" /> <!-- Claw of Destruction {PvP} [HP Drain] / Тиатенон - PvP [Поглощение HP] --> <item id="21945" special="false" /> <!-- Claw of Destruction {PvP} [Health] / Тиатенон - PvP [Здоровье] --> <item id="21946" special="false" /> <!-- Claw of Destruction {PvP} [HP Regeneration] / Тиатенон - PvP [Регенерация HP] --> <item id="21947" special="false" /> <!-- Claw of Destruction - Landslide / Тиатенон - Оползень --> <item id="21948" special="false" /> <!-- Claw of Destruction - Landslide [HP Drain] / Тиатенон - Оползень [Поглощение HP] --> <item id="21949" special="false" /> <!-- Claw of Destruction - Landslide [Health] / Тиатенон - Оползень [Здоровье] --> <item id="21950" special="false" /> <!-- Claw of Destruction - Landslide [HP Regeneration] / Тиатенон - Оползень [Регенерация HP] --> <item id="21951" special="false" /> <!-- Claw of Destruction - Landslide {PvP} / Тиатенон - Оползень - PvP --> <item id="21952" special="false" /> <!-- Claw of Destruction - Landslide {PvP} [HP Drain] / Тиатенон - Оползень - PvP [Поглощение HP] --> <item id="21953" special="false" /> <!-- Claw of Destruction - Landslide {PvP} [Health] / Тиатенон - Оползень - PvP [Здоровье] --> <item id="21954" special="false" /> <!-- Claw of Destruction - Landslide {PvP} [HP Regeneration] / Тиатенон - Оползень - PvP [Регенерация HP] --> </stone>
-
значит данный квадрат гео у тебя для более старых хроник и в нем просто нет пустого места в координатах используемого инстанса.
-
у тебя надеюсь учтена возможность того что конечных видов для камня может быть несколько (я имею в виду extract_id), а то если нет, то как ты будешь описывать к примеру вот такой камень? <stone id="37378" type="WEAPON_APPEARANCE"> <!-- Emerald Weapon Appearance Stone / Камень Обработки Светового Оружия --> <item id="22650" /> <!-- Emerald Weapon: One-handed Sword / Световое Оружие - Одноручный меч --> <item id="36632" /> <!-- Emerald Weapon: One-handed Sword / Световое Оружие - Одноручный меч --> <item id="22651" /> <!-- Emerald Weapon: Dagger / Световое Оружие - Кинжал --> <item id="36633" /> <!-- Emerald Weapon: Dagger / Световое Оружие - Кинжал --> <item id="22652" /> <!-- Emerald Weapon: Two-handed Sword / Световое Оружие - Двуручный меч --> <item id="36634" /> <!-- Emerald Weapon: Two-handed Sword / Световое Оружие - Двуручный меч --> <item id="22653" /> <!-- Emerald Weapon: Fist Weapon / Световое Оружие - Кастет --> <item id="36635" /> <!-- Emerald Weapon: Fist Weapon / Световое Оружие - Кастет --> <item id="22654" /> <!-- Emerald Weapon: Spear / Световое Оружие - Копье --> <item id="36636" /> <!-- Emerald Weapon: Spear / Световое Оружие - Копье --> <item id="22655" /> <!-- Emerald Weapon: Bow / Световое Оружие - Лук --> <item id="36637" /> <!-- Emerald Weapon: Bow / Световое Оружие - Лук --> <item id="22656" /> <!-- Emerald Weapon: Crossbow / Световое Оружие - Арбалет --> <item id="36638" /> <!-- Emerald Weapon: Crossbow / Световое Оружие - Арбалет --> <item id="22657" /> <!-- Emerald Weapon: One-handed Blunt Weapon / Световое Оружие - Одноручная Дубина --> <item id="36639" /> <!-- Emerald Weapon: One-handed Blunt Weapon / Световое Оружие - Одноручная Дубина --> <item id="22658" /> <!-- Emerald Weapon: Two-handed Blunt Weapon / Световое Оружие - Двуручная Дубина --> <item id="36640" /> <!-- Emerald Weapon: Two-handed Blunt Weapon / Световое Оружие - Двуручная Дубина --> <item id="22659" /> <!-- Emerald Weapon: One-handed Magic Blunt Weapon / Световое Оружие - Одноручная Магическая Дубина --> <item id="36641" /> <!-- Emerald Weapon: One-handed Magic Blunt Weapon / Световое Оружие - Одноручная Магическая Дубина --> <item id="22660" /> <!-- Emerald Weapon: Two-handed Magic Blunt Weapon / Световое Оружие - Двуручная Магическая Дубина --> <item id="36642" /> <!-- Emerald Weapon: Two-handed Magic Blunt Weapon / Световое Оружие - Двуручная Магическая Дубина --> <item id="22661" /> <!-- Emerald Weapon: Dualsword / Световое Оружие - Парные Мечи --> <item id="36643" /> <!-- Emerald Weapon: Dualsword / Световое Оружие - Парные Мечи --> <item id="22662" /> <!-- Emerald Weapon: Dual Dagger / Световое Оружие - Парные Кинжалы --> <item id="36644" /> <!-- Emerald Weapon: Dual Dagger / Световое Оружие - Парные Кинжалы --> <item id="22663" /> <!-- Emerald Weapon: Dual Blunt Weapon / Световое Оружие - Парные Дубины --> <item id="36645" /> <!-- Emerald Weapon: Dual Blunt Weapon / Световое Оружие - Парные Дубины --> <item id="22664" /> <!-- Emerald Weapon: Shield / Световой Доспех - Щит --> <item id="36646" /> <!-- Emerald Weapon: Shield / Световой Доспех - Щит --> <item id="22665" /> <!-- Emerald Weapon: Sigil / Световой Доспех - Символ --> <item id="36647" /> <!-- Emerald Weapon: Sigil / Световой Доспех - Символ --> </stone>
-
что имеется в виду под "эффект скилла при баффе"? если анимация каста, то одновременно с наложением эффекта просто броадкастить самому игроку и окружающим пакет MagicSkillUse player.broadcastPacket(new MagicSkillUse(caster, player, skillId, skillLevel, 0, 0));
-
не очень понял что тебе конкретно нужно. 1-й вариант: тебе нужно чтобы что-то сработало в определенное время - используем вызов задачи с заданной задержкой 2-й вариант: делать что-то начиная с определенного времени - сравниваем текущее время с заданным, в формировании заданного времени поможет объект Calendar, а в получении текущего функция System.currentTimeMillis() или тот же Calendar
- 2 ответа
-
- 1
-
-
ну в сервере подобное может встречаться и в других местах, например когда нерационально использовать для хранения данных несколько отдельных переменных (т.к. к примеру это вызовет необходимость заводить в таблице бд отдельные поля для каждой переменной). а переменные при этом булевые, т.е. только со значением 1 или 0. так навскидку, по памяти, у меня подобные методы хранения используются для: флагов предметов (возможность выкинуть, снять/одеть, автоодевание при подборе и т.п.); при хранении информации, какие саб/дуал сертификаты уже получены; и еще в паре мелочей.
-
это называется битовой маской, если что, и задает, какой бит в переменной, хранящей абнормалы будет выставлен в 1 или 0. и эти значения являются степенями двойки, от 2^0 до 2^31. к примеру эти битовые операции зададут значение переменной _abnormal в котором третий и десятый биты равны 1. _abnormal = 0x00000004 | 0x00000200 именно таким образом до таути передавались наложенные абнормалы клиенту, в виде 3 32-битных переменных, выставленные биты в которых и указывали какой абнормал задействовать. таким образом несложно подсчитать, что максимальное количество абнормалов не могло быть больше 96. с таути же передаются просто порядковые ид абнормалов, без извращений с битовыми операциями и соотвественно битовая маска в описании абнормалов уже не нужна.
-
добавить новый параметр скиллам, с названием типа stopSkillOnUnequip и выставить его нужным скиллам в true далее в листенере equip/unequip добавить проверку на этот параметр у скиллов снимаемой вещи и останавливать эффекты таких скиллов. дел вобщем на пару минут - сам делал недавно подобное (правда в более расширенном варианте, дополнительно еще добавлял автокаст определенных скиллов при одевании или снимании вещи с ними)
-
Ну собственно все из названия темы понятно - слушатель для типа зоны water, делающий следующие действия: - вход в зону: вешает на персонажа один из трех абнормалов, меняющих внешний вид одетой брони на купальник; - выход из зоны: убирающий эти абнормалы обратно. работает только в линдвиоре и выше, т.к. только там появились используемые абнормалы. ид используемых абнормалов: 83, 84 и 91. package listeners.zones; import l2p.commons.util.Rnd; import l2p.gameserver.listener.zone.OnZoneEnterLeaveListener; import l2p.gameserver.model.Creature; import l2p.gameserver.model.Zone; import l2p.gameserver.model.Zone.ZoneType; import l2p.gameserver.scripts.ScriptFile; import l2p.gameserver.skills.AbnormalEffect; import l2p.gameserver.utils.ReflectionUtils; public class WaterZone implements ScriptFile { private static final AbnormalEffect[] _ae = new AbnormalEffect[] { AbnormalEffect.SHAPE_BIKINI_A, AbnormalEffect.SHAPE_BIKINI_B, AbnormalEffect.SHAPE_BIKINI_C }; private static ZoneListener _zoneListener; @Override public void onLoad() { _zoneListener = new ZoneListener(); for (Zone zone : ReflectionUtils.getZonesByType(ZoneType.water)) zone.addListener(_zoneListener); } @Override public void onReload() {} @Override public void onShutdown() {} public class ZoneListener implements OnZoneEnterLeaveListener { @Override public void onZoneEnter(Zone zone, Creature cha) { if (!cha.isPlayer()) return; cha.startAbnormalEffect(_ae[Rnd.get(_ae.length)]); } @Override public void onZoneLeave(Zone zone, Creature cha) { if (!cha.isPlayer()) return; for (AbnormalEffect ae : _ae) cha.stopAbnormalEffect(ae); } } }
- 27 ответов
-
- 17
-
-
ну там так-то на 82 не заканчивается по крайней мере я методом тыка выяснил что ид абнормалов, меняющих внешний вид брони или оружия идут аж до 95. CLOAK_AND_DIADEM("cloak_and_diadem", 77), // одевает диадему и черный плащ SHAPE_D("shape_d", 78), // меняет вид брони и оружия на D Grade SHAPE_C("shape_c", 79), // меняет вид брони и оружия на C Grade SHAPE_B("shape_b", 80), // меняет вид брони и оружия на B Grade SHAPE_A("shape_a", 81), // меняет вид брони и оружия на A Grade SHAPE_S("shape_s", 82), // меняет вид брони и оружия на S Grade SHAPE_BIKINI_A("shape_bikini_a", 83), // меняет вид брони на белый купальник SHAPE_BIKINI_B("shape_bikini_b", 84), // меняет вид брони на сине-белый купальник SHAPE_WEDDING("shape_wedding", 85), // меняет вид брони на свадебное платье SHAPE_NINJA("shape_ninja", 86), // меняет вид брони на одежду ниндзя SHAPE_TAIWAN("shape_taiwan", 87), // меняет вид брони на тайваньскую национальную одежду SHAPE_MILITARY("shape_military", 88), // меняет вид брони на военную форму SHAPE_METAL_SUIT("shape_metal_suit", 89), // меняет вид брони на металлический костюм SHAPE_MAID_UNIFORM("shape_maid_uniform", 90), // меняет вид брони на костюм горничной SHAPE_BIKINI_C("shape_bikini_c", 91), // меняет вид брони на бело-фиолетовый купальник SHAPE_LIGHT_WEAPON("shape_light_weapon", 94), // меняет вид оружия в руках на световое SHAPE_JAPAN_WEAPON("shape_japan_weapon", 95); // меняет вид оружия в руках на японское
- 21 ответ
-
- 1
-
-
смотри скиллтайпы DRAIN и MDAM - возможно там на эту тему какая-то разница есть. хотя это досттаочно глупо - по идее крит должен высчитываться в общем для подобных скиллов методе расчета маг. дамаги.
-
увы не помню, вроде бы когда-то, когда говорил на эту тему с Вампиром, он говорил что список абнормалов хранится в одной из дллок... давно это было...
-
ну типа того. только учти что в AbnormalDefaultEffect перечислены всего несколько специальных абнормалов и все.
- 21 ответ
-
- 1
-
-
2 BrainEater: в глори/линдвиоре ж уже не нужно конкретизировать тип абнормала (я про special и event) - вполне достаточно просто ид.
- 21 ответ
-
- 1
-
-
no, im not share or sell sources or builded version
-
no this from server, originally based on FT Harmony/Tauti, but almost completely rewritten and raised to Lindvior
-
я конечно не думаю что автор может так лопухнуться, но случаем каст не происходит в замках годдарда или штудгарта?
-
я и не спорю что и в овере много чего не хватает по реализации, но все же на мой взгляд подобного поменьше будет чем в l2j + зачастую наработки для чего-либо в сервере уже существуют и их просто надо развить до логического конца.
-
нужна помощь Как Сделать Цену В Магазинах В 100 Раз Меньше Чем Стандартно ?
тема ответил Gaikotsu в теме Обсуждения
вобще-то все зависит от сборки, что конкретно придется менять. например в фениксе - в таблицах armor, weapon и etcitem уменьшить значение поля price в 100 раз. в овере и в других сборках на его основе - внести коррекции в хмлки, поправить так же одноименный параметр. так же можно пойти другим путем, если етсь конечно исходники - при загрузке данных по предметам из бд или хмл сразу же делить полученную цену на 100. -
смотреть где обрабатывается команда "_bbsbsingle" и там и изымать нужный итем.