public override void Load() { base.Load(); MyScriptWrapper.AlarmLaunched += MyScriptWrapper_AlarmLaunched; // Turn off sunwind, meteorwind and icestorm MyScriptWrapper.EnableGlobalEvent(World.Global.MyGlobalEventEnum.SunWind, false); MyScriptWrapper.EnableGlobalEvent(World.Global.MyGlobalEventEnum.MeteorWind, false); MyScriptWrapper.EnableGlobalEvent(World.Global.MyGlobalEventEnum.IceStorm, false); // Add Fourth Reich FalseId to inventory if player already haven't got one MyScriptWrapper.AddFalseIdToPlayersInventory(MyMwcObjectBuilder_FactionEnum.FourthReich); // Add Radar Jammer to player inventory MyScriptWrapper.AddInventoryItem(MyScriptWrapper.GetPlayerInventory(), MyMwcObjectBuilderTypeEnum.SmallShip_Tool, (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.RADAR_JAMMER, 1f); // Add Hacking Tool to player inventory MyScriptWrapper.AddInventoryItem(MyScriptWrapper.GetCentralInventory(), MyMwcObjectBuilderTypeEnum.SmallShip_HackingTool, (int)MyMwcObjectBuilder_SmallShip_HackingTool_TypesEnum.Level_2, 1f, true); MyScriptWrapper.AddInventoryItem(MyScriptWrapper.GetCentralInventory(), MyMwcObjectBuilderTypeEnum.SmallShip_HackingTool, (int)MyMwcObjectBuilder_SmallShip_HackingTool_TypesEnum.Level_3, 1f, true); // Set musicmood right from script start MyAudio.ApplyTransition(MyMusicTransitionEnum.TensionBeforeAnAction); m_Slave = (MySmallShipBot)MyScriptWrapper.TryGetEntity(328); MySession.PlayerFriends.Add(m_Slave); m_Slave.Follow(MySession.PlayerShip); m_Slave.SetName("Slave"); }
void Script_BotSpawned(MyEntity spawnpoint, MyEntity bot) { foreach (var item2 in new List <List <uint> > { m_raceFansSP1, m_raceFansSP2, m_raceFansSP3, m_raceFansSP4, m_raceFansSP5 }) { foreach (var item in item2) { if (spawnpoint == MyScriptWrapper.GetEntity(item)) { MySmallShipBot botship = (MySmallShipBot)bot; botship.LookTarget = MySession.PlayerShip; botship.DisplayName = MyTextsWrapper.Get(MyTextsWrapperEnum.RacingFan).ToString(); } } } if (spawnpoint == MyScriptWrapper.GetEntity((uint)EntityID.Racer2)) { MySmallShipBot racer2 = (MySmallShipBot)bot; racer2.SetName("Racer2"); MyScriptWrapper.SetSleepDistance(bot, 10000f); MyScriptWrapper.SetEntityDisplayName(bot, MyTextsWrapper.Get(MyTextsWrapperEnum.Actor_RaceOpponent).ToString()); MyScriptWrapper.SetEntityDestructible(racer2, false); } if (spawnpoint == MyScriptWrapper.GetEntity((uint)EntityID.Racer3)) { MySmallShipBot racer3 = (MySmallShipBot)bot; racer3.SetName("Racer3"); MyScriptWrapper.SetSleepDistance(bot, 10000f); MyScriptWrapper.SetEntityDisplayName(bot, MyTextsWrapper.Get(MyTextsWrapperEnum.Actor_RaceOpponent).ToString()); MyScriptWrapper.SetEntityDestructible(racer3, false); } if (spawnpoint == MyScriptWrapper.GetEntity((uint)EntityID.Challenger)) { MySmallShipBot challenger = (MySmallShipBot)bot; challenger.SetName("Challenger"); MyScriptWrapper.SetSleepDistance(bot, 10000f); MyScriptWrapper.SetEntityDisplayName(bot, MyTextsWrapper.Get(MyTextsWrapperEnum.Actor_RaceChallenger).ToString()); MyScriptWrapper.SetEntityDestructible(challenger, false); MyScriptWrapper.PlayDialogue(MyDialogueEnum.JUNKYARD_RETURN_0250); } foreach (var item in m_companionSpawnpoints) { if (spawnpoint == MyScriptWrapper.GetEntity(item)) { MySmallShipBot botship = (MySmallShipBot)bot; botship.LookTarget = MySession.PlayerShip; MyScriptWrapper.SetEntityDestructible(bot, false); } } }
private void MyScriptWrapperOnOnSpawnpointBotSpawned(MyEntity spawnPoint, MyEntity bot) { if (spawnPoint.EntityId.Value.NumericValue == (uint)EntityID.SpawnContact) { // Debug.Assert(!m_07followContact.IsAvailable(), "Bot spawned in bad mission"); //Not needed anymore MySmallShipBot mitchel = bot as MySmallShipBot; mitchel.SpeedModifier = 0.7f; mitchel.SetName("Mitchel"); mitchel.DisplayName = MyTextsWrapper.Get(MyActorConstants.GetActorDisplayName(MyActorEnum.RIME_MITCHEL)).ToString(); } if (spawnPoint.EntityId.Value.NumericValue == (uint)EntityID.SpawnpointClient1 || spawnPoint.EntityId.Value.NumericValue == (uint)EntityID.SpawnpointClient2) { bot.DisplayName = MyTextsWrapper.Get(MyActorConstants.GetActorDisplayName(MyActorEnum.RIME_CLIENT1)).ToString(); MySmallShipBot botship = bot as MySmallShipBot; botship.SpeedModifier = 0.5f; } if (spawnPoint.EntityId.Value.NumericValue == (uint)EntityID.SpawnpointBouncer) { MySmallShipBot bouncer = bot as MySmallShipBot; bot.DisplayName = MyTextsWrapper.Get(MyActorConstants.GetActorDisplayName(MyActorEnum.RIME_BOUNCER)).ToString(); bot.SetName("Bouncer"); MyScriptWrapper.SetEntityDestructible(bot, false); bouncer.LookTarget = m_barkeeper; m_barkeeper.LookTarget = bouncer; } if (spawnPoint.EntityId.Value.NumericValue == (uint)EntityID.SpawnpointFactory) { bot.SetName("Smuggler"); bot.DisplayName = MyTextsWrapper.Get(MyActorConstants.GetActorDisplayName(MyActorEnum.RIME_SMUGGLER)).ToString(); MyScriptWrapper.SetEntityDestructible(bot, false); ((MySmallShipBot)bot).LookTarget = MyScriptWrapper.GetEntity("Mitchel"); } if (spawnPoint.EntityId.Value.NumericValue == (uint)EntityID.SpawnpointGuardL) { bot.SetName("GuardL"); bot.DisplayName = MyTextsWrapper.Get(MyActorConstants.GetActorDisplayName(MyActorEnum.RIME_GUARD)).ToString(); MyScriptWrapper.SetEntityDestructible(bot, false); ((MySmallShipBot)bot).SleepDistance = 10000; } if (spawnPoint.EntityId.Value.NumericValue == (uint)EntityID.SpawnpointGuardR) { bot.SetName("GuardR"); bot.DisplayName = MyTextsWrapper.Get(MyActorConstants.GetActorDisplayName(MyActorEnum.RIME_GUARD)).ToString(); MyScriptWrapper.SetEntityDestructible(bot, false); ((MySmallShipBot)bot).SleepDistance = 10000; } }
public override void Load() { if (!IsMainSector) { return; } //add biochem ammo //MyScriptWrapper.GetPlayerInventory().AddInventoryItem(MyMwcObjectBuilderTypeEnum.SmallShip_Ammo, (int)MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Missile_BioChem, 100f, true); //MyScriptWrapper.GetPlayerInventory().AddInventoryItem(MyMwcObjectBuilderTypeEnum.SmallShip_Ammo, (int)MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Universal_Launcher_Mine_BioChem, 100, true); MyScriptWrapper.AddInventoryItem(MyScriptWrapper.GetPlayerInventory(), MyMwcObjectBuilderTypeEnum.SmallShip_Ammo, (int)MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Autocannon_BioChem, 100); MyScriptWrapper.AddInventoryItem(MyScriptWrapper.GetCentralInventory(), MyMwcObjectBuilderTypeEnum.SmallShip_HackingTool, (int)MyMwcObjectBuilder_SmallShip_HackingTool_TypesEnum.Level_2, 1f, true); MyScriptWrapper.DeactivateSpawnPoint((uint)EntityID.SpawnpointAtWeHaveCompany); /* * MyMwcObjectBuilder_SmallShip_Player originalBuilder = MySession.PlayerShip.GetObjectBuilder(true) as MyMwcObjectBuilder_SmallShip_Player; * originalBuilder.ShipType = MyMwcObjectBuilder_SmallShip_TypesEnum.GETTYSBURG; * MySession.PlayerShip.Close(); * MyEntities.CreateFromObjectBuilderAndAdd(null, originalBuilder, originalBuilder.PositionAndOrientation.GetMatrix()); */ m_panelsLeft = GetPanelsLeft((uint)EntityID.PanelsPrefabContainer); //MyAudio.ApplyTransition(MyMusicTransitionEnum.HeavyFight); MyScriptWrapper.SetPlayerFaction(MyMwcObjectBuilder_FactionEnum.Rainiers); MyScriptWrapper.SetFactionRelation(MyMwcObjectBuilder_FactionEnum.Rainiers, MyMwcObjectBuilder_FactionEnum.FourthReich, MyFactions.RELATION_BEST); MyScriptWrapper.SetFactionRelation(MyMwcObjectBuilder_FactionEnum.Rainiers, MyMwcObjectBuilder_FactionEnum.Euroamerican, MyFactions.RELATION_WORST); MyScriptWrapper.FixBotNames(); MyEntityDetector startDetector = MyScriptWrapper.GetDetector(MyScriptWrapper.GetEntity((uint)EntityID.StartDetector)); startDetector.OnEntityEnter += StartDummyDetector; startDetector.On(); MyEntityDetector Security01Detector = MyScriptWrapper.GetDetector(MyScriptWrapper.GetEntity((uint)EntityID.SecurityDetector)); Security01Detector.OnEntityEnter += StartSecurity01Detector; Security01Detector.On(); MyEntityDetector Security02Detector = MyScriptWrapper.GetDetector(MyScriptWrapper.GetEntity((uint)EntityID.SecurityDetector2)); Security02Detector.OnEntityEnter += StartSecurity02Detector; Security02Detector.On(); MyScriptWrapper.EntityClosing += EntityClosing; MyScriptWrapper.SetEntityEnabled(MyScriptWrapper.GetEntity((uint)EntityID.DestroyPanelsEnable1), false); MyScriptWrapper.SetEntityEnabled(MyScriptWrapper.GetEntity((uint)EntityID.CargoExitDoor), false); MyScriptWrapper.SetEntityEnabled(MyScriptWrapper.GetEntity((uint)EntityID.Doors1), false); MyScriptWrapper.SetEntityEnabled(MyScriptWrapper.GetEntity((uint)EntityID.DestroyPanelsEnable2), false); MyScriptWrapper.SetEntityEnabled(MyScriptWrapper.GetEntity((uint)EntityID.Doors3), false); MyScriptWrapper.SetEntityEnabled(MyScriptWrapper.GetEntity((uint)EntityID.Doors4), false); MyScriptWrapper.OnSpawnpointBotSpawned += OnSpawnpointSpawned; MyScriptWrapper.OnSentenceStarted += MyScriptWrapper_OnSentenceStarted; m_marcus = MyScriptWrapper.GetEntity("Marcus") as MySmallShipBot; //disable marcus if (m_marcus != null) { //MyScriptWrapper.DisableShip(m_ma); m_marcus.Enabled = false; m_marcus.Visible = false; m_marcus.ActiveAI = false; MyScriptWrapper.StopFollow(m_marcus); m_marcusInventory.Clear(); m_marcusInventory.AddRange(m_marcus.Inventory.GetInventoryItems()); m_marcus.Inventory.ClearInventoryItems(); } //disable ships for marcus MyScriptWrapper.DisableShip(MyScriptWrapper.GetEntity((uint)EntityID.MarcusFakeShip1)); MyScriptWrapper.DisableShip(MyScriptWrapper.GetEntity((uint)EntityID.MarcusFakeShip2)); MyScriptWrapper.DisableShip(MyScriptWrapper.GetEntity((uint)EntityID.MarcusPlaceholder)); MyScriptWrapper.DisableShip(MyScriptWrapper.GetEntity((uint)EntityID.MarcusFakeShip3)); m_marcusPlacHolder = MyScriptWrapper.GetEntity((uint)EntityID.MarcusPlaceholder); MyScriptWrapper.SetEntityEnabled(MyScriptWrapper.GetEntity((int)EntityID.SecurityHub), false); InitDetector((uint)75094, StartEACDetector); //add Raven Girl and Raven Guy //We need to replace old vitolino+tanja, because they have deutch smallships from doppelburg m_ravenguyBot = MyScriptWrapper.GetEntity("RavenGuy") as MySmallShipBot; m_ravenguyBot.SetName("Disabled_vitolino"); m_ravenguyBot.MarkForClose(); m_ravenguyBot = MyScriptWrapper.InsertFriend(MyActorEnum.VALENTIN); m_ravenguyBot.LeaderLostEnabled = true; m_ravenguyBot.Follow(MySession.PlayerShip); Matrix ravenguyPosition = Matrix.CreateWorld(MySession.PlayerShip.GetPosition() - Vector3.Right * 15, MySession.PlayerShip.WorldMatrix.Forward, MySession.PlayerShip.WorldMatrix.Up); m_ravenguyBot.SetWorldMatrix(ravenguyPosition); m_ravengirlBot = MyScriptWrapper.GetEntity("RavenGirl") as MySmallShipBot; m_ravengirlBot.SetName("Disabled_tanja"); m_ravengirlBot.MarkForClose(); m_ravengirlBot = MyScriptWrapper.InsertFriend(MyActorEnum.TARJA); m_ravengirlBot.LeaderLostEnabled = true; m_ravenguyBot.Follow(MySession.PlayerShip); Matrix ravengirlPosition = Matrix.CreateWorld(MySession.PlayerShip.GetPosition() + Vector3.Right * 15, MySession.PlayerShip.WorldMatrix.Forward, MySession.PlayerShip.WorldMatrix.Up); m_ravengirlBot.SetWorldMatrix(ravengirlPosition); base.Load(); }