Форум Trainsim  

Вернуться   Форум Trainsim > Auran TrainZ > TrainZ - Звуки

Ответ
 
Опции темы Опции просмотра
Старый 15.02.2011, 20:24   #46
GSTrainz
Опытный
 
Регистрация: 14.09.2007
Сообщений: 110
Вы сказали Спасибо: 6
Поблагодарили 1 раз в 1 сообщении
GSTrainz стоит на развилке (репутация по умолчанию)
По умолчанию

Нашел ,почему на тестовой и основной карте по разному получается.
На тестовой первый вагон train2 обращен к train1.На основной-последний.
Создал на тестовой карте train2 хвостом к train1 - вообще все 3 проверки расстояния выполнились сразу (a==true в этом случае получается всегда)
Пробовал от последнего вагона train2 измерять расстояние
( one2=train2.GetVehicles()[4];// 5 вагон состава из 5 вагонов) и все равно a==true получается всегда.
train2.Turnaround(); тоже ничего не дало...
А вот когда ставишь на рельсы между составами какой-нибудь Track объект,расстояние измеряется до него(как и на основной карте).
GSTrainz вне форума   Ответить с цитированием
Старый 01.01.2007, 12:00  
Яndex
Спонсор
 
 
Регистрация: 01.01.2007
Сообщения: 500


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

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

Цитата:
train2.Turnaround(); тоже ничего не дало...
если сидишь в кабине и лок однокабинный, то оно ничего не даст. Только если снаружи сидеть либо лок типа ЧМЭ3 нового.
__________________
местный зомбяк
TRam_ вне форума   Ответить с цитированием
Старый 15.02.2011, 20:38   #48
GSTrainz
Опытный
 
Регистрация: 14.09.2007
Сообщений: 110
Вы сказали Спасибо: 6
Поблагодарили 1 раз в 1 сообщении
GSTrainz стоит на развилке (репутация по умолчанию)
По умолчанию

Да в составe train2 вообще нет локомотива.Просто хотел его логически развернуть,что бы последний вагон стал первым.
GSTrainz вне форума   Ответить с цитированием
Старый 16.02.2011, 02:16   #49
GSTrainz
Опытный
 
Регистрация: 14.09.2007
Сообщений: 110
Вы сказали Спасибо: 6
Поблагодарили 1 раз в 1 сообщении
GSTrainz стоит на развилке (репутация по умолчанию)
По умолчанию

Короче,может кому пригодится:методом "научного тыка" проблему решил.
train2.Turnaround();
one2=train2.GetVehicles()[1];
и дальше,ко всем измеряемым расстояниям,надо прибавлять длину 1 пассажирского (в данном случае) вагона ( + 23 )
Нулевой вагон почему-то не работает.

Последний раз редактировалось GSTrainz; 16.02.2011 в 02:24.
GSTrainz вне форума   Ответить с цитированием
Старый 17.02.2011, 12:16   #50
Combine
Матёрый пользователь
 
Аватар для Combine
 
Регистрация: 30.08.2007
Адрес: Московская область, 36км
Сообщений: 3,620
Вы сказали Спасибо: 263
Поблагодарили 304 раз(а) в 172 сообщениях
Combine стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
и дальше,ко всем измеряемым расстояниям,надо прибавлять длину 1 пассажирского (в данном случае) вагона ( + 23 )
Не длину вагона, а половины длин вагонов составов. Расстояние измеряется между геометрическими центрами (0,0,0 моделей вагонов).
Combine вне форума   Ответить с цитированием
Старый 19.02.2011, 21:42   #51
GSTrainz
Опытный
 
Регистрация: 14.09.2007
Сообщений: 110
Вы сказали Спасибо: 6
Поблагодарили 1 раз в 1 сообщении
GSTrainz стоит на развилке (репутация по умолчанию)
По умолчанию

Combine,да нет.В этом случае-расстояние как раз-таки до сцепки Vehicles()[1](Vehicles()[0] почему-то в упор не видит).Поэтому надо плюсовать длину невидимого для команды вагона.Получается,что Turnaround() логически разворачивает состав,но не вагон в нем.И нулевой вагон является тем последним триггером перед составом.
У меня сейчас такая проблема возникла:наконец дошло до меня,что в kuid-table сценария не обязательно ставить вагоны.Можно указывать куид состава(который создается в редакторе сессии) и из kuid-table этого состава брать вагоны в сценарий.
Но...Создал я составы из одинаковых по типу вагонов(платформы-один состав,полувагоны-другой и т.д.) и настроил сценарий так,что бы эти вагоны из составов создавались в сценарии.Все отлично.Все работает.Но...Для чего я это все делал?Для того,что бы каждый желающий мог поставить в составы свои вагоны.Для этого я создал составы из 30 одинаковых по типу вагонов(думал,что и в kuid-table этих составов будет по 30 вагонов)Но такой обломс.В kuid-table состава-всего один куид(куид-то у всех 30 вагонов одинаковый...)И менять вагоны в составе невозможно(чтоб при выходе эти изменения сохранялись).И что делать...

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

Цитата:
Не могу понять, какие знаки препинания тут требуются.
просто трейнз не поддерживает всего того синтаксиса, который реализуется в Си. Потому заполнять надо только по 1 элементу.Вообще надо так:

int[] st= new int [5];

st[0]=1;
st[1]=2;
st[2]=3;
st[3]=4;
st[4]=5;
__________________
местный зомбяк
TRam_ вне форума   Ответить с цитированием
Старый 10.08.2011, 15:15   #54
genesis
Матёрый пользователь
 
Регистрация: 31.07.2007
Адрес: Ульяновск
Сообщений: 2,570
Вы сказали Спасибо: 245
Поблагодарили 174 раз(а) в 76 сообщениях
genesis стоит на развилке (репутация по умолчанию)
Отправить сообщение для genesis с помощью ICQ Отправить сообщение для genesis с помощью Skype™
По умолчанию

Код:
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");
Си, джава, шарп, GS похожи, но не перестают от этого быть разными языками.

Последний раз редактировалось genesis; 10.08.2011 в 15:17.
genesis вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо genesis за это полезное сообщение:
Старый 11.08.2011, 12:50   #55
Добрый
Матёрый пользователь
 
Аватар для Добрый
 
Регистрация: 12.04.2008
Сообщений: 938
Вы сказали Спасибо: 5
Поблагодарили 16 раз(а) в 15 сообщениях
Добрый стоит на развилке (репутация по умолчанию)
Вопрос

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

Делать массив объектов, содержащих массивы. Обычные двумерные массивы трейнз не поддерживает.
__________________
местный зомбяк
TRam_ вне форума   Ответить с цитированием
Старый 11.08.2011, 14:05   #57
Добрый
Матёрый пользователь
 
Аватар для Добрый
 
Регистрация: 12.04.2008
Сообщений: 938
Вы сказали Спасибо: 5
Поблагодарили 16 раз(а) в 15 сообщениях
Добрый стоит на развилке (репутация по умолчанию)
По умолчанию

Нет, такое решение мне не подходит. Вот я знаю, что можно выяснить длину массива, скажем, так: int аа = а.size(). А как можно выяснить название массива? Есть формула?
__________________
Среди тех, кто учит жить, преобладают теоретики...
Добрый вне форума   Ответить с цитированием
Старый 11.08.2011, 15:31   #58
TRam_
Матёрый пользователь
 
Аватар для TRam_
 
Регистрация: 18.02.2008
Сообщений: 8,703
Вы сказали Спасибо: 1,424
Поблагодарили 2,365 раз(а) в 1,319 сообщениях
TRam_ стоит на развилке (репутация по умолчанию)
По умолчанию

Нет, название ты вычислить не можешь.

В крайнем случае объяви объект

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_ вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо TRam_ за это полезное сообщение:
Старый 12.08.2011, 16:45   #59
Добрый
Матёрый пользователь
 
Аватар для Добрый
 
Регистрация: 12.04.2008
Сообщений: 938
Вы сказали Спасибо: 5
Поблагодарили 16 раз(а) в 15 сообщениях
Добрый стоит на развилке (репутация по умолчанию)
По умолчанию

Вот Combine посоветовал не использовать goto в скрипте, ибо вызывает ошибки. Посоветуйте, как более корректно осуществлять переход от одной строки к другой, если речь не идёт о выходе из цикла. С выходом из цикла вопросов нет.
__________________
Среди тех, кто учит жить, преобладают теоретики...
Добрый вне форума   Ответить с цитированием
Старый 12.08.2011, 19:51   #60
genesis
Матёрый пользователь
 
Регистрация: 31.07.2007
Адрес: Ульяновск
Сообщений: 2,570
Вы сказали Спасибо: 245
Поблагодарили 174 раз(а) в 76 сообщениях
genesis стоит на развилке (репутация по умолчанию)
Отправить сообщение для genesis с помощью ICQ Отправить сообщение для genesis с помощью Skype™
По умолчанию

Безусловный переход от одной строки другой уже некорректен и свидетельствует о неверном подходе к решению задачи. Гоуту лишь следствие.
Расскажи, в чем проблема.
genesis вне форума   Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регистрация на 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


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


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