Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int long_count = 0;
- int deep_count = 0;
- public void Main(string argument)
- {
- // block declarations
- string ERR_TXT = "";
- List<IMyTerminalBlock> l2 = new List<IMyTerminalBlock>();
- IMyPistonBase v2 = null;
- GridTerminalSystem.GetBlocksOfType<IMyPistonBase>(l2);
- if(l2.Count == 0) {
- ERR_TXT += "no Piston blocks found\n";
- }
- else {
- for(int i = 0; i < l2.Count; i++) {
- if(l2[i].CustomName == "mining_long") {
- v2 = (IMyPistonBase)l2[i];
- break;
- }
- }
- if(v2 == null) {
- ERR_TXT += "no Piston block named mining_long found\n";
- }
- }
- List<IMyTerminalBlock> l3 = new List<IMyTerminalBlock>();
- IMyPistonBase v3 = null;
- GridTerminalSystem.GetBlocksOfType<IMyPistonBase>(l3);
- if(l3.Count == 0) {
- ERR_TXT += "no Piston blocks found\n";
- }
- else {
- for(int i = 0; i < l3.Count; i++) {
- if(l3[i].CustomName == "mining_deep") {
- v3 = (IMyPistonBase)l3[i];
- break;
- }
- }
- if(v3 == null) {
- ERR_TXT += "no Piston block named mining_deep found\n";
- }
- }
- List<IMyTerminalBlock> l4 = new List<IMyTerminalBlock>();
- IMyRefinery v4 = null;
- GridTerminalSystem.GetBlocksOfType<IMyRefinery>(l4);
- if(l4.Count == 0) {
- ERR_TXT += "no Refinery blocks found\n";
- }
- else {
- for(int i = 0; i < l4.Count; i++) {
- if(l4[i].CustomName == "mining_refinery") {
- v4 = (IMyRefinery)l4[i];
- break;
- }
- }
- if(v4 == null) {
- ERR_TXT += "no Refinery block named mining_refinery found\n";
- }
- }
- List<IMyTerminalBlock> l5 = new List<IMyTerminalBlock>();
- IMyMotorAdvancedStator v5 = null;
- GridTerminalSystem.GetBlocksOfType<IMyMotorAdvancedStator>(l5);
- if(l5.Count == 0) {
- ERR_TXT += "no Advanced Rotor blocks found\n";
- }
- else {
- for(int i = 0; i < l5.Count; i++) {
- if(l5[i].CustomName == "mining_rotor") {
- v5 = (IMyMotorAdvancedStator)l5[i];
- break;
- }
- }
- if(v5 == null) {
- ERR_TXT += "no Advanced Rotor block named mining_rotor found\n";
- }
- }
- List<IMyTerminalBlock> l6 = new List<IMyTerminalBlock>();
- IMyShipDrill v6 = null;
- GridTerminalSystem.GetBlocksOfType<IMyShipDrill>(l6);
- if(l6.Count == 0) {
- ERR_TXT += "no Drill blocks found\n";
- }
- else {
- for(int i = 0; i < l6.Count; i++) {
- if(l6[i].CustomName == "mining_drill") {
- v6 = (IMyShipDrill)l6[i];
- break;
- }
- }
- if(v6 == null) {
- ERR_TXT += "no Drill block named mining_drill found\n";
- }
- }
- // user variable declarations
- float long_count = 0.0f;
- float deep_count = 0.0f;
- // display errors
- if(ERR_TXT != "") {
- Echo("Script Errors:\n"+ERR_TXT+"(make sure block ownership is set correctly)");
- return;
- }
- else {Echo("");}
- // logic
- v2.Velocity = (float)0.5;
- v2.MaxLimit = (float)0;
- v3.Velocity = (float)0.5;
- v3.MaxLimit = (float)0;
- if(((IMyRefinery)v4).GetInventory(0).IsFull == true) {
- v5.ApplyAction("OnOff");
- v6.ApplyAction("OnOff");
- }
- if(getDegrees(v5.Angle) > 84 || (getDegrees(v5.Angle) < 276)) {
- v5.ApplyAction("Reverse");
- long_count = +1;
- }
- if(long_count > 1) {
- v2.MaxLimit = (float)2;
- long_count = 0;
- deep_count = +1;
- }
- if(deep_count == 2) {
- v3.MaxLimit = (float)0.75;
- deep_count = 0;
- }
- }
- float getDegrees(float rad) {
- return (float) (rad * (180/Math.PI));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement