Форум Trainsim  

Вернуться   Форум Trainsim > Auran TrainZ > TrainZ - Моделирование

Ответ
 
Опции темы Опции просмотра
Старый 02.09.2008, 20:50   #16
TRam_
Матёрый пользователь
 
Аватар для TRam_
 
Регистрация: 18.02.2008
Сообщений: 8,703
Вы сказали Спасибо: 1,424
Поблагодарили 2,365 раз(а) в 1,319 сообщениях
TRam_ стоит на развилке (репутация по умолчанию)
По умолчанию

ну и что? главное - что можно сделать кучу процессов которые будут работать одновременно(звуки, управления тягой, тормозами, проскальзыванием, тормозной рукояткой, компрессором, светом, "прикрепляемыми" и(или) анимрованными сценами (возможна даже "вложенная анимация", хотя официально это не возможно ), звуком, как 2-мерным, так и 3-мерным(и при удалении от этого звук естественно затухает))).
Но запомните - при торможении мы сможем опустошить только ГМ, т.к. "зарядка" в трейнз "автоматическая", автомат начинает прекрашать подачу воздуха в ТМ без сверхзарядки совсем (к сожалению я ошибся насчёт неё).
TRam_ вне форума   Ответить с цитированием
Старый 01.01.2007, 12:00  
Яndex
Спонсор
 
 
Регистрация: 01.01.2007
Сообщения: 500


Реклама показывается изредка по случайному принципу
По умолчанию РЕКЛАМА

 
Старый 02.09.2008, 23:09   #17
genesis
Матёрый пользователь
 
Регистрация: 31.07.2007
Адрес: Ульяновск
Сообщений: 2,570
Вы сказали Спасибо: 245
Поблагодарили 174 раз(а) в 76 сообщениях
genesis стоит на развилке (репутация по умолчанию)
Отправить сообщение для genesis с помощью ICQ Отправить сообщение для genesis с помощью Skype™
По умолчанию

Цитата:
Сообщение от TRam_ Посмотреть сообщение
возможна даже "вложенная анимация", хотя официально это не возможно
Не понял что здесь имеется ввиду О_о Если сложение/наложение анимаций то все работает и поддерживается самим джетом
genesis вне форума   Ответить с цитированием
Старый 03.09.2008, 11:50   #18
TRam_
Матёрый пользователь
 
Аватар для TRam_
 
Регистрация: 18.02.2008
Сообщений: 8,703
Вы сказали Спасибо: 1,424
Поблагодарили 2,365 раз(а) в 1,319 сообщениях
TRam_ стоит на развилке (репутация по умолчанию)
По умолчанию

это не поддерживается плагином. обычные точки привязки неанимируемы
TRam_ вне форума   Ответить с цитированием
Старый 03.09.2008, 16:45   #19
Evgenyi
Матёрый пользователь
 
Аватар для Evgenyi
 
Регистрация: 15.05.2008
Адрес: С-Пб (Балт). ТЧ-15
Сообщений: 3,960
Вы сказали Спасибо: 72
Поблагодарили 233 раз(а) в 117 сообщениях
Evgenyi стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Сообщение от Combine Посмотреть сообщение
Не нравится, не катайся
Сто раз согласен ! Наконец-то будет лок, который управляется как в реале. Или вреале вы тоже нажимаете Num3, чтобы затормазить ?

Вопрос по теме:
Тут недавно вышел ВЛ80Р-1867 со скриптом включения ГВ и МВ. А можно это дело привязать к клавишам?
__________________
В ангаре:F-15c, СУ-27, СУ-25Т, МиГ-29С.
"Да и хрен с ней с этой рацией! Горизонт держи, б*я!!"(с) лётный инструктор
Evgenyi вне форума   Ответить с цитированием
Старый 03.09.2008, 19:07   #20
Combine
Матёрый пользователь
 
Аватар для Combine
 
Регистрация: 30.08.2007
Адрес: Московская область, 36км
Сообщений: 3,620
Вы сказали Спасибо: 263
Поблагодарили 304 раз(а) в 172 сообщениях
Combine стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Но запомните - при торможении мы сможем опустошить только ГМ
ГМ не бывает. Есть НМ, ТМ...
Combine вне форума   Ответить с цитированием
Старый 03.09.2008, 19:34   #21
TRam_
Матёрый пользователь
 
Аватар для TRam_
 
Регистрация: 18.02.2008
Сообщений: 8,703
Вы сказали Спасибо: 1,424
Поблагодарили 2,365 раз(а) в 1,319 сообщениях
TRam_ стоит на развилке (репутация по умолчанию)
По умолчанию

вибачте, ГР (головний резервуар )

привязать то можно, но нужно и скрипт переделать и сделать скрипт кабины (а поскольку админ этого скрипта TRam_, и он пока не разрабатывает, то ответ нет)

Последний раз редактировалось TRam_; 03.09.2008 в 19:43.
TRam_ вне форума   Ответить с цитированием
Старый 22.07.2009, 19:12   #22
TRam_
Матёрый пользователь
 
Аватар для TRam_
 
Регистрация: 18.02.2008
Сообщений: 8,703
Вы сказали Спасибо: 1,424
Поблагодарили 2,365 раз(а) в 1,319 сообщениях
TRam_ стоит на развилке (репутация по умолчанию)
По умолчанию

возобновляю эту старую, забытую тему....

итак... Открываем папку любой 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_ вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо TRam_ за это полезное сообщение:
Старый 23.07.2009, 10:11   #23
Skif
Матёрый пользователь
 
Аватар для Skif
 
Регистрация: 10.02.2008
Сообщений: 1,440
Вы сказали Спасибо: 0
Поблагодарили 7 раз(а) в 7 сообщениях
Skif стоит на развилке (репутация по умолчанию)
По умолчанию

А если сделать шаг дальше - дописать в файл keyboard.txt еще пару клавиш и назначить им сообщение?
__________________
Это наша-то колея узкая? Да это ваша слишком широкая!
Skif вне форума   Ответить с цитированием
Старый 23.07.2009, 11:47   #24
TRam_
Матёрый пользователь
 
Аватар для TRam_
 
Регистрация: 18.02.2008
Сообщений: 8,703
Вы сказали Спасибо: 1,424
Поблагодарили 2,365 раз(а) в 1,319 сообщениях
TRam_ стоит на развилке (репутация по умолчанию)
По умолчанию

Новых строк назначить нельзя. Можно только переназначит клавиши, соответствующие строкам

А сообщения вообще нильзя сделать никак
__________________
местный зомбяк
TRam_ вне форума   Ответить с цитированием
Старый 23.07.2009, 12:05   #25
TRam_
Матёрый пользователь
 
Аватар для TRam_
 
Регистрация: 18.02.2008
Сообщений: 8,703
Вы сказали Спасибо: 1,424
Поблагодарили 2,365 раз(а) в 1,319 сообщениях
TRam_ стоит на развилке (репутация по умолчанию)
По умолчанию

точнее, самый простой способ "улавливания клашиши" и передачи её локомотиву в виде сообщения такой

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

}
__________________
местный зомбяк
TRam_ вне форума   Ответить с цитированием
Старый 23.07.2009, 14:52   #26
Skif
Матёрый пользователь
 
Аватар для Skif
 
Регистрация: 10.02.2008
Сообщений: 1,440
Вы сказали Спасибо: 0
Поблагодарили 7 раз(а) в 7 сообщениях
Skif стоит на развилке (репутация по умолчанию)
По умолчанию

Володя, а ты не пробовал раскурочить аурановские файлы? Которые скомпилированные? Они ж все, заразы, дополнительно в виде исходников выложены. Может, стоит там поискать список сообщений?
__________________
Это наша-то колея узкая? Да это ваша слишком широкая!
Skif вне форума   Ответить с цитированием
Старый 23.07.2009, 15:18   #27
TRam_
Матёрый пользователь
 
Аватар для TRam_
 
Регистрация: 18.02.2008
Сообщений: 8,703
Вы сказали Спасибо: 1,424
Поблагодарили 2,365 раз(а) в 1,319 сообщениях
TRam_ стоит на развилке (репутация по умолчанию)
По умолчанию

список строк я дал. Думаю, он совершенно полный, т.к. именно по файлу keyboard.txt трейнз расшифровывает клавиатуру (насколько я понял аурановцев). Если хотите, можете перепроверить его на наличие неуказнных мною строк, которые всё-таки работают...

в 2009 нам дали 23(!!!) дополнительных слоков под клавиши. В дефолтных локах они ни на что не влияют. Поэтому смело делай "преобразователь" своего пульта на клавиши, соответствующие им (там большинство расшифровывается как Alt+<клавиша> )

Цитата:
Которые скомпилированные?
но зачем? И так 23 новых слота под клавиши работают... Неужели мало?

Задай к ним нужные тебе клавиши и "прилагай" к своему "пульту" новый keyboard.txt , адаптированный к пульту.
__________________
местный зомбяк

Последний раз редактировалось TRam_; 23.07.2009 в 15:21.
TRam_ вне форума   Ответить с цитированием
Старый 13.11.2009, 23:07   #28
genesis
Матёрый пользователь
 
Регистрация: 31.07.2007
Адрес: Ульяновск
Сообщений: 2,570
Вы сказали Спасибо: 245
Поблагодарили 174 раз(а) в 76 сообщениях
genesis стоит на развилке (репутация по умолчанию)
Отправить сообщение для genesis с помощью ICQ Отправить сообщение для genesis с помощью Skype™
По умолчанию

Есть предложение глобально изменить 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.
genesis вне форума   Ответить с цитированием
Старый 14.11.2009, 13:10   #29
TRam_
Матёрый пользователь
 
Аватар для TRam_
 
Регистрация: 18.02.2008
Сообщений: 8,703
Вы сказали Спасибо: 1,424
Поблагодарили 2,365 раз(а) в 1,319 сообщениях
TRam_ стоит на развилке (репутация по умолчанию)
По умолчанию

считаю что необходимо. Только потом сделать описание, чему каждая клавиша соостветствует и распространять его вместе с keyboard.txt
__________________
местный зомбяк
TRam_ вне форума   Ответить с цитированием
Старый 14.11.2009, 13:35   #30
Skif
Матёрый пользователь
 
Аватар для Skif
 
Регистрация: 10.02.2008
Сообщений: 1,440
Вы сказали Спасибо: 0
Поблагодарили 7 раз(а) в 7 сообщениях
Skif стоит на развилке (репутация по умолчанию)
По умолчанию

Согласен. На основе унифицированного файла всем будет удобнее. А вот нумпад желательно бы вообще исключить - ну его, этот нумпад. Верхние цифры заняты под камеры, F-ы - под менюшки. Может, стоит рассмотреть вариант Shift+кнопка по образцу МСТС?
__________________
Это наша-то колея узкая? Да это ваша слишком широкая!
Skif вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 13:36. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim
TopList Нажми для появления дома Trainsim на карте Intermap
Что это?