Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   TrainZ - Подвижной состав (http://www.trainsim.ru/forum/forumdisplay.php?f=23)
-   -   Запуск\выкл двигателей на тепловозах (http://www.trainsim.ru/forum/showthread.php?t=987)

ТЧ1-ПМ 09.12.2007 14:44

Запуск\выкл двигателей на тепловозах
 
Давно интересует вопрос,могут ли наши умельцы заставить наши тепловозы заводить и заглушать двигатели?Знаю что на американском SD70 такая функция есть.Пытался вскрыть его,но он защищён от взлома.
Жду ответов.

varz 10.12.2007 19:41

что имеется ввиду под запуском/остановом двигателя?

Combine 13.12.2007 10:30

Умельцы могут :) Только тепловозов пока нет.

varz 24.12.2007 21:43

знаком мне такой алгоритм, работает хреново, при очень большом желании можно доехать до бензоколонки. Реальный механизим блокировки работы дизеля/трансформатора/контроллера почему то не работает, хоть и прописан в скриптАПИ.

varz 24.12.2007 21:44

а че с датами постов происходит? помню что недавно постил!!!

passer 24.12.2007 22:15

Они вообще вроде исчезли...

Combine 28.12.2007 00:12

[QUOTE]Реальный механизим блокировки работы дизеля/трансформатора/контроллера почему то не работает, хоть и прописан в скриптАПИ.[/QUOTE] Если все достаточно быстро приводить в норму в скрипте, то не выйдет) На ВЛ10-1628 я сделал обновление монитора через 0.1с, боты максимум 20 км\ч так могут ехать. Человек, соответсвенно, не уедет вообще :)

varz 28.12.2007 22:48

Саша! Согласись, что - это лажа, когда тебя скриптом по рукам бъют, вместо того, чтоб скриптом просто заблокировать работу.
Тем более что я "рукобойку" сделал по принципу "как только - так сразу", а не "delay= 0.01с".
в общем, мне не нравиться и я не реализовываю.

***
Перфекционисты Всех Стран ОБЪЕДИНЯЙТЕСЬ :russian: :cool: :cool: :)

Skif 11.02.2008 00:52

Так всё-таки, вскрыл ли кто-нибудь скрипт пуска дизеля для SD70 или нет?

TRam_ 18.02.2008 00:47

Никто его не вскрывал, поскольку в нём нет ничего революционного (тепловоз сдвигается в конце концов с места с выкл. двигателем), и толкать "холодным" его нельзя. varz почти сделал скрипт на полную остановку локомотива. Но "охладить" (т.е. изменить физику чтоб один из тепловозов в составе не тянул) [U][SIZE="4"]практически невозможно[/SIZE][/U], по крайней мере скриптами

genesis 25.03.2008 17:14

[QUOTE=varz;14404]Саша! Согласись, что - это лажа, когда тебя скриптом по рукам бъют, вместо того, чтоб скриптом просто заблокировать работу.
Тем более что я "рукобойку" сделал по принципу "как только - так сразу", а не "delay= 0.01с".[/QUOTE]
Ткж а какж Locomotive.SetBrokenReverser и Locomotive.SetBrokenThrottle?
Это они и не работают?

TRam_ 25.03.2008 18:27

впиши их и попробуй. Если хочешЬ позже пришлю тебе скрипт кабины, в которой можно дёргать за что угодно при опущенном пантографе, но ничего никуда не поедет, при нажатии "w"или "x" будет включаться автопилот секунд на 10 (я думаю достаточно чтобы отбить желание сдвинуть его удерживанием клавиши). Но основной проблемы даже при работе этих методов это не решает: как работали локи состава по СМЕ так и будут работать . Но может посмотрю скрипт реагирования на клавиши (хотя скорее всего он "впаян" в саму игру).

Может начнём делать "параллельную физику"? Создадим вагон, в котором будет отключена физика, но будут просчитываться парамеры (уклон, давление соседних вагонов, ускорение, скорость, и "мгновенными" включениями тормоза изменять скорость (его будет трясти, но с периодом 0.05-0.01 с никто наверно не заметит, не знаю, особенно если поставить ему малую массу и быстрое наполнение тормозов (опустошение соответственно тоже))). А затем создать лок, который такими же сменами "газ-тормоз" может получать из скрипта самые сложные тяговые и тормозные расчёты? А в кабину поместить рычаги, которые меняли бы не стандартные контроллёр и тормоза, а "русские". Правда с клавишами сложно будет:(

Но скажу, что электровоз ВЛ80 на 1 позиции с тягой в 550 можно на пересчёте кабины (т.е. в скрипте обновления кабины прописана смена Throttle на 0) разогнать до 5 км/ч. (реверсер свободен, естественно):(

varz 25.03.2008 21:07

значит так:
1. SetBroken - не работает вообще
2. Постоянный сброс работает некоректно, уехать можно.
3. Реальный механизм блокировки езды - наличие кабины и перехват клавиш. Однако все теряет смысл, если в поезде окажется лок без п.3

TRam_ 25.03.2008 21:47

кстати можно попробовать сделать месседж на перехват клавиш в основной скрипт, но никто не даст. Кстати, в нём можно следующее натворить (Ваш, varz, метод)

[URL="http://ifolder.ru/5880434"]http://ifolder.ru/5880434[/URL] - 730 Кб

varz 25.03.2008 22:51

[QUOTE=TRam_;21775]кстати можно попробовать сделать месседж на перехват клавиш в основной скрипт, но никто не даст. Кстати, в нём можно следующее натворить (Ваш, varz, метод)

[URL="http://ifolder.ru/5880434"]http://ifolder.ru/5880434[/URL] - 730 Кб[/QUOTE]

Tram_, че надо сделать? :confused:
вопросы в майл

genesis 25.03.2008 23:37

[QUOTE=TRam_;21756]Может начнём делать "параллельную физику"? Создадим вагон, в котором будет отключена физика, но будут просчитываться парамеры (уклон, давление соседних вагонов, ускорение, скорость, и "мгновенными" включениями тормоза изменять скорость (его будет трясти, но с периодом 0.05-0.01 с никто наверно не заметит, не знаю, особенно если поставить ему малую массу и быстрое наполнение тормозов (опустошение соответственно тоже))). А затем создать лок, который такими же сменами "газ-тормоз" может получать из скрипта самые сложные тяговые и тормозные расчёты? А в кабину поместить рычаги, которые меняли бы не стандартные контроллёр и тормоза, а "русские". Правда с клавишами сложно будет:([/QUOTE]
Для этого нужно много параллельных ядер на компе иметь:)
Еще есть вариант забанить все управление лока (как на станциях) и поставить перехват на панты, вкл/выкл лока итд.

TRam_ 26.03.2008 20:26

а кстати скрипт того, что весит 730 кб (см. предыдущий пост) работает и на клаве. так что проблема безглючного отключения поезда уже решена 2 независимыми "разрабами": varzом и мной (мой способ в "прокат" не поступит, так как надо менять дефолтовский скрипт, и выключает управление на всех локах (пока двигатель не включишь, подняв "пантограф", ни один поезд с места из-за тебя не сдвинется))...
А насчет [QUOTE]нужно много параллельных ядер[/QUOTE] - попробуй на стандартном скрипте зажать вперёд и определи его глючность:)

Можно сделать "облегчённую" редакцию всего этого - сделать для некоторых локов параметры, которые определяют их мощность и время "скорости набора позиций" (т.е. время разгона двигателя до номинальных оборотов), а по этим параметрам вычислять необходимое тяговую, например, позиция 0.5 для состава из тепловоза и электровоза(например, 4 позиция тепловоза с отключенным электровозом), обрабатывается как 0.1 с он едет на 1 позиции, следуюшие 0.1 с едет на 0 позиции, и т.д. Как - ещё не придумал. Но создать такое положение можно было бы на рычажке в кабине, можно даже с клавы устроить ввод!!! И пересчёт формул вёлся бы только при включении карты и обработки сцепепки. При включенных тепловозах скрипт "спит".

Но просто нужно ли это делать? По-моему физики в Трэинз мало кто хочет...:( почему-то:(

genesis 26.03.2008 22:42

[QUOTE=TRam_;21839]По-моему физики в Трэинз мало кто хочет...:( почему-то:([/QUOTE]
А это удобно - за 200 метров с сотни до нуля на служебном:cool:
Кажись так радикально не надо - ускорением торможением итд. заведует engine тип. Только руководство (CCG) там не щедро на инфу и хрен что поймеш в нем. Щас почитаю.
[QUOTE=TRam_;21839]попробуй[/QUOTE]
Щас, пробую. Запускаю ТС, Launcher-->Оййё!...:crazy:...Светлая перспектива установки 70гб допов...Светлая как все советское будущее:)
.....пойду пока CCG почитаю.....

TRam_ 26.03.2008 23:57

после удерживания клавиши 7-20 секунд игра может сломаться?????:eek: :eek: :eek: Разве?????

Combine 27.03.2008 09:33

Насчет 7 секунд -- брехня :) Вот 20 не знаю, но вряд ли.

TRam_ 27.03.2008 11:11

[QUOTE=varz;21773]значит так:
3. Реальный механизм блокировки езды - наличие кабины и перехват клавиш. Однако все теряет смысл, если в поезде окажется лок без п.3[/QUOTE]

кстати если заменить именно файл DefaultLocomotiveCabin в Scripts то блокировка будет даже без кабины:crazy: И каждый лок в игре тоже :crazy:

но ауран приказал своими лицензиями этому "долго жить" :russian:

genesis 28.03.2008 08:29

[QUOTE=TRam_;21876]заменить именно файл DefaultLocomotiveCabin в Scripts[/QUOTE]
Исрадостью обнаружить в трс скриптовые эксепшнены:rolleyes: Ништо менять ненадо, есть же наследование? никаких лицензий, береш и пишеш
[CODE]
class MySuperCabin isclass DefaultLocomotiveCabin
{
//тут всякая фигня
}//class MySuperCabin[/CODE]

TRam_ 28.03.2008 14:35

только надо тогда перегрузить (если перегрузка для дочернего обьекта работает) процедуры public void Update(void) , void UserSetControl(CabinControl control, float value) и void UserPressKey(string s), а это 70% кода. И приписывать скрипт нада к каждой дефолтовской кабине (нампада нет, стоит ТРС2004, на русских кабинах ни рычаг пантографа, ни переключатель контроллёра не работают, а дефолт защищён:mad:, проверить не могу)

TRam_ 06.05.2008 01:36

кстати, как оказалось, есть и прямое регулирование скоростью - Train.SetVelocity ( float vel ) - просто не заметил...

можно будет потом попробовать "поработать"...

varz 06.05.2008 19:32

можно, но малоинтересно. я применял в горочной тормозной позиции

varz 30.05.2008 18:59

:eek: произошла очередная значимая революция, сегодня на броневике едет [B]genesis[/B]

найден механизм выключения отдельного локомотива, теперь можно катать холодные локи в составе поезда.

проверял лично :drinks:

VicNik 30.05.2008 20:14

[QUOTE]теперь можно катать холодные локи в составе поезда[/QUOTE]

:eek: это действительно реально?

Midnighter 30.05.2008 20:16

жень, на 2006+сп1 будет пахать или классик нужен?

genesis 30.05.2008 22:25

на 2006-м пашет, Combine проверил. Учимся, товарищи, запускать локи:)

TRam_ 09.06.2008 17:37

чудом появилась СП1 и вот результат тестов:

[CODE]// глобальные переменные
float contr1,maxF;

...........
//в контроллёре
.......
contr1=me.GetEngineSetting("throttle");
if(MyTrain.GetPantographState() == 0)
me.SetMaximumTractiveEffort(0);
else
me.SetMaximumTractiveEffort(maxF);
me.SetEngineSetting("throttle",contr1);
..........

// в начале init
init()
{
maxF=me.GetMaximumTractiveEffort();

.........

}[/CODE]

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

а теперь как проходили тесты. Бралось 2 одинаковых состава (2 ВЛ10к с этим делом + дефолтовский лок (атамар, помойму)). На 1 составе пантограф не поднимался и набирались позиции(восьмая на дефолтовском локе), затем на 2 - поднимался пантограф и набирались позиции(восьмая на деф. локе). Когда лок с поднятыми пантографами обгонял "холодный", его пантографы опускались, а на 2 составе - поднимались.

в результате с опущенными разгонялся до 89 и всё, а с поднятыми до 160 и естественно догонял с опущенными (проводилось на British Milliards 1).

Думаю, такого для охлаждения достаточно (естественно, если ставить только "холодные локи" они никуда никогда не поедут, разве что колёсами будут вращать)

genesis 09.06.2008 18:35

Крутто. Я правда ничего-ничего не понял из того что там написано:D
ЗЫ. поправочка: максимальную силу тяги по умолчанию всегда получаеш $float@Vehicle::GetDefaultMaximumTractiveEffort(void)
Вот :o

TRam_ 10.06.2008 00:53

То, о чём мечтал RMM... Чмуха, разгоняющая "холодный" ВЛ10к уже 2 минуты, разогналась до 50, и её обганяет такой же ВЛ10к но в "горячем" состоянии :russian: :russian:

[URL=http://radikal.ru/F/i018.radikal.ru/0806/40/cefe12abf1f5.jpg.html][IMG]http://i018.radikal.ru/0806/40/cefe12abf1f5t.jpg[/IMG][/URL]
:o

TRam_ 12.06.2008 21:35

всё-таки если локомотивы одного типа из одного состава, то из сессии их трудно запустить (если конечно не создавать "локомотивный супертриггер"). Включать-выключать состав через сессию - реально, включать - выключать отдельный лок чере редактор - реально(точнее только что полностью реализовано). А вот в сессии по-видимому отдельный лок своего типа выключать можно только из кабины, притом все локи одного типа из одного состава БЕЗ "супертриггера" будут вкл/вык только одновременно

TRam_ 13.06.2008 14:20

в трейнз можно очень многое... И мой последний пост можно удалить. Теперь появился и DLC (Disel Locomotive Controller), абсолютно работоспособный в ТРС2006СП1 :cool:

кем сделан понятно...

genesis 13.06.2008 15:07

Ахх ты. Di[COLOR="Red"][B]e[/B][/COLOR]sel Locomotive Controller. Чет там рисует в гс себе и молчит. Все идеи забил под себя:D Давай в асю.
Кстати ты с солярой что там сделал?

TRam_ 13.06.2008 16:56

если не заметил, я в скрипте свой ник оставлять не собираюсь. Но компоновка и обезбаживание - это же тоже работа... С солярой не делал совсем ничего, кромке как поставил дефолтовскую для 2006. Проверю её расход.... Ответ в ЛС

genesis 13.06.2008 17:38

А зря:) Версия все равно не финал
Соляру нашу поставь, отечественную. Чтоб бес проблем распространять. Если у Разора время будет займемся экипировочным понктом для заправки локов;)

TRam_ 14.06.2008 20:32

а выключатель-то со вчерашнего дня работает, с сегодняшнего и с жалюзями взаимодействует :) Так что ждите чмуху со скриптом genesisа и моими исправлениями... Скрипт вроде отослал...

TRam_ 30.06.2008 22:48

[url]http://trains-clan.net/DOWNLOADS/TRAINZ/Disel.php[/url]

если не работает - пишите, постараемся исправить

TRam_ 28.07.2008 20:02

возобновляем темку... Зделал з(с)верхзарядку (эт скрипт тормоз дёргает, но в тормозных цилиндрах давление выше 2 кПа не подымается :) ). И снял LLC . Так что скоро будут варианты 2ТЭ10м и М62 с этим "произведением обдиралкина" :) . Только подскажите расход топлива у этих локомотивов (и ёмкость бака) и уточните раз во сколько минут им включать вентиляторы


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

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