СКАЧАТЬ С НАШЕГО САЙТА (https://rusmnb.ru/index.php?action=dldir;sa=details;lid=257)
(https://www.dropbox.com/s/7z6ybkyzlx0g0zm/StudyMod_battle.png?dl=1) (https://www.dropbox.com/s/7z6ybkyzlx0g0zm/StudyMod_battle.png?dl=0)
Текущая версия. 0.72
Страница загрузки: [OSP] StudyMod v0.72 (Modmerger pack).zip (http://shcherbyna.my-board.org/ru/mb_warband_japan_osp)
En-board: https://forums.taleworlds.com/index.php/topic,299919.0.html (https://forums.taleworlds.com/index.php/topic,299919.0.html)
https://disk.yandex.ru/d/0376Pqqxgd0Fig (https://disk.yandex.ru/d/0376Pqqxgd0Fig)
Этот модуль позволяет учить слова иностранного языка в игре.
+ Исходный код полностью открыт и доступен для использования и модификации без дополнительных разрешений и копирайтов.
Тестовый релиз Учебного Модуля для игры MB Warband.
Основная цель: облегчить процесс заучивания новых иностранных слов. Основная идея мода: над врагами отображаются учебные слова и во время боя мы их бьем переводами =) Модуль поддерживает японский, русский и английские языки. Текущая альфа уже позволяет учить японскую кану (азбуку в двух написаниях) и слова JLPT5. Написан механизм, позволяющий боевой системе, учебной книге, текстовым меню автоматически подстраиваться под выбранные на старте игры языки (учебный и родной). Количество языков и учебных уровней можно наращивать.
Код написан на API Warband'a + Python2.7. Исходники собраны в ModMerger Pack и ставятся на чистый (а может и не отчень=) Натив.
Как это происходит:
Существует словарь (который вы можете изменять). Учебные слова отображаются над головой агентов на сценах. С помощью командной строки мы пишем перевод или чтение слова (в зависимости от языка). Если написанное слово является правильным - врагу наносится повреждение ( "..силой знаний наносим ментальный удар"=). Кроме того учить можно пассивно, махая шашкой наблюдать учебные слова над головами врагов, периодически заглядывая в словарик. Третий способ: запоминать целые фразы с помощью динамически переводимых меню игры.
Существует учебная книга, в которую всегда можно заглянуть и посмотреть список учебных слов.
(https://www.dropbox.com/s/n3jetu2z6kb30cm/en-ru_study_book.jpg?dl=1) (https://www.dropbox.com/s/n3jetu2z6kb30cm/en-ru_study_book.jpg?dl=0)(https://www.dropbox.com/s/flm4g78qhmn9lwr/jp-en_study_book_hiragana.jpg?dl=1) (https://www.dropbox.com/s/flm4g78qhmn9lwr/jp-en_study_book_hiragana.jpg?dl=0)(https://www.dropbox.com/s/ftoz3udgggjbjc6/jp-en_study_book_jlpt5.jpg?dl=1) (https://www.dropbox.com/s/ftoz3udgggjbjc6/jp-en_study_book_jlpt5.jpg?dl=0)(https://www.dropbox.com/s/cmbqlk073br9kac/jp-en_study_book_katakana.jpg?dl=1) (https://www.dropbox.com/s/cmbqlk073br9kac/jp-en_study_book_katakana.jpg?dl=0)
Списки учебных слов меняются в зависимости от текущего уровня обучения. Уровень обучения пока изменяется самим игроком при появлении ощущения "эти слова я уже выучил, перехожу на уровень выше". Ну а по хорошему, можно было бы создать в городе храмы, школы где можно пройти символический тест на знание пройденного материала, после чего мастер-сенсей повышает твой учебный уровень.
Идея учебного мода не покидала меня последние два года, но только сейчас появилось понимание и знания которые позволили воплотить их в жизнь. За 2 месяца концепт был написан и работает. По сути, это первый Warband мод, который возможно принесет реальную пользу от игры, совмещаем приятное с полезным. Ну обо всем по порядку..
Доступно:
+ JP-EN, EN-JP, EN-RU, RU-EN режимы обучения
+ Есть возможность добавления новых языков и словарей (studyMod_dict.py, studyMod_strings.py)
+ Механизм быстрого перевода текста меню под курсором
+ Study Book - Учебная Книга
+ Kanji Mahjong - учебная мини-игра (только для режима JP-EN) (новое в v0.72)
+ Command Line - Командная строка
+ Команды командной строки:
help - показать доступные команды
open book - открыть Учебную Книгу
level up - перейти на новый уровень обучения (смена учебный слов)
level down - понизить уровень обучения
level - показать текущий уровень обучения
mahjong или "mahjongu onegai shimasu" - попросить у трактирщика игру маджонг (новое в v0.72)
Командная строка открывается по [ Left Alt ].
Командная строка и Учебная Книга закрываются по [ Right Alt ].
Игровой процесс:
Каждого агента-врага на сцене можно убить с помощью командной строки "ментальным ударом". Если не получается, командная строка прячется и бой продолжается руками как обычно. Для японских слов в командной строке пишется их чтение. Для остальных - писать перевод.
Учебные уровни:
(JP-EN, EN-JP) 0 - хирагана
1 - катакана
jp_alphabet = [
('jp_A', 'あ', 'ア', 132, ('а', 187)),
('jp_I', 'い', 'イ', 220, ('и', 143)),
('jp_U', 'う', 'ウ', 352, ('у', 176)),
('jp_E', 'え', 'エ', 176, ('э', 451)),
('jp_O', 'お', 'オ', 286, ('о', 231)),
('jp_KA', 'か', 'カ', 386, ('ка', 523)),
('jp_KI', 'き', 'キ', 482, ('ки', 475)),
('jp_KU', 'く', 'ク', 626, ('ку', 511)),
('jp_KE', 'け', 'ケ', 434, ('кэ', 811)),
('jp_KO', 'こ', 'コ', 554, ('ко', 571)),
('jp_kya', 'きゃ', 'キャ', 830, ('кя', 763)),
('jp_kyu', 'きゅ', 'キュ', 1090, ('кю', 835)),
('jp_kyo', 'きょ', 'キョ', 1012, ('кё', 847)),
('jp_GA', 'が', 'ガ', 342, ('га', 556)),
('jp_GI', 'ぎ', 'ギ', 438, ('ги', 508)),
('jp_GU', 'ぐ', 'グ', 582, ('гу', 544)),
('jp_GE', 'げ', 'ゲ', 390, ('гэ', 844)),
('jp_GO', 'ご', 'ゴ', 510, ('го', 604)),
('jp_gya', 'ぎゃ', 'ギャ', 786, ('гя', 796)),
('jp_gyu', 'ぎゅ', 'ギュ', 1046, ('гю', 868)),
('jp_gyo', 'ぎょ', 'ギョ', 968, ('гё', 880)),
('jp_SA', 'さ', 'サ', 474, ('са', 358)),
('jp_SHI', 'し', 'シ', 818, ('си', 310)),
('jp_SU', 'す', 'ス', 714, ('су', 346)),
('jp_SE', 'せ', 'セ', 522, ('сэ', 646)),
('jp_SO', 'そ', 'ソ', 642, ('со', 406)), #so = chi
('jp_sha', 'しゃ', 'シャ', 714, ('ся', 598)),
('jp_shu', 'しゅ', 'シュ', 974, ('сю', 670)),
('jp_sho', 'しょ', 'ショ', 896, ('сё', 682)),
('jp_ZA', 'ざ', 'ザ', 551, ('дза', 798)),
('jp_ZI', 'じ', 'ジ', 471, ('дзи', 746)),
('jp_ZU', 'ず', 'ズ', 791, ('дзу', 1104)),
('jp_ZE', 'ぜ', 'ゼ', 599, ('дзэ', 1110)),
('jp_ZO', 'ぞ', 'ゾ', 719, ('дзо', 850)),
('jp_ja', 'じゃ', 'ジャ', 375, ('дзя', 1058)),
('jp_ju', 'じゅ', 'ジュ', 615, ('дзю', 1136)),
('jp_jo', 'じょ', 'ジョ', 543, ('дзё', 1149)),
('jp_TA', 'た', 'タ', 485, ('та', 479)),
('jp_CHI', 'ち', 'チ', 642, ('чи', 541)),
('jp_TSU', 'つ', 'ツ', 1117, ('цу', 566)),
('jp_TE', 'て', 'テ', 533, ('тэ', 767)),
('jp_TO', 'と', 'ト', 653, ('то', 527)),
('jp_cha', 'ちゃ', 'チャ', 538, ('тя', 719)),
('jp_chu', 'ちゅ', 'チュ', 798, ('тю', 791)),
('jp_cho', 'ちょ', 'チョ', 720, ('тё', 803)),
('jp_DA', 'だ', 'ダ', 309, ('да', 457)),
('jp_JI', 'ぢ', 'ヂ', 405, ('дзи', 746)),
('jp_DU', 'づ', 'ヅ', 549, ('дзу', 785)),
('jp_DE', 'で', 'デ', 357, ('дэ', 745)),
('jp_DO', 'ど', 'ド', 477, ('до', 505)),
('jp_NA', 'な', 'ナ', 419, ('на', 600)),
('jp_NI', 'に', 'ニ', 515, ('ни', 552)),
('jp_NU', 'ぬ', 'ヌ', 659, ('ну', 588)),
('jp_NE', 'ね', 'ネ', 467, ('нэ', 888)),
('jp_NO', 'の', 'ノ', 587, ('но', 648)),
('jp_nya', 'にゃ', 'ニャ', 863, ('ня', 840)),
('jp_nyu', 'にゅ', 'ニュ', 1123, ('ню', 912)),
('jp_nyo', 'にょ', 'ニョ', 1045, ('нё', 924)),
('jp_HA', 'は', 'ハ', 353, ('ха', 622)),
('jp_HI', 'ひ', 'ヒ', 449, ('хи', 574)),
('jp_FU', 'ふ', 'フ', 571, ('фу', 324)),
('jp_HE', 'へ', 'ヘ', 401, ('хэ', 910)),
('jp_HO', 'ほ', 'ホ', 521, ('хо', 670)),
('jp_hya', 'ひゃ', 'ヒャ', 797, ('хя', 862)),
('jp_hyu', 'ひゅ', 'ヒュ', 1057, ('хю', 934)),
('jp_hyo', 'ひょ', 'ヒョ', 979, ('хё', 946)),
('jp_BA', 'ば', 'バ', 287, ('ба', 666)),
('jp_BI', 'び', 'ビ', 383, ('би', 618)),
('jp_BU', 'ぶ', 'ブ', 527, ('бу', 654)),
('jp_BE', 'べ', 'ベ', 335, ('бэ', 954)),
('jp_BO', 'ぼ', 'ボ', 455, ('бо', 714)),
('jp_bya', 'びゃ', 'ビャ', 731, ('бя', 906)),
('jp_byu', 'びゅ', 'ビュ', 991, ('бю', 978)),
('jp_byo', 'びょ', 'ビョ', 913, ('бё', 990)),
('jp_PA', 'ぱ', 'パ', 441, ('па', 402)),
('jp_PI', 'ぴ', 'ピ', 537, ('пи', 354)),
('jp_PU', 'ぷ', 'プ', 681, ('пу', 390)),
('jp_PE', 'ぺ', 'ペ', 489, ('пэ', 690)),
('jp_PO', 'ぽ', 'ポ', 609, ('по', 450)),
('jp_pya', 'ぴゃ', 'ピャ', 885, ('пя', 642)),
('jp_pyu', 'ぴゅ', 'ピュ', 1145, ('пю', 714)),
('jp_pyo', 'ぴょ', 'ピョ', 1067, ('пё', 726)),
('jp_MA', 'ま', 'マ', 408, ('ма', 567)),
('jp_MI', 'み', 'ミ', 504, ('ми', 519)),
('jp_MU', 'む', 'ム', 648, ('му', 555)),
('jp_ME', 'め', 'メ', 456, ('мэ', 855)),
('jp_MO', 'も', 'モ', 576, ('мо', 615)),
('jp_mya', 'みゃ', 'ミャ', 852, ('мя', 807)),
('jp_myu', 'みゅ', 'ミュ', 1112, ('мю', 879)),
('jp_myo', 'みょ', 'ミョ', 1034, ('мё', 891)),
('jp_YA', 'や', 'ヤ', 540, ('я', 407)),
('jp_YU', 'ゆ', 'ユ', 780, ('ю', 473)),
('jp_YO', 'よ', 'ヨ', 708, ('ё', 484)),
('jp_RA', 'ら', 'ラ', 463, ('ра', 413)),
('jp_RI', 'り', 'リ', 559, ('ри', 365)),
('jp_RU', 'る', 'ル', 703, ('ру', 401)),
('jp_RE', 'れ', 'レ', 511, ('рэ', 701)),
('jp_RO', 'ろ', 'ロ', 631, ('ро', 461)),
('jp_rya', 'りゃ', 'リャ', 907, ('ря', 653)),
('jp_ryu', 'りゅ', 'リュ', 1167, ('рю', 725)),
('jp_ryo', 'りょ', 'リョ', 1089, ('рё', 737)),
('jp_WA', 'わ', 'ワ', 518, ('ва', 369)),
('jp_WO', 'を', 'ヲ', 686, ('о', 231)),
('jp_N', 'ん', 'ン', 575, ('н', 396)),# write nn (for JP-EN)
]
(EN-RU, RU-EN) 2 - слова JLPT5
JLPT5 = [
[('one', 794),('一', 'ichi', 915), ('один', 1180)],
[('two', 1087),('二', 'ni', 515), ('два', 654)],
[('three', 1410),('三', 'san', 799), ('три', 672)],
[('four', 1321),('四', 'yon', 1033), ('четыре', 2283)], #shi
[('five', 1080),('五', 'go', 510), ('пять', 1303)],
[('six', 1025),('六', 'roku', 1365), ('шесть', 1484)],
[('seven', 1550),('七', 'nana', 912), ('семь', 1291)], # shichi
[('eight', 1381),('八', 'hachi', 1101), ('восемь', 1912)],
[('nine', 1064),('九', 'kyuu', 1538), ('девять', 2097)], # ku
[('ten', 858),('十', 'juu', 1031), ('десять', 2084)],
[('person', 2076),('人', 'hito', 1216), ('человек', 2551)],
[('enter', 1538),('入', 'iri', 828), ('вход', 1216)],
[('top', 1004),('上', 'ue', 544), ('верх', 1316)],
[('bottom', 2066),('下', 'shita', 1432), ('низ', 903)],
[('big', 617),('大', 'oo', 598), ('большой', 2448)],
[('woman', 1541),('女', 'onna', 1079), ('женщина', 2704)],
[('ten_thousand', 4464),('万', 'man', 733), ('десять_тысяч', 5118)], # ingame write without "_" / в игре писать без "_"
[('earth', 1416),('土', 'tsuchi', 1918), ('почва', 1370)],
[('mountain', 2789),('山', 'yama', 1020), ('гора', 1089)],
[('thousand', 2692),('千', 'sen', 847), ('тысяча', 2132)],
[('river', 1647),('川', 'kawa', 996), ('река', 1196)],
[('child', 1189),('子', 'ko', 554), ('ребёнок', 3112)],
[('Japan', 1269),('日本', 'nihon', 1501), ('Япония', 1655)], #fix => 2187
[('mouth', 1711),('口', 'kuchi', 1374), ('рот', 786)],
[('hand', 888),('手', 'te', 533), ('рука', 1016)],
[('day', 777),('日', 'hi', 449), ('день', 1429)], # sun, cолнце
[('minute', 1998),('分', 'fun', 896), ('минута', 1858)],
[('medium', 1795),('中', 'naka', 873), ('среди', 1302)], # in, в, внутри
[('yen', 913),('円', 'en', 476), ('иена', 1221)],
[('month', 1620),('月', 'tsuki', 1725), ('месяц', 1945)], # moon, луна
[('afternoon', 3183),('午', 'go', 510), ('полдень', 2507)],
[('now', 1029),('今', 'ima', 664), ('сейчас', 1859)],
[('tree', 1121),('木', 'ki', 482), ('дерево', 1867)],
[('father', 1704),('父', 'chichi', 1443), ('отец', 1410)],
[('fire', 1028),('火', 'hi', 449), ('огонь', 1752)],
[('friend', 1634),('友', 'tomo', 1329), ('друг', 1137)],
[('water', 1580),('水', 'mizu', 1433), ('вода', 954)],
[('little', 1931),('少', 'shou', 1344), ('мало', 1147)],
[('left', 1100),('左', 'hidari', 1567), ('левый', 1649)],
[('leave', 1303),('出る', 'deru', 1182), ('выходить', 2723)],
[('outside', 2305),('外', 'soto', 1409), ('снаружи', 2174)],
[('north', 1683),('北', 'kita', 1053), ('север', 1440)],
[('book', 1101),('本', 'hon', 846), ('книга', 1623)],
[('mother', 1949),('母', 'haha', 768), ('мать', 1228)],
[('half', 890),('半ば', 'nakaba', 1260), ('половина', 2381)],
[('right', 1524),('右', 'migi', 1018), ('правый', 1755)],
[('white', 1536),('白い', 'shiroi', 1934), ('белый', 1960)],# светлый
[('life', 938),('生', 'sei', 782), ('жизнь', 1811)],
[('old', 757),('古い', 'furui', 1696), ('старый', 1839)],
[('eye', 816),('目', 'me', 456), ('глаза', 1470)],
[('stand', 1433),('立つ', 'tatsu', 1788), ('стоять', 2004)],
[('hundred', 2074),('百', 'hyaku', 1585), ('сто', 727)],
[('mood', 1124),('気', 'ki', 482), ('настроение', 3795)],# воздух
[('go', 510),('行く', 'iku', 900), ('идти', 926)],
[('every', 1726),('毎', 'mai', 668), ('каждый', 2263)],
[('name', 955),('名', 'na', 419), ('имя', 1020)],
[('rest', 1335),('休み', 'yasumi', 2058), ('отдых', 1820)],
[('year', 1150),('年', 'nen', 792), ('год', 903)],
[('west', 1390),('西', 'nishi', 1471), ('запад', 1318)],
[('previous', 3115),('先', 'saki', 1040), ('раньше', 2013)],
[('meet', 1098),('会う', 'au', 516), ('встречать', 3144)],
[('many', 1237),('多い', 'ooi', 858), ('много', 1831)],
[('ear', 697),('耳', 'mimi', 1096), ('уши', 585)],
[('see', 730),('見る', 'miru', 1329), ('смотреть', 2811)],
[('what', 1192),('何', 'nani', 1024), ('что', 958)],
[('man', 733),('男', 'otoko', 1694), ('мужчина', 2625)],
[('come', 1002),('来る', 'kuru', 1451), ('приходить', 2937)],
[('car', 675),('車', 'kuruma', 2003), ('машина', 1821)],
[('flower', 1981),('花', 'hana', 846), ('цветок', 2086)],
[('say', 942),('言う', 'iu', 604), ('сказать', 2164)],
[('shrine', 1846),('社', 'yashiro', 2402), ('храм', 1329)],
[('leg', 679),('足', 'ashi', 1019), ('нога', 1302)],
[('long', 1142),('長い', 'nagai', 1121), ('длинный', 2686)],
[('learn', 1382),('学ぶ', 'manabu', 1608), ('учить', 1475)],
[('east', 1144),('東', 'higashi', 1945), ('восток', 1728)],
[('money', 1665),('金', 'kane', 935), ('деньги', 2117)],
[('country', 2773),('国', 'kuni', 1231), ('страна', 1751)],
[('rain', 1073),('雨', 'ame', 628), ('дождь', 1707)],
[('sky', 1062),('空', 'sora', 1187), ('небо', 1608)],
[('shop', 1274),('店', 'mise', 1118), ('магазин', 2446)],
[('food', 1047),('食', 'shoku', 1684), ('еда', 838)],
[('later', 1459),('後', 'ato', 842), ('позже', 1826)],
[('south', 1777),('南', 'minami', 1677), ('юг', 857)],
[('before', 1611),('前', 'mae', 616), ('до', 505)],# перед чем-либо
[('time', 1117),('時', 'toki', 1219), ('время', 1813)],# когда, в то время как
[('school', 1867),('学校', 'gakkou', 1838), ('школа', 1404)],
[('high', 949),('高い', 'takai', 1239), ('высокий', 2120)],# дорогой
[('write', 1656),('書く', 'kaku', 1120), ('писать', 1533)],
[('fish', 1083),('魚', 'sakana', 1495), ('рыба', 1353)],
[('week', 1082),('週', 'shuu', 1422), ('неделя', 2423)],
[('between', 2135),('間', 'aida', 735), ('между', 1817)],
[('drink', 1453),('飲む', 'nomu', 1347), ('пить', 1015)],
[('road', 997),('道', 'michi', 1252), ('дорога', 1798)],
[('buy', 995),('買う', 'kau', 802), ('покупать', 2450)],
[('electricity', 4133),('電気', 'denki', 1290), ('электричество', 5261)],
[('speak', 1360),('話す', 'hanasu', 1808), ('говорить', 2443)],
[('new', 909),('新', 'shin', 1168), ('новый', 1683)],
[('language', 2240),('語', 'go', 510), ('язык', 1527)],
[('listen', 1957),('聞く', 'kiku', 1216), ('слушать', 1969)],
[('read', 877),('読む', 'yomu', 1468), ('читать', 1863)],
[('station', 2433),('駅', 'eki', 700), ('станция', 2526)],
]
3 - слова JLPT4 (часть 1 = первые 80) (новое в v0.72)
JLPT4_1 = [
[('bad', 482), ('悪い', 'warui', 1643), ('плохой', 2030)],
[('medicine', 2174), ('医学', 'igaku', 1380), ('медицина', 2852)],
[('view', 1287), ('意見', 'iken', 1042), ('мнение', 2393)],
[('after', 1398), ('以後', 'igo', 774), ('после', 1405)],
[('institution', 4667), ('院', 'in', 520), ('учереждение', 4914)],
[('employee', 2663), ('員', 'in', 520), ('сотрудник', 3002)],
[('carry', 1621), ('運ぶ', 'hakobu', 1710), ('переносить', 3554)],
[('english', 2135), ('英', 'ei', 416), ('английский', 3553)],
[('England', 1867), ('英国', 'eikoku', 1908), ('Aнглия', 2075)],
[('English', 2135), ('英語', 'eigo', 1014), ('английский_язык', 6310)], # ! second english => rename to english2 in studyMod_strings.py
[('reflection', 3399), ('映り', 'utsuri', 2317), ('отражение', 3547)],
[('shop', 1274), ('屋', 'ya', 540), ('магазин', 2446)],
[('sound', 1633), ('音', 'on', 586), ('звук', 1091)],
[('song', 1219), ('歌', 'uta', 880), ('песня', 1811)],
[('sing', 1147), ('歌う', 'utau', 1328), ('петь', 1231)],
[('summer', 2066), ('夏', 'natsu', 1722), ('лето', 1233)],
[('autumn', 2127), ('秋', 'aki', 656), ('осень', 1666)],
[('spring', 1974), ('春', 'haru', 1178), ('весна', 1478)],
[('house', 1597), ('家', 'uchi', 1047), ('дом', 934)],
[('picture', 2369), ('画', 'ga', 342), ('картина', 2180)],
[('draw', 1145), ('画く', 'egaku', 1336), ('рисовать', 2195)],
[('movie', 1525), ('映画', 'eiga', 818), ('фильм', 1405)],
[('sea', 678), ('海', 'umi', 900), ('море', 1296)],
[('open', 1168), ('開く', 'hiraku', 1836), ('открывать', 3059)],
[('world', 1610), ('世界', 'sekai', 1276), ('мир', 766)],
[('music', 1528), ('音楽', 'ongaku', 1830), ('музыка', 2033)],
[('palace', 1374), ('館', 'yakata', 1651), ('дворец', 1981)],
[('chinese', 1984), ('漢', 'kan', 711), ('китайский', 2941)],
[('return', 2197), ('帰る', 'kaeru', 1480), ('возвращаться', 4346)],
[('get_up', 1859), ('起きる', 'okiru', 1696), ('вставать', 2250)], # get up = 1859
[('research', 2349), ('究', 'kyuu', 1538), ('исследование', 4259)],
[('hurry', 1916), ('急ぐ', 'isogu', 1650), ('спешить', 2056)],
[('cow', 908), ('牛', 'ushi', 1239), ('корова', 1609)],
[('past', 1265), ('去', 'kyo', 1012), ('прошлый', 2265)],
[('leave', 1303), ('去る', 'saru', 1299), ('оставить', 2252)],
[('teach', 1170), ('教える', 'oshieru', 2421), ('учить', 1475)],
[('capital', 1977), ('京', 'kyou', 1460), ('столица', 2063)],
[('work', 1371), ('業', 'gyou', 1416), ('работа', 1900)],
[('near', 1029), ('近く', 'chikaku', 2026), ('близко', 2044)],
[('silver', 2035), ('銀', 'gin', 763), ('серебро', 2498)],
[('bank', 920), ('銀行', 'ginkou', 1973), ('банк', 1540)],
[('mercury', 2585), ('水銀', 'suigin', 1926), ('ртуть', 1427)],
[('total', 1569), ('計', 'kei', 694), ('всего', 1499)],
[('measure', 2248), ('計る', 'hakaru', 1754), ('измерять', 3064)],
[('clock', 1294), ('時計', 'tokei', 1463), ('часы', 1191)],
[('older_brother', 4528), ('兄', 'ani', 692), ('старший_брат', 3907)],
[('dog', 711), ('犬', 'inu', 936), ('собака', 1897)],
[('puppy', 1950), ('小犬', 'koinu', 1644), ('щенок', 1855)],
[('whet', 1244), ('研ぐ', 'togu', 1335), ('точить', 1923)],
[('study', 1868), ('研学', 'kengaku', 2087), ('учеба', 1842)],
[('construction', 5021), ('建', 'ken', 759), ('строительство', 4587)],
[('try', 1157), ('験す', 'tamesu', 1983), ('пробовать', 3037)],
[('source', 1930), ('元', 'moto', 1343), ('источник', 2774)],
[('energy', 1936), ('元気', 'genki', 1323), ('энергия', 2869)],
[('work', 1371), ('工', 'kou', 970), ('работа', 1900)], # !second work => rename to work2 in studyMod_strings.py
[('carpenter', 3059), ('木工', 'mokkou', 2072), ('плотник', 2326)],
[('wide', 1033), ('広い', 'hiroi', 1490), ('широкий', 2036)],
[('idea', 776), ('考え', 'kangae', 1399), ('идея', 1340)],
[('black', 1101), ('黒い', 'kuroi', 1667), ('черный', 2406)],
[('make', 918), ('作る', 'tsukuru', 2913), ('делать', 1908)],
[('paper', 1451), ('紙', 'kami', 978), ('бумага', 2073)],
[('letter', 1986), ('手紙', 'tegami', 1615), ('письмо', 1703)],
[('think', 1509), ('思う', 'omou', 1360), ('думать', 1871)],
[('older_sister', 4294), ('姉', 'ane', 640), ('старшая_сестра', 4597)],
[('stop', 1418), ('止', 'shi', 818), ('oстанавливать', 4486)],
[('work', 1371), ('仕事', 'shigoto', 2398), ('работа', 1900)], # !third work => rename to work3 in studyMod_strings.py
[('die', 613), ('死ぬ', 'shinu', 1648), ('умереть', 2514)],
[('use', 920), ('使う', 'tsukau', 2117), ('использовать', 4068)],
[('start', 1729), ('始め', 'hajime', 1522), ('начало', 1959)],
[('test', 1357), ('試す', 'tamesu', 1983), ('проверять', 3213)],
[('I', 220), ('私', 'watashi', 2183), ('я', 407)],
[('character', 2714), ('字', 'ji', 471), ('символ', 1616)],
[('myself', 1927), ('自分', 'jibun', 1463), ('сам', 787)],
[('matter', 1949), ('事', 'koto', 1321), ('дело', 1205)],
[('fire', 1028), ('火事', 'kaji', 939), ('пожар', 1493)],
[('have', 1006), ('持つ', 'motsu', 1879), ('иметь', 1652)],
[('room', 1305), ('室', 'shitsu', 2214), ('комната', 2448)],
[('quality', 2578), ('質', 'shitsu', 2214), ('качество', 2655)],
[('copy', 1321), ('写し', 'utsushi', 2656), ('копия', 1542)],
[('person', 2076), ('者', 'mono', 1265), ('человек', 2551)],
[('doctor', 1947), ('医者', 'isha', 995), ('врач', 1104)],
[('lease', 1261), ('借', 'shaku', 1502), ('аренда', 1939)],
[('main', 1018), ('主な', 'omona', 1442), ('главный', 2543)],
[('husband', 2000), ('主人', 'shujin', 1968), ('муж', 1075)],
[('collect', 2078), ('集める', 'atsumeru', 3027), ('собирать', 2548)],
[('learn', 1382), ('習う', 'narau', 1444), ('учить', 1475)], # !second learn => rename to learn2 in studyMod_strings.py
[('final', 1265), ('終', 'tsui', 1397), ('конец', 1983)],
[('live', 1146), ('住む', 'sumu', 1474), ('жить', 1257)],
[('heavy', 1559), ('重い', 'omoi', 1192), ('тяжелый', 2959)],
[('place', 1165), ('場', 'ba', 287), ('место', 1582)],
[('plaza', 1427), ('広場', 'hiroba', 1577), ('площадь', 2130)],
[('factory', 2413), ('工場', 'koujou', 2166), ('фабрика', 2096)],
[('color', 1564), ('色', 'iro', 906), ('цвет', 1307)],
[('heart', 1428), ('心', 'kokoro', 2055), ('сердце', 2101)],
[('parents', 2423), ('親', 'oya', 874), ('родители', 2421)],
[('true', 1329), ('真', 'shin', 1168), ('правда', 1474)],
[('figure', 1800), ('図', 'zu', 791), ('рисунок', 2140)],
[('blue', 1059), ('青い', 'aoi', 704), ('синий', 1380)],
#[('', 0), ('世', 'se', 0), ('', 0)], =>> used in "world"
[('correct', 2240), ('正す', 'tadasu', 1810), ('исправлять', 3301)],
[('red', 706), ('赤い', 'akai', 832), ('красный', 2460)],
[('evening', 2136), ('夕', 'yuu', 1196), ('вечер', 1711)],
]
В среднем, около 100 слов на уровне. При этом нужно понимать, что для одного иероглифа в JLPT (http://www.nihongo.aikidoka.ru/nihongo_siken/) приводятся множество чтений, значений и переводов.. Но так как Учебный Модуль претендует на универсальность, выбираются только общеупотребительные слова, которые одинаково хорошо знать при изучении разных доступных языков.
Немного о шрифтах:
Для изучения японского языка, перед началом игры в меню конфигурации нужно выбрать язык Nihongo. Этим мы подгружаем в игру японо-английские шрифты, что позволит видеть японские тексты. Так как японо-русских шрифтов нет режим обучения JP-RU, RU-JP не доступны.
(https://www.dropbox.com/s/vpj9z30o3y4mco4/nihongo.jpg?dl=1) (https://www.dropbox.com/s/vpj9z30o3y4mco4/nihongo.jpg?dl=0)
Если вы учите английский, язык игры выбираете English. По умолчанию шрифт имеет поддержку кириллицы и доступными режимами обучения будут EN-RU, RU-EN.
Динамические меню:
Это игровые меню, которые налету выдают перевод незнакомого текста под курсором.
Концепция:
+ Все тексты меню на языке обучения
+ Если я не могу прочитать или не понимаю - навожу курсор на непонятное слово/предложение и вижу его чтение/перевод.
(https://www.dropbox.com/s/0uow77ujbkz0sgk/StartMenu.jpg?dl=1) (https://www.dropbox.com/s/0uow77ujbkz0sgk/StartMenu.jpg?dl=0)(https://www.dropbox.com/s/bjef83xpc6dfgl1/StudyMod_map_strings.jpg?dl=1) (https://www.dropbox.com/s/bjef83xpc6dfgl1/StudyMod_map_strings.jpg?dl=0)
Можно конечно пойти на хитрость и подменить локализацию на родную.
[############# 190 / 216 ##########===>87,9%]
menu_start_game_0 = 0
menu_start_phase_2 = 1
menu_start_game_3 = 2
menu_tutorial = 3
menu_reports = 4
menu_custom_battle_scene = 5
menu_custom_battle_end = 6
menu_start_game_1 = 7
menu_start_character_1 = 8
menu_start_character_2 = 9
menu_start_character_3 = 10
menu_start_character_4 = 11
menu_choose_skill = 12 (skipped - не отрабатывает кнопка "Продолжить", ветка создания персонажа не работоспособна.)
menu_past_life_explanation = 13 (skipped - not used in game)
menu_auto_return = 14
menu_morale_report = 15
menu_courtship_relations = 16
menu_lord_relations = 17
menu_companion_report = 18
menu_faction_orders = 19
menu_character_report = 20
menu_party_size_report = 21
menu_faction_relations_report = 22
menu_camp = 23
menu_camp_cheat = 24
menu_cheat_find_item = 25
menu_cheat_change_weather = 26
menu_camp_action = 27
menu_camp_recruit_prisoners = 28
menu_camp_no_prisoners = 29
menu_camp_action_read_book = 30
menu_camp_action_read_book_start = 31
menu_retirement_verify = 32
menu_end_game = 33
menu_cattle_herd = 34
menu_cattle_herd_kill = 35
menu_cattle_herd_kill_end = 36 (skipped - non text)
menu_arena_duel_fight = 37
menu_arena_duel_conclusion = 38
menu_simple_encounter = 39
menu_encounter_retreat_confirm = 40
menu_encounter_retreat = 41
menu_order_attack_begin = 42
menu_order_attack_2 = 43
menu_battle_debrief = 44
menu_total_victory = 45
menu_enemy_slipped_away = 46
menu_total_defeat = 47
menu_permanent_damage = 48
menu_pre_join = 49
menu_join_battle = 50
menu_join_order_attack = 51
menu_zendar = 52
menu_salt_mine = 53
menu_four_ways_inn = 54
menu_test_scene = 55
menu_battlefields = 56
menu_dhorak_keep = 57
menu_join_siege_outside = 58
menu_cut_siege_without_fight = 59
menu_besiegers_camp_with_allies = 60
menu_castle_outside = 61
menu_castle_guard = 62
menu_castle_entry_granted = 63
menu_castle_entry_denied = 64
menu_castle_meeting = 65
menu_castle_meeting_selected = 66
menu_castle_besiege = 67
menu_siege_attack_meets_sally = 68
menu_castle_besiege_inner_battle = 69
menu_construct_ladders = 70
menu_construct_siege_tower = 71
menu_castle_attack_walls_simulate = 72
menu_castle_attack_walls_with_allies_simulate = 73
menu_castle_taken_by_friends = 74 (skipped, not used in game)
menu_castle_taken = 75
menu_castle_taken_2 = 76
menu_requested_castle_granted_to_player = 77
menu_requested_castle_granted_to_player_husband = 78
menu_requested_castle_granted_to_another = 79
menu_requested_castle_granted_to_another_female = 80
menu_leave_faction = 81
menu_give_center_to_player = 82
menu_give_center_to_player_2 = 83
menu_oath_fulfilled = 84
menu_siege_started_defender = 85
menu_siege_join_defense = 86
menu_enter_your_own_castle = 87
menu_village = 88
menu_village_hostile_action = 89
menu_recruit_volunteers = 90
menu_village_hunt_down_fugitive_defeated = 91
menu_village_infest_bandits_result = 92
menu_village_infestation_removed = 93
menu_center_manage = 94
menu_center_improve = 95
menu_town_bandits_failed = 96
menu_town_bandits_succeeded = 97
menu_village_steal_cattle_confirm = 98
menu_village_steal_cattle = 99
menu_village_take_food_confirm = 100
menu_village_take_food = 101
menu_village_start_attack = 102
menu_village_loot_no_resist = 103
menu_village_loot_complete = 104
menu_village_loot_defeat = 105
menu_village_loot_continue = 106[/b]
menu_close = 107
menu_town = 108
menu_cannot_enter_court = 109
menu_lady_visit = 110
menu_town_tournament_lost = 111
menu_town_tournament_won = 112
menu_town_tournament_won_by_another = 113
menu_town_tournament = 114
menu_tournament_withdraw_verify = 115
menu_tournament_bet = 116
menu_tournament_bet_confirm = 117
menu_tournament_participants = 118
menu_collect_taxes = 119
menu_collect_taxes_complete = 120
menu_collect_taxes_rebels_killed = 121
menu_collect_taxes_failed = 122
menu_collect_taxes_revolt_warning = 123
menu_collect_taxes_revolt = 124
menu_train_peasants_against_bandits = 125
menu_train_peasants_against_bandits_ready = 126
menu_train_peasants_against_bandits_training_result = 127
menu_train_peasants_against_bandits_attack = 128
menu_train_peasants_against_bandits_attack_result = 129
menu_train_peasants_against_bandits_success = 130
menu_disembark = 131 - Bug: кнопка Нет не работает
menu_ship_reembark = 132
menu_center_reports = 133
menu_price_and_production = 134
menu_town_trade = 135
menu_town_trade_assessment_begin = 136
menu_town_trade_assessment = 137 - не показывает полный список найденных товаров
menu_sneak_into_town_suceeded = 138
menu_sneak_into_town_caught = 139
menu_sneak_into_town_caught_dispersed_guards = 140
menu_sneak_into_town_caught_ran_away = 141 - нужно проверить s11 в тексте меню
menu_enemy_offer_ransom_for_prisoner = 142
menu_training_ground = 143
menu_training_ground_selection_details_melee_1 = 144
menu_training_ground_selection_details_melee_2 = 145 - возможно неправильно предлагаются противники спарринга
menu_training_ground_selection_details_mounted = 146
menu_training_ground_selection_details_ranged_1 = 147
menu_training_ground_selection_details_ranged_2 = 148
menu_training_ground_description = 149
menu_training_ground_training_result = 150 - частично
menu_marshall_selection_candidate_ask = 151
menu_captivity_avoid_wilderness = 152
menu_captivity_start_wilderness = 153 (skipped - no text)
menu_captivity_start_wilderness_surrender = 154 (skipped - no text)
menu_captivity_start_wilderness_defeat = 155
menu_captivity_start_castle_surrender = 156 (skipped - no text)
menu_captivity_start_castle_defeat = 157 (skipped - no text)
menu_captivity_start_under_siege_defeat = 158
menu_captivity_wilderness_taken_prisoner = 159
menu_captivity_wilderness_check = 160 (skipped - no text)
menu_captivity_end_wilderness_escape = 161
menu_captivity_castle_taken_prisoner = 162
menu_captivity_rescue_lord_taken_prisoner = 163
menu_captivity_castle_check = 164 (skipped - no text)
menu_captivity_end_exchanged_with_prisoner = 165
menu_captivity_end_propose_ransom = 166
menu_captivity_castle_remain = 167
menu_kingdom_army_quest_report_to_army = 168
menu_kingdom_army_quest_messenger = 169
menu_kingdom_army_quest_join_siege_order = 170
menu_kingdom_army_follow_failed = 171
menu_invite_player_to_faction_without_center = 172
menu_invite_player_to_faction = 173
menu_invite_player_to_faction_accepted = 174 - need check s1
menu_question_peace_offer = 175
menu_notification_truce_expired = 176
menu_notification_feast_quest_expired = 177
menu_notification_sortie_possible = 178
menu_notification_casus_belli_expired = 179
menu_notification_lord_defects = 180
menu_notification_treason_indictment = 181
menu_notification_border_incident = 182
menu_notification_player_faction_active = 183
menu_minister_confirm = 184 (s12 problem)
menu_notification_court_lost = 185 need check
menu_notification_player_faction_deactive = 186
menu_notification_player_wedding_day = 187
menu_notification_player_kingdom_holds_feast = 188
menu_notification_center_under_siege = 189
menu_notification_village_raided = 190
menu_notification_village_raid_started = 191
menu_notification_one_faction_left = 192
menu_notification_oath_renounced_faction_defeated = 193
menu_notification_center_lost = 194
menu_notification_troop_left_players_faction = 195
menu_notification_troop_joined_players_faction = 196
menu_notification_war_declared = 197
menu_notification_peace_declared = 198
menu_notification_faction_defeated = 199
menu_notification_rebels_switched_to_faction = 200
menu_notification_player_should_consult = 201
menu_notification_player_feast_in_progress = 202
menu_notification_lady_requests_visit = 203 (need check s11)
menu_garden = 204
menu_kill_local_merchant_begin = 205
menu_debug_alert_from_s65 = 206
menu_auto_return_to_map = 207
menu_bandit_lair = 208
menu_notification_player_faction_political_issue_resolved = 209
menu_notification_player_faction_political_issue_resolved_for_player = 210 (need check)
menu_start_phase_2_5 = 211
menu_start_phase_3 = 212 (need check)
menu_start_phase_4 = 213 (need check)
menu_lost_tavern_duel = 214
menu_establish_court = 215
menu_notification_relieved_as_marshal = 216
Мини игры: (новое в v.072)
+ Еще один способ учить слова не напрягаясь. (Kanji Mahjong расчитан только на JP-EN режим). Очень помогает при переходе на новый уровень слов. Коробку с игрой можно купить у продавца книг, найти в таверне или попросить у трактирщика командами "mahjong" или "mahjongu onegai shimasu". Игра в таверне стоит 10 динар за партию. В случае победы, игрок получает вознаграждение:
(сумма_ставки*2)+бонус_за_рекордное_время
+ Доступно 2 режима игры: свободный и классический. В первом, нужно выбрать пары из кучи мусора. Во втором, нужно разобрать всю схему по парам, при этом тайлы блокируются слева, справа и сверху.
+ При выделении пары, тайлы удаляются со стола, на их месте появляется всплывающая подсказка вида:
иероглиф (его чтение) - перевод
+ Схемы для игры находятся в отдельном файле и могут быть легко исправлены.
(https://www.dropbox.com/s/x2phhzmjo8g2x50/00kanji_mahjong.jpg?dl=1) (https://www.dropbox.com/s/x2phhzmjo8g2x50/00kanji_mahjong.jpg?dl=0)(https://www.dropbox.com/s/uec4a602sgcux71/01kanji_mahjong.jpg?dl=1) (https://www.dropbox.com/s/uec4a602sgcux71/01kanji_mahjong.jpg?dl=0)(https://www.dropbox.com/s/bza9wjv1ly61itk/03kanji_mahjong.jpg?dl=1) (https://www.dropbox.com/s/bza9wjv1ly61itk/03kanji_mahjong.jpg?dl=0)(https://www.dropbox.com/s/avz359ts1chdz3p/05kanji_mahjong.jpg?dl=1) (https://www.dropbox.com/s/avz359ts1chdz3p/05kanji_mahjong.jpg?dl=0)(https://www.dropbox.com/s/eogmvjh67kn0wyp/06kanji_mahjong-schemes.jpg?dl=1) (https://www.dropbox.com/s/eogmvjh67kn0wyp/06kanji_mahjong-schemes.jpg?dl=0)
Система урона: (новое в v.072)
Сила ментального удара рассчитывается по формуле:
damage = max(swing, trust) + player_lvl + player_INT
(урон_оружия + уровень_игрока+значение_интелекта)
При нанесении такого урона у агента-врага меняется имя. При прохождении крита - сила урона удваивается.
+ Продолжается работа по внедрению партикл-эффектов удара.
Установка:
Предполагается, вы знаете как компилится мод с помощью ModMerger'a.
В архиве Modmerger пак, поэтому у вас должен быть установлен modmerger (http://www.mbrepository.com/file.php?id=2151 (http://www.mbrepository.com/file.php?id=2151)).
1) В папке установленной игры MB Warband скопируйте мод Native в отдельную папку и переименуйте.
2) Скопируйте туда брф-ресурсы, текстуры, звуки из архива.
3) В папку модульной системы скопируйте исходники Учебного модуля.
4) Поправьте нужные файлы (читать readme в архиве).
5) Скомпилируйте новый мод, в стартовом меню игры выберете его.
6) Начиная новую игру выберите учебный и родной языки.
Кроме учебного модуля в архиве находятся модули Быстрого Старта (используется в меню выбора языков) и Меню разработчика.
Если вы учите японский, установите японские шрифты и локализацию (читать readme в архиве).
Баги:
есть, но не критичны.
Разработка:
+ rubik - механизм отображения объекта над головой агента;
+ shcherbyna - основной код.
+ присоединяйтесь.
Фидбэк:
Пишите, спрашивайте.. будем вместе читать. Хочется сделать акцент на том, что разработка мода не ограничивается изменениями текстур, сцен, анимации.. хотя создание окружения конечно-же является первым шагом =)
Баннеры-подписи:
Also, this is a simple signature for this mod if anyone wants to use it, I want to use it and support the mod atleast.
(свободный перевод) "Также, каждый может использовать эту простую подпись, я это делаю и таким образом мне хочется выразить свою поддержку.
([url]http://i.imgur.com/2PV3Idn.png?1[/url]) ([url]http://forums.taleworlds.com/index.php/topic,299919.0.html[/url])
[URL=http://forums.taleworlds.com/index.php/topic,299919.0.html][IMG]http://i.imgur.com/2PV3Idn.png?1[/img][/URL]
(https://www.dropbox.com/s/i8axbd8kq3inudl/forum_logo.png?dl=1)Я учу иностранные слова в игре (http://rusmnb.ru/index.php?topic=18779.0)
[URL=rusmnb.ru/index.php?topic=18779.0][img]https://www.dropbox.com/s/i8axbd8kq3inudl/forum_logo.png?dl=1[/img][b]Я учу иностранные слова в игре[/b][/URL]
Предполагается, вы знаете как компилится мод с помощью ModMerger'a.
а если я не знаю ? не дадите ли ссылку на русскую инструкцию ?
1. Скачать, распаковать свежую модульную систему: Module System (TaleWorlds Download Server) (https://www.taleworlds.com/en/Games/Warband/Download)
2. Скачать, установить Python 2.7 (https://www.python.org/download). Качать лучше .msi, не придется настраивать Path.
3. Скопировать модуль Натив, копии дать имя своего модуля.
4. Настроить модульную систему на прямую компиляцию в папку своего модуля. Это очень упростит жизнь с переносами отдельных файлов вручную.
5. Сделать тестовую компиляцию. Запустить свой модуль в игре. Не должно быть ошибок и отличий от Натива.
6. Скачать, установить Modmerger 0.2.5 (http://www.mbrepository.com/file.php?id=2151).
7. Снова сделать тестовую компиляцию. Запустить свой модуль в игре. Не должно быть ошибок и отличий от Натива.
8. Далее пошагово выполнить инсталл мода, описанный в readme, что в архиве.
==
PS: http://rusmnb.ru/index.php?topic=17658.0 (http://rusmnb.ru/index.php?topic=17658.0)
ver.0.69.24
+ Сформировался универсальный конструктор для основных меню. Это позволило не писать для каждого меню отдельную презентацию, а подставлять в шаблон однотипные данные как то: стартовый скрипт меню, картинка, названия кнопок (0-25), условия их создания, действия кнопок.. Также конструктор считает количество кнопок и если нужно, помещает их в контейнер с прокруткой.
+ Menu Simple Encounter
+ encounter_retreat_confirm
+ encounter_retreat
+ order_attack_begin
+ order_attack_2
+ battle_debrief
- [bug] village позволяет себя лутить вражеской фракции без боя.
(http://storage7.static.itmages.ru/i/14/0515/s_1400186997_6672973_fcc1785b10.jpg) (http://itmages.ru/image/view/1669250/fcc1785b)(http://storage7.static.itmages.ru/i/14/0515/s_1400187253_3293473_144faac9ae.jpg) (http://itmages.ru/image/view/1669255/144faac9)(http://storage6.static.itmages.ru/i/14/0515/s_1400187250_9376677_642dc3ff6a.jpg) (http://itmages.ru/image/view/1669254/642dc3ff)
(http://storage8.static.itmages.ru/i/14/0515/s_1400187436_5878584_08c5a5232f.jpg) (http://itmages.ru/image/view/1669256/08c5a523)(http://storage7.static.itmages.ru/i/14/0515/s_1400187616_8850109_f58604ee85.jpg) (http://itmages.ru/image/view/1669260/f58604ee)