diff --git a/planet/Experimental.ocf/CableLorrys.ocs/CableCars.ocd/Libraries.ocd/CableCar.ocd/Script.c b/planet/Experimental.ocf/CableLorrys.ocs/CableCars.ocd/Libraries.ocd/CableCar.ocd/Script.c index 5e24de993..33d627c71 100644 --- a/planet/Experimental.ocf/CableLorrys.ocs/CableCars.ocd/Libraries.ocd/CableCar.ocd/Script.c +++ b/planet/Experimental.ocf/CableLorrys.ocs/CableCars.ocd/Libraries.ocd/CableCar.ocd/Script.c @@ -161,7 +161,6 @@ public func GetCableCarMenuEntries(object clonk) var menu_entries = []; // Clickable buttons - if (!GetRailTarget()) { // Engaging onto a rail @@ -434,3 +433,18 @@ public func FinishedRequest(object station) station->RequestArrived(this, lib_ccar_delivery[2], lib_ccar_delivery[3]); lib_ccar_delivery = nil; } + + +/*-- Saving --*/ + +public func SaveScenarioObject(proplist props) +{ + if (!inherited(props, ...)) + return false; + if (lib_ccar_speed != nil) + props->AddCall("Speed", this, "SetCableSpeed", lib_ccar_speed); + if (lib_ccar_rail) + props->AddCall("Rail", this, "EngageRail", lib_ccar_rail, true); + return true; +} + diff --git a/planet/Experimental.ocf/CableLorrys.ocs/CableCars.ocd/Vehicles.ocd/Hoist.ocd/Script.c b/planet/Experimental.ocf/CableLorrys.ocs/CableCars.ocd/Vehicles.ocd/Hoist.ocd/Script.c index 517f29b28..58b495423 100644 --- a/planet/Experimental.ocf/CableLorrys.ocs/CableCars.ocd/Vehicles.ocd/Hoist.ocd/Script.c +++ b/planet/Experimental.ocf/CableLorrys.ocs/CableCars.ocd/Vehicles.ocd/Hoist.ocd/Script.c @@ -248,6 +248,18 @@ public func OverridePriority(proplist requested, int amount, proplist requesting } +/*-- Saving --*/ + +public func SaveScenarioObject(proplist props) +{ + if (!inherited(props, ...)) + return false; + if (pickup) + props->AddCall("Pickup", this, "PickupVehicle", pickup); + return true; +} + + /*-- Definition --*/ public func Definition(def) diff --git a/planet/Experimental.ocf/CableLorrys.ocs/MapBg.bmp b/planet/Experimental.ocf/CableLorrys.ocs/MapBg.bmp index 240dc15f1..f0d4bc3bb 100644 Binary files a/planet/Experimental.ocf/CableLorrys.ocs/MapBg.bmp and b/planet/Experimental.ocf/CableLorrys.ocs/MapBg.bmp differ diff --git a/planet/Experimental.ocf/CableLorrys.ocs/MapFg.bmp b/planet/Experimental.ocf/CableLorrys.ocs/MapFg.bmp index b6bf2110f..ae85f9f21 100644 Binary files a/planet/Experimental.ocf/CableLorrys.ocs/MapFg.bmp and b/planet/Experimental.ocf/CableLorrys.ocs/MapFg.bmp differ diff --git a/planet/Experimental.ocf/CableLorrys.ocs/Objects.c b/planet/Experimental.ocf/CableLorrys.ocs/Objects.c index dfe0e86b6..cd060d2cf 100644 --- a/planet/Experimental.ocf/CableLorrys.ocs/Objects.c +++ b/planet/Experimental.ocf/CableLorrys.ocs/Objects.c @@ -3,7 +3,9 @@ func InitializeObjects() { var CableCrossing001 = CreateObjectAbove(CableCrossing, 347, 389); + CableCrossing001->SetCategory(C4D_StaticBack|C4D_Structure); var CableCrossing002 = CreateObjectAbove(CableCrossing, 554, 391); + CableCrossing002->SetCategory(C4D_StaticBack|C4D_Structure); CableCrossing002->SetMeshMaterial("CableCarStation_SignStation", 1); CableCrossing002->ToggleStation(true); @@ -14,6 +16,7 @@ func InitializeObjects() CableLine001->SetConnectedObjects(CableCrossing001, CableCrossing002); var CableCrossing003 = CreateObjectAbove(CableCrossing, 209, 390); + CableCrossing003->SetCategory(C4D_StaticBack|C4D_Structure); var CableLine002 = CreateObject(CableLine, 206, 747); CableLine002.LineColors = [-15461326,-15461326]; @@ -22,34 +25,39 @@ func InitializeObjects() CableLine002->SetConnectedObjects(CableCrossing001, CableCrossing003); var CableCrossing004 = CreateObjectAbove(CableCrossing, 652, 491); + CableCrossing004->SetCategory(C4D_StaticBack|C4D_Structure); - var CableLine003 = CreateObjectAbove(CableLine, 551, 1319); + var CableLine003 = CreateObjectAbove(CableLine, 551, 1789); CableLine003.LineColors = [-15461326,-15461326]; CableLine003->SetAction("Connect", CableCrossing004, CableCrossing002); CableLine003->SetConnectedObjects(CableCrossing004, CableCrossing002); var CableCrossing005 = CreateObjectAbove(CableCrossing, 694, 419); + CableCrossing005->SetCategory(C4D_StaticBack|C4D_Structure); - var CableLine004 = CreateObjectAbove(CableLine, 651, 1419); + var CableLine004 = CreateObjectAbove(CableLine, 651, 1889); CableLine004.LineColors = [-15461326,-15461326]; CableLine004->SetAction("Connect", CableCrossing005, CableCrossing004); CableLine004->SetConnectedObjects(CableCrossing005, CableCrossing004); var CableCrossing006 = CreateObjectAbove(CableCrossing, 770, 360); + CableCrossing006->SetCategory(C4D_StaticBack|C4D_Structure); - var CableLine005 = CreateObjectAbove(CableLine, 693, 1204); + var CableLine005 = CreateObjectAbove(CableLine, 693, 1602); CableLine005.LineColors = [-15461326,-15461326]; CableLine005->SetAction("Connect", CableCrossing006, CableCrossing005); CableLine005->SetConnectedObjects(CableCrossing006, CableCrossing005); var CableCrossing007 = CreateObjectAbove(CableCrossing, 810, 351); + CableCrossing007->SetCategory(C4D_StaticBack|C4D_Structure); - var CableLine006 = CreateObjectAbove(CableLine, 771, 1026); + var CableLine006 = CreateObjectAbove(CableLine, 771, 1365); CableLine006.LineColors = [-15461326,-15461326]; CableLine006->SetAction("Connect", CableCrossing007, CableCrossing006); CableLine006->SetConnectedObjects(CableCrossing007, CableCrossing006); var CableCrossing008 = CreateObjectAbove(CableCrossing, 939, 360); + CableCrossing008->SetCategory(C4D_StaticBack|C4D_Structure); CableCrossing008->SetMeshMaterial("CableCarStation_SignStation", 1); var CableLine007 = CreateObject(CableLine, 815, 679); @@ -59,6 +67,7 @@ func InitializeObjects() CableLine007->SetConnectedObjects(CableCrossing008, CableCrossing007); var CableCrossing009 = CreateObjectAbove(CableCrossing, 599, 257); + CableCrossing009->SetCategory(C4D_StaticBack|C4D_Structure); var CableLine008 = CreateObject(CableLine, 808, 669); CableLine008.LineColors = [-15461326,-15461326]; @@ -67,13 +76,16 @@ func InitializeObjects() CableLine008->SetConnectedObjects(CableCrossing009, CableCrossing007); var CableCrossing010 = CreateObjectAbove(CableCrossing, 519, 259); + CableCrossing010->SetCategory(C4D_StaticBack|C4D_Structure); - var CableLine009 = CreateObjectAbove(CableLine, 599, 722); + var CableLine009 = CreateObject(CableLine, 599, 722); CableLine009.LineColors = [-15461326,-15461326]; + CableLine009->SetPosition(599, 722); CableLine009->SetAction("Connect", CableCrossing010, CableCrossing009); CableLine009->SetConnectedObjects(CableCrossing010, CableCrossing009); var CableCrossing011 = CreateObjectAbove(CableCrossing, 465, 289); + CableCrossing011->SetCategory(C4D_StaticBack|C4D_Structure); var CableLine010 = CreateObject(CableLine, 517, 516); CableLine010.LineColors = [-15461326,-15461326]; @@ -87,80 +99,92 @@ func InitializeObjects() CableLine011->SetConnectedObjects(CableCrossing003, CableCrossing011); var CableCrossing012 = CreateObjectAbove(CableCrossing, 744, 589); + CableCrossing012->SetCategory(C4D_StaticBack|C4D_Structure); - var CableLine012 = CreateObjectAbove(CableLine, 652, 1623); + var CableLine012 = CreateObjectAbove(CableLine, 652, 2191); CableLine012.LineColors = [-15461326,-15461326]; CableLine012->SetAction("Connect", CableCrossing012, CableCrossing004); CableLine012->SetConnectedObjects(CableCrossing012, CableCrossing004); var CableCrossing013 = CreateObjectAbove(CableCrossing, 680, 619); + CableCrossing013->SetCategory(C4D_StaticBack|C4D_Structure); - var CableLine013 = CreateObjectAbove(CableLine, 743, 1772); + var CableLine013 = CreateObjectAbove(CableLine, 743, 2370); CableLine013.LineColors = [-15461326,-15461326]; CableLine013->SetAction("Connect", CableCrossing013, CableCrossing012); CableLine013->SetConnectedObjects(CableCrossing013, CableCrossing012); var CableCrossing014 = CreateObjectAbove(CableCrossing, 568, 690); + CableCrossing014->SetCategory(C4D_StaticBack|C4D_Structure); - var CableLine014 = CreateObjectAbove(CableLine, 678, 1947); + var CableLine014 = CreateObjectAbove(CableLine, 678, 2616); CableLine014.LineColors = [-15461326,-15461326]; CableLine014->SetAction("Connect", CableCrossing014, CableCrossing013); CableLine014->SetConnectedObjects(CableCrossing014, CableCrossing013); var CableCrossing015 = CreateObjectAbove(CableCrossing, 456, 711); + CableCrossing015->SetCategory(C4D_StaticBack|C4D_Structure); - var CableLine015 = CreateObjectAbove(CableLine, 570, 2059); + var CableLine015 = CreateObjectAbove(CableLine, 570, 2749); CableLine015.LineColors = [-15461326,-15461326]; CableLine015->SetAction("Connect", CableCrossing015, CableCrossing014); CableLine015->SetConnectedObjects(CableCrossing015, CableCrossing014); var CableCrossing016 = CreateObjectAbove(CableCrossing, 372, 650); + CableCrossing016->SetCategory(C4D_StaticBack|C4D_Structure); - var CableLine016 = CreateObjectAbove(CableLine, 454, 2080); + var CableLine016 = CreateObjectAbove(CableLine, 454, 2770); CableLine016.LineColors = [-15461326,-15461326]; CableLine016->SetAction("Connect", CableCrossing016, CableCrossing015); CableLine016->SetConnectedObjects(CableCrossing016, CableCrossing015); var CableCrossing017 = CreateObjectAbove(CableCrossing, 231, 590); + CableCrossing017->SetCategory(C4D_StaticBack|C4D_Structure); - var CableLine017 = CreateObjectAbove(CableLine, 374, 1895); + var CableLine017 = CreateObjectAbove(CableLine, 374, 2524); CableLine017.LineColors = [-15461326,-15461326]; CableLine017->SetAction("Connect", CableCrossing017, CableCrossing016); CableLine017->SetConnectedObjects(CableCrossing017, CableCrossing016); var CableCrossing018 = CreateObjectAbove(CableCrossing, 131, 528); + CableCrossing018->SetCategory(C4D_StaticBack|C4D_Structure); CableCrossing018->SetMeshMaterial("CableCarStation_SignStation", 1); - var CableLine018 = CreateObjectAbove(CableLine, 231, 1717); + var CableLine018 = CreateObjectAbove(CableLine, 231, 2286); CableLine018.LineColors = [-15461326,-15461326]; CableLine018->SetAction("Connect", CableCrossing018, CableCrossing017); CableLine018->SetConnectedObjects(CableCrossing018, CableCrossing017); - var CableCrossing019 = CreateObjectAbove(CableCrossing, 113, 387, 0); - CableCrossing019->SetMeshMaterial("CableCarStation_SignStation", 1); - - var CableLine019 = CreateObjectAbove(CableLine, 208, 747); - CableLine019.LineColors = [-15461326,-15461326]; - CableLine019->SetAction("Connect", CableCrossing019, CableCrossing003); - CableLine019->SetConnectedObjects(CableCrossing019, CableCrossing003); var ToolsWorkshop001 = CreateObjectAbove(ToolsWorkshop, 76, 388); + + var CableCrossing019 = CreateObjectAbove(CableCrossing, 113, 387); + CableCrossing019->SetCategory(C4D_StaticBack|C4D_Structure); + CableCrossing019->SetMeshMaterial("CableCarStation_SignStation", 1); CableCrossing019->CombineWith(ToolsWorkshop001); - var CableHoist001 = CreateObjectAbove(CableHoist, 560, 384); - CableHoist001->SetComDir(COMD_None); + var CableLine019 = CreateObject(CableLine, 208, 747); + CableLine019.LineColors = [-15461326,-15461326]; + CableLine019->SetPosition(208, 747); + CableLine019->SetAction("Connect", CableCrossing019, CableCrossing003); + CableLine019->SetConnectedObjects(CableCrossing019, CableCrossing003); + var CableLorry001 = CreateObjectAbove(CableLorry, 560, 382); - var CableLorry001 = CreateObjectAbove(CableLorry, 560, 384); + var CableHoist001 = CreateObjectAbove(CableHoist, 560, 382); + CableHoist001->SetComDir(COMD_None); + CableHoist001->SetCableSpeed(1); + CableHoist001->EngageRail(CableCrossing002, true); + CableHoist001->PickupVehicle(CableLorry001); var Wood001 = CableLorry001->CreateContents(Wood); - Wood001->SetPosition(560, 377); + Wood001->SetPosition(560, 375); var Wood002 = CableLorry001->CreateContents(Wood); - Wood002->SetPosition(560, 377); + Wood002->SetPosition(560, 375); var Wood003 = CableLorry001->CreateContents(Wood); - Wood003->SetPosition(560, 377); + Wood003->SetPosition(560, 375); var Metal001 = ToolsWorkshop001->CreateContents(Metal); Metal001->SetPosition(76, 369); - var CableReel001 = CreateObjectAbove(CableReel, 163, 386); + var CableReel001 = CreateObjectAbove(CableReel, 159, 389); CableReel001->Unstick(7); return true; } diff --git a/planet/Experimental.ocf/CableLorrys.ocs/Scenario.txt b/planet/Experimental.ocf/CableLorrys.ocs/Scenario.txt index 8993bec93..702afb0a0 100644 --- a/planet/Experimental.ocf/CableLorrys.ocs/Scenario.txt +++ b/planet/Experimental.ocf/CableLorrys.ocs/Scenario.txt @@ -1,6 +1,6 @@ [Head] Icon=26 -Version=8 +Version=9 Difficulty=10 MaxPlayer=8 NoInitialize=true