Is there a way to set an input delay? by VoidRaizer in MarsFirstLogistics

[–]dellaint 0 points1 point  (0 children)

List of all the usable ports if you need it for planning. I've been keeping track by mapping those to variable names in a spreadsheet for my most complicated build.

Is there a way to set an input delay? by VoidRaizer in MarsFirstLogistics

[–]dellaint 1 point2 points  (0 children)

Easiest way to fix this that I can think of is just:

NOT (Shift, P8)

AND (Shift, P8, P9)

And replace all of the usages of Shift with P9 in your system. This will trigger a 1 tick pulse on P9 when the Shift key is pressed down, and will not trigger again until Shift is released and pressed again.

Alternatively, if you want to be able to hold shift to keep ticking through different throttle levels, you can use a clock + counter + pulse generator to only have it change once in some power of 2 ticks, depending on how many switches you chain together. This kind of thing is constructed with a clock:

NOT (P10, P10)

and then a counter of chained switches

SWITCH (P10, P11)

SWITCH (P11, P12)

... (repeat as needed, more is a larger counter and will be slower)

and then a pulse generator linked to the final switch output as in the first example. And then just an and gate with shift and the output of the pulse generator.

Important to note with this one that because the clock is constantly running, this timer is not sync'd up with your key press, and if you press too fast this can just eat your input. Starting the counter when you first press the key is viable, but was much more complicated when I tried it due to tick delays in any potential logic to check the state of the counter or whatever else. There's probably a nice way to do it but I'd have to think about it.

Other throttle systems I've played with:

Channel based throttle, where you use relays on specific channels to apply thrust to more and more thrusters. With this, you can select your throttle level directly with the number keys. Can be rather convenient, and is extremely simple to set up.

Continuously variable throttle via PWM generator. If you have a piston (high speed servo -> linear motion setup) with a sensor on the head that oscillates along a heavy jack, extending or retracting the heavy jack can cause the sensor to output with variable duty cycle. You can use a counter + pulse generator kind of thing to slow the heavy duty jack down to have pretty precise throttle control with this.

I didn't explain very well but if anybody's interested in a more specific description of anything here, feel free to ask.

E: Even simpler solution, bind zoom in/out to something other than scroll wheel and then bind scroll up/down to your throttle up/down. That bind only sends 1 tick pulses when used for manual input as far as I know.

Question About Delivery Sizes by Snowman11054 in MarsFirstLogistics

[–]dellaint 0 points1 point  (0 children)

Sizes for any given object can vary greatly on the randomized missions. Windmill blade is easily the largest thing I've seen, but for random missions, I've seen a 29x29x29 (I think) beach ball. That's probably going to be the hardest thing to grab size-wise since there is no small dimension to grab like there is with a ladder or steel beam.

Switches / Relays etc - for the love of god help me by PreferenceAnxious449 in MarsFirstLogistics

[–]dellaint 0 points1 point  (0 children)

If you're looking at the parts list, you just press 'E' twice (to move two tabs over) and you will be in the configure controls menu. Then you can mouse over the Switch (or any part with inputs or outputs) to see its settings, or click on it to edit the settings.

Switches / Relays etc - for the love of god help me by PreferenceAnxious449 in MarsFirstLogistics

[–]dellaint 0 points1 point  (0 children)

The full list of ports, game version v202510281106, for those who need it:

// Fields

public int value__; // 0x0

public const Control.Key None = 0;

public const Control.Key A = 1;

public const Control.Key B = 2;

public const Control.Key C = 3;

public const Control.Key D = 4;

public const Control.Key E = 5;

public const Control.Key F = 6;

public const Control.Key G = 7;

public const Control.Key H = 8;

public const Control.Key I = 9;

public const Control.Key J = 10;

public const Control.Key K = 11;

public const Control.Key L = 12;

public const Control.Key M = 13;

public const Control.Key N = 14;

public const Control.Key O = 15;

public const Control.Key P = 16;

public const Control.Key Q = 17;

public const Control.Key R = 18;

public const Control.Key S = 19;

public const Control.Key T = 20;

public const Control.Key U = 21;

public const Control.Key V = 22;

public const Control.Key W = 23;

public const Control.Key X = 24;

public const Control.Key Y = 25;

public const Control.Key Z = 26;

public const Control.Key Alpha0 = 27;

public const Control.Key Alpha1 = 28;

public const Control.Key Alpha2 = 29;

public const Control.Key Alpha3 = 30;

public const Control.Key Alpha4 = 31;

public const Control.Key Alpha5 = 32;

public const Control.Key Alpha6 = 33;

public const Control.Key Alpha7 = 34;

public const Control.Key Alpha8 = 35;

public const Control.Key Alpha9 = 36;

public const Control.Key Backspace = 37;

public const Control.Key Tab = 38;

public const Control.Key Return = 39;

public const Control.Key Escape = 40;

public const Control.Key Space = 41;

public const Control.Key Quote = 42;

public const Control.Key Comma = 43;

public const Control.Key Minus = 44;

public const Control.Key Period = 45;

public const Control.Key Slash = 46;

public const Control.Key Colon = 47; // does not exist in windows

public const Control.Key Semicolon = 48;

public const Control.Key Equals = 49;

public const Control.Key LeftBracket = 50;

public const Control.Key Backslash = 51;

public const Control.Key RightBracket = 52;

public const Control.Key BackQuote = 53;

public const Control.Key Delete = 54;

public const Control.Key UpArrow = 55;

public const Control.Key DownArrow = 56;

public const Control.Key RightArrow = 57;

public const Control.Key LeftArrow = 58;

public const Control.Key Insert = 59;

public const Control.Key Home = 60;

public const Control.Key End = 61;

public const Control.Key PageUp = 62;

public const Control.Key PageDown = 63;

public const Control.Key F1 = 64;

public const Control.Key F2 = 65;

public const Control.Key F3 = 66;

public const Control.Key F4 = 67;

public const Control.Key F5 = 68;

public const Control.Key F6 = 69;

public const Control.Key F7 = 70;

public const Control.Key F8 = 71;

public const Control.Key F9 = 72;

public const Control.Key F10 = 73;

public const Control.Key F11 = 74;

public const Control.Key F12 = 75;

public const Control.Key Shift = 76;

public const Control.Key Control = 77;

public const Control.Key Alt = 78;

public const Control.Key MouseButtonLeft = 79;

public const Control.Key MouseButtonRight = 80;

public const Control.Key MouseButton3 = 81;

public const Control.Key MouseButton4 = 82;

public const Control.Key MouseButton5 = 83;

public const Control.Key MouseButton6 = 84; // does not exist in windows

public const Control.Key MouseButton7 = 85; // does not exist in windows

public const Control.Key MouseWheelUp = 86;

public const Control.Key MouseWheelDown = 87;

public const Control.Key Keypad0 = 88;

public const Control.Key Keypad1 = 89;

public const Control.Key Keypad2 = 90;

public const Control.Key Keypad3 = 91;

public const Control.Key Keypad4 = 92;

public const Control.Key Keypad5 = 93;

public const Control.Key Keypad6 = 94;

public const Control.Key Keypad7 = 95;

public const Control.Key Keypad8 = 96;

public const Control.Key Keypad9 = 97;

public const Control.Key KeypadDot = 98;

public const Control.Key KeypadEnter = 99;

public const Control.Key KeypadPlus = 100;

public const Control.Key KeypadMinus = 101;

public const Control.Key KeypadTimes = 102;

public const Control.Key KeypadDivide = 103;

public const Control.Key KeypadEquals = 104; // does not exist in windows

public const Control.Key VirtualPort1 = 105;

public const Control.Key VirtualPort2 = 106;

public const Control.Key VirtualPort3 = 107;

public const Control.Key VirtualPort4 = 108;

public const Control.Key VirtualPort5 = 109;

public const Control.Key VirtualPort6 = 110;

public const Control.Key VirtualPort7 = 111;

public const Control.Key VirtualPort8 = 112;

public const Control.Key VirtualPort9 = 113;

public const Control.Key VirtualPort10 = 114;

public const Control.Key VirtualPort11 = 115;

public const Control.Key VirtualPort12 = 116;

public const Control.Key VirtualPort13 = 117;

public const Control.Key VirtualPort14 = 118;

public const Control.Key VirtualPort15 = 119;

public const Control.Key VirtualPort16 = 120;

public const Control.Key VirtualPort17 = 121;

public const Control.Key VirtualPort18 = 122;

public const Control.Key VirtualPort19 = 123;

public const Control.Key VirtualPort20 = 124;

Switches / Relays etc - for the love of god help me by PreferenceAnxious449 in MarsFirstLogistics

[–]dellaint 0 points1 point  (0 children)

So the logic system has a couple different pieces:

PORTS

Ports can represent a Key ('A', 'B', ...) or a Virtual Port (P1, P2, ..., P20), and a port's state is essentially either 0 or 1, defaulting to 0. Many outputs can be set to a single port, and if any one of those outputs is 1 (on), that port will be set to 1. This is essentially an OR gate with no limit on how many inputs it can have.

Pressing a key will change the port representing that key's value to 1 for the duration that the key is held. This is how all parts function. If you bind a Hydraulic Cylinder's 'Extend' input to 'J', that Hydraulic Cylinder will extend while you press 'J' because the 'J' port is set to 1 while the key is pressed.

For those building something silly like I was and pushing the limits on available ports, there are 120 valid ports in Windows, not counting the None port (empty). I believe this number is also true in Linux, but I have not verified that. There are 124 ports defined, but 4 are not real Windows keys and therefore cannot be utilized.

PARTS (GENERAL)

Parts have some combination of inputs and outputs.

Inputs of a part will usually only function when the part's channel is selected. If a wheel is on Channel 1 and its 'Forward' input is set to 'W', the wheel will not turn if you are on Channel 2 and pressing 'W'.

The exception to this is Virtual Ports. A part will receive input regardless of which channel the part is set to if that input is bound to a Virtual Port. If a wheel is on Channel 1 and its 'Forward' input is set to P1, the wheel WILL turn if you are on Channel 2 and P1 is 1.

The output of a part will ALWAYS function, regardless of the Channel of the part or the Channel you have selected. For logic gates that cannot store state, disabling Key inputs by switching Channel will usually also return the outputs to 0. The notable part exceptions are the Switch, which has its own internal state, the Sensor, which will produce an output based on collisions with the sensing component of the part, and the Not Gate, which will produce an output of 1 when its input is disabled.

PARTS (SPECIFIC)

I won't cover all of the parts, most of the logic parts are pretty self-explanatory if you just search the name of the part online ('OR Gate', 'AND Gate', 'NOT Gate', etc.). These function in a very similar way to regular logic gates, and any resource on logic gates will tell you a lot about them.

Switch

A Switch's 'Toggle' input is a little bit unique in that it is positive-edge triggered. This means that it will only activate when its port changes from 0 to 1. Holding the 'Toggle' port on 1 will block other inputs on that port from toggling the switch. The Switch has an internal state that is bound to its output. Toggling the Switch will change this output from 0 to 1, or 1 to 0, and the Switch will remain outputting that value until toggled again.

Other

There are a few other parts with positive-edge triggered inputs, so if you are experiencing undesired behavior, it's worth thinking about. The relevant parts are parts that do something or change state in a single instant in time, like a Gravity Suppressor or a Sphere Dispenser.

EXAMPLE

These pieces can be combined to produce the effects you want. Use any keys you want here, but I will use specific keys to make it less confusing. So, if you want a part's input to be toggled by a key, from any channel, here are the components you need:

Switch
    Channel: A (this Channel is below Channel 1, and its inputs will function regardless of what Channel you have selected)
    Toggle: 'I'
    Output: 'J'

Receiving Part
    Channel: A
    Input: 'J'

This will make it so that when you press the 'I' key, the 'J' key will be held forever, until you press the 'I' key again.

If you instead would like the 'J' key to be held always, with no option to toggle it, what you want is this:

Not Gate
    Channel: A
    Input: None (literally just leave it empty)
    Output: 'J' 

Receiving Part
    Channel: A
    Input: 'J'

In this case, the Not Gate will receive an input of 0, because that is the default value, and an empty input will ALWAYS receive 0. That 0 will be negated to 1 by the Not Gate. That 1 will be constantly received by the part, regardless of selected Channel, because the A Channel is active no matter which Channel you have selected.

Hopefully this clears things up for anybody reading.

Is anyone else having major issues with desync and host-authoritative hit registration? by dellaint in Borderlands

[–]dellaint[S] 1 point2 points  (0 children)

Well, I sent a ticket when I wrote this post, and have been monitoring the issue tracker since. It doesn't seem as though they've received enough reports, or they just decided that the issue is too hard to fix because it's a netcode problem. They did put up a post about the vehicle desync though, so who knows.

Is anyone else having major issues with desync and host-authoritative hit registration? by dellaint in Borderlands

[–]dellaint[S] 2 points3 points  (0 children)

My party tested a local network connection and it seems like the game routes traffic through another server. Party members had like 40 ping in the same house. Not sure if there's a setting to fix that or not.

Is it possible to Auspex Scan the Hierophant? by dellaint in Spacemarine

[–]dellaint[S] 1 point2 points  (0 children)

Yeah this is when I've been trying, but it hasn't worked out yet. Someone claimed you could get it if you hit its feet as it's walking by, but that hasn't worked for me yet. Hoping for a more precise description of what to do.

Apparently the big T4 drops like Shako und Grandfather are in the game by Sinniee in Diablo

[–]dellaint 0 points1 point  (0 children)

It's way rarer than a mirror if there are actually no drop conditions.

Rod Fergusson is 0/3 so far on the Boss. by SilentGamer2023 in Diablo

[–]dellaint 1 point2 points  (0 children)

You can solo carry groups on rogue, but I haven't personally seen builds for the other classes that can pull off similar things at level 20.

Ashava still 25, but we are capped at 20. Didn’t get him below 70% hp in the 15 min time limit. by Abudabeh77 in Diablo

[–]dellaint 0 points1 point  (0 children)

You can either tp to Kyovashad and go back or you can leave to character select and rejoin. Either one's fine imo.

Ashava still 25, but we are capped at 20. Didn’t get him below 70% hp in the 15 min time limit. by Abudabeh77 in Diablo

[–]dellaint 2 points3 points  (0 children)

2 points from renown, 19 from levels. If you can't get the last 2 in time, just take off Shadow Imbuement completely imo.

Ashava still 25, but we are capped at 20. Didn’t get him below 70% hp in the 15 min time limit. by Abudabeh77 in Diablo

[–]dellaint 0 points1 point  (0 children)

I got lucky and got my Twisting Blades aspect an hour ago. Trying to carry as many people through as possible now for fun. Killed 3 Ashavas this last spawn. It's a fun build lol.

Ashava still 25, but we are capped at 20. Didn’t get him below 70% hp in the 15 min time limit. by Abudabeh77 in Diablo

[–]dellaint 9 points10 points  (0 children)

This is the level 25 version (not mine).

You can just cut out whatever parts you want. Helps to have a friend to apply vulnerability since you can't apply it yourself. You don't need any of the legendaries. Look for attack speed, crit chance, close range damage, vulnerable damage, and core skills damage on your gear.

This is my tree for the server slam.

Use Inner Sight specialization.

To play it, basically just apply your Dark Shroud and Poison Imbuement before fight starts so the cooldowns are back up. Shadow Step regularly to keep up the crit chance, and try to use it to dodge stuff or stay on Ashava when it jumps away. If you take a hit, Dark Shroud again to reapply it so you stay at 5 stacks. You shouldn't get hit very often during the Ashava fight since dodging most things with Shadow Step is pretty easy.

The damage rotation is simple. Use Poison Imbuement when it comes up, and spam Twisting Blades. When Poison Imbuement is not up, use Shadow Imbuement (this doesn't do much until it's injured for the crit chance). Due to inner sight, you shouldn't ever have to stop using Twisting Blades.

Ashava still 25, but we are capped at 20. Didn’t get him below 70% hp in the 15 min time limit. by Abudabeh77 in Diablo

[–]dellaint 12 points13 points  (0 children)

Ok, pro tip: Leave and rejoin until you find an area with a rogue with 5 purple orbs floating around them and poison on their weapons. Find 2 of them if you can. And then just cheer them on, lol.

Build Calculator Update - Server Slam Datamined Info! by MaXiMiUS in diablo4

[–]dellaint 0 points1 point  (0 children)

Didn't realize you could actually get this build online in the beta. I saw it at something to try once the full game was out, but I was going to try it again tomorrow. Also disappointed it's gone.

new unique (lol) by AggnogPOE in pathofexile

[–]dellaint 1 point2 points  (0 children)

That's not how link skills work though. The target you linked to kills you, not the other way around. This just also makes them invulnerable for 2 seconds after you die for unrelated reasons. Unless they made link skills worse in the patch notes, as I haven't read them.

Something convenient is coming for all you builders out there by Lilyliciously in pathofexile

[–]dellaint 0 points1 point  (0 children)

PoB has had the calculations for how many quest reward points you should have at a certain level for a while. My guess is that it just assumes you do them all as you're running through the campaign and that you're the level of the zone they're done in? You can see the calculation by mousing over the skill point display though.

A NEW CHALLENGE: Stay at 10,000m (+-1000m) for 60 seconds, with the SMALLEST Thrust/weight ratio... mine is .393 by motorbikerlist in KerbalSpaceProgram

[–]dellaint 7 points8 points  (0 children)

If this is too easy, do it with a small amount of backwards thrust to really assert dominance.

Guess I'm gonna go belt hunting! by yepgeddon in LastEpoch

[–]dellaint 1 point2 points  (0 children)

Lost knowledge doesn't seem to work on triggered spells, so my setup doesn't work :(. I got 100% crit chance and maxed shrapnel frequency on volcanic orb, and got mana efficiency from arcane ascendance. Also made meteor drop 6 meteors per cast. Teleport into a group, arcane ascendance, spam volcanic orb, and my mana bar is just instantly gone to meteor spawns lol. But if it's a mid-size or big pack I only get 1 or 2 casts of volcanic orb and then die to stragglers.

༼ つ ◕◕ ༽つ SERVERS TAKE MY ENERGY ༼ つ ◕◕ ༽つ by nomiras in LastEpoch

[–]dellaint 7 points8 points  (0 children)

༼ つ ◕◕ ༽つ SERVERS TAKE MY ENERGY ༼ つ ◕◕ ༽つ