Для входа на форум нажмите здесь
Датамайнинг клиента игры

30.04.2019 09:25
#1
Датамайнинг клиента игры
Ссылки на полезные ресурсы:
Публичный архив изменений по датамайну на «E7 Vault»

Ссылки на полезные посты:
потрошилки пакетов/архивов:
data.pack (скрипты на python) - https://forums.goha.ru/showthread.ph...#post159273387 (версия 2.7 от 2021.12.02)
*.bank (скрипты на python, только под Windows) - https://forums.goha.ru/showthread.ph...#post159275908
описание потрошения звуковых файлов (.bank) - https://forums.goha.ru/showthread.ph...#post158649085
конверсия формата файлов:
db-файл в csv-формат (скрипты на python) - https://forums.goha.ru/showthread.ph...#post159274578
(ВНИМАНИЕ! поддерживается пока только старый формат, использовавшийся до патча от 2021.06.10)
scsp-файл в json-формат (скрипты на python) - https://forums.goha.ru/showthread.ph...#post159272975
(ВНИМАНИЕ! поддерживается пока только старый формат, использовавшийся до патча от 2021.06.10)


Если у кого есть мысли, идеи, предложения или даже конкретные "программные продукты" для датамайна Epic Seven - пишем, не стесняемся. Открытый код - приветствуется!

В случае, если есть что обсудить со мной, но лень регистрироваться на гохе, меня можно найти и на reddit: /u/nORbDragon
Последний раз редактировалось nORb Dragon; 12.01.2022 в 00:11.
#176
Re: Датамайнинг клиента игры
Да меня этот цирковой клоун вообще не возбуждает.
#177
Re: Датамайнинг клиента игры
В очередной раз прогнал датамайн. Яхз. То ли я чего не понимаю, и разрабы переиграли файлы, то ли разрабы так и не пофиксили Mui. И завтра утром мы увидим вместо неё Myui (обращаю внимание на "y"), без истории к ней в профиле.
#178
Re: Датамайнинг клиента игры
Зараза. Понял, в чём проблема. В data.pack содержится куча "дублей" файлов, старых версий. Единственный способ избавиться от "дублей" - удалить файлы data.pack и заново пропатчеваться на ~2.5 gb.

Новая версия потрошилки, если кому интересно: epic7ripper_v2_5.zip

Основное изменение: если при потрошении видит, что уже такой файл был, то новому файлу дорисовывает в скобках номер (типа 2, 3 и т.д.). Какой из этих файлов свежее? Это уже придётся вам выяснять самостоятельно.

В общем, нашёл я эту Mui.
#179
Re: Датамайнинг клиента игры
Тыкс.

Ну, все наверное давно в теме. Но я всё равно отпишусь.

На следующей неделе будет баннер Сесиль (+новый арт) и сайдсторик по ней (новый, вроде такого не было). Дополнительно баннер будет с Кисе.

Нажмите на изображение для увеличения
Название: ss_v1002b_banner.png
Просмотров: 62
Размер:	31.2 Кб
ID:	159907 Нажмите на изображение для увеличения
Название: art0102_fu.png
Просмотров: 57
Размер:	120.6 Кб
ID:	159908


Ну и совсем для слоупоков от слоупока. Вдруг кому надо.

Нажмите на изображение для увеличения
Название: img_vyupib_1.png
Просмотров: 64
Размер:	300.4 Кб
ID:	159909 Нажмите на изображение для увеличения
Название: img_vyupib_2.png
Просмотров: 63
Размер:	267.0 Кб
ID:	159910 Нажмите на изображение для увеличения
Название: img_vyupib_3.png
Просмотров: 58
Размер:	206.3 Кб
ID:	159911 Нажмите на изображение для увеличения
Название: 20_h_summer_bg.png
Просмотров: 74
Размер:	708.9 Кб
ID:	159912
Zan
#180
Re: Датамайнинг клиента игры
Сообщение от nORb Dragon:
новый
Будет рассказывать, как отрастила хвост?
#181
Re: Датамайнинг клиента игры
Сообщение от Zan:
Будет рассказывать, как отрастила хвост?
Подозреваю, что вступление к открытию нового континента + эпизода 3. Как в прошлом году был сайд-сторик про Лулуку.
#182
Re: Датамайнинг клиента игры
Медленно но верно в свободное от работы время собираю себе перегонщик данных из файликов в полноценную базу данных с отслеживанием ВСЕХ изменений в строках таблиц. Чтоб сразу было видно, где они там и какие ниндзя-эдиты сделали. И с каким патчем.

С удивлением обнаружил, что они в среднем раз в месяц добавляют или удаляют колонки из своих файлов. Стало понятно, почему у меня "вчерашний" стабильно и красиво отрабатывающий парсер по генерации поста с "читабельной" инфой о персах внезапно начинает выдавать мне бред.

И я подозреваю, что именно из-за их игрищ с изменением колонок в таблицах у них странные баги то и вылазят на ровном месте. Когда вроде ничего не предвещало, и бац!

#183
Re: Датамайнинг клиента игры
Ну, кто хотел, тот наверное уже на реддите видел датамайн. Но я всё равно вкину от себя.

По персонажам: из новых только скин (ну, вдруг кто сомневался) для Юны + анонсированная "мышь".

В сюжет 2 эпизода добавлено несколько картинок:

Нажмите на изображение для увеличения
Название: img2_1_1.png
Просмотров: 67
Размер:	260.4 Кб
ID:	159982 Нажмите на изображение для увеличения
Название: img2_5_1.png
Просмотров: 71
Размер:	241.2 Кб
ID:	159983 Нажмите на изображение для увеличения
Название: img2_8_1.png
Просмотров: 59
Размер:	271.8 Кб
ID:	159984

Картинки артефактов мыши и Тайвина не думаю что вам интересны...

Есть картинки, намекающие на очередной сезон пасс.

"Мышь" и её арт будут 27 августа.

Нажмите на изображение для увеличения
Название: gacha_banner_pickup65_kr.png
Просмотров: 51
Размер:	27.9 Кб
ID:	159986 Нажмите на изображение для увеличения
Название: gacha_bg_pickup65.png
Просмотров: 49
Размер:	344.3 Кб
ID:	159987

Сайдсторик, стартующий 27 августа:

Нажмите на изображение для увеличения
Название: ss_vani2a_banner.png
Просмотров: 48
Размер:	36.9 Кб
ID:	159988 Нажмите на изображение для увеличения
Название: ss_vani2a_home.png
Просмотров: 41
Размер:	131.9 Кб
ID:	159989

Картинка под сайдсторик, который стартует 27 августа:

#184
Re: Датамайнинг клиента игры
@nORb Dragon, твой софт только изымает файлы из игры? Вставить обратно, к примеру, переведённый текст он не может?
Поддержка русского в клиент вплетена, да и люди ставят себе свои скины, судя по постам с реддита
#185
Re: Датамайнинг клиента игры
Сообщение от nekropoll:
твой софт только изымает файлы из игры? Вставить обратно, к примеру, переведённый текст он не может?
Мой софт на данный момент: чистый датамайн. Что подразумевает: достать ресурсы ИЗ клиента. То бишь никаких модификаций в клиент не вношу. Чисто ковыряюсь в их файлах в "научных самообразовательных интересах не преследуя коммерческой выгоды".

В теории да, я могу и обратный конвертер данных запилить. Уже зная формат упаковки data.pack, сильных проблем для меня это не составит. Но это будет нарушать "правила игры". Как только очередной "тест на вшивость" при запуске клиента заметит подмену, людям с этими "модами клиента" влетит пожизненный бан на учётку по статье "модификация клиента".

Сообщение от nekropoll:
Поддержка русского в клиент вплетена
Нет такого. Скорее кто-то подменил "правильные файлики" своими в data.pack. Чем им это грозит: см. выше.

Сообщение от nekropoll:
да и люди ставят себе свои скины
Кто-то подменил "правильные файлики" своими в data.pack. Чем им это грозит: см. выше.


В общем, я пока играть планировал. А не искать повод для самозабана.

Добавлено через 44 минуты
Для "перевода на русский" интерфейса +/- описания персонажей и т.д. достаточно перевести и подсунуть назад в data.pack файл text/text_en.db .

Кусок из файла:
PHP код:
"id"    "export_id"    "text"
"offer_wall"    ""    "Offerwall"
"cant_unit_upgrade_recallexpup_with_others"    ""    "Penguins received from Hero Recall cannot be used alongside other ingredient heroes."
"btn_guide_web"    "190411.daewon_16025"    "Statistics"
"content_switch_hunt_guide"    "190411.daewon_16025"    "Hunt Guide Information"
"level_guide_title"    ""    "Boss Guide"
"level_guide_enemycorps"    ""    "Accompanying Enemies"
"level_guide_reward"    ""    "Exclusive Obtainable Rewards"
"level_guide_attack"    ""    "Boss Guide"
"level_guide_on_btn"    ""    "Boss Guide"
"level_guide_clear"    ""    "You eliminated the boss."
"ui_login_guest_title"    ""    "Guest Login"
"ui_login_btn_login"    ""    "Login"
"ui_login_selectserver_jpn"    "191003.daewon_20320"    "Japan\nServer"
"jpn_server"    "191003.daewon_20320"    "Japan Server"
"global_server"    ""    "Global Server"
"kor_server"    ""    "Korea Server"
"asia_server"    ""    "Asia Server"
"europe_server"    "190411.daewon_17216"    "Europe Server"
"eu_server"    "190411.daewon_17216"    "Europe Server"
"ui_login_selectserver_eu"    ""    "Europe\nServer"
"cant_connect_ip"    "191003.daewon_23559"    "Server connection failed.\nError: local_info_failed"
"media_reinstall_title"    "191017.daewon_23380"    "Media Pack Installation"
"media_reinstall_desc"    "191017.daewon_23380"    "You cannot use your current Media Pack on this server. Please re-download the Media Pack."
"pop_dungeon_retry_title"    ""    "Retry"
"retry_balloon_free"    ""    "Restart from the point before defeat."
"pop_dungeon_retry_desc_free"    ""    "Restart from the point before defeat.\nHealth and cooldown of Heroes will be reset. Soul quantity, morale, number of potions, and camping status will remain the same as at the time of defeat."
"retry_balloon_normal"    ""    "Use Skystone to retry."
"pop_dungeon_retry_desc"    ""    "Use Skystone to restart from the point before defeat.\nHealth and cooldown of Heroes will be reset. Soul quantity, morale, number of potions, and camping status will remain the same as at the time of defeat."
"ui_result_base_retry"    ""    "Retry"
"ui_result_pvp_all_win_title"    ""    "Complete Victory Reward"
"ui_result_pvp_all_win_desc"    ""    "You've obtained an additional flag for beating all the opponents on the list."
"pvp_battlelog_pop_title"    ""    "Battle Log"
"pvp_battlelog_pop_desc"    ""    "Your league has changed due to the battle results of your Defense Team."
"pvp_battlelog_pop_desc_up"    ""    "You have been promoted to a higher league due to the battle results of your Defense Team."
"pvp_battlelog_pop_desc_dn"    ""    "You have been demoted to a lower league due to the battle results of your Defense Team."
"pvp_battlelog_pop_desc_new"    ""    "You have been rewarded for being promoted to #name# League.\nYou can receive promotion rewards for each rank only on the first time being promoted."
"pvp_battlelog_pop_win_count"    ""    "Victory: #count#"
"pvp_battlelog_pop_lose_count"    ""    "Defeat: #count#"
"ui_login_selectserver_title"    ""    "Select Server"
"ui_login_selectserver_desc"    ""    "Choose a server. You may change servers in-game."
"ui_login_selectserver_global"    ""    "Global Server"
"ui_login_selectserver_asia"    ""    "Asia Server"
"ui_login_selectserver_kor"    ""    "Korea Server"
"ui_login_recommend"    ""    "Recommended"
"ui_login_selectserver_selection"    ""    "Select"
"guest"    "190418.daewon_17215"    "Guest"
"guest_not_allow_server_change"    ""    "You cannot change servers if using a guest account."
"question_server_change"    ""    "You must restart the game to change servers.\nProceed?"
"guest_question_server_change"    ""    "If you select a server while using a guest account you will not be able to change servers.\nProceed?"
"ui_subtask_mission_attribute"    ""    "Mission Attribute"
"ui_calendar_7days_title"    ""    "Global Launch Reward"
"ui_calendar_7days_title2"    "190530.iceblingc_18291"    "Episode 2 Check-In Event"
"ui_calendar_7days_desc"    ""    "Check-In reward resets daily, and will automatically be sent to your mailbox."
"ui_calendar_7days_desc2"    "190530.iceblingc_18291"    "Check-In rewards reset daily. Account Rank restrictions apply. Claim rewards from mailbox in Lobby."
"ui_calendar_7days_time"    ""    "Event Period:\n#calendar_7days_start_time# - #calendar_7days_end_time#"
"ui_calendar_7days_time2"    "190822.daewon_21137_new"    "Event Period:\n#start_month#/#start_day# #start_time# - #end_month#/#end_day# #end_time#"
"ui_calendar_7days_rank"    "190530.iceblingc_18291"    "Insufficient Rank"
"tuto_intro_1_move_01"    ""    "Tap the side of the screen in the direction you want to move!"
"tuto_intro_1_battle_01"    ""    "The Archdemon's underlings have appeared! We have to defeat them!"
"tuto_intro_1_battle_02"    ""    "Tap an enemy to attack them using the currently selected Skill!" 
Сюжет и сабсторики хранятся в файлах story_etc_script_1.db , story_main_script_1.db , story_sub_script_1_1.db , story_sub_script_1_2.db .

PHP код:
"id"    "info"
"sb_c3012_001_1"    "[{"
id":"sb_c3012_001_1","sub_id":"sb_c3012_001_1_1","talker":"CHAPTER","text":"CHARACTER STORY\n\n사모하는 스승님","text_en":"","text_zht":"CHARACTER STORY\n\n仰慕的老師","text_de":"","text_fr":"","text_es":"","text_pt":"","text_ja":"CHARACTER STORY\n\n憧れのお師匠さま","text_th":"เนื้อเรื่องตัวละคร\n\nคุณครูที่รัก","text_zhs":"CHARACTER STORY\n\n仰慕的老师"},{"sub_id":"sb_c3012_001_1_2","bg":"synedrium_bg.png","talker":"LOCATION","text":"이제라성검 기사단 본부","text_en":"","text_zht":"伊傑拉,聖劍騎士團總部","text_de":"","text_fr":"","text_es":"","text_pt":"","text_ja":"もうすぐ、聖剣騎士団本部","text_th":"สำนักงานใหญ่ภาคีแห่งดาบเอเซร่า","text_zhs":"伊杰拉,圣剑骑士团总部","bgm":"bgm_03_event_themoment"},{"sub_id":"sb_c3012_001_1_3","left":"이세리아","right":"찰스","talker":"이세리아","text":"단장님제 자리에 못 보던 인형과 손수건 같은 것이 쌓여 있습니다.\n뇌물일까요?","text_en":"","text_zht":"團長,我的位置上堆了一些從未見過的娃娃和手帕。\n是賄物嗎?","text_de":"","text_fr":"","text_es":"","text_pt":"","text_ja":"団長、わたくしのところに見たことのない人形とハンカチのようなものが置かれていました。\n賄賂でしょうか?","text_th":"เซอร์ชาร์ลส์ค่ะ มีตุ๊กตาและผ้าเช็ดหน้าที่ฉันไม่เห็นมาก่อนกองอยู่ที่โต๊ะฉันเต็มไปหมด เป็นของติดสินบนเหรอคะ?","text_zhs":"团长,我的位置上堆了一些从没见过的娃娃和手帕。\n是贿赂品吗?"},{"sub_id":"sb_c3012_001_1_4","talker":"찰스","text":"선물인 것 같군.\n이세리아 경여기 쪽지가 붙어 있네.","text_en":"","text_zht":"好像是禮物,\n伊賽麗亞勳爵,這裡夾了一張紙條。","text_de":"","text_fr":"","text_es":"","text_pt":"","text_ja":"贈り物のようだな。\nイセリアさん、ここにメモがついているね。","text_th":"ดูเหมือนจะเป็นของขวัญนะ มีจดหมายแนบมาด้วยน่ะ เลดี้อิเซเรีย","text_zhs":"好像是礼物,\n伊赛丽亚勋爵,这里夹了一张纸条。"},

...и т.д. 
В них находится вся локализация на английский язык. Заменяем содержимое столбца с переводом на английский переводом на русский, и игра становится русской.


Если кто с этим заморачивается: удачи им с этим. В игре дохрена текста. Игра патчуется как минимум раз в две недели, добавляя ещё кучу текста. И формат данных у этой игры нестабилен. В том же файлике text_en.db (кусок примера выше) раньше не было колонки export_id . И шансы получить бан игровой учётки за модификацию клиента вполне реален.
Последний раз редактировалось nORb Dragon; 29.08.2020 в 13:11. Причина: Добавлено сообщение
#186
Re: Датамайнинг клиента игры
Сообщение от nORb Dragon:
влетит пожизненный бан на учётку по статье "модификация клиента".
Та статья для борьбы с хакерами, которые приделывают Расу 1 лвла миллионы урона.
Косметические изменения обычно никак не засекаются, ибо отображаются только самому игроку.
Не знаю как тут игра патчится, но обычно используется один из двух способов: патчер находит рядок с определённым значением и заменяет его своими данными, либо же файл А полностью заменяется файлом В. В первом случае изменения даже не слетят, ибо игра просто не пропатчится как надо, во втором изменения нужно накатывать после каждого патча.

Можно написать в поддержку, с просьбой доделать функционал под добавление других локализаций, но сомневаюсь, что от этого будет какой-то эффект. Проще выявить способ, которым отвечающие за безопасность могут обнаруживать изменения клиента и в обход него вплести русский текст. В конце концов, пираты мы или кто?

Но это на будущее, сейчас у меня проектов над которыми надо работать и так хватает
#187
Re: Датамайнинг клиента игры
Сообщение от nekropoll:
Косметические изменения обычно никак не засекаются
размер файла изменится.
#188
Re: Датамайнинг клиента игры
Сообщение от nekropoll:
Та статья для борьбы с хакерами, которые приделывают Расу 1 лвла миллионы урона.
Косметические изменения обычно никак не засекаются, ибо отображаются только самому игроку.
Флаг тебе в зубы, барабан на шею. Я не собираюсь защищать себя и доказывать кому-либо, что "я не виноват", если меня забанят.
#189
Re: Датамайнинг клиента игры
Сообщение от Darkmor:
размер файла изменится.
То обычно не проблема, если только не стоит специализированная защита.
В наличии скрытых символов тоже сомневаюсь, учитывая грамотность местного текста(на офф дискорд канале порой забавно почитать темку с выявленными ошибками). Шрифт японский не стоит, так что в рядках свободно можно размещать много букв, ограничение на длину строки весьма терпимое. Тут вопрос только в защите и свободном времени, с последним сейчас беда.


Сообщение от nORb Dragon:
барабан на шею
Бочку рома же


Сообщение от nORb Dragon:
если меня забанят.
Тебе и не надо ничего делать, я спрашивал про возможности софта
#190
Re: Датамайнинг клиента игры
Сообщение от nekropoll:
То обычно не проблема, если только не стоит специализированная защита.
Я давно задаюсь вопросом: почему так долго запускается клиент игры epic7 на эмуле. И давно подозреваю, что он перед запуском пробегает по основным файлам (в том же data.pack), чекает хэшсумму каждого файла.

Проверять я это, конечно, не проверял. Но это так, к сведению. Что такое тоже может быть. Ведь достаточно подправить одно-два значения в том же skill_player.db или character_player.db, и у тебя действительно получится неубиваемый/ваншотающий Рас.

Поэтому, если кто занимается модификацией клиента, то рекомендую ему об этом умалчивать как минимум полгода. Пока он не убедится, что его махинации до сих пор остались незамеченными со стороны смайлов. И только потом предлагать свои "невинные моды" для "широкого юзания". Но с припиской: за возможный бан вашей игровой учётки после юзания этих модификаций ответственности не несу.
#191
Re: Датамайнинг клиента игры
Сообщение от nORb Dragon:
Ведь достаточно подправить одно-два значения в том же skill_player.db или character_player.db, и у тебя действительно получится неубиваемый/ваншотающий Рас.
Не знаю как сейчас, но на старте это выявлялось через несколько часов после использования, если верить переписке "хакеров"

Я играю только с планшета, так что могу свободно тестить с ПК что угодно под другим акком
Но времени на такое в данный момент нет
#192
Re: Датамайнинг клиента игры
@nORb Dragon, можешь распотрошить звуковой архив?
Интересуют звуки спец.эффектов и фразы
#193
Re: Датамайнинг клиента игры
Сообщение от Kapes:
можешь распотрошить звуковой архив?
Уже несколько раз пробовал. Кто-то предлагал там поковыряться. Но там формат другой. Непонятно, маскируется под обычный RIFF, или чего. Но музыкальные редакторы и проигрыватели не кушают те куски "предположительно музыки", которые я пытался им подсунуть под проигрывание.

На тот момент, когда я экспериментировал, на реддите и прочих местах не было даже намёка на формат данных в этих файлах. Те, кто умудрялся таки их расковырять, сидели в рот набрав воды и скидывали раз в полгода ссылки на какой-нибудь из музыкальных файлов на скачку. По особым просьбам трудящихся, что им кровь из носу но надо эту музыку.

Некрополь вроде тоже упоминал, что иногда где-то мелькают результаты датамайна на основе файлов .bank. Появление в них файлов озвучки для ещё неанонсированных персов. Значит кто-то как-то потрошит их.

В общем, если видел где темки по хотя бы приблизительному формату хранения данных в .bank в э7, кидай линки. Посмотрю.
#194
Re: Датамайнинг клиента игры
Обратил своё внимание на файлик skill_tree_rune.db

Судя по содержимому, там прописаны бусты от каждой руны. Ради интереса решил чекнуть ФКлури...

Ну, опустим, что я не нашёл чёткого указания на "какую именно пассивку включает/апает" (в столбце тупо значение вида *ps_up ). Ключа нет. Системы, как оно определяет, какая именно пассивка активируется при заточки руны, пока не увидел. Но меня смутило, что я прямо с наскоку обнаруживаю расхождение между текстовым описанием руны и предполагаемым результатом заточки.

Цитата:
Increases damage dealt by Light Step proportional to Defense by <#FF9900>30%</>.


То бишь в тексте руны указан буст на +30% от дефа. А в пассивке (реальное положение дел) - +16% от дефа.

Мало того. Я не вижу привязки пассивки именно к S1... Щаз буду ковыряться, вспоминать у кого пассивки апают урон именно от S1 или S3. Сравню.

Добавлено через 16 минут
Посмотрел, у кого в пассивках есть схожее описание. В выборку попали МЛ Рави, МЛ Майя и Топор.

У МЛ Рави и МЛ Майи прямо в пассивке-усилялке урона указано, что пассивка срабатывает только при юзе S3. Что совпадает с текстовым описанием.

У Топора, как и у ФКлури, стоит "ALWAYS". И да, у Топора данные в пассивке совпадают с текстом описания руны (+5% к урону от макс НР).

В общем, я хз. Возможно, что где-то ещё хранится инфа по руны->пассивки.
Последний раз редактировалось nORb Dragon; 02.09.2020 в 11:28. Причина: Добавлено сообщение
#195
Re: Датамайнинг клиента игры
Сообщение от nORb Dragon:
Обратил своё внимание на файлик skill_tree_rune.db

Судя по содержимому, там прописаны бусты от каждой руны. Ради интереса решил чекнуть ФКлури...

Ну, опустим, что я не нашёл чёткого указания на "какую именно пассивку включает/апает" (в столбце тупо значение вида *ps_up ). Ключа нет. Системы, как оно определяет, какая именно пассивка активируется при заточки руны, пока не увидел. Но меня смутило, что я прямо с наскоку обнаруживаю расхождение между текстовым описанием руны и предполагаемым результатом заточки.





То бишь в тексте руны указан буст на +30% от дефа. А в пассивке (реальное положение дел) - +16% от дефа.

Мало того. Я не вижу привязки пассивки именно к S1... Щаз буду ковыряться, вспоминать у кого пассивки апают урон именно от S1 или S3. Сравню.

А ты уверен, что это именно к той рунке относится?
Там ещё есть рунка на +5% дефа, она нормально прописана?
#196
Re: Датамайнинг клиента игры
Сообщение от nekropoll:
А ты уверен, что это именно к той рунке относится?
Там ещё есть рунка на +5% дефа, она нормально прописана?
Кусок файла skill_tree_rune.db

Рунка на +5% дефа:
Цитата:
str_c4003_01_3_desc (text_en):

<#FFFFFF>Increases Defense by 5%.</>

<#FF9900>+1 </>Defense increases by 1%
<#FF9900>+2 </>Defense increases by 1.5%
<#FF9900>+3 </><#FFFFFF>Defense increases by 2.5%</>
PHP код:
"id"    "name"    "type"    "icon_rune"    "icon_mark"    "stat"    "value"    "skill_number"    "skill_lv"    "tooltip"    "tooltip_up"
"str_c4003_01_0"    "str_c4003_01_nm"    "stat"    "icon_rune_01"    "icon_mark_01"    ""    ""    ""    ""    "str_c4003_01_0_de"    ""
"str_c4003_01_1"    "str_c4003_01_nm"    "stat"    "icon_rune_01"    "icon_mark_01"    "def_rate"    "0.01"    ""    ""    "str_c4003_01_1_de"    "str_c4003_01_1_up"
"str_c4003_01_2"    "str_c4003_01_nm"    "stat"    "icon_rune_01"    "icon_mark_01"    "def_rate"    "0.015"    ""    ""    "str_c4003_01_2_de"    "str_c4003_01_2_up"
"str_c4003_01_3"    "str_c4003_01_nm"    "stat"    "icon_rune_01"    "icon_mark_01"    "def_rate"    "0.025"    ""    ""    "str_c4003_01_3_de"    "str_c4003_01_3_up" 
Тут выглядит, что надо складывать буст к дефу от трёх заточек, чтоб выйти на 5%. Как видишь, тут пассивки не юзаются. А тупо напрямую апается стат.


Рунка на "буст для S1 на +30% от дефа":
Цитата:
str_c4003_02_3_desc (text_en):

<#FFFFFF>Increases damage dealt by Light Step proportional to Defense by 30%.</>

<#FF9900>+1 </>Damage dealt proportional to Defense increases by 5%
<#FF9900>+2 </>Damage dealt proportional to Defense increases by 10%
<#FF9900>+3 </><#FFFFFF>Damage dealt proportional to Defense increases by 15%</>
PHP код:
"id"    "name"    "type"    "icon_rune"    "icon_mark"    "stat"    "value"    "skill_number"    "skill_lv"    "tooltip"    "tooltip_up"
"str_c4003_02_0"    "str_c4003_02_nm"    "skill"    "icon_rune_05"    "icon_mark_02"    ""    ""    ""    ""    "str_c4003_02_0_de"    ""
"str_c4003_02_1"    "str_c4003_02_nm"    "skill"    "icon_rune_05"    "icon_mark_02"    ""    ""    "6"    "*ps_up"    "str_c4003_02_1_de"    "str_c4003_02_1_up"
"str_c4003_02_2"    "str_c4003_02_nm"    "skill"    "icon_rune_05"    "icon_mark_02"    ""    ""    "6"    "*ps_up"    "str_c4003_02_2_de"    "str_c4003_02_2_up"
"str_c4003_02_3"    "str_c4003_02_nm"    "skill"    "icon_rune_05"    "icon_mark_02"    ""    ""    "6"    "*ps_up"    "str_c4003_02_3_de"    "str_c4003_02_3_up" 
В случае с пассивкой полагаю, что надо ориентироваться на последний вариант "заточки пассивки", а не суммировать все варианты.

Варианты пассивки (заточки), отвечающей за буст урона дефа: +4%, +8%, +16%. И они даже не соответствуют заявленным в текстовом описании (5%, 10%, 15%).


В качестве аргументации, почему я считаю, что работает только последний вариант пассивки, а не сумма бонусов от них, приведу пример с другой руной. На активацию барьера.

Цитата:
str_c4003_03_3_desc (text_en):

<#FFFFFF>When Magic Resist is activated, if the caster is at full Health, they are granted a barrier proportional to 5% of their max Health for 2 turns.</>

<#FF9900>+1 </>Strength of the barrier is increased by 1% of max Health
<#FF9900>+2 </>Strength of the barrier is increased by 1.5% of max Health
<#FF9900>+3 </><#FFFFFF>Strength of the barrier is increased by 2.5% of max Health</>
PHP код:
"id"    "name"    "type"    "icon_rune"    "icon_mark"    "stat"    "value"    "skill_number"    "skill_lv"    "tooltip"    "tooltip_up"
"str_c4003_03_0"    "str_c4003_03_nm"    "skill"    "icon_rune_04"    "icon_mark_11"    ""    ""    ""    ""    "str_c4003_03_0_de"    ""
"str_c4003_03_1"    "str_c4003_03_nm"    "skill"    "icon_rune_04"    "icon_mark_11"    ""    ""    "5"    "*ps_up"    "str_c4003_03_1_de"    "str_c4003_03_1_up"
"str_c4003_03_2"    "str_c4003_03_nm"    "skill"    "icon_rune_04"    "icon_mark_11"    ""    ""    "5"    "*ps_up"    "str_c4003_03_2_de"    "str_c4003_03_2_up"
"str_c4003_03_3"    "str_c4003_03_nm"    "skill"    "icon_rune_04"    "icon_mark_11"    ""    ""    "5"    "*ps_up"    "str_c4003_03_3_de"    "str_c4003_03_3_up" 
В описании пассивки (заточках) прописана сила барьера от макс НР: 1%, 2.5%, 5%.

То бишь, барьер выглядит "каноничным". Используется только последний вариант (заточка) пассивки, дающая 5% от макс НР. Что соответствует текстовому описанию. В отличие от указанного выше с руной на +к урону.

И да, я щаз припоминаю, что как то так и обычное описание скиллов/пассивок в файлике skill_player.db работает. Если нормальный скилл, то надо суммировать буст от каждой отдельной заточки. Если пассивка, то смотреть в описание только по актуальной заточке.

Выглядит как-то так:


Первые две строки: обычные скиллы. Для результата макс-заточки суммируем все бусты, указанные в столбцах.

Последняя строка: маркер, что для пассивки есть всего три заточки. И искать описание пассивки в зависимости от заточки, а не суммировать бусты.


О! Только скопипастил сюда и обратил внимание на столбец skill_number. Вот же она, привязка к пассивке. Просто файлик в эксель не конвертил, ненаглядно. В общем, привязку рун к пассивкам нашёл.

Пятый скилл - это пассивка на барьер. Шестой скилл - это пассивка на +к урону от дефа.
#197
Re: Датамайнинг клиента игры
Сообщение от nORb Dragon:
В общем, если видел где темки по хотя бы приблизительному формату хранения данных в .bank в э7, кидай линки. Посмотрю.

.bank это архив с .fsb файлами, которые в свою очередь являются сжатыми архивами FMOD, содержащие аудио.

скорее всего у вас там будет .fsb5, если игра на unity.

распаковывается в 2 этапа:
1) сначала вынимаются .fsb из .bank через BMS скрипт.
2) после можно уже воспользоваться одним из анпакеров/конвертеров из сети или выдранными из FMOD.
в вашем случае подойдет fsb_aud-extr (работал у меня на другой игре на unity, .fsb5)
запуск через батник, извлекает все файлы поочередно в .wav

или можно попробовать еще через python-fsb5 скрипт, но я его не тестил.

fsb5_split и Fsb Extractor не подходят для Unity игр, т.к. проги предупреждают что celt/ogg аудио в .fsb находятся без заголовка и извлекает нечитаемые .ogg

Код:
1. decfsb.exe => чтобы декодировать зашифрованную ключом FSB.
2. guessfsb.exe => подбор ключа к зашифрованному FSB
3. fsb_aud_extr.exe => инструмент, созданный id-daemon для преобразования fsb в wav, отлично подходит для CELT и ogg vorbis.
4.  audios fsb5_split.exe => поиск кратных FSB внутри большого файла  fsb5 (пример - файлы ресурсов Unity) и извлекает их (не расшифровывает).
5. fsbii.exe => тоже самое, только для fsb3 и fsb4
6. fsbankexcl.exe ==> инструмент из FMOd для преобразования FSB и wav в другие форматы или уменьшения / увеличения битрейтов.
7.  fsbext.exe ==> инструмент, созданный Aluigi для извлечения FSB, он  создал список, сохранил структуры и два типа шифрования.
8. tw2unfsb.exe => чтобы преобразовать звук CELT из The Witcher 2.

9. skyforge audio extractor - извлекает аудио из .fsb и .bsb (сжатый zlib-ом .fsb) в .wav
10.  FsbExtractor.exe => Aeazy FSB extractor, режим Gui, с помощью этого  инструмента вы можете увидеть, есть ли у некоторых MP3 внутри FSB петли,  например, игра OCTODAD. Также извлекает аудио в .ogg из .fsb.
11. python-fsb5 - скрипт с гитхаба, извлекает из .fsb5 аудио в .wav.
выкладываю архив со всем этим, но если предубеждение против чужих exe, то в сети есть исходники или готовые от авторов exe.
https://cloud.mail.ru/public/24ik/41TX2sewn - 11мб
Последний раз редактировалось imperies; 02.09.2020 в 20:00.
#198
Re: Датамайнинг клиента игры
@imperies, даже если не взлетит, премного благодарствую за наводку и развёрнутое описание!

@Kapes, потести написанное выше, если вдруг раньше меня у тебя появится время на это тёмное дело.

Добавлено через 12 минут
Ауч. Горшочек заварил! Распаковал кучу wav-файлов из старого файлика для экспериментов.

Добавлено через 5 минут
Прикрепил первый пост. Вписал в него линки на пост с потрошилкой data.pack и на пост с потрошением аудио-архивов .bank.
Последний раз редактировалось nORb Dragon; 02.09.2020 в 12:27. Причина: Добавлено сообщение
#199
Re: Датамайнинг клиента игры
Сообщение от imperies:
если игра на unity
они написали свой движок
Сообщение от imperies:
https://cloud.mail.ru/public/24ik/41TX2sewn - 11мб
ошибка 404
Сообщение от nORb Dragon:
Ауч. Горшочек заварил!
Поделись потрошилкой
#200
Re: Датамайнинг клиента игры
Сообщение от Kapes:
Поделись потрошилкой
Вот негодяй, уже удалил.

Завтра поделюсь. На работе оставил всё. Не думал, что он сразу поудаляет у себя.

Фактически от того архива нужен только bms-скрипт и fsb_aud_extr.exe (вроде его юзал) с его библиотеками.

Через первое конвертим bank в fsb5. Через второе потрошим fsb5 на кучу wav-файлов.