Я ещё и сути команды не понял, что она должна делать и для чего? Вдруг это всё каким-то более простым способом можно сделать

Код: Выделить всё
function Signal (value)
value = value or 0
if ( HornAktiv == 4 ) or ( value ~= 0 ) then
if value ~= 0 and value >= 111 then
Property = tonumber(string.sub(value,1,1));
if Property < 3 then
SignMode= Property;
QuaSign = tonumber(string.sub(value,2,2));
DurSign = tonumber(string.sub(value,3,3));
else
SignMode = 1;
QuaSign = ( math.random (1, 3) );
DurSign = 1;
end
HornAktiv, Timer = 4, 0;
end
if ( Timer + DurSign ) <= Call( "*:GetSimulationTime") then
if HornAktiv == 4 then
Timer = Call( "*:GetSimulationTime");
if Call( "*:GetControlValue", Mode[SignMode], 0 ) == 1 then
Call( "*:SetControlValue", Mode[SignMode], 0, 0 );
if QuaSign > 0 then
else
HornAktiv = 0
SignMode, DurSign = 0, 0;
end
else
QuaSign = QuaSign - 1
if Property == 3 then
SignMode = ( math.random (1, 2) );
DurSign = ( math.random (1, 3) );
end
Call( "*:SetControlValue", Mode[SignMode], 0, 1 );
end
end
end
end
Mode = {"Horn", "Whistle"}
end
Код: Выделить всё
function OnCustomSignalMessage (ConsistMessage)
-- Signal on mark 'C'
if ( ConsistMessage == "0619010301" ) then
if gPlayerInCab ~= 1 then
Signal ( 311 )
end
end
end
RussianRW писал(а):Вот пока что-та такое получается,кабину делаем для 2ТЭ10М,2ТЭ10У,2ТЭ10МР
Код: Выделить всё
function OnCustomSignalMessage (ConsistMessage)
SysCall("ScenarioManager:ShowAlertMessageExt","receive messages","",1,0)
if ConsistMessage == "0619010301" then
-- signal (311)
SysCall("ScenarioManager:ShowAlertMessageExt","match code","",5,0)
else
SysCall("ScenarioManager:ShowAlertMessageExt","mismatching code","",5,0)
--
-- Sector ALSN
end
end -- OnCustomSignalMessage( message )
Мне удалось научить поезда "видеть" друг друга при встречеSergey1507 писал(а):Знаю точно, что на данный момент в игре невозможно реализовать подачу сигнала при "встрече" поездов. Даже нет смысла пытаться, так как таких триггеров пока в игре не предусмотрено.