![]() |
Re: Исследование базы ArcheAge
В бд большая куча всего. Но пока на глаза попадается больше "мусора". Модели, анимация, какая то фигня...
Найти в этой каше статы мобов\шмота\прочего пока не удаётся. Небольшой скриптик, который проставляет текст из таблицы локализации по всем остальным. На нескольких таблицах не отрабатывает и адски медленный (курсорами бегать некошерно, но что-то под sqlite ничего более приличного не нашёл). Гораздо лучше сконвертировать во что нибудь вроде MySQL и сделать то же самое одним запросом за пару минут. import sqlite3 import sys if (len(sys.argv) < 2): print("usage dblocale.py locale(ko|ru|other in db) <dbname default gamedb.sqlite3>") sys.exit() dbname = "gamedb.sqlite3" if (len(sys.argv) >= 3): dbname = sys.argv[2] print("connect to: %s" % dbname) conn = sqlite3.connect(dbname) cur_tbname = conn.cursor() print("begin tranzaction") conn.execute('BEGIN TRANSACTION') print("select table names") cur_tbname.execute('SELECT tbl_name from localized_texts GROUP BY tbl_name') cur_fieldname = conn.cursor() cur_data = conn.cursor() for record in cur_tbname: print("process table %s" % record[0]) param = (record[0],) cur_fieldname.execute('SELECT tbl_column_name from localized_texts WHERE tbl_name = ? GROUP BY tbl_column_name', record) for field_rec in cur_fieldname: print ("\t%s"% field_rec[0]) cur_data.execute('SELECT %s, idx FROM localized_texts WHERE tbl_name="%s" AND tbl_column_name="%s"' % (sys.argv[1], record[0], field_rec[0])) query = 'UPDATE %s SET %s = ? WHERE id = ?' %(record[0], field_rec[0]) for text_rec in cur_data: try: conn.execute(query, text_rec) except sqlite3.OperationalError: print ("bad query: %s; params: (%s, %s)" % (query, record[0], field_rec[0])) print("COMMIT") conn.execute('COMMIT') print("end all operate")У меня он уже полтора часа пытается справиться с этой базой :) |
Re: Исследование базы ArcheAge
Мобы там не обнаружены. Из статов шмота только самое основное.
|
Re: Исследование базы ArcheAge
Ага. Ну да. Теперь понятно почему скрипт так тормозил. Я неправильно транзакцию открыл. Или её кто-то закрыл в процессе... Вобщем скрипт нуждается в доработке :)
|
Re: Исследование базы ArcheAge
300к локалей - удачи...
|
Re: Исследование базы ArcheAge
Уже получилось :)
Теперь работать с базой вообще красота. http://files.mail.ru/93AB24F1A4FF4823BD65E2B66EEB9532 |
Re: Исследование базы ArcheAge
Спасибки за базу.... будем ковырять... ток для начала щас в MYSQL перенесу для удобства =)
|
Re: Исследование базы ArcheAge
Хе-хе. Всего 1200 НПСов.
|
Re: Исследование базы ArcheAge
И никто не хочет ничем делиться.
Ну давайте буду вести монолог с разбродными мыслями. Табличка allowed_name_chars казалось бы - разрешённые имена для персонажей. А вот хрен. По факту это разрешённые символы для имён гильдий. И да. Там нет половины букв русского алфавита. Зато овердофига корейских иероглифов. |
Re: Исследование базы ArcheAge
Цитата:
Посмотрел базу, и почему то теперь таблица blocked_texts пуста. Там как раз и были запреты в чате/создание персонажей. Добавлено через 25 минут Сравнил базы более ранних билдов, действительно от 14.12 много вырезали. |
Re: Исследование базы ArcheAge
Книги. Кто нибудь соберёт вэб версию?
SELECT books.[name], book_pages.[name], book_page_contents.[text] FROM books LEFT JOIN book_elems ON books.[id] = book_elems.[book_id] LEFT JOIN book_pages ON book_elems.[book_page_id] = book_pages.[id] LEFT JOIN book_page_contents ON book_elems.[book_page_id] = book_page_contents.[id] |
Текущее время: 00:59. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd. Перевод: zCarot