Информация: Уважаемые посетители! В течение нескольких месяцев на форуме существовала проблема с регистрацией новых пользователей, о которой администрации стало известно недавно. Если вы ранее пытались зарегистрироваться на форуме, но не получили на ваш e-mail письмо с ссылкой для подтверждения регистрации, просим вас зарегистрироваться повторно. Приносим извинения за доставленные неудобства. Если вы все еще испытываете проблемы с регистрацией на форуме, обратитесь за помощью на e-mail: mr.angelo@railroadsim.net

Уголок Разработчика

Другие вопросы и проблемы разработки дополнений

Re: Уголок Разработчика

Сообщение радиомастер » 12.11.2017, 21:15

Код: Выделить всё
[Script Manager 20:04:39] Trace cScriptState.cpp : 229 = error running function: (none):0: attempt to compare nil with number

постоянно прет это сообщение и не работает
Аватара пользователя
радиомастер
 
Сообщения: 2156
Зарегистрирован: 23.10.2010, 18:42
Откуда: Макеевка
Благодарил (а): 1051 раз.
Поблагодарили: 1562 раз.
Блог: Просмотр блога (4)
Играю в: RailWorks
Роль: Разработчик
Имя: Костик

Re: Уголок Разработчика

Сообщение Света » 12.11.2017, 21:21

Инициализацию сделал?
Света писал(а):Начальная установка:
Код: Выделить всё
function Initialise ()
   MIN_PERIOD = 5 --Любое целое положительное число, минимальное время между искрами
   MAX_PERIOD = 10 --Любое целое положительное число, максимальное время между искрами

   SparkTime = math.random (MIN_PERIOD, MAX_PERIOD)
end --Initialise


...
MIN_PERIOD, MAX_PERIOD - это константы; вместо них можно также использовать и переменные.


В коде точно ошибок нет, я проверяю в консоли перед выкладкой.
Извиняться — не значит быть воспитанным. Быть воспитанным — значит не допускать того, за что необходимо извиняться. (с)
Аватара пользователя
Света
 
Сообщения: 233
Зарегистрирован: 18.06.2016, 19:38
Благодарил (а): 107 раз.
Поблагодарили: 256 раз.
Блог: Просмотр блога (2)
Играю в: RailWorks
Роль: Разработчик

Re: Уголок Разработчика

Сообщение радиомастер » 12.11.2017, 21:41

в основной части
Код: Выделить всё
local SparkEnable = true
   SparkTime = SparkTime < -0.2 and math.random (MIN_PERIOD, MAX_PERIOD) or SparkTime - time
   Call( "*:SetControlValue", "spark", 0, (SparkTime <= 0 and SparkEnable) and 1 or 0)

в инициализации
Код: Выделить всё
MIN_PERIOD = 5 --Любое целое положительное число, минимальное время между искрами
   MAX_PERIOD = 10 --Любое целое положительное число, максимальное время между искрами

   SparkTime = math.random (MIN_PERIOD, MAX_PERIOD)

И не работает
Аватара пользователя
радиомастер
 
Сообщения: 2156
Зарегистрирован: 23.10.2010, 18:42
Откуда: Макеевка
Благодарил (а): 1051 раз.
Поблагодарили: 1562 раз.
Блог: Просмотр блога (4)
Играю в: RailWorks
Роль: Разработчик
Имя: Костик

Re: Уголок Разработчика

Сообщение Света » 12.11.2017, 21:55

Попробуй добавить скобки:
Код: Выделить всё
Call( "*:SetControlValue", "spark", 0, ((SparkTime <= 0 and SparkEnable) and 1 or 0))

Может симулятор немного по-другому отрабатывает такое условие.
Хотя, сомневаюсь, что дело в этом. В консоли код работает в любой ипостаси.
Хочешь - давай скрипт, я посмотрю, в чем может быть причина.
Извиняться — не значит быть воспитанным. Быть воспитанным — значит не допускать того, за что необходимо извиняться. (с)
Аватара пользователя
Света
 
Сообщения: 233
Зарегистрирован: 18.06.2016, 19:38
Благодарил (а): 107 раз.
Поблагодарили: 256 раз.
Блог: Просмотр блога (2)
Играю в: RailWorks
Роль: Разработчик

Пред.

Вернуться в [RW] Другие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0