Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   TrainZ - Моделирование (http://www.trainsim.ru/forum/forumdisplay.php?f=25)
-   -   Клавиши в trainz (http://www.trainsim.ru/forum/showthread.php?t=3366)

TRam_ 27.08.2008 18:07

Клавиши в trainz
 
до недавнего времени на всех "наших" сайтах о данной игре не освещался способ скриптования кавиш. И хотя почти все могут использовать форму

[CODE] void UserPressKey(string s)
{
if (!veh)
{
inherited(s);
return;
}

Train train = veh.GetMyTrain();

if (s == "train_cabin_brake_application")
{
if (train_brake_lever )
{
// self-lapping brakes
float brakes = train.GetTrainBrakes();

if (brakes < Train.TRAIN_BRAKE_INITIAL)
brakes = Train.TRAIN_BRAKE_INITIAL;
else
{
brakes = brakes + 0.05f;
if (brakes > Train.TRAIN_BRAKE_APPLICATION)
brakes = Train.TRAIN_BRAKE_APPLICATION;
}

train.SetTrainBrakes(brakes);
}
}
}
[/CODE]в скрипте кабины, но никто не говорил о кодовых строках подобных "train_cabin_brake_application" . Полный их список содержится в
(директория трейнз)->Settings->keyboard.txt

В дальнейшем создавая скрипты управления клавишами, можно значительно упростить жизнь "работникам виртуальной ж-д "
Изменяя содержимое этого файла можно наоборот менять клавиши "под свои любимые". пример содержимого

[CODE] train_dcc_down x, comma
train_dcc_up w, fullstop
train_dcc_stop s, slash
train_dcc_handbrake a, apostrophe
[/CODE]
т.е. можно строку s скрипта сравнивать также со строками типа "train_dcc_up" или "train_dcc_stop".
Думаю даная тема позволит управлять новым ВЛ10 не только с помощью мышки :rolleyes: :russian:

Combine 27.08.2008 19:24

[QUOTE]Думаю даная тема позволит управлять новым ВЛ10 не только с помощью мышки [/QUOTE] Да я это все знаю давно, не всё, что в файле описано, работает, и в ВЛ10 управление с клавиатуры делать не будем.

Skif 27.08.2008 21:51

-20% привлекательности модели.

TRam_ 27.08.2008 22:04

[QUOTE=Skif;41058]-20% привлекательности модели.[/QUOTE]как знать, как знать...

genesis 28.08.2008 08:16

Не все так просто так как
1. Половина этих самых клавиш описанных в keyboard.txt не работает начиная с классика.
2. Добавление своих конешно решает эту проблему но создает лишь неудобства пользователям
3. Ауран эту проблему решать не собирается
[QUOTE]-Pass ALL keystroke information to the cab/cabin script. Currently only a subset of the keys usable are passed to the script methods meaning the cab script cannot react to all the users control requests and the range of controls is not extensible. -eldavo
--Please provide more information on what you want here. Which keys are you missing out on that you actually need? -chris
--At this time Trainz does not passes via Cabin.UserPressKey(string) large number of keyboard shortcuts defined in file Settings/keyboard.txt. This makes difficult to override default cabin implementation and defining custom functions to keys. -Mike
--As above, please provide specifics. We will not be simply passing through all keyboard information because this breaks localisation support. We may be able to help with specific requests. ~chris[/QUOTE]
Об какой спрашивается локализации они говорят?
4. Могу заверить что все это скриптерам давно известно:p

Combine 28.08.2008 15:04

[QUOTE]-20% привлекательности модели.[/QUOTE] Не нравится, не катайся ;)

genesis 28.08.2008 16:36

Присоединяюсь. Мышкой гораздо приятнее управляться в кабине, щелкать кнопками и прч.:)

Skif 28.08.2008 22:19

Вот и крути одновременно мышом камеру и ручки - если успеешь управиться одновременно смотреть в окно и на кран. А я буду дальше кататься с пульта, как нормальный человек.

genesis 28.08.2008 22:52

поверь, прекрасно успеваю, и еще получаю от этого удовольствие. Если у вас на экране не помещаются все рычаги управления, измените угол обзора в кабине ключом -cabinFOV=XX в trainzoptions.txt

Skif 28.08.2008 23:34

... А код-то в примере практически чистый С++ :)). Ох, чую я, что займусь я этими скриптами, да так, что от траинзы щепки полетят!

// злорадно и многообещающе потирает руки, ехидно посмеиваясь

Skif 30.08.2008 21:20

Очень даже понятный скрипт - при помощи интерфейсных конструкций GetTrainBrakes() и SetTrainBrakes осуществляется изменения состояния переменной brake - объекта класса train... Если текущее меньше предыдущего, не трогать тормоза, если больше - сделать разрядку....

А кто вообще может дать почитать список всех используемых игрой функций управления объектами классов, описание самих классов ? Пожалуйста, очень интересно.

genesis 30.08.2008 23:06

АПИ, загружается на files.auran.com

Skif 01.09.2008 21:20

Спасибо! Ещё переводить никто не брался? Было бы вообще класс, меньше кипит мозг при чтении.

xXx 02.09.2008 13:25

[QUOTE=Skif;41653]Очень даже понятный скрипт - при помощи интерфейсных конструкций GetTrainBrakes() и SetTrainBrakes осуществляется изменения состояния переменной brake - объекта класса train... Если текущее меньше предыдущего, не трогать тормоза, если больше - сделать разрядку....
[/QUOTE]

Вроде бы здесь о разрядке речь не идёт? :confused:
В скрипте речь идёт чисто о степени применения тормоза.

genesis 02.09.2008 14:04

[QUOTE=Skif;41963]Спасибо! Ещё переводить никто не брался? Было бы вообще класс, меньше кипит мозг при чтении.[/QUOTE]
Мозг будет кипеть после того, как узнаешь что половина "пикантных особенностей" не оговорена ни словом, к куче функций описания весьма скормны и непонятны, а кое-что поблескивает надписью "Obsolete, do not use!!!" или "This functions isn't implemented yet"... x_x


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

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