FiEctro писал: Вот из-за подобных ошибок я в своё время и забросил этот мод.
Поломка этого скрипта не влияет на следующие за ним скрипты. Там, короче, такое дело: учёный говорит, что сейчас продемонстрирует работу телепорта, начинает играть музыка, учёный кричит
Цитата:
Attendez... Mais, qu'est ce que c'est ? Non ! Ce n'est pas possible...
После этого следует серия взрывов, в зал с телепортом спускаются несколько monster_grunt_repel. В зависимости от того, где стоит игрок, гранты ведут себя по-разному. Если игрок стоит в дальнем левом от входа углу, и они его гарантированно не видят, они расстреливают учёного, и он скриптово умирает. После, через разбитое окно в комнату управления залетает граната и взрывает дверь, игрок убегает. Если же гранты таки увидят игрока, они будут стрелять или кидать нескриптовые гранаты, если игрок спрячется. Вот тут-то и проблема. Меня несколько раз убивало именно нескриптовыми гранатами. Учёный может умереть по скрипту, может умереть от скриптовой гранаты, может не умереть. Но скриптовая граната должна залететь в комнату. И у меня ни разу не было такого, чтобы она не залетала и не выбивала дверь. Что 15 лет назад под WON халфой, что под всеми версиями стим-халфы.
Добавлено 29-08-2022 в 22:25:
Цитата:
FiEctro писал: в купе с их божественным "античитом"
Вот это и у меня вызывало знатный баттхёрт. По крайней мере с оригинальными дллками в WON-версии ввод команд god и noclip вызывал вылет. А вот с пересобранными в актуальной стим-версии - нет. god и noclip прекрасно работают. impulse 101 не работает, пока не введёшь в консоли testmode. Несмотря на всю сложность, я-таки мод прошёл ещё очень давно. А вот TheGate без читов не смог пройти. Ну это вообще отдельная история.
Ku2zoff писал: Подскажите, есть ли какой-то экспорт, торчащий из стима, позволяющий узнать язык запущенной игры?
Разобрался сам. Нужно подгрузить в клиентку steam_api.dll, инициализировать интерфейс ISteamApps, а у этого интерфейса есть функция GetCurrentGameLanguage, которая возвращает char с платформенным именем языка. Ну то есть, нативные имена: Русский, Français, Deutsch и т.д., а платформенные: russian, french, german и т.д. Вальва чего-то намудрила с языками, и голдсорсовский ключ командной строки -language не юзается, если менять язык игры в настройках стима, а не прописывать принудительно в параметрах запуска. Пришлось геморроиться с поиском этого сраного ISteamApps, еле нашёл более-менее нормальный пример использования без лишнего мусора в CSBTE.
Кстати, в официальной поставке стимовской халфы есть озвучки для всех языков, кроме русского. Дискриминацыя! Проорал с китайской озвучки, звучит дико
В процессе русификации текста я нашёл забавный недосмотр французов. Вот пример описания шрифтов из двух текстовых схем:
C++ Source Code:
1
// 640x480 text scheme file
2
3
// SchemeName defines a new scheme
4
SchemeName = "Basic Text"
5
6
// FontName is the string name of the font the scheme uses
7
FontName = "Arial"
8
9
// FontSize defines the height of the font (the rest is derived from that)
10
FontSize = 17
11
12
// FontWeight thickens the font (700 is bold, 1400 very bold)
13
FontWeight = 0
14
15
16
// Invasion radio
17
SchemeName = "Invasion Text"
18
FontName = "Arial"
19
FontSize = 17
20
FontWeight = 0
21
FgColor = "255 255 255 170"
C++ Source Code:
1
// 800x600 text scheme file
2
3
// COMMAND MENU TEXT
4
SchemeName = "CommandMenu Text"
5
FontName = "Arial"
6
FontSize = 17
7
FgColor = "255 170 0 255"
8
BgColor = "0 0 0 141"
9
FgColorArmed = "255 255 255 255"
10
BgColorArmed = "255 170 0 67"
11
12
13
// Invasion radio
14
SchemeName = "Invasion Text"
15
FontName = "Arial"
16
FontSize = 17
17
FontWeight = 0
18
FgColor = "255 255 255 170"
Как видите, в обоих случаях у одного из стандартных шрифтов и шрифта из Инвазиона одинаковые параметры FontName, FontSize и FontWeight. Это приводит к тому, что VGUI грузит из схемы первый по списку шрифт. Похоже, на латинице либо все нужные символы есть, либо просто не заметно, что некоторые из букв не такие. Символы расширенной латиницы не слишком отличаются от символов базовой латиницы. А вот когда я подкинул кириллический шрифт за авторством Витамина, сразу же вылезли кракозябры, поскольку я менял только Invasion Text для всех схем, но не Basic Text для 640 и CommandMenu Text для 800. Лечится проблема либо изменением FontSize для целевого (Invasion Text) шрифта, либо установкой ему приоритета FontWeight больше 0.
Добавлено 05-09-2022 в 15:03:
Ещё одно. Кто на форуме хорошо владеет немецким? Было бы здорово перевести письма с электронной почты и интерфейс компьютеров. Почему-то французы именно эту часть текстов на немецкий не перевели, так и осталось всё по-английски. В идеале, конечно, стоило бы все переводы проверить на ошибки, но я оставлю это на совести авторов. Я уже и так много неточностей исправил, переводя тексты с английского на русский.