Этот пользователь сказал Спасибо genesis за это полезное сообщение: |
15.02.2011, 20:24 | #46 |
Опытный
Регистрация: 14.09.2007
Сообщений: 110
Вы сказали Спасибо: 6
Поблагодарили 1 раз в 1 сообщении
|
Нашел ,почему на тестовой и основной карте по разному получается.
На тестовой первый вагон train2 обращен к train1.На основной-последний. Создал на тестовой карте train2 хвостом к train1 - вообще все 3 проверки расстояния выполнились сразу (a==true в этом случае получается всегда) Пробовал от последнего вагона train2 измерять расстояние ( one2=train2.GetVehicles()[4];// 5 вагон состава из 5 вагонов) и все равно a==true получается всегда. train2.Turnaround(); тоже ничего не дало... А вот когда ставишь на рельсы между составами какой-нибудь Track объект,расстояние измеряется до него(как и на основной карте). |
01.01.2007, 12:00 | |
Яndex
Спонсор
Регистрация: 01.01.2007
Сообщения: 500
Реклама показывается изредка по случайному принципу |
РЕКЛАМА
|
15.02.2011, 20:29 | #47 | |
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,728
Вы сказали Спасибо: 1,426
Поблагодарили 2,388 раз(а) в 1,339 сообщениях
|
Цитата:
__________________
местный зомбяк |
|
15.02.2011, 20:38 | #48 |
Опытный
Регистрация: 14.09.2007
Сообщений: 110
Вы сказали Спасибо: 6
Поблагодарили 1 раз в 1 сообщении
|
Да в составe train2 вообще нет локомотива.Просто хотел его логически развернуть,что бы последний вагон стал первым.
|
16.02.2011, 02:16 | #49 |
Опытный
Регистрация: 14.09.2007
Сообщений: 110
Вы сказали Спасибо: 6
Поблагодарили 1 раз в 1 сообщении
|
Короче,может кому пригодится:методом "научного тыка" проблему решил.
train2.Turnaround(); one2=train2.GetVehicles()[1]; и дальше,ко всем измеряемым расстояниям,надо прибавлять длину 1 пассажирского (в данном случае) вагона ( + 23 ) Нулевой вагон почему-то не работает. Последний раз редактировалось GSTrainz; 16.02.2011 в 02:24. |
17.02.2011, 12:16 | #50 | |
Матёрый пользователь
Регистрация: 30.08.2007
Адрес: Московская область, 36км
Сообщений: 3,620
Вы сказали Спасибо: 263
Поблагодарили 304 раз(а) в 172 сообщениях
|
Цитата:
|
|
19.02.2011, 21:42 | #51 |
Опытный
Регистрация: 14.09.2007
Сообщений: 110
Вы сказали Спасибо: 6
Поблагодарили 1 раз в 1 сообщении
|
Combine,да нет.В этом случае-расстояние как раз-таки до сцепки Vehicles()[1](Vehicles()[0] почему-то в упор не видит).Поэтому надо плюсовать длину невидимого для команды вагона.Получается,что Turnaround() логически разворачивает состав,но не вагон в нем.И нулевой вагон является тем последним триггером перед составом.
У меня сейчас такая проблема возникла:наконец дошло до меня,что в kuid-table сценария не обязательно ставить вагоны.Можно указывать куид состава(который создается в редакторе сессии) и из kuid-table этого состава брать вагоны в сценарий. Но...Создал я составы из одинаковых по типу вагонов(платформы-один состав,полувагоны-другой и т.д.) и настроил сценарий так,что бы эти вагоны из составов создавались в сценарии.Все отлично.Все работает.Но...Для чего я это все делал?Для того,что бы каждый желающий мог поставить в составы свои вагоны.Для этого я создал составы из 30 одинаковых по типу вагонов(думал,что и в kuid-table этих составов будет по 30 вагонов)Но такой обломс.В kuid-table состава-всего один куид(куид-то у всех 30 вагонов одинаковый...)И менять вагоны в составе невозможно(чтоб при выходе эти изменения сохранялись).И что делать... Последний раз редактировалось GSTrainz; 19.02.2011 в 21:47. |
10.08.2011, 10:34 | #52 |
Матёрый пользователь
Регистрация: 12.04.2008
Сообщений: 938
Вы сказали Спасибо: 5
Поблагодарили 16 раз(а) в 15 сообщениях
|
Глупый вопрос
Неожиданно столкнулся с такой проблемой - заполнение массива. В Java это выглядит так: int [] st; st= new int []{1,2,3,4,5};
Однако в трайнзе int [] st; компилятор пропускает, а вот st= new int []{1,2,3,4,5}; - нет. Если заполнять ячейки по одной st [0] = 1; то работает, а сразу все - ругается. Не могу понять, какие знаки препинания тут требуются.
__________________
Среди тех, кто учит жить, преобладают теоретики... |
10.08.2011, 10:44 | #53 | |
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,728
Вы сказали Спасибо: 1,426
Поблагодарили 2,388 раз(а) в 1,339 сообщениях
|
Цитата:
int[] st= new int [5]; st[0]=1; st[1]=2; st[2]=3; st[3]=4; st[4]=5;
__________________
местный зомбяк |
|
10.08.2011, 15:15 | #54 |
Матёрый пользователь
|
Код:
public int[] NewIntArray(string numbers) { string[] tokens = Str.Tokens(numbers, ","); int[] ret = new int[tokens.size()]; int i; for (i = 0; i < tokens.size(); ++i) ret[i] = Str.ToInt(tokens[i]); return ret; } Код:
int[] st = NewIntArray("1,2,3,4,5"); Последний раз редактировалось genesis; 10.08.2011 в 15:17. |
Этот пользователь сказал Спасибо genesis за это полезное сообщение: |
11.08.2011, 12:50 | #55 |
Матёрый пользователь
Регистрация: 12.04.2008
Сообщений: 938
Вы сказали Спасибо: 5
Поблагодарили 16 раз(а) в 15 сообщениях
|
Вот спасибо! А то я не мог понять, как упростить ввод данных
И ещё один глупый вопрос - можно ли в трайнзе создавать массивы программно, т. е. название массива не прописывается в ручную, а задаётся переменной? Интуитивно понимаю, что нет, но знаний маловато
__________________
Среди тех, кто учит жить, преобладают теоретики... |
11.08.2011, 13:34 | #56 |
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,728
Вы сказали Спасибо: 1,426
Поблагодарили 2,388 раз(а) в 1,339 сообщениях
|
Делать массив объектов, содержащих массивы. Обычные двумерные массивы трейнз не поддерживает.
__________________
местный зомбяк |
11.08.2011, 14:05 | #57 |
Матёрый пользователь
Регистрация: 12.04.2008
Сообщений: 938
Вы сказали Спасибо: 5
Поблагодарили 16 раз(а) в 15 сообщениях
|
Нет, такое решение мне не подходит. Вот я знаю, что можно выяснить длину массива, скажем, так: int аа = а.size(). А как можно выяснить название массива? Есть формула?
__________________
Среди тех, кто учит жить, преобладают теоретики... |
11.08.2011, 15:31 | #58 |
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,728
Вы сказали Спасибо: 1,426
Поблагодарили 2,388 раз(а) в 1,339 сообщениях
|
Нет, название ты вычислить не можешь.
В крайнем случае объяви объект class NamedArray { public string name; public int[] arr; }; организуй массив таких объектов NamedArray[] main_arrays=new NamedArray[5]; for(i=0;i<5;i++) { main_arrays[i]=new NamedArray(); main_arrays[i].arr=new int[10]; } и затем именуешь main_arrays[0].name="hren1"; main_arrays[2].name="korova"; и затем в коде, когда тебе понадобится массив с нужным именем, делай перебор int i=0; int j=-1; while(i<main_arrays.size() and j<0) { if(main_arrays[i].name=="dispetcher") j=i; i++ } if(j>=0) { next_array=main_arrays[j].arr; }
__________________
местный зомбяк |
Этот пользователь сказал Спасибо TRam_ за это полезное сообщение: |
12.08.2011, 16:45 | #59 |
Матёрый пользователь
Регистрация: 12.04.2008
Сообщений: 938
Вы сказали Спасибо: 5
Поблагодарили 16 раз(а) в 15 сообщениях
|
Вот Combine посоветовал не использовать goto в скрипте, ибо вызывает ошибки. Посоветуйте, как более корректно осуществлять переход от одной строки к другой, если речь не идёт о выходе из цикла. С выходом из цикла вопросов нет.
__________________
Среди тех, кто учит жить, преобладают теоретики... |
12.08.2011, 19:51 | #60 |
Матёрый пользователь
|
Безусловный переход от одной строки другой уже некорректен и свидетельствует о неверном подходе к решению задачи. Гоуту лишь следствие.
Расскажи, в чем проблема. |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Регистрация на AURAN | ALFMASTER | TrainZ — Об игре | 32 | 31.08.2012 21:12 |
Помогите разобраться с правилами с сайта Auran! | NickLon | TrainZ - Маршруты и сценарии | 4 | 25.12.2008 04:20 |
Как заполучить оригинальный диск с сайта Auran? | VicNik | TrainZ — Об игре | 2 | 17.03.2008 16:19 |
О стрелках в TrainZ Auran | Диспетчер-регулятор | TrainZ — Об игре | 2 | 10.07.2007 21:26 |
Что это? |