Этот пользователь сказал Спасибо TRam_ за это полезное сообщение: |
02.09.2008, 20:50 | #16 |
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,717
Вы сказали Спасибо: 1,424
Поблагодарили 2,377 раз(а) в 1,330 сообщениях
|
ну и что? главное - что можно сделать кучу процессов которые будут работать одновременно(звуки, управления тягой, тормозами, проскальзыванием, тормозной рукояткой, компрессором, светом, "прикрепляемыми" и(или) анимрованными сценами (возможна даже "вложенная анимация", хотя официально это не возможно ), звуком, как 2-мерным, так и 3-мерным(и при удалении от этого звук естественно затухает))).
Но запомните - при торможении мы сможем опустошить только ГМ, т.к. "зарядка" в трейнз "автоматическая", автомат начинает прекрашать подачу воздуха в ТМ без сверхзарядки совсем (к сожалению я ошибся насчёт неё). |
01.01.2007, 12:00 | |
Яndex
Спонсор
Регистрация: 01.01.2007
Сообщения: 500
Реклама показывается изредка по случайному принципу |
РЕКЛАМА
|
02.09.2008, 23:09 | #17 |
Матёрый пользователь
|
|
03.09.2008, 11:50 | #18 |
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,717
Вы сказали Спасибо: 1,424
Поблагодарили 2,377 раз(а) в 1,330 сообщениях
|
это не поддерживается плагином. обычные точки привязки неанимируемы
|
03.09.2008, 16:45 | #19 |
Матёрый пользователь
Регистрация: 15.05.2008
Адрес: С-Пб (Балт). ТЧ-15
Сообщений: 3,960
Вы сказали Спасибо: 72
Поблагодарили 233 раз(а) в 117 сообщениях
|
Сто раз согласен ! Наконец-то будет лок, который управляется как в реале. Или вреале вы тоже нажимаете Num3, чтобы затормазить ?
Вопрос по теме: Тут недавно вышел ВЛ80Р-1867 со скриптом включения ГВ и МВ. А можно это дело привязать к клавишам?
__________________
В ангаре:F-15c, СУ-27, СУ-25Т, МиГ-29С. "Да и хрен с ней с этой рацией! Горизонт держи, б*я!!"(с) лётный инструктор |
03.09.2008, 19:07 | #20 | |
Матёрый пользователь
Регистрация: 30.08.2007
Адрес: Московская область, 36км
Сообщений: 3,620
Вы сказали Спасибо: 263
Поблагодарили 304 раз(а) в 172 сообщениях
|
Цитата:
|
|
03.09.2008, 19:34 | #21 |
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,717
Вы сказали Спасибо: 1,424
Поблагодарили 2,377 раз(а) в 1,330 сообщениях
|
вибачте, ГР (головний резервуар )
привязать то можно, но нужно и скрипт переделать и сделать скрипт кабины (а поскольку админ этого скрипта TRam_, и он пока не разрабатывает, то ответ нет) Последний раз редактировалось TRam_; 03.09.2008 в 19:43. |
22.07.2009, 19:12 | #22 |
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,717
Вы сказали Спасибо: 1,424
Поблагодарили 2,377 раз(а) в 1,330 сообщениях
|
возобновляю эту старую, забытую тему....
итак... Открываем папку любой trz , папку Settings, файл keyboard.txt В нём мы видим все используемые этой игрой клавиши, и строки, кодирующие эти клавиши. Именно СТРОКИ движок trz воспринимает при нажатии клавиш. Как видете, многие клавиши повторяются для разных строк (значит, обе эти строки будут обрабатываться одновременно). В трс можно два способа "информирования" скрипта о нажатии клавиши - скриптовый и косвенно-скриптовый. Начнём с косвенно-скриптового, т.е. с распознавания сообщений о том или ином действии клавиши. Таких действия 4 - включение гудка, включение "звонка"(Америка...), включение посыпания песка и поднятие токоприёмника. Покажу, как их "доставать". Если у нас 2009(более ранним не надо), то в trainzoptions.txt прописывем строку -enablescriptmessagelogging Заходим в trz, устанавливаем на рельсы электровоз, и нажимаем клавиши из keyboard.txt соответствующие строкам train_horn train_sand train_bell train_pantograph_toggle После этого выключаем trz и просматриваем файл "JetLog.txt". В нём находим интресующие нас строки - ? 000004B8 Warn 1:01.1 Trainz : ScriptLog> router message from 0002 '' to 0000 '', message Train, NotifyHorn ? 000004B8 Warn 0:53.1 Trainz : ScriptLog> router message from 0002 '' to 0000 '', message Train, NotifySanding ? 000004B8 Warn 0:54.2 Trainz : ScriptLog> router message from 0002 '' to 0000 '', message Train, NotifyBell ? 000004B8 Warn 0:58.7 Trainz : ScriptLog> router message from 0002 '' to 0000 '', message Train, NotifyPantographs Значит, для того, чтобы "поймать" эти клавиши, достаточно создать в скрипте локомотива функцию-обработчик одного из этих сообщений типа void obrabotchik1(Message msg) { // проверяем, что это сообщение послал именно наш поезд if(cast<train> (msg.src)==me.GetMyTrain()) { //здесь собственно обработка нажатия } } и "установить" её на локомотив AddHandler(me,"Train","NotifyHorn","obrabotchik1") ; Но это не основной способ получения клавиш. Рассмотрим основной, скриптовый. Итак, заходим в папку scripts , находим там файл "Cabin.gs" и открываем его. Тут описывается всё функции кабины, написаные аурановцами и скомпилированные в "Cabin.gsl" папки libraries . класс CabinControl вообще широко известен, именно он широко используются в ВЛ10-1628 и ЧС4т для "вылавливания" поворота мышью ручек и тумблеров. Ну класс Cabin является родителем класса DefaultLocomotiveCabin, установленного почти на всех "нескриптованных" непаровых локомотивах . А теперь рассмотрим функцию, которая в самом низу этого класса, выглядящую так public void UserPressKey(string s) { Interface.Log("Cabin.UserPressKey> unhandled key-command " + s); } Аурановцы говорят, что вызовом этой функции заставить trz "подумать, что нажималась клавиша" нельзя, эта функция только ВЫЗЫВАЕТСЯ ОБРАБОТЧИКОМ нажатия клавиши на клавиатуре. Подождите, что-то знакомая строка.... Открываем JetLog.txt и перед строкой ? 000004B8 Warn 0:58.7 Trainz : ScriptLog> router message from 0002 '' to 0000 '', message Train, NotifyPantographs видим строку (тут прописывание -enablescriptmessagelogging в 2009 роли не играет) ? 000004B8 Warn 0:58.7 Trainz : WorldState::NativeLog> Cabin.UserPressKey> unhandled key-command firebox-door-toggle Вот-то она, работа этой самой процедуры... А "firebox-door-toggle" - почти то же, что "train_cabin_firebox_door_toggle", согласно keyboard.txt соответствует клавиша KP1 , та же, что и для токоприёмника. Ну и перебрав таким же образом (на нескриптованном электровозе) все клавиши, описанные в keyboard.txt, получаем следующий список "работающих": а) для всех версий trz train_cabin_brake_application firebox-door-toggle (соответствует train_cabin_firebox_door_toggle) train_cabin_throttle_0 train_cabin_throttle_up train_cabin_throttle_down steam-regulator-up (соответсвует train_cabin_regulator_up) steam-regulator-down (соответсвует train_cabin_regulator_down) steam-reverser-up (соответсвует train_cabin_reverser_up) steam-reverser-down (соответсвует train_cabin_reverser_down) wave (соответсвует train_cabin_coalman_wave) steam-blower-up (соответсвует train_cabin_blower_up) steam-blower-down (соответсвует train_cabin_blower_down) steam-injector-up (соответсвует train_cabin_injector_up) steam-injector-down (соответсвует train_cabin_injector_down) cabin-fans (соответсвует train_cabin_fans) shovel-coal (соответсвует train_cabin_shovel_coal) б) и для версий 2009 и старше (аурановцы, как и обещали, расширили предыдущий список) train_cabin_toggle_draincocks train_cabin_aws_isolate train_cabin_aws_activate train_cabin_tpws_reset train_cabin_tpws_override train_cabin_dra_on train_cabin_dra_off train_cabin_emergency_stop train_cabin_master_switch_on train_cabin_master_switch_off train_cabin_panel_lamp_test steam-injector2-up (соответсвует train_cabin_injector2_up) steam-injector2-down (соответсвует train_cabin_injector2_down) train_cabin_toggle_draincocks train_cabin_engine_on train_cabin_engine_off train_cabin_hardware_0 train_cabin_hardware_1 train_cabin_panel_lamp_test train_cabin_wipers_on train_cabin_wipers_off train_cabin_hardware_0 train_cabin_hardware_1 обращаю Ваше внимание - некоторые строки относятся к 2 клавишам одновременно. Хотя файл keyboard.txt в ранних версиях защищён от записи, Вы можете скопировать его содержимое в копию любого текстового файла из директории trs (для сохранения кодировки) назвать keyboard.txt и заменить им этот файл. В 2009 его можно редактировать свободно. Ну а пример обработки кабиной, например, "wave" такой void UserPressKey(string s) { if (s == "wave") { // собственно обработка клавиши } } Напоминаю, что кабина "активна", если вы находитесь на этом локомотиве (но не обязательно в виде "1" - и в "2" и остальных )
__________________
местный зомбяк Последний раз редактировалось TRam_; 22.07.2009 в 19:22. |
Этот пользователь сказал Спасибо TRam_ за это полезное сообщение: |
23.07.2009, 10:11 | #23 |
Матёрый пользователь
Регистрация: 10.02.2008
Сообщений: 1,440
Вы сказали Спасибо: 0
Поблагодарили 7 раз(а) в 7 сообщениях
|
А если сделать шаг дальше - дописать в файл keyboard.txt еще пару клавиш и назначить им сообщение?
__________________
Это наша-то колея узкая? Да это ваша слишком широкая! |
23.07.2009, 11:47 | #24 |
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,717
Вы сказали Спасибо: 1,424
Поблагодарили 2,377 раз(а) в 1,330 сообщениях
|
Новых строк назначить нельзя. Можно только переназначит клавиши, соответствующие строкам
А сообщения вообще нильзя сделать никак
__________________
местный зомбяк |
23.07.2009, 12:05 | #25 |
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,717
Вы сказали Спасибо: 1,424
Поблагодарили 2,377 раз(а) в 1,330 сообщениях
|
точнее, самый простой способ "улавливания клашиши" и передачи её локомотиву в виде сообщения такой
class Cabin_keyb isclass DefaultLoocmotiveCabin { void UserPressKey(string s) { if (s == "train_cabin_engine_on") { PostMessage(loco,"engine","on",0); } else if (s == "train_cabin_engine_off") { PostMessage(loco,"engine","off",0); } } хотя я предпочитаю другой способ, используя класс CabinData }
__________________
местный зомбяк |
23.07.2009, 14:52 | #26 |
Матёрый пользователь
Регистрация: 10.02.2008
Сообщений: 1,440
Вы сказали Спасибо: 0
Поблагодарили 7 раз(а) в 7 сообщениях
|
Володя, а ты не пробовал раскурочить аурановские файлы? Которые скомпилированные? Они ж все, заразы, дополнительно в виде исходников выложены. Может, стоит там поискать список сообщений?
__________________
Это наша-то колея узкая? Да это ваша слишком широкая! |
23.07.2009, 15:18 | #27 | |
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,717
Вы сказали Спасибо: 1,424
Поблагодарили 2,377 раз(а) в 1,330 сообщениях
|
список строк я дал. Думаю, он совершенно полный, т.к. именно по файлу keyboard.txt трейнз расшифровывает клавиатуру (насколько я понял аурановцев). Если хотите, можете перепроверить его на наличие неуказнных мною строк, которые всё-таки работают...
в 2009 нам дали 23(!!!) дополнительных слоков под клавиши. В дефолтных локах они ни на что не влияют. Поэтому смело делай "преобразователь" своего пульта на клавиши, соответствующие им (там большинство расшифровывается как Alt+<клавиша> ) Цитата:
Задай к ним нужные тебе клавиши и "прилагай" к своему "пульту" новый keyboard.txt , адаптированный к пульту.
__________________
местный зомбяк Последний раз редактировалось TRam_; 23.07.2009 в 15:21. |
|
13.11.2009, 23:07 | #28 |
Матёрый пользователь
|
Есть предложение глобально изменить keyboard.txt файл, так, чтобы было одинаково у всех.
Что не нравится в текущем варианте: 1. Наличие строк с неназначенными комбинациями, вроде train_cabin_throttle_8 null Это снижает количество возможных комбинаций 2. Несколько клавиш, обрабатываемые одной строкой, к примеру: train_cabin_brake_release q, KP9, KPPgUp Это сразу лишает возможности отдельно использовать нампад. 3. Клавиши p, [, ] заняты самой игрой. Я не знаю, исправит ли это правка файла, но стоит попробовать. Одна из целей этого - обеспечить возможность реализации более удобной раскладки клавиш: Блок qweasd - управление контроллером r, f - управление реверсивкой [, ] - КВТ (, и . в случае невозможности) ; ' - КМ x, h, b - песок, тифон, свисток Нампад - управление дверями в трамваях и МВПС, а также функции автоинформаторов, МСУД и т.п. Соответственно, хочется услышать мнения насколько это все необходимо и обосновано, а также возможные последствия от этого шага. Последний раз редактировалось genesis; 13.11.2009 в 23:13. |
14.11.2009, 13:10 | #29 |
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,717
Вы сказали Спасибо: 1,424
Поблагодарили 2,377 раз(а) в 1,330 сообщениях
|
считаю что необходимо. Только потом сделать описание, чему каждая клавиша соостветствует и распространять его вместе с keyboard.txt
__________________
местный зомбяк |
14.11.2009, 13:35 | #30 |
Матёрый пользователь
Регистрация: 10.02.2008
Сообщений: 1,440
Вы сказали Спасибо: 0
Поблагодарили 7 раз(а) в 7 сообщениях
|
Согласен. На основе унифицированного файла всем будет удобнее. А вот нумпад желательно бы вообще исключить - ну его, этот нумпад. Верхние цифры заняты под камеры, F-ы - под менюшки. Может, стоит рассмотреть вариант Shift+кнопка по образцу МСТС?
__________________
Это наша-то колея узкая? Да это ваша слишком широкая! |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|
Что это? |