-
Публикаций
1567 -
Зарегистрирован
-
Посещение
-
Победитель дней
61 -
Отзывы
0%
Тип контента
Профили
Форумы
Загрузки
Магазин
Инструкции
Весь контент Gaikotsu
-
что имеется в виду под "эффект скилла при баффе"? если анимация каста, то одновременно с наложением эффекта просто броадкастить самому игроку и окружающим пакет 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" и там и изымать нужный итем.
-
и что мешает сделать в виде табов и в одном окне? и уж извини, но текущий интерфейс просто вырвиглазен - это касается как размещенных как попало элементов управления, так и непонято зачем напиханных в каждое окно ярких фонов в виде анимешных артов.
-
нда... на что только люди не идут, чтобы не работать с xml самым удобным и простым способом - в обычных текстовых редакторах.