Saltfire
Постоялец-
Публикаций
559 -
Зарегистрирован
-
Посещение
-
Победитель дней
24 -
Отзывы
N/A
Тип контента
Профили
Форумы
Загрузки
Магазин
Инструкции
Весь контент Saltfire
-
Все хроники: L2JMobius ну и у них как-бы сайт есть L2JMobius
-
А чем мобиус не угодил? Бесплатно, не найти лучше. Ко всему еще и с исходами. Правь не хочу.
-
p273 видать корейский только? А p272 русский? Chronicle NA EU RU KR Dawn of Heroes / Homunculus 272 272 272 269 273 274 275
-
VPS сервак, да еще и с виндой, ради побегать с кентами? У тебя комп с виндой? Да хоть с ноутбука запускай. Качай программу, которая может выделять ип для твоего канала и делай его внешним, чтобы сервер всем было видно. ради забавы, хватит за глаза.
- 2 ответа
-
- 1
-
Что им попробовать? Ну вот смотри. Как тут сделано sha1.c
-
Ну это да. За тот труд, который за работу, а не от сердца. Иногда помощь - бесценна. То, что сам делаешь и стараешься - это самое главное! А по поводу, никого не трогать, ну это форум, кто захочет, поможет, не захочет не поможет. За деньги в разделе работа, а тут только бесплатная помощь, от души! =) Ну и не забудь, добавить текстуры и модели в нужные папки.
-
Что за сборка? Какой клиент? Соввет (Ну ты же прекрасно знаешь ответ): Забей на это дело! Ну, а если по теме, то тут только 2 пути, sql или xml (что лучше обходить стороной) находишь место, где у тебя лежат все оружия, просто копируешь любое, делаешь статы, открываешь weapongrp.dat (через тот -же L2ClientDat или L2FileEdit(не очень удобный, когда не знаешь где какая колонка, среди столько цифр и букв, глаза разбегаются)) добавляешь также как там со своим ид, сохраняешь, после открываешь itemname-e.dat добавляешь также как и везде, название, описание, и т.д. Заходишь и радуешься =)
-
Ппц, менять уже нельзя, чуть ошибся... function listAllCombinations($str = '', $max = 0, $size = 0, $deep = 0, $array = []) { $list = []; for ($i = 0; $i <= $max; ++$i) { $array[$deep] = isset($array[$deep]) ? ($array[$deep] + 1) : 0; if ($deep < $size) { $combinations = listAllCombinations($str, $max, $size, $deep + 1, $array); foreach ($combinations as $combination) { $list[] = $combination; } } else { $combination = ''; foreach ($array as $symbol) { $combination .= $str{$symbol}; } $list[] = $combination; } } return $list; } $str = join(array_merge(range('a', 'z'), range(0, 9))); $length = 2; $listCombinations = listAllCombinations($str, strlen($str) - 1, $length - 1); var_dump($listCombinations); В общем расшифровывать хешь бесполезно, брутить, а потом хешить все фразы перебора русского и/или английского, цифр, чтобы потом удостовериться если хеши сходятся значит слово уже знаем из подобранных символов, тоже полный фарш будет. Никто не даст брутить миллионы комбинаций. Отшибать будет на 3-5, а потом таймауты, а брут в пролетах пока таймауты. Гиблое дело. чтобы перебрать абсолютно все комбинации, по хешу, нужен какой-то нереально крутой заряженный дата-центр.
-
Расшифровать не получиться. Дальше, степень стойкости - это лишь понятие для Брутфорс систем подбора фраз, некие словари и нейронные сети, которые перебираю символы и составляют комбинации. Ну для таких вещей, нужны большие вычеслительные мощьности. Если только представить эту функцию, то становится страшно =) function listAllCombinations($str = '', $max = 0, $size = 0, $i = 0, $array = []) { $list =[]; for ($i = 0; $i <= $max; ++$i) { $array[$i] = isset($array[$i]) ? ($array[$i] + 1) : 0; if ($i < $size) { $combinations = listAllCombinations($str, $max, $size, $i + 1, $array); foreach ($combinations as $combination) { $list[] = $combination; } } else { $combination = ''; foreach ($array as $symbol) { $combination .= $str{$symbol}; } $list[] = $combination; } } return $list; } $str = join(array_merge(range('a', 'z'), range(0, 9))); $length = 2; $listCombinations = listAllCombinations($str, strlen($str) - 1, $length - 1); var_dump($listCombinations); Только на 2 комбинации, из всего английского алфавита и цифр 1295 комбинаций. Представь, что ты увидешь на комбинации 40, чтобы хотябы подобрать такой хешь? Даже если поделить на равные части, по 8 символов на каждый блок, всего их 5, то есть 8 * 5 = 40. d033e22a e348aeb5 660fc214 0aec3585 0c4da997 Да конечно, чтобы постоянное не перебирало по новой, можно будет сделать некоторые оптимизации, прокладки, балансировки, сделать запоминание, сделать смещение и будет работать ненамного быстрее, на таких требованиях в 40 символов в длину. Да, можно конечно и по 2 символа перебирать каждый раз и перебрать в итоге все, но опять-же, нужно будет делать смещение по символам, чтобы перебор проходил по всему хешу и запоминался.
-
Ну это надо быть вообще деревянным, чтобы не понимать, слово необратимый.
-
Думаю не важно какой язык будет использован, написал на php. $d = base64_encode(pack('H*', sha1(utf8_encode("admin")))); var_dump($d); //0DPiKuNIrrVmD8IUCuw1hQxNqZc= var_dump(unpack('H*', base64_decode($d))); // d033e22ae348aeb5660fc2140aec35850c4da997 var_dump(sha1("admin")); // d033e22ae348aeb5660fc2140aec35850c4da997 То есть SHA-1 необратим и устойчив к колизиям на 2^69, его нельзя вернуть в исходное состояние. Подробнее, можно прочитать тут: SHA-1.
-
Так ты пытаешься со старым Java компилятором, что зашит в сборке или может где у тебя лежит java-engine-1.8.jar хочешь новые версии компилить? Незя!
-
Крутая сборка, ну делай, открывай, правь все. Может додумаешься еще разок прочитать выше пост. Хотя таким помогать аж противно становится...
-
Что мы должны понять, по твоим кракозябрам? Ну ошибка компиляции! Дальше что? Не сборки, не кода, вырвиглаз!
-
Ну выше же написали, что нужно сделать. Читать не умеете? Или как обычно залетели, и не читая, сразу в тему, а как решить?
-
Да, разрабы таких сборок, не представляют, какую на самом деле они сделали головную боль. =)
-
Получше ничего не мог скачать? Скачал динозавра =) Возьми ThreadPoolManager.java и сделай, что нужно, на скорую руку, поймешь как работает, в будущем сделаешь по уму, на самом деле, вариантов как минимум 3 насчитал уже, сильно не углубляясь, из них некоторые даже уже упомянули выше. Можно и выше хроник подсмотреть как сделано и переместить себе.
-
Добавить не обязательный атрибут к итему, например (duration), в месте парсинга итемов, добавить условие, если аттрибут существует и это число и больше 0, значит рассчитываем по формуле (какую для себя выберите, перевод из миллисекунд или с секунд или с минут, дней, часов), не важно. Все эти алгоритмы уже присутствуют, вы можете рассмотреть как это сделано у теневых вещей и взять необходимые функции. Также за основу взять и ShadowItemTaskManager и сделать ItemTaskManager который будет отслеживать ваш duration. Или если может хорошо порыться, получится прикрутить к существующим каким-то, которые постоянно отслеживают, в любом случае, попробовать найти TaskManager.java и регистрацию всех демонов (планировщиков), чтобы хотя-бы понимать, что уже есть вообще.
-
Ну в ItemHandler или ItemTable, точно не помню уже, найди место регистрации всех этих юзательных предметов, найди нужный итем и поправь.
-
А у тебя правильно отображается? Можешь скинуть для сверки свою строчку?
-
Что тут не так? quest_type, меняет как-раз многоразовый или одноразовый, сейчас стоит 3ка и показывает единичку. А текст пишет, что многоразовый, что еще нужно поставить?
-
Клиент interlude Как-то не обращал внимание, а тут обратил Почему квест стоит 1 разовый, а говорит Многоразовый? Где поправить это сие чудо не могу найти никак? Сначала подумал, что дело в исходном коде где-то, но когда начал рыть QuestListWnd.uc, то нашел там такие строчки: switch( QuestType ){ case 0: case 2: record.LVDataList[3].szTexture = "L2UI_CH3.QUESTWND.QuestWndInfoIcon_1"; break; case 1: case 3: record.LVDataList[3].szTexture = "L2UI_CH3.QUESTWND.QuestWndInfoIcon_2"; break; } record.LVDataList[3].szData = String(QuestType); //반복성 // повторяемость Подумал, может что перепутано было, нашел я эти текстуры: L2UI_CH3.QUESTWND.QuestWndInfoIcon_1 - многоразовое L2UI_CH3.QUESTWND.QuestWndInfoIcon_2 - одноразовое Зашел в sysstring-e.dat Нашел строки: 861 u,Многоразовое задание\0 862 u,Разовое задание\0 Но и тут как-бы все нормально. Я что-то врубиться не могу, видать что-то упускаю, но ничего найти не могу. Выручайте, кто знает, как исправить?
-
А. я понял. что за мана. Ну это честно дурдом =) public boolean isShadowItem() { return _mana >= 0; } public int decreaseMana(int period) { _storedInDb = false; return _mana -= period; } public int increaseMana(int period) { _storedInDb = false; final int maxMana = _item.getDuration() * 60; if (period + _mana > maxMana) { return _mana = maxMana; } return _mana += period * 60; } public int getMana() { return _mana / 60; } Ну так это же его время, атрибут duration
-
На сколько помню, только время существования теневого оружия было. Это либо самому добавлять, чтобы у этого оружия был специальный атрибут mp который будет использовать ману только при заклинаниях, причем нужно будет также делать проверку при касте скиллов, требующих ману, что если у тебя одето оружие, то ману оружия этого нужно тратить, а не персонажа и исчезать будет после закачивания маны или времени существования, если ману тратить не будем.