Advertisement
krzys_h

[SpaceEngineers] Virus v1.0

Jan 11th, 2015
322
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.73 KB | None | 0 0
  1. Random rand = new Random();
  2.  
  3. void Main()
  4. {
  5.     GridTerminalSystem.Blocks[0].CubeGrid.ConvertToDynamic(); //Dzieki Moskit za pomysl
  6.  
  7.     //A teraz podawimy sie zyroskopami...
  8.     var gyros = new List<IMyTerminalBlock>();
  9.     GridTerminalSystem.GetBlocksOfType<IMyGyro>(gyros);
  10.     for(var i=0; i<gyros.Count; i++) {
  11.         var gyro = gyros[i] as IMyGyro;
  12.         gyro.GetActionWithName("OnOff_On").Apply(gyro);
  13.         if(!gyro.GyroOverride) {
  14.             gyro.GetActionWithName("Override").Apply(gyro);
  15.         }
  16.         gyro.GetActionWithName("IncreasePower").Apply(gyro);
  17.         gyro.GetActionWithName("IncreaseYaw").Apply(gyro);
  18.         gyro.GetActionWithName("IncreasePitch").Apply(gyro);
  19.         gyro.GetActionWithName("IncreaseRoll").Apply(gyro);
  20.     }
  21.  
  22.     //I silnikami...
  23.     var thrusters = new List<IMyTerminalBlock>();
  24.     GridTerminalSystem.GetBlocksOfType<IMyThrust>(thrusters);
  25.     for(var i=0; i<thrusters.Count; i++) {
  26.         var thruster = thrusters[i] as IMyThrust;
  27.         thruster.GetActionWithName("OnOff_On").Apply(thruster);
  28.         if(rand.Next(2) == 0) {
  29.             thruster.GetActionWithName("IncreaseOverride").Apply(thruster);
  30.         } else {
  31.             thruster.GetActionWithName("DecreaseOverride").Apply(thruster);
  32.         }
  33.     }
  34.  
  35.     //Sterowanie? Nope
  36.     var cockpits = new List<IMyTerminalBlock>();
  37.     GridTerminalSystem.GetBlocksOfType<IMyShipController>(cockpits);  //To lapie wszystkie kokpity i remote control
  38.     for(var i=0; i<cockpits.Count; i++) {  
  39.         var cockpit = cockpits[i] as IMyCockpit;
  40.         if(cockpit.ControlThrusters) {
  41.             cockpit.GetActionWithName("ControlThrusters").Apply(cockpit);
  42.         }
  43.         if(cockpit.DampenersOverride) {  
  44.             cockpit.GetActionWithName("DampenersOverride").Apply(cockpit);  
  45.         }
  46.     }
  47.  
  48.     //I wylaczmy wiezyczki, stacje medyczne i anteny (po co to komu?)
  49.     var disable = new List<IMyTerminalBlock>();  
  50.     GridTerminalSystem.GetBlocksOfType<IMyLargeGatlingTurret>(disable);
  51.     GridTerminalSystem.GetBlocksOfType<IMyLargeInteriorTurret>(disable);
  52.     GridTerminalSystem.GetBlocksOfType<IMyLargeMissileTurret>(disable);  
  53.     GridTerminalSystem.GetBlocksOfType<IMySmallGatlingGun>(disable);
  54.     GridTerminalSystem.GetBlocksOfType<IMySmallMissileLauncher>(disable);
  55.     GridTerminalSystem.GetBlocksOfType<IMySmallMissileLauncherReload>(disable);
  56.     GridTerminalSystem.GetBlocksOfType<IMyInteriorLight>(disable);  //Czy komary boja sie ciemnosci?
  57.     GridTerminalSystem.GetBlocksOfType<IMyMedicalRoom>(disable);  
  58.     GridTerminalSystem.GetBlocksOfType<IMyBeacon>(disable);  
  59.     GridTerminalSystem.GetBlocksOfType<IMyRadioAntenna>(disable);
  60.     for(var i=0; i<disable.Count; i++) {
  61.         disable[i].GetActionWithName("OnOff_Off").Apply(disable[i]);
  62.     }
  63.  
  64.     //Drzwi oddzielnie (zamknij, nie wylacz)
  65.     var doors = new List<IMyTerminalBlock>();
  66.     GridTerminalSystem.GetBlocksOfType<IMyDoor>(doors);
  67.     for(var i=0; i<doors.Count; i++) {
  68.         var door = doors[i] as IMyDoor;
  69.         if(door.Open) {
  70.             door.GetActionWithName("Open_Off").Apply(door); //Nie wyjdziecie!
  71.         }
  72.     }
  73.  
  74.     //Do gory nogami?
  75.     var gravigens = new List<IMyTerminalBlock>();
  76.     GridTerminalSystem.GetBlocksOfType<IMyGravityGenerator>(gravigens);
  77.     for(var i=0; i<gravigens.Count; i++) {
  78.         var gravigen = gravigens[i] as IMyGravityGenerator;
  79.         gravigen.GetActionWithName("OnOff_On").Apply(gravigen);
  80.         gravigen.GetActionWithName("DecreaseGravity").Apply(gravigen);
  81.     }
  82.  
  83.     //Na koniec pozmieniajmy nazwy :>
  84.     for(var i=0; i<GridTerminalSystem.Blocks.Count; i++) {
  85.         GridTerminalSystem.Blocks[i].SetCustomName("*YOU'VE BEEN HACKED*");
  86.     }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement