-
Публикаций
1576 -
Зарегистрирован
-
Посещение
-
Победитель дней
63 -
Отзывы
0%
Тип контента
Профили
Форумы
Загрузки
Магазин
Инструкции
Весь контент Gaikotsu
-
вешай на зону листенер и при выходе из зоны снимай в этом листенере нужный бафф пример ReflectionUtils.getZone("[oren21_2220_a05_3]").addListener(new ZoneListener()); ... public class ZoneListener implements OnZoneEnterLeaveListener { @Override public void onZoneEnter(Zone zone, Creature cha) {} @Override public void onZoneLeave(Zone zone, Creature cha) { if (cha.isPlayer()) cha.getEffectList().stopEffect(6429); } }
-
нет исходников ядра - не сделаешь
- 2 ответа
-
- 1
-
-
ну дак уже причина написана в самой ошибке - у тебя явозникает дубль при вставке новой записи в таблицу, т.е. в таблице уже имеется запись с тем же значением, в твоем случае вроде как с id персонажа. если пофигу что предыдующая запись может стереться - найди в исходниках где производится данная запись (это нетрудно будет сделать, т.к. в тексте ошибки все строки и классы указаны) и замени в запросе INSERT на REPLACE.
-
Еще чуть дополню на тему удобства хранения данных в файлах формата xml. В них удобно хранить еще данные тем, что необязательно перечислять все значения данных для каждой записи в файле. Если в том же csv необходимо перечислять все из-за того что в парсере таких данных жестко задано, что на такой-то позиции в строке обязательно должен лежать такой-то параметр. Т.е. банально нельзя пропускать и не указывать некоторые параметры в данных. В xml же мы такими условиями не ограничены - если какой-то параметр для большинства записей данных имеет одно и то же значение - мы можем его не указывать вобще, а при чтении данных, просто подставлять значение по умолчанию в таких случаях.
- 2 ответа
-
- 2
-
-
структура данных более наглядная и удобная для редактирования Чтение же таких файлов сервером ненамного сложнее чем чтение обычных текстовых файлов (коим является csv) - стандартных классов для работы с xml хватает. Перевод делать можно самыми азными способами, начиная от ручного переделывания, если данных мало, и кончая написанием простых скриптов на чем угодно, которые прочтут csv и сгенерят xml нужной структуры с данными.
- 2 ответа
-
- 1
-
-
а не 1.05? ибо ты же тут делаешь умножение, а значит с 0.05 у тебя по логике отсанется 5% от оригинального значения.
-
слушатель на вход/выход в зону и все - делов то там на пару минут. если конечно в этой сборке поддерживаются слушатели зон.
-
есть подозрение что это задается битовая маска разрешенных типов оружия к примеру.
-
для большинства "админов" серверов ил переход на полноценную поддержку нового клиента не светит - не потянут они никак переделку пакетки.в классик клиенте ведь не оригинальная пакетка, какая была во времена этих хроник, используется будет, а пакетка, имеющая в основе своей пакетку эпизодиона/этрейи. т.е. имеются все "приятности" в виде пакетов с динамической структурой.
-
Идей то много можно придумать на тему ПвП-эвентов, главное чтобы были мозги и возможности их реализовать. К примеру у нас на старом сервере я делал: Last Hero, TvT, CtF, DeathMatch, Team DeathMatch, King of Hill. Пеосле перехода на новую сборку пока их так и не перенес правда - все руки не доходят, не хочу просто тупо перенести поменяв импорты - хочется вобще полное переписывание их сделать, но все никак времени на это не найду...
-
ну, нас тут фиг кто переплюнет по древности и продолжнительности работы сервера 1. С1, еще в 2005 году. 2. Вайпов и переоткрытий не было, сервер все еще работает, хроники доапались уже до линдвиора - с С1 до Hellbound был птс, затем Gracia > High Five - сборка на основе феникса, Lindvior - сборка на основе овера. 3. Сколько приносит прибыли? об этом умолчу - финансами не я занимаюсь. 4. одних побед или неудач не бывает - всего помаленьку было
-
до этого момента я все же надеялся что авторы сборки хоть сколько-то адекватны...
-
серьезно?в пв реюзы всех предметов/скиллов жестко зашиты в ядре?
-
дать одной команде красную отрядную ауру, а второму - синюю и в большинстве сборок уже есть в методах проверяющих возможность атаки запрет на атаку цели, имеющую такую же отрядную ауру как у атакующего.
-
насчет первого хз, не помню, в интерлюде можно ли было показывать энчант пердметов в мультиселах. а второе лечится просто, если есть исходники - ищем в ядре где шлется сообщение "вы получили ..." и добавляем условия, что если предмет заточен, то шлем сообщение "вы получили +Х ..." пример: public static SystemMessage obtainItems(int itemId, long count, int enchantLevel) { if (itemId == 57) return new SystemMessage(SystemMsg.YOU_HAVE_EARNED_S1_ADENA).addLong(count); if (count > 1) return new SystemMessage(SystemMsg.YOU_HAVE_EARNED_S2_S1S).addItemName(itemId).addLong(count); if (enchantLevel > 0) return new SystemMessage(SystemMsg.YOU_HAVE_OBTAINED_A_S1_S2).addInteger(enchantLevel).addItemName(itemId); return new SystemMessage(SystemMsg.YOU_HAVE_EARNED_S1).addItemName(itemId); }
-
дак мне вот и интерестно, зачем надо было городить такой идиотизм как вобще отдельная обработка таких мультиселлов через отдельный байпас и т.д. интерестно что мешало сделать более логичным способом, ну вот как в фениксе/овере к примеру - просто в самом мультиселе указываем дополнительные свойства (сохранение энчанта при обмене и другие параметры) для него и руководствоваться этими параметрами при обмене вещей...
-
неужели в этом вашем пв настолько маразматично реализована работа с заточенными вещами в мультиселах, что приходится так извращаться?
-
можно посмотреть метод absorbAndReflect в классе Creature и немного подумать.
- 2 ответа
-
- 1
-
-
отдельная иконка, через несколько полей с названием основной иконки, называются обычно по принципу icon.<type>_tab. иконки эти полупрозрачные и накладываются поверх основной иконки, по тому же принципу что скажем у меня тут - здесь везде используется всего две разных иконки (обычная и подсвеченная), а все остальное разнообразие получается за счет наложения поверх обычных иконок этих самых полупрозрачных рамок.
-
как вариант дать всем классам скилл увеличивающий лимит веса
-
public class Solution { public static void main(String[] args) { System.out.println(getMin(8, 5, 9, 1, 4, 5)); } public static int getMin(int... values) { int min = Integer.MAX_VALUE; for (int value : values) if (value < min) min = value; return min; } } проще некуда
- 3 ответа
-
- 1
-
-
не понял - тебе нужно найти самое маленькое из заданных чисел или что?
-
как мило, нашел в сурсах полностью свою реализацию салона красоты - один в один копипаста того что я тут на форуме выкладывал.только вот автором там выставлен в комментариях классов отнюдь не я...
-
а смысл метаться с одной сборки на другую? по мне дак все же со сборками на основе феникса/овера удобней и проще работать. хотя это конечно имхо, обуславливаемое тем что я как-то более к ним привычен и принципы написания многого в l2j мне просто непривычны.
-
делаем ставки, через сколько ревизий и эта команда перестанет обновлять свою сборку или же забъет на шару и уйдет в приват? З.Ы. про сырость сборок линдвиора согласен, но с условием что речь идет вот о таких сборках - делающихся не для себя/своего сервера или кого-то, кто может адекватно оплатить труд, программистов, работающих над сборкой, а пилящихся на шару. обычно после накопления какого-то критического количества фиксов, люди/команды делавшие сборку на шару резко сливаются по причине того что больше неоткуда копипастить код или же уходят в приват - делать сборку уже на продажу. у нас уже больше полугода серв вполне нормально работает на сборке, которая даже на тот момент была намного более адекватной чем все эти шарные сборки что периодически тут появляются. но только надо учесть, что это было достигнуто тем что еще до запуска на сервере эта сборка мною пилилась в одиночку около года (начал со сборки хармони, с небольшими зачатками таути и в процессе доапал до линдвиора).