7903
Space Engineers

Katt a képre
  • RoboKutya78
    #1479
    nem tudom valószínű én ezzel a notival tuti el se tudom indítani majd:( 3 fps-em van amit nem vágok miért van.
  • RJoco
    #1478
    Csak jutnánk már el oda, hogy valamilyen bolygó szerű égitestre le lehessen szállni.
    A vége meg tiszta Transformers volt.
  • laci4321
    #1477
    Aztarohadt :D
    Bolygó teaser

    Nagyon durva az eheti bolygó bemutató! De nagyon! És az utolsó másodpercek? Áhh, már nem bírok várni :D
    Utoljára szerkesztette: laci4321, 2015.10.16. 13:33:13
  • RJoco
    #1476
    Ilyenekkel én nem találkoztam. Minek a megtámadása esetén jönnek?
    Milyen ellenség beállítást használsz?
  • RoboKutya78
    #1475
    kétféle dronnal futottam össze az egyik egy gömb alakúra kreált izé két stukival az oldalán
    a másik egy két háromszöget formázó alak benne két számítógép meg 3 időzítő a meghajtás meg egy gyémántalakba lerakott formába volt csomagolva az elején egy géppityuval.
    Képem még nincs mert nem azon filóztam hogy fotózzak:)
  • RJoco
    #1474
    Ügyesen belőtte a szimmetrikus építkezést.
    Az ügyes vágta és gyorsította fel a videót. Vajon ténylegesen meddig építhette?
  • RJoco
    #1473
    Érdekes.
    Nálam a fegyverzetet célozza először mindig. Ha sikerül segítséget hívnia, akkor az is először a fegyverzetet célozza és csak utána lövi a hajó többi részét.
    Drónt még úgy igazán nem láttam, van róla képed?
  • RoboKutya78
    #1472
    ez egy állat :)
    Mármint az építkezési stílusa az a videjót lessétek:)
    Aki képes arra hogy felvegyen egy teljes állomás felépítését az már vér profi játékos:)

    Utoljára szerkesztette: RoboKutya78, 2015.10.15. 22:09:03
  • RoboKutya78
    #1471
    Nagyon kezd elegem lenni a játékból
    akár mit találok ki az ellen mindig megtalálja a gyenge pontját a járműmnek
    Csináltam egy dront távirányítással ugye a kamera a leggyengébb láncszem ebbe az esetben Naná hogy teli vágja rakétával a mocsok.
    még azt se tudtam mi talált el .
    Visszacammogtam a cuccomhoz hogy meglessem mi vaan erre a kis nyomi dron benne csücsült a kockám közepébe és úgy repült vele elfele mint a szél.pedig 5 5 meghajtó volt mind a 4 oldalán a kockámnak ez a kishajó meg a törpe meghajtóival uhh pedig a kockám volt vagy 1 milla tonnás.

    Lehet ideje váltanom vissza kell lesnem star trekbe mi folyik ottan.

    Utoljára szerkesztette: RoboKutya78, 2015.10.15. 19:33:34
  • RoboKutya78
    #1470
    ha jól értem ez is csak egyesével töltikézik:(
  • SUPERTRABI
    #1469
    ezt tudom ajánlani,de csak mp3-at tölt le, viszont nem tudom, hogy lejátszási listákat letölt-e, de nagyon jó és gyors:)

    letolto

    Utoljára szerkesztette: SUPERTRABI, 2015.10.15. 18:45:05
  • RoboKutya78
    #1468
    Ha egy lejátszási listát szeretnék leszedni és nem egy számot valami ilyen kéne
    Ncorem meg nincs sajna:)
  • RJoco
    #1467
    Nem igazán értem, hogy mit akarsz.
    Ha album kell akkor pl. az nCore-t tudom ajánlani.
  • RoboKutya78
    #1466
    Hülyeséget írtam...
    De ez már megint olyan hogy nem csomagban tud letölteni

    Utoljára szerkesztette: RoboKutya78, 2015.10.15. 16:08:46
  • RoboKutya78
    #1465
    De ez már megint olyan hogy csomagban tud letölteni darabban tölti le a számokat.


    Utoljára szerkesztette: RoboKutya78, 2015.10.15. 16:07:12
  • RJoco
    #1464
    Youtube Video and Audio Downloader
    Kiválaszthatod a képminőséget, de képes csak a hangot is leszedni. Abból is van általában több minőségben is.
  • RoboKutya78
    #1463
    Srácok tudtok nekem olyan értelmes youtube letöltőt mondani amivel komplett albumcsomagokat is le lehet rántani??
    A flash Got jó lenne de az csak letölti a filokat de nem konvertál egybe mp3 ra:)
    Utoljára szerkesztette: RoboKutya78, 2015.10.15. 11:54:01
  • RJoco
    #1462
    A képeken tényleg nem világítanak a tartályokon a lámpa. Lehet, hogy valami bug.
  • RoboKutya78
    #1461
    Azon vacillálok hogy anno automatikusan elkezdett feltölteni a tartály most meg azt se látom hogy hány zöld kocka van rajta
    vagy csak én nem látom?:)
  • RJoco
    #1460
    Hét kis kocka szabad terület volt a hajtómű alatt és a rohadék így is felrobbant. Kikapcsoltam a hajtómű sérülést.
    Az új Sakk-Matt:
    A decay még nincs rajta és nem olyan szép, mint elődje volt, de remélhetőleg jobban teljesít majd. Ebbe már került 2 közepes konténer is.
    A hajtómű sérül kikapcsolása révén lehet átalakítom a hajtómű szekciókat. De mára már elég volt a játékból.
    Utoljára szerkesztette: RJoco, 2015.10.14. 20:23:58
  • RJoco
    #1459
    Ez a decoy jó ötlet, nem is tudtam a létezéséről, szerelek is párat a hajóra. Úgyis át akarom alakítani egy kicsit. Megint felrobbant egy nagy hajtómű, pedig vagy 3 blokk üres rész volt alatta. Ráadásul valamiért leszakadt 3 futómű is, holott el sem talált az áldozat.

    Úgy gondoltam a magamévá tenni, hogy az egészet elfoglalni és irányításom alá vonni. De akkor ez csak sok idővel lehetséges.
    Ma egy Carrige-t fogtam és a saját hajtóműveivel vittem haza, mert a kis hajóm elég nehezen bírta volna el. Viszont csak 1 rakéta torony volt rajta.

    Nálatok is baromira fénylik az antenna környéke úgy 1000m-en belülről? Elég zavaró.
  • Carmang
    #1458
    Én még raknék erre a hajóra decoy-okat, hogy azokat lőjék az ellenséges ágyúk, természetesen nehézblokk mögé, és valahova az orra környékére.

    Az alatt mit értesz, hogy nem tudtad magadévá tenni a hajót? Ha irányítani akarod, akkor a Control Station-t kell magadévá tenni. Ha a tárolókba, reaktorba, mindenfélébe is bele akarsz nyúlni (nyilván bele akarsz nyúlni, és ki akarod szedni, ami bennük van), akkor azokat egyesével kell magadévá tenni. Bizony, ez van...
  • SUPERTRABI
    #1457
    NA a legjobb megoldás erre a problémára, ha teletöltesz egy tartályt, lecsatlakoztatod valami módon az oxigén generátorrol, igy nem töltődik fel mikor kimegy belőle a levegő. És ugyan ebből a tartályból szivod ki-be a levegőt, elvileg azt a termet meg kell tudnia tölteni 1 tartálynak, de ha nem akkor kettőt vagy többet töltesz meg amiket szintén lecsatlakoztatsz az oxigenerátorról és azokba töltöd ki-be a levegőt, akkor elvileg 100% lesz a tartályban ha nincs a a szobában levegő, és ha kifújod akkor legyem mondjuk 90%ra de csak akkor töltödik vissza amikor a szobából visszaszivod a levegőt a tartály(ok)ba. remélem elég jó tipp :)
  • RJoco
    #1456
    No igen. Én is így oldottam meg az Égi Fény-nél. Viszont kreatív módban sosem telik meg a tartály.

    Nálad nem kevés befújásra az egy venti? Azt látom, hogy kifele gyorsan akarod szívni.

    Nem vagyok igazán otthon a témában, mert én ilyet még nem üzemeltetek túlélőben, de:
    Azt tudom tanácsolni, hogy tölts meg tartályokat levegővel. Akkor talán mindig fogy.
    De megpróbálhatsz egy szortírozót is betenni a rendszerbe és visszavezetni a levegőt a fő tartályba. Persze, csak, ha van rá lehetőség, nem tudom, hogy a szortírozó a levegőt is kezeli e.
    A másik és tuti működő megoldás az lehet, ha a hajó külső falára teszel egy ventit, mely mindig kifújja a levegőt és erre kötöd az elszívó rendszered. Persze ez pazarlás, de ha az előző ötletek nem működnek, akkor...
    Nekem most más nem jut az eszembe.

    Edit: Én mindig lekapcsoltam az elszívót is, hogy tuti ne szívja el a levegőt, amit a másik beküld. De lehet, hogy működik az is, hogy amikor nyomás alá helyezed a helységet, akkor az elszívó visszaküldi a levegőt és csak utána kapcsol be a rendes szellőzés. Persze ehhez jó időzítés kell vagy, ha megoldható, akkor scripttel kell üzemeltetni a rendszert.
    Utoljára szerkesztette: RJoco, 2015.10.14. 16:43:41
  • RJoco
    #1455
    A bázis megy ahogy kell, azzal nincs gond. Akkor van szívás, ha egy járműben ülök és visszatöltés után éppen kiszállnék. No igen ám, de a jármű magasan van, így jetpack-kel kellett beszállnom. És könnyű lecsúszni a járműről is, adott esetben nem is fölötte voltam mikor beszálltam. És ugye oda rak ki a játék, ahol beszálltál.
    A dolgot tetézi, hogy mindezt 1G-s gravitációs környezetben tetted. Vagyis amikor kiszállsz és nem számítasz rá, hogy nem megy a jetpack (mert a hud szerint be van kapcsolva), akkor szépen leesel és szörnyet halsz.
    Nálam szerencsére csak 0,3G a gravitáció, pont az esések miatt, de ez nem mindig és mindenhol lesz így.
  • RoboKutya78
    #1454
    Igen nálam is csütörtök óta kikapcsolt energia rendszerrel éled a bázis lehet megpróbálták ezzel csökkenteni a betöltési idejét a rendszernek. vicces amikor a szikrahangot hallod meg először a játékban:)
  • RoboKutya78
    #1453
    Tényleg Baromi jó érzés ebbe a játékba ha valamire az ember saját maga jön rá attól független hogy mennyire nézett utána a dolgoknak:)
    Végre összehoztam az első levegő elszívós hangár rendszeremet:)
    Első képen bal oldalon látható a levegőszállító rendszere a bázisomnak egy oxigén tartály egy ventilátor. A jobb oldalt az elszívó rendszer ami nincs a hálózatra kötve van egy tartály ami begyűjtésre van állítva és van 3 venti ami elszívásra. A kép az alap állapotot mutatja

    Ajtó kinyitásnál a bal oldali ventit lezártam a jobb oldali kinyitva a hudon szépen lassan lowba megy a mutató majd kinyitnak a kapuk, és nem vágódók ki a légnyomástól a hangárból:) Most még lehet finomítani hang fény efeltekkel a dolgot majd:)
    -- Viszont egy dologban kellene a segítségetek azt hogy tudom megoldani hogy a beszívó tartályt gombnyomásra üríteni tudjam mert jelenleg csak beszívja a levegőt azt 100% nál kihal a rendszer:)
  • RJoco
    #1452
    A rakéta vető sokkal hatékonyabb, mint az ágyú, viszont a kicsibe max 40 darab fér és nem újratölthető. Az újratölthetőhöz meg csak nagy továbbító cső rakható, így az orrába azt nem tudom felszerelni, hogy újra tudjam tölteni. Ahhoz nagyobb hajót kellene építeni.

    A hajó nevét el is felejtettem írni. Sakk-Matt-nak hívják :)

    Ma gondoltam levadászok egy Mining Hauler-t. Hát nem jött össze. Volt rajta 2 rakétatorony, meg vagy 4 ágyú torony. Én meg kevés rakétával mentem, az ágyútoronnyal meg nem lehet ráközelíteni, így nem tudtam, pontosan hova lövök.
    Szomorúan tapasztaltam, hogy a rakétáknak is kell platinium és, hogy egy hauler-en több a fegyverzet, mint a Private Sail-on.
  • RJoco
    #1451
    Nálatok is azt csinálja mostanában, hogy a világ betöltése után kikapcsolt állapotban van a Jetpack?
    Elég idegesítő, holott kilépésnél még be volt kapcsolva.
  • RJoco
    #1450
    Szeretem bekamerázni a hajókat és akkor nem a külső nézetet használom. Bár ezen jelenleg nem a legjobb helyen vannak a kamerák és nincs is minden irányban..
    Amúgy van hátrafelé is egy és igen, a konnektornál is van egy, ez csak természetes. Bár az sem a legjobb helyen van még.
    A másik hajóra való landolást külső nézetből csináltam, még van mit csiszolni a kamerákon. Nameg Flight Assist nélkül nem olyan egyszerű a dolog, de mozgó hajóra másképp nem lehet leszállni.
    (Flight Assist (Elite) = Csillapítás)
    Azért sajnálatos, hogy kamerával nem lehet körbenézni, mint a pilótaszékből.
    Az első-felső kamera tényleg nem a tuti, bár nem a nézelődés, hanem inkább a célzás miatt. Az alsóval egyszerűbben lövök fölé. Viszont amikor tüzelnek az ágyúk, akkor sajna sok mindent nem lehet látni. Meglátjuk a rakétákkal mi lesz a helyzet majd.

    Nem lenne rossz lézer célzós fegyverzet. Akkor tuti, hogy pontosan lehetne lőni és nem csak kb-ra. Lőszer spórolás lenne.
    Utoljára szerkesztette: RJoco, 2015.10.13. 21:56:48
  • RoboKutya78
    #1449
    hi hi.... sakktábla. Na ezt vedd észre messziről:)
    nincs rajta egy kicsit felesleges kamera mennyiség?
    Előre minek kettő az oldalát se vágom minek az ott, alul van a konnektornál?
    Elöl a fülkénél én inkább lehegyesíteném. Az alsó jó az maradhat mivel 2 kockányival előrébb lát:)
  • RJoco
    #1448
    Építek egy kicsit az egyik oldalon, majd építek kicsit a másik oldalon és így lesz szimmetrikus a hajó.
    Az alant lévő hajó is szimmetrikus, ráadásul túlélő módban csináltam az egészet.

    Azt el is felejtettem írni, hogy azért hajót fogni nem annyira egyszerű. Lehet, hogy nem hátulról kellett volna neki mennem, hanem elölről, ott nem volt fegyverzete és a hajó kialakítása miatt nem is érhetett volna el a hátsó fegyvereivel. Nameg, ha leszedem az antennát az elején, akkor nem tud segítséget hívni :D
  • RJoco
    #1447
    Mai napi munkálkodásom:





    Mindjárt fogtam is vele egy Private Sail-t. Igaz a 3 ágyú az elején elhalálozott, a kis mocsok leszedte őket, de addigra pont az ő fegyverzetének is annyi volt. Aztán még segítséget is hívott, még jó, hogy volt tornyom, azzal azt már el tudtam intézni.
    Rátalpaltam a kicsikére, megflexeltem a hajtóműveit, meg a sérült modulokat távolítottam el és a jeladóit csonkítottam meg, majd hazavontattam.
    Sajnálatos mód sehogy sem sikerült a magamévá tenni. Minden áramforrását megcsonkítottam, de úgy vettem észre, hogy minden aktív elemet meg kell rongálni, hogy utána magamévá tehessem. Nem vacakoltam, szétszedtem az egészet. Jó sok akkunak és napelemnek való került ki belőle.
    Viszont a kis hajóra asszem rakétavetőt kell tegyek az elejére, az talán hatásosabb, mint az ágyú.
  • RoboKutya78
    #1446
    Hm ez érdekes ötlet:)
    Lesz egy kis energiám meglesem köszi:)
    ezt a funkciót nem is láttam benne:)
  • laci4321
    #1445
    Amúgy SETool box-szal van lehetőséged rá, hogy kijavítsd az asszimetriahibákat.
    1. hozd létre a szimmetriasíkot a játékban
    2. Hagyd meg azt a részét a hajónak, ami alapján le akarod másolni a másikat. A hibás szimmetriájú hajórészt töröld ki.
    3. Mentsd el a világot és lépj ki a SE-ből
    4. Nyisd meg a világot a SETool-boxban és keresd meg a lemásolandó hajót a listában.
    5. Jobb oldalon van egy „Mirror” fül, arra katt és valami olyasmire kell nyomni aztán egy listában hogy „Mirroring with defined symmetry” - tükrözés megadott szimmetriasíkon. Ilyenkor a SETool box felépíti a szimmetriasík alapján a hiányzó hajórészeket.
    (Én még csak páncélblokkokkal próbáltam, nem tudom hogy másféle blokkokkal is működik-e a tükrözés)
  • laci4321
    #1444
    RoboKutya78: Hogyan rakj szimmetriát a hajóra:
    1.: Válassz ki valamilyen blokkot, pl egy páncél blokkot és nézz rá a hajóra, mintha rá akarnád tenni.
    2./a: Nyomj "m" betűt. (többször is nyomhatsz) Ilyenkor a blokkon amire rá akarnád tenni a másikat, színes szimmetriasíkok jelennek meg. Ha megvan a megfelelő, amit rá akarsz tenni, nyomj bal egérgombot. Ha jobb egérgombot nyomsz, azzal törölhetsz már meglévő szimmetriasíkokat.
    2./b: Ha pl. törölni akarsz egy már meglévő piros szimmetriasíkot, akkor jelöld ki ugyan azt a szimmetriasíkot az "m" betű nyomogatásával, illeszd rá a már meglévőre (egy megfelelő blokkra nézel) és nyomj egy jobb egérgombot.
    3.: A szimmetriaszerkesztést úgy tudod bezárni, hogy megnyomod 2-szer az "n" betűt. (Ha csak 1-szer nyomsz, azzal kikapcsolod a szimmetriát (és ezzel együtt a szimmetriaszerkesztőt), ezért meg kell nyomni újra hogy bekapcsold, de ezúttal már szimmetriamód kapcsol be, a szerkesztője nem, azt az "m"-el tudod újra bekapcsolni.)
  • RoboKutya78
    #1443
    Srácok ezt a scriptet hogy configoljam hogy 20 perces napforgásra reagáljon?
    SPOILER! Kattints ide a szöveg elolvasásához!
    /*
    Script for automatic rotor stop when a solar panel or oxygen farm has high output.
    Version: 0.99d

    Sigurd Hansen
    */
    #region Variables
    const int HighPwrValue = 200; // Set this to your minimum power requirement per panel. (Or oxygen L/min)
    const string NameOfSolar = "SolarMain"; // Search for Solar Blocks(Or oxygen farm)
    const string NameOfRotorX = "RotorX"; // Search for Rotor Blocks with this name.
    const float rotorspeed = 2f; // Max speed of rotor. Will be dynamically adjusted when close to target. Do not remove "f"

    const bool EnableTimerMgmt = false; // Enable Dynamic Timer Trigger Management for better accuracy and performance.
    const string NameOfTimer = "SolarTimer"; // Set this to the timer responsible for triggering this program.
    const float TimerIdleDelay = 8f; // Delay of timer when idle. Do not remove "f"
    const float TimerActiveDelay = 2f; // Delay of timer when active. Do not remove "f". Do not set below 2.

    const bool EnableTwoAxisMode = true; // Support for dual axis configuration
    const string NameOfRotorY = "RotorY"; // Search for this name for extra axis. Must not find x-axis rotors.

    const bool EnableOxygenMode = false; // Enables oxygen mode.


    // Changes below this line not recommended
    //------------------------------------------------------------

    List<IMyTerminalBlock> solarBlocks = new List<IMyTerminalBlock>();
    List<IMyTerminalBlock> rotorBlocksX = new List<IMyTerminalBlock>();
    List<IMyTerminalBlock> rotorBlocksY = new List<IMyTerminalBlock>();
    IMyTimerBlock timer;

    bool firstrun = true;
    #endregion
    #region Main
    void Main()
    {
    if (firstrun) {
    GridTerminalSystem.SearchBlocksOfName(NameOfSolar, solarBlocks); // Search for Solar Blocks
    GridTerminalSystem.SearchBlocksOfName(NameOfRotorX, rotorBlocksX); // Search for Rotor Blocks
    GridTerminalSystem.SearchBlocksOfName(NameOfRotorY, rotorBlocksY); // Search for RotorY Blocks
    timer = GridTerminalSystem.GetBlockWithName(NameOfTimer) as IMyTimerBlock;
    if (timer == null && EnableTimerMgmt) { throw new Exception("Cannot find timer. Check timer name and recompile."); }
    if (solarBlocks.Count == 0) { throw new Exception("Cannot find solar panel. Check name and recompile."); }
    if (rotorBlocksX.Count == 0) { throw new Exception("Cannot find x-axis rotor blocks. Check name and recompile."); }
    if (rotorBlocksY.Count == 0 && EnableTwoAxisMode) { throw new Exception("Cannot find y-axis rotor blocks. Check name and recompile."); }
    if (rotorBlocksY.Count < rotorBlocksX.Count && EnableTwoAxisMode) {
    int diff = rotorBlocksX.Count - rotorBlocksY.Count;
    throw new Exception(diff + " Y-axis rotors missing. Fix and recompile.");
    }

    firstrun = false;
    }

    bool[] rotorOn = new bool[rotorBlocksX.Count]; // Stop or start rotor
    bool[] rotorLow = new bool[rotorBlocksX.Count]; // True when power is way to low
    bool[] rotorFineTune = new bool[rotorBlocksX.Count]; // Fine Tune, very slow rotor
    bool[] reverse = new bool[rotorBlocksX.Count]; // Reverse rotor
    bool[] rotorOnY = new bool[rotorBlocksY.Count]; // Stop or start rotor

    bool containsFalse = false; // Dynamic timer management. Increase or decrease timer
    float pwr = 0f, lastPwr = 0f; // Current and last power reading

    if (EnableOxygenMode) {
    for(int i = 0; i < solarBlocks.Count; i++) { // For each oxygen farm...
    var solar = solarBlocks[i] as IMyOxygenFarm; // Support for oxygen farm
    if(solar != null) { // Yes I am
    GetOxygen(solar, ref pwr); // Get oxygen level, return into existing pwr variable
    lastPwr = GetAndSetLastOxygen(solar, pwr); // Get and set last runs oxygen level
    reverse[i] = (lastPwr < pwr || pwr == 0) ? false : true; // Change rotor direction
    rotorOn[i] = (pwr <= HighPwrValue) ? true : false; // Turn on rotor
    rotorLow[i] = (pwr < HighPwrValue/2) ? true : false; // Slow or fast rotor
    rotorFineTune[i] = (pwr > HighPwrValue*10/11) ? true : false; // Fine tune rotor
    }
    }
    } else {
    for(int i = 0; i < solarBlocks.Count; i++) { // For each solar panel...
    var solar = solarBlocks[i] as IMySolarPanel; // I am a Solar Panel
    if(solar != null) { // Yes I am
    GetPower(solar, ref pwr); // Get Power from solar panel, return into existing pwr variable
    lastPwr = GetAndSetLastPwr(solar, pwr); // Get and set last runs power
    reverse[i] = (lastPwr < pwr || pwr == 0) ? false : true; // Change rotor direction
    rotorOn[i] = (pwr <= HighPwrValue) ? true : false; // Turn on rotor
    rotorLow[i] = (pwr < HighPwrValue/2) ? true : false; // Slow or fast rotor
    rotorFineTune[i] = (pwr > HighPwrValue*10/11) ? true : false; // Fine tune rotor
    }
    }
    }

    for(int i = 0; i < rotorBlocksX.Count; i++) { // For each rotorX...
    IMyMotorStator rotor = rotorBlocksX[i] as IMyMotorStator; // I am a Rotor
    if(rotor != null) { // Yes I am
    SetRotorSpeed(rotor, rotorLow[i], rotorFineTune[i]); // Dynamic rotor speed
    if (!rotorOn[i]) { // Turn off...
    TriggerRotor(rotor, false, false, ref containsFalse); // Stop rotor
    } else if (rotorOn[i] && EnableTwoAxisMode && reverse[i]) { // Turn On, dual axis mode, and reverse
    rotorOnY[i] = CheckAndUpdateRotorName(rotor);
    if (rotorOnY[i]) {
    TriggerRotor(rotor, false, false, ref containsFalse); // Y on, therefore X off.
    }

    if (!rotorOnY[i]) {
    TriggerRotor(rotor, true, reverse[i], ref containsFalse); // Y off, therefore X on, and reverse.
    }
    } else if (rotorOn[i] && EnableTwoAxisMode && !reverse[i]) {
    rotorOnY[i] = CheckAndUpdateRotorName(rotor);
    if (!rotorOnY[i]) {
    TriggerRotor(rotor, true, reverse[i], ref containsFalse); // Start rotor. Reverse if needed
    }
    } else {
    TriggerRotor(rotor, true, reverse[i], ref containsFalse); // Start rotor. Reverse if needed
    }
    }
    }

    if (EnableTwoAxisMode) {
    for(int i = 0; i < rotorBlocksY.Count; i++) { // For each rotorY...
    IMyMotorStator rotor = rotorBlocksY[i] as IMyMotorStator; // I am a Rotor
    if(rotor != null) { // Yes I am
    if (rotorOnY[i] == true) {
    SetRotorSpeed(rotor, rotorLow[i], rotorFineTune[i]); // Dynamic rotor speed
    TriggerRotor(rotor, true, reverse[i], ref containsFalse); // Start rotor Y. Reverse if needed
    } else {
    TriggerRotor(rotor, false, false, ref containsFalse);
    }
    }
    }
    }

    if (containsFalse && EnableTimerMgmt) { // Dynamic timer stuff
    if (timer.TriggerDelay > TimerActiveDelay) {
    AdjustTriggerDelay(timer, false); // Decrease Timer Delay
    }
    } else {
    if (timer.TriggerDelay < TimerIdleDelay && EnableTimerMgmt) {
    AdjustTriggerDelay(timer, true); // Increase Timer Delay
    }
    }
    }

    #endregion

    #region Methods

    void AdjustTriggerDelay(IMyTimerBlock timer, bool Increase) {
    if (Increase) { timer.SetValue("TriggerDelay", TimerIdleDelay); } // Increase Timer Trigger Delay
    else { timer.SetValue("TriggerDelay", TimerActiveDelay); } // Decrease Timer Trigger Delay
    }

    void TriggerRotor(IMyMotorStator rotor, bool state, bool reverse, ref bool containsFalse) {
    if (!state) {
    rotor.GetActionWithName("OnOff_Off").Apply(rotor); // Stop rotor
    } else {
    rotor.GetActionWithName("OnOff_On").Apply(rotor); // Start rotor
    containsFalse = true; // Adjust timer for better accuracy
    if (reverse) { rotor.GetActionWithName("Reverse").Apply(rotor); }
    }
    }

    void GetPower(IMySolarPanel solar, ref float pwr) {
    string value = "";
    string type = "";
    System.Text.RegularExpressions.Regex matchthis = new System.Text.RegularExpressions.Regex(@"^.+\n.+\:\s?([0-9\.]+)\s(.*)\n.+$");
    System.Text.RegularExpressions.Match match = matchthis.Match(solar.DetailedInfo);
    if (match.Success)
    {
    value = match.Groups[1].Value;
    type = match.Groups[2].Value;
    Echo (value + " " + type);
    } else throw new Exception("Can't parse DetailedInfo with regex");
    bool test = float.TryParse(value, out pwr); // Get power into variable
    if (type == "W") { pwr /= 1000; } // Make sure power is in kW
    if (!test) { throw new Exception("Can't parse power reading from solar panel: " + value); }
    }

    void GetOxygen(IMyOxygenFarm solar, ref float pwr) {
    string value = "";
    System.Text.RegularExpressions.Regex matchthis = new System.Text.RegularExpressions.Regex(@"^.+\n.+\n.+\:\s?([0-9\.]+)\s?L.*$");
    System.Text.RegularExpressions.Match match = matchthis.Match(solar.DetailedInfo);
    if (match.Success)
    {
    value = match.Groups[1].Value;
    Echo (value + " L/min");
    } else
    {
    Echo("Assuming 0; Can't parse DetailedInfo: " + value);
    value = "0";
    }
    bool test = float.TryParse(value, out pwr); // Get oxygen into variable
    if (!test) { throw new Exception("Can't parse reading from oxygen farm\n"); }
    }

    void SetRotorSpeed(IMyMotorStator rotor, bool fast, bool FineTune) {
    float SetTo = 0f;
    bool VelocityPositive = (rotor.GetValueFloat("Velocity") > 0f) ? true : false; // True if positive velocity
    if (fast) { // Under half of required power from solar panel. Will increase speed
    SetTo = (VelocityPositive) ? rotorspeed : -rotorspeed;
    } else if (FineTune) { // Fine tune speed
    SetTo = (VelocityPositive) ? rotorspeed/3.7f : -rotorspeed/3.7f;
    } else { // Not far from required power. Lower speed for increased accuracy
    SetTo = (VelocityPositive) ? rotorspeed/1.7f : -rotorspeed/1.7f;
    }
    rotor.SetValue("Velocity", SetTo);
    }

    float GetAndSetLastPwr(IMySolarPanel solar, float CurrentPower) {
    float OldPwr = 0f;
    string[] words = solar.CustomName.Split(':'); // Colon split words
    if (words.Length > 1) { // If there is data after colon
    if (!float.TryParse(words[1], out OldPwr)) { OldPwr = 0f;} // Try to get data into float variable
    }
    solar.SetCustomName(words[0] + ":" + CurrentPower); // Set current power in solar panel name
    return OldPwr;
    }
    float GetAndSetLastOxygen(IMyOxygenFarm solar, float CurrentPower) {
    float OldPwr = 0f;
    string[] words = solar.CustomName.Split(':'); // Colon split words
    if (words.Length > 1) { // If there is data after colon
    if (!float.TryParse(words[1], out OldPwr)) { OldPwr = 0f;} // Try to get data into float variable
    }
    solar.SetCustomName(words[0] + ":" + CurrentPower); // Set current power in solar panel name
    return OldPwr;
    }


    bool CheckAndUpdateRotorName(IMyMotorStator rotor) {
    int OldCount = 0;
    string[] words = rotor.CustomName.Split(':'); // Colon split words
    if (words.Length > 1) { // If there is data after colon
    if (!int.TryParse(words[1], out OldCount)) { OldCount = 0;} // Try to get data into int variable
    }
    int NewCount = OldCount + 1;
    if (OldCount > 6) {
    rotor.SetCustomName(words[0] + ":0");
    return true;
    }
    else if (OldCount >= 3) {
    rotor.SetCustomName(words[0] + ":" + NewCount); // Set current count in rotor name
    return true;
    } else {
    rotor.SetCustomName(words[0] + ":" + NewCount); // Set current count in rotor name
    return false;
    }
    }
    #endregion
  • RJoco
    #1442
    Most nézem, hogy a finomító tára 4000-ről 7500-ra nőtt. De csak az újonnan lerakottaké.
  • RJoco
    #1441
    Kellemes zene.
    Ajánlom neked az X3 Reunion zenei összeállítást.
  • RoboKutya78
    #1440
    Skacok ha kerestek játék alá zenét:) akkor ezt a yutube csatornát melegen ajánlom.
    https://www.youtube.com/user/SpaceAmbient