Space Engineers

Space Engineers

查看统计:
Serbses 9 月 14 日 上午 11:27
Помогите решить проблему со скриптом
Писал скрипт для своего бура, однако при запуске с любым из аргументов выдает ошибку:" Обнаружено исключение во время выполнения скрипта: Object reference of an object.
at Program.Main(String argument)
at
Sandbox.Game.Entities.Blocks.MyProgrammableBlock.<>c__DisplayClass46_0.<ExecuteCode>b__0(IMyGridProgram program)

at
Sandbox.Game.Entities.Blocks.MyProgrammableBlock.RunSandboxedProgramActionCore(Action'1
actions,
String&
response)"
Сам скрипт:

//Start
IMyPistonBase piston1;
IMyShipConnector conector1;
List<IMyShipDrill> Drills;
IMyBlockGroup DrillGroup;
IMyInventory Container;
bool iscargofull;
bool pistonpos;
string tr = "true";
string fa = "false";

Program()
{
piston1 = GridTerminalSystem.GetBlockWithName("Piston1") as IMyPistonBase;
conector1 = GridTerminalSystem.GetBlockWithName("Conector1") as IMyShipConnector;
Drills = new List<IMyShipDrill>();
DrillGroup = GridTerminalSystem.GetBlockGroupWithName("Drills");
DrillGroup.GetBlocksOfType<IMyShipDrill>(Drills);
Runtime.UpdateFrequency = UpdateFrequency.Update1;
Container = GridTerminalSystem.GetBlockWithName("Cargo1") as IMyInventory;
}
void Main(string argument)
{
while (argument == tr)
{
iscargofull = false;
conector1.Disconnect();
drel("OnOff_On");
piston1.Extend();
while (iscargofull == false)
{
if (Container.VolumeFillFactor >= 0.01)
{
piston1.Retract();
drel("OnOff_Off");
iscargofull = true;
}
}
while(pistonpos == false)
{
if (piston1.CurrentPosition == 1)
{
conector1.Connect();
pistonpos = true;
}
}
while (iscargofull == true)
{
if (Container.VolumeFillFactor == 0)
{
iscargofull = false;
}
}

}
while (argument == fa)
{
pistonpos = false;
piston1.Retract();
drel("OnOff_Off");
while(pistonpos == false)
{
if (piston1.CurrentPosition == 1)
{
pistonpos = true;
conector1.Connect();
}
}
}
}
void drel(string ip)
{
foreach (IMyShipDrill drill in Drills)
{
drill.ApplyAction(ip);
}
}
//Finish
< >
正在显示第 1 - 2 条,共 2 条留言
Гусь 9 月 16 日 上午 7:49 
Ваня
☭Android☭ 11 月 9 日 上午 8:49 
Object reference of an object is not set означает, что используется ссылка на несуществующий объект. Обычно это значит, что скрипт не может найти блок или обращается к блоку, который не был найден ранее.
Как вариант опечатка в названии какого-нибудь блока на корабле, например блока Piston1
< >
正在显示第 1 - 2 条,共 2 条留言
每页显示数: 1530 50