Перейти к содержанию

Saltfire

Постоялец
  • Публикаций

    559
  • Зарегистрирован

  • Посещение

  • Победитель дней

    24
  • Отзывы

    N/A

Весь контент Saltfire

  1. Saltfire

    Сборка ХФ

    Все хроники: L2JMobius ну и у них как-бы сайт есть L2JMobius
  2. Saltfire

    Сборка ХФ

    А чем мобиус не угодил? Бесплатно, не найти лучше. Ко всему еще и с исходами. Правь не хочу.
  3. p273 видать корейский только? А p272 русский? Chronicle NA EU RU KR Dawn of Heroes / Homunculus 272 272 272 269 273 274 275
  4. Saltfire

    Посоветуйте VPS

    VPS сервак, да еще и с виндой, ради побегать с кентами? У тебя комп с виндой? Да хоть с ноутбука запускай. Качай программу, которая может выделять ип для твоего канала и делай его внешним, чтобы сервер всем было видно. ради забавы, хватит за глаза.
  5. Что им попробовать? Ну вот смотри. Как тут сделано sha1.c
  6. Ну это да. За тот труд, который за работу, а не от сердца. Иногда помощь - бесценна. То, что сам делаешь и стараешься - это самое главное! А по поводу, никого не трогать, ну это форум, кто захочет, поможет, не захочет не поможет. За деньги в разделе работа, а тут только бесплатная помощь, от души! =) Ну и не забудь, добавить текстуры и модели в нужные папки.
  7. Что за сборка? Какой клиент? Соввет (Ну ты же прекрасно знаешь ответ): Забей на это дело! Ну, а если по теме, то тут только 2 пути, sql или xml (что лучше обходить стороной) находишь место, где у тебя лежат все оружия, просто копируешь любое, делаешь статы, открываешь weapongrp.dat (через тот -же L2ClientDat или L2FileEdit(не очень удобный, когда не знаешь где какая колонка, среди столько цифр и букв, глаза разбегаются)) добавляешь также как там со своим ид, сохраняешь, после открываешь itemname-e.dat добавляешь также как и везде, название, описание, и т.д. Заходишь и радуешься =)
  8. Ппц, менять уже нельзя, чуть ошибся... 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, а потом таймауты, а брут в пролетах пока таймауты. Гиблое дело. чтобы перебрать абсолютно все комбинации, по хешу, нужен какой-то нереально крутой заряженный дата-центр.
  9. Расшифровать не получиться. Дальше, степень стойкости - это лишь понятие для Брутфорс систем подбора фраз, некие словари и нейронные сети, которые перебираю символы и составляют комбинации. Ну для таких вещей, нужны большие вычеслительные мощьности. Если только представить эту функцию, то становится страшно =) 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 символа перебирать каждый раз и перебрать в итоге все, но опять-же, нужно будет делать смещение по символам, чтобы перебор проходил по всему хешу и запоминался.
  10. Ну это надо быть вообще деревянным, чтобы не понимать, слово необратимый.
  11. Думаю не важно какой язык будет использован, написал на 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.
  12. Saltfire

    Помогите

    Так ты пытаешься со старым Java компилятором, что зашит в сборке или может где у тебя лежит java-engine-1.8.jar хочешь новые версии компилить? Незя!
  13. Saltfire

    Помогите

    Крутая сборка, ну делай, открывай, правь все. Может додумаешься еще разок прочитать выше пост. Хотя таким помогать аж противно становится...
  14. Saltfire

    Помогите

    Что мы должны понять, по твоим кракозябрам? Ну ошибка компиляции! Дальше что? Не сборки, не кода, вырвиглаз!
  15. Ну выше же написали, что нужно сделать. Читать не умеете? Или как обычно залетели, и не читая, сразу в тему, а как решить?
  16. Да, разрабы таких сборок, не представляют, какую на самом деле они сделали головную боль. =)
  17. Получше ничего не мог скачать? Скачал динозавра =) Возьми ThreadPoolManager.java и сделай, что нужно, на скорую руку, поймешь как работает, в будущем сделаешь по уму, на самом деле, вариантов как минимум 3 насчитал уже, сильно не углубляясь, из них некоторые даже уже упомянули выше. Можно и выше хроник подсмотреть как сделано и переместить себе.
  18. Добавить не обязательный атрибут к итему, например (duration), в месте парсинга итемов, добавить условие, если аттрибут существует и это число и больше 0, значит рассчитываем по формуле (какую для себя выберите, перевод из миллисекунд или с секунд или с минут, дней, часов), не важно. Все эти алгоритмы уже присутствуют, вы можете рассмотреть как это сделано у теневых вещей и взять необходимые функции. Также за основу взять и ShadowItemTaskManager и сделать ItemTaskManager который будет отслеживать ваш duration. Или если может хорошо порыться, получится прикрутить к существующим каким-то, которые постоянно отслеживают, в любом случае, попробовать найти TaskManager.java и регистрацию всех демонов (планировщиков), чтобы хотя-бы понимать, что уже есть вообще.
  19. Saltfire

    Заточка

    Ну в ItemHandler или ItemTable, точно не помню уже, найди место регистрации всех этих юзательных предметов, найди нужный итем и поправь.
  20. А у тебя правильно отображается? Можешь скинуть для сверки свою строчку?
  21. Что тут не так? quest_type, меняет как-раз многоразовый или одноразовый, сейчас стоит 3ка и показывает единичку. А текст пишет, что многоразовый, что еще нужно поставить?
  22. Клиент 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 Но и тут как-бы все нормально. Я что-то врубиться не могу, видать что-то упускаю, но ничего найти не могу. Выручайте, кто знает, как исправить?
  23. Saltfire

    Время для оружия

    А. я понял. что за мана. Ну это честно дурдом =) 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
  24. Saltfire

    Время для оружия

    На сколько помню, только время существования теневого оружия было. Это либо самому добавлять, чтобы у этого оружия был специальный атрибут mp который будет использовать ману только при заклинаниях, причем нужно будет также делать проверку при касте скиллов, требующих ману, что если у тебя одето оружие, то ману оружия этого нужно тратить, а не персонажа и исчезать будет после закачивания маны или времени существования, если ману тратить не будем.
×
×
  • Создать...