Meine ersten Gehversuche mit IngameScripts

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Meine ersten Gehversuche mit IngameScripts

      Ein sehr simples Script, dass die Masse aller Terminalblöcke über das erste verbaute Beacon ausgibt.

      C-Quellcode

      1. void Main(string argument)
      2. {
      3. //get blocks
      4. var blocks = new List<IMyTerminalBlock>();
      5. GridTerminalSystem.GetBlocksOfType<IMyCubeBlock>(blocks);
      6. //get beacons
      7. var beacons = new List<IMyTerminalBlock>();
      8. GridTerminalSystem.GetBlocksOfType<IMyBeacon>(beacons);
      9. if(beacons.Count > 0)
      10. {
      11. IMyTerminalBlock Beacon = beacons[0];
      12. Beacon.SetCustomName("Mass of Ships Terminal Blocks");
      13. float massOfBlocks = 0;
      14. if(blocks.Count > 0)
      15. {
      16. for(int i = 0; i < blocks.Count; i++)
      17. {
      18. massOfBlocks = massOfBlocks + blocks[i].Mass;
      19. }
      20. Beacon.SetCustomName(Beacon.CustomName + ": " + massOfBlocks.ToString() + "kg");
      21. }
      22. }
      23. }
      Alles anzeigen
      i slappa da bass
    • Disco, Disco!

      Schon etwas weiter entwickelt: Das Disco-Script nimmt als Argument den Namen einer Blockgruppe entgegen, die nur Scheinwerfer und Innenbeleuchtung enthalten darf. Deren Farben werden dann bei jedem Aufruf (etwa über Timer 1x / Sekunde) zufällig eingestellt.



      C-Quellcode

      1. void Main(string groupname)
      2. {
      3. List<IMyBlockGroup> blockGroups = new List<IMyBlockGroup>();
      4. GridTerminalSystem.GetBlockGroups(blockGroups);
      5. for (int i = 0; i < blockGroups.Count; i++)
      6. {
      7. if (blockGroups[i].Name.StartsWith( groupname ))
      8. {
      9. IMyBlockGroup disco = blockGroups[i];
      10. for (int f = 0; f < disco.Blocks.Count; f++)
      11. {
      12. Random rnd = new Random();
      13. int r = rnd.Next(1,256);
      14. int g = rnd.Next(1,256);
      15. int b = rnd.Next(1,256);
      16. Color rgbColor = new Color(r, g, b);
      17. disco.Blocks[f].SetValue("Color", rgbColor);
      18. }
      19. }
      20. }
      21. }
      Alles anzeigen

      i slappa da bass