|
Клавиши в 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: |
[QUOTE]Думаю даная тема позволит управлять новым ВЛ10 не только с помощью мышки [/QUOTE] Да я это все знаю давно, не всё, что в файле описано, работает, и в ВЛ10 управление с клавиатуры делать не будем.
|
-20% привлекательности модели.
|
[QUOTE=Skif;41058]-20% привлекательности модели.[/QUOTE]как знать, как знать...
|
Не все так просто так как
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 |
[QUOTE]-20% привлекательности модели.[/QUOTE] Не нравится, не катайся ;)
|
Присоединяюсь. Мышкой гораздо приятнее управляться в кабине, щелкать кнопками и прч.:)
|
Вот и крути одновременно мышом камеру и ручки - если успеешь управиться одновременно смотреть в окно и на кран. А я буду дальше кататься с пульта, как нормальный человек.
|
поверь, прекрасно успеваю, и еще получаю от этого удовольствие. Если у вас на экране не помещаются все рычаги управления, измените угол обзора в кабине ключом -cabinFOV=XX в trainzoptions.txt
|
... А код-то в примере практически чистый С++ :)). Ох, чую я, что займусь я этими скриптами, да так, что от траинзы щепки полетят!
// злорадно и многообещающе потирает руки, ехидно посмеиваясь |
Очень даже понятный скрипт - при помощи интерфейсных конструкций GetTrainBrakes() и SetTrainBrakes осуществляется изменения состояния переменной brake - объекта класса train... Если текущее меньше предыдущего, не трогать тормоза, если больше - сделать разрядку....
А кто вообще может дать почитать список всех используемых игрой функций управления объектами классов, описание самих классов ? Пожалуйста, очень интересно. |
АПИ, загружается на files.auran.com
|
Спасибо! Ещё переводить никто не брался? Было бы вообще класс, меньше кипит мозг при чтении.
|
[QUOTE=Skif;41653]Очень даже понятный скрипт - при помощи интерфейсных конструкций GetTrainBrakes() и SetTrainBrakes осуществляется изменения состояния переменной brake - объекта класса train... Если текущее меньше предыдущего, не трогать тормоза, если больше - сделать разрядку....
[/QUOTE] Вроде бы здесь о разрядке речь не идёт? :confused: В скрипте речь идёт чисто о степени применения тормоза. |
[QUOTE=Skif;41963]Спасибо! Ещё переводить никто не брался? Было бы вообще класс, меньше кипит мозг при чтении.[/QUOTE]
Мозг будет кипеть после того, как узнаешь что половина "пикантных особенностей" не оговорена ни словом, к куче функций описания весьма скормны и непонятны, а кое-что поблескивает надписью "Obsolete, do not use!!!" или "This functions isn't implemented yet"... x_x |
Текущее время: 19:31. Часовой пояс GMT +4. |
|
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim