boVer 12 Posted April 28, 2021 (edited) Доброго времени суток. Сборка ПВ интерлюд. Находил подобные темы на форуме, но к решению проблемы ничего не привело. Сразу напишу - ответы по типу "удали сборку" и тд оставьте при себе пожалуйста. Теперь суть проблемы: 1. Как отключить запрет телепорта в осаждаемый город? Перелопатил все конфиги - уже глаза болят вычитывать, никак не найду. 2. Как сделать осаду только одного замка? 3. Как сделать осаду этого замка каждый день? Заранее спасибо за ответы. Edited April 28, 2021 by boVer 1 Share this post Link to post Share on other sites
Rogue 248 Posted April 28, 2021 29 минут назад, boVer сказал: Доброго времени суток. Сборка ПВ интерлюд. Находил подобные темы на форуме, но к решению проблемы ничего не привело. Сразу напишу - ответы по типу "удали сборку" и тд оставьте при себе пожалуйста. Теперь суть проблемы: 1. Как отключить запрет телепорта в осаждаемый город? Перелопатил все конфиги - уже глаза болят вычитывать, никак не найду. 2. Как сделать осаду только одного замка? 3. Как сделать осаду этого замка каждый день? Заранее спасибо за ответы. 1.В ядре ищи. 2.В sql отруби ненужные замки 3. Конфиг, или если нету то ядро. Share this post Link to post Share on other sites
serfan1 112 Posted April 28, 2021 59 минут назад, boVer сказал: Доброго времени суток. Сборка ПВ интерлюд. Находил подобные темы на форуме, но к решению проблемы ничего не привело. Сразу напишу - ответы по типу "удали сборку" и тд оставьте при себе пожалуйста. Теперь суть проблемы: 1. Как отключить запрет телепорта в осаждаемый город? Перелопатил все конфиги - уже глаза болят вычитывать, никак не найду. 2. Как сделать осаду только одного замка? 3. Как сделать осаду этого замка каждый день? Заранее спасибо за ответы 1. Конфиг есть на это. 2. Убрать нпц везде для регистрации кроме Адена. 3. Только ядро, конфиг не поможет. Share this post Link to post Share on other sites
SteveDogs 1083 Posted April 28, 2021 2 часа назад, boVer сказал: Доброго времени суток. Сборка ПВ интерлюд. Находил подобные темы на форуме, но к решению проблемы ничего не привело. Сразу напишу - ответы по типу "удали сборку" и тд оставьте при себе пожалуйста. Теперь суть проблемы: 1. Как отключить запрет телепорта в осаждаемый город? Перелопатил все конфиги - уже глаза болят вычитывать, никак не найду. 2. Как сделать осаду только одного замка? 3. Как сделать осаду этого замка каждый день? Заранее спасибо за ответы. 1. В конфигах скорей всего нету, тут как вариант сделать нубл тп или сделай тп методом как нубл. Оно находится, и правится вот здесь /data/scripts/teleports/noble.java - для нубла разрешен телепорт. 2. Все остальные замки в базе данных сделай даты год 2022. 3. Только ручками каждый день выставлять период осады. Или же как вариант попробовать: конфиг custom.cfg - ставишь интервал 1 день. Остальные замки выставляешь на 2022 или 2025 год, по идее один замок будет каждый день работать. #Интервал осад, дни SiegeInterval = 14 Описал варианты решения без того чтобы лезть в ядро. Share this post Link to post Share on other sites
sniper 47 Posted April 28, 2021 самое главное что регнуться можно за 24 часа до начала осады как это решить без ядра хз кроме как регить самому кланы Share this post Link to post Share on other sites
Rolo 281 Posted April 28, 2021 29 минут назад, sniper сказал: самое главное что регнуться можно за 24 часа до начала осады как это решить без ядра хз кроме как регить самому кланы Сторонним скриптом сделать рег, например. Другой вопрос - зачем так извращаться, если в ядре проще сделать. ) Share this post Link to post Share on other sites
sniper 47 Posted April 28, 2021 были бы исходы я бы не писал сюда это каким стороним на AI или ява можно? Share this post Link to post Share on other sites
boVer 12 Posted April 28, 2021 2 часа назад, Rolo сказал: Сторонним скриптом сделать рег, например. Другой вопрос - зачем так извращаться, если в ядре проще сделать. ) Подскажите, куда смотреть в исходах. Буду очень благодарен 1 Share this post Link to post Share on other sites
Rolo 281 Posted April 28, 2021 2 часа назад, sniper сказал: были бы исходы я бы не писал сюда это каким стороним на AI или ява можно? В виде жесткого костыля можно скрипт на джаве накидать, который будет регать клан на осаду замка, а не через диалог с обычным манагером. Другой вопрос в том, как у Вас организована осада каждый день? Там все так же сутки на регистрацию? Обычно-то регистрация за сутки закрывается, и если никто не регнулся - осада отменяется вовсе, а если она каждый день, то... ) В общем, я бы с выяснения этого момента начал, а как регать в обход манагера - дело пятое. 21 минуту назад, boVer сказал: Подскажите, куда смотреть в исходах. Буду очень благодарен Вот здесь боюсь ошибиться, и не стану говорить уверенно, не колупался там, но вероятно стоит глянуть как минимум: pwsoft\src\net\sf\l2j\gameserver\model\entity\Castle.java pwsoft\src\net\sf\l2j\gameserver\instancemanager\SiegeManager.java Share this post Link to post Share on other sites
boVer 12 Posted April 29, 2021 (edited) 10 часов назад, Rolo сказал: В виде жесткого костыля можно скрипт на джаве накидать, который будет регать клан на осаду замка, а не через диалог с обычным манагером. Другой вопрос в том, как у Вас организована осада каждый день? Там все так же сутки на регистрацию? Обычно-то регистрация за сутки закрывается, и если никто не регнулся - осада отменяется вовсе, а если она каждый день, то... ) В общем, я бы с выяснения этого момента начал, а как регать в обход манагера - дело пятое. Вот здесь боюсь ошибиться, и не стану говорить уверенно, не колупался там, но вероятно стоит глянуть как минимум: pwsoft\src\net\sf\l2j\gameserver\model\entity\Castle.java pwsoft\src\net\sf\l2j\gameserver\instancemanager\SiegeManager.java Проблему с регистрацией решил, изменил в исходинике Siege.java. При изменении даты осады, и попытке сделать осаду каждый день появилась новая штука - после замены ядра осада идет весь день, если ее остановить, то след. осада ставиться на число - через неделю от текущего. Ниже кусок кода исходника _siegeDayOfWeek = rs.getInt("siegeDayOfWeek"); if (_siegeDayOfWeek < 1 || _siegeDayOfWeek > 7) { //_siegeDayOfWeek = 7; //_siegeDayOfWeek = _siegeDate.get(Calendar.DAY_OF_WEEK); Calendar Day = Calendar.getInstance(); int NextDaySiege = Day.get(Calendar.DAY_OF_WEEK); _siegeDayOfWeek = NextDaySiege; } Edited April 29, 2021 by boVer 1 Share this post Link to post Share on other sites
Rolo 281 Posted April 29, 2021 4 часа назад, boVer сказал: Проблему с регистрацией решил, изменил в исходинике Siege.java. При изменении даты осады, и попытке сделать осаду каждый день появилась новая штука - после замены ядра осада идет весь день, если ее остановить, то след. осада ставиться на число - через неделю от текущего. Ниже кусок кода исходника _siegeDayOfWeek = rs.getInt("siegeDayOfWeek"); if (_siegeDayOfWeek < 1 || _siegeDayOfWeek > 7) { //_siegeDayOfWeek = 7; //_siegeDayOfWeek = _siegeDate.get(Calendar.DAY_OF_WEEK); Calendar Day = Calendar.getInstance(); int NextDaySiege = Day.get(Calendar.DAY_OF_WEEK); _siegeDayOfWeek = NextDaySiege; } Приведенный Вами кусок кода в целом не юзабильный на таком концепте, ибо он пытается определить день недели, когда будет следующая осада, а Вам такое не актуально уже. Зная ПВ софт, там кучу подвыдных камней на каждом шагу нарыть можно, я этот вопрос не колупал, и что-то советовать конкретное боюсь. 1 Share this post Link to post Share on other sites
sniper 47 Posted April 29, 2021 попробуй скомпилить изменив и посмотреть на результат //_siegeDayOfWeek = 7; на //_siegeDayOfWeek = 1; Share this post Link to post Share on other sites
Rolo 281 Posted April 29, 2021 21 минуту назад, sniper сказал: попробуй скомпилить изменив и посмотреть на результат //_siegeDayOfWeek = 7; на //_siegeDayOfWeek = 1; Изменив закомментированные строки? Share this post Link to post Share on other sites