SHARE
TWEET

SE Nanite Factory - Status on LCD 1.1 (RUS)

scadl May 8th, 2016 (edited) 108 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. public void Main(string argument) {
  3.    
  4.         var nf = GridTerminalSystem.GetBlockWithName("Nanite Control Factory "+argument) as IMyTerminalBlock;
  5.         string[] NFStat = {""};
  6.         if ( nf != null ){
  7.             NFStat = nf.CustomInfo.Split('\n');
  8.         }
  9.  
  10.         var nh = GridTerminalSystem.GetBlockWithName("NUHOL "+argument) as IMyTerminalBlock;
  11.         string[] NHStat = {""};
  12.         if ( nh != null ){
  13.             NHStat = nh.CustomInfo.Split('\n');
  14.         }
  15.        
  16.         var ld = GridTerminalSystem.GetBlockWithName("LCD-NanitePanel_"+argument) as IMyTextPanel;
  17.         ld.WritePublicText("", false);
  18.         ld.WritePublicText("-= Nanite Factory =- \n", false);
  19.          
  20.         for ( int i=0; i<NFStat.Length; i++){
  21.  
  22.             if ( NFStat[i].IndexOf("Status") >= 0 ){  
  23.                 ld.WritePublicText( "Состояние: " + NFStat[i].Split(':')[1] + "\n", true);  
  24.             }
  25.             if ( NFStat[i].IndexOf("Active Nanites") >= 0 ){  
  26.                 ld.WritePublicText( "Активно: " + NFStat[i].Split(':')[1] + " нанитов\n", true);  
  27.             }
  28.             if ( NFStat[i].IndexOf("Current Power") >= 0 ){  
  29.                 ld.WritePublicText( "--<Статус>--\nЭнргопотребление: " + NFStat[i].Split(':')[1] + "\n", true);  
  30.             }
  31.                
  32.             if ( NFStat[i].IndexOf("Possible Construction") >= 0 ){
  33.                 ld.WritePublicText( "--<Задачи>--\nСобрать: " + NFStat[i].Split(':')[1] + " блоков\n", true);
  34.             }
  35.             if ( NFStat[i].IndexOf("Possible Deconstruction") >= 0 ){
  36.                 ld.WritePublicText( "Разобрать: " + NFStat[i].Split(':')[1] + " блоков\n", true);
  37.             }
  38.             if ( NFStat[i].IndexOf("Possible Floating") >= 0 ){
  39.                 ld.WritePublicText( "Подобрать: " + NFStat[i].Split(':')[1] + " предментов\n", true);
  40.             }
  41.             if ( NFStat[i].IndexOf("Possible Projection") >= 0 ){
  42.                 ld.WritePublicText( "Построить: " + NFStat[i].Split(':')[1] + " блоков\n", true);
  43.             }
  44.             if ( NFStat[i].IndexOf("Possible Mining") >= 0 ){  
  45.                 ld.WritePublicText( "Выкопать: " + NFStat[i].Split(':')[1] + " депозитов\n", true);  
  46.             }
  47.  
  48.             if ( NFStat[i].IndexOf("Missing components") >= 0 ){
  49.                 ld.WritePublicText( "---------------\nНе хватает: \n", true);
  50.                 for ( int j=i+1; j<NFStat.Length-1; j++ ){                  
  51.                     ld.WritePublicText( "[" + NFStat[j] + "]\n", true);
  52.                 }
  53.             }
  54.  
  55.             if  ( NFStat[0] == "" ){
  56.                 ld.WritePublicText("У вас нет Nanite Control Factory,\n или вы её обозвали не правильно\n", false);  
  57.                 ld.WritePublicText("Проверьте описания модов, чтобы понять что не так...\n ", true);
  58.             }
  59.  
  60.         }
  61.  
  62.              if  ( NHStat[0] == "" ){  
  63.                 ld.WritePublicText("--<Mining>--\n", true);    
  64.                 ld.WritePublicText("У вас нет Nanite Ultrasonic Hummer Ore Locator\n, или вы его обозвали не правильно\n", true);    
  65.                 ld.WritePublicText("Проверьте описания модов, чтобы понять что не так...\n ", true);    
  66.             } else {  
  67.                 int OreStatB = 0;   int OreStatE = 0;
  68.                 for ( int j3 = 0; j3 < NHStat.Length; j3++  ){
  69.                     if ( NHStat[j3].IndexOf("Ore Detected:") >= 0 ){ OreStatB = j3+2; }
  70.                     if ( NHStat[j3].IndexOf("Valid Ore Types:") >= 0 ){ OreStatE = j3-2; }
  71.                 }
  72.    
  73.                 ld.WritePublicText("--<Копаю ресурсы>--\n", true);    
  74.                 for (  int j2=OreStatB;  j2<OreStatE;  j2++  ){                    
  75.                         ld.WritePublicText( "[" + NHStat[j2] + "]\n", true);  
  76.                 }
  77.                
  78.  
  79.             }
  80.  
  81.  
  82. }
RAW Paste Data
Top