6,361 11qazxc Comments

  • This is some Maddening code right here... Because of how simple it bloody is. 2 days ago

    High-speed part is kind of PD with smooth(...)-smooth(...) being dampener.

    +1
  • Add a cube pass it on... (Community Cube) 8 days ago

    Version tree at 2024-11-17T08:01Z: https://imgur.com/a/yPjfUFw
    JSON (starting at a7bta6 (here)): {"uXG6QL":{"Juqh0F":{"yUqF40":{"V7mG41":{"CAiXMf":{"rVbbR6":{"6t93Bx":{"3gzkmM":{"lK9P1j":{"Iwbo7a":{"6csf1s":{"1qS1l7":{"107i4I":{"hVNvmA":{"86gnwh":{"Wk3a92":{"yi1Fs5":{"zgO3lP":{"ReQ53F":{"BiQO9o":{"Y71Du7":{"Y03wZj":{"oKuPV3":{"HmD5Eb":{"curO5f":{"fWqxB0":{"0hE2s9":{"EEU7OU":{"d4O2lO":{}}}}},"o9Y216":{"5dGUjf":{"LVzyx7":{}}},"z07iGr":{},"vCfb0G":{}},"UChFa4":{"rY957g":{}}},"7s1zIT":{"y58pg5":{"fJvU3W":{"YA13zl":{}}}}},"YRyM8N":{},"GOVncl":{"wmONxo":{}},"74e1BJ":{}},"l15867":{},"V3d46F":{},"AVCY24":{}}},"jAffBm":{"k9nMbp":{"V9r3f3":{"iQ27gM":{}}}}}},"w2V1Jw":{"B0741s":{"DenG2i":{}}}}}}}}},"7hhqJ2":{"JMEc48":{"a9976O":{"lJ25nM":{"I83BTS":{}}}}}}},"Xd40z0":{}},"l6J2Y7":{"99Cgr1":{"ATKJa1":{"y7qaP7":{"iBz858":{}}},"250Ug3":{"zZO4s2":{}}},"JW32OA":{},"8RYxBA":{}},"66qjqO":{}}}}}}}},"P9TM0B":{}}

  • Community Cube 8 days ago

    Version tree at 2024-11-17T08:01Z: https://imgur.com/a/yPjfUFw
    JSON (starting at a7bta6): {"uXG6QL":{"Juqh0F":{"yUqF40":{"V7mG41":{"CAiXMf":{"rVbbR6":{"6t93Bx":{"3gzkmM":{"lK9P1j":{"Iwbo7a":{"6csf1s":{"1qS1l7":{"107i4I":{"hVNvmA":{"86gnwh":{"Wk3a92":{"yi1Fs5":{"zgO3lP":{"ReQ53F":{"BiQO9o":{"Y71Du7":{"Y03wZj":{"oKuPV3":{"HmD5Eb":{"curO5f":{"fWqxB0":{"0hE2s9":{"EEU7OU":{"d4O2lO":{}}}}},"o9Y216":{"5dGUjf":{"LVzyx7":{}}},"z07iGr":{},"vCfb0G":{}},"UChFa4":{"rY957g":{}}},"7s1zIT":{"y58pg5":{"fJvU3W":{"YA13zl":{}}}}},"YRyM8N":{},"GOVncl":{"wmONxo":{}},"74e1BJ":{}},"l15867":{},"V3d46F":{},"AVCY24":{}}},"jAffBm":{"k9nMbp":{"V9r3f3":{"iQ27gM":{}}}}}},"w2V1Jw":{"B0741s":{"DenG2i":{}}}}}}}}},"7hhqJ2":{"JMEc48":{"a9976O":{"lJ25nM":{"I83BTS":{}}}}}}},"Xd40z0":{}},"l6J2Y7":{"99Cgr1":{"ATKJa1":{"y7qaP7":{"iBz858":{}}},"250Ug3":{"zZO4s2":{}}},"JW32OA":{},"8RYxBA":{}},"66qjqO":{}}}}}}}},"P9TM0B":{}}

    +1
  • What do you think about Simple Planes 3 (That is not a mistake, I'm genuinely asking about SP3) 18 days ago

    Multiplayer event isn't really something that depends on tech, it more depends on humans who plan it, and that can be someone from community.
    For tech it's perhaps possible to add tooling for parametric design (that's like defining part properties with FT), and since it's build-time stuff it mustn't really affect in-level performance.

  • Flying Flying Dutchman one month ago

    That must be a ton of labels. XML file weights ~2mb, and that's usual weight of 2000-2500-part build.

    +1
  • Ninomae Ina'nis one month ago

    @RMZSPFan [un]fortunately she is the one with tentacles here.

    +1
  • Automatic gift delivery one month ago

    @126 some variables are lists in index=a?xa:(index=b?xb:... form. to make them shorter i omitted closing parenthesis. it works fine with ft interpreter, but variable editor widget has it's own checker that says that such code isn't correct. to pass it you need to add those parenthesis back, e.g. turn
    p_tgt.i=1?6020:(p_tgt.i=2?5885:(p_tgt.i=3?5805:(p_tgt.i=4?5805:(p_tgt.i=5?5805:(p_tgt.i=6?5805:(p_tgt.i=7?5805:(p_tgt.i=8?5805:(p_tgt.i=9?5805:(p_tgt.i=10?5805:(p_tgt.i=11?5885:(p_tgt.i=12?6020:(p_tgt.i=13?6020:(p_tgt.i=14?6020:(p_tgt.i=15?6020:(p_tgt.i=16?5880:(p_tgt.i=17?5670:(p_tgt.i=18?5670:(p_tgt.i=19?5670:(p_tgt.i=20?5685:(p_tgt.i=21?5600:(p_tgt.i=22?5600:(p_tgt.i=23?5635:0
    into
    p_tgt.i=1?6020:(p_tgt.i=2?5885:(p_tgt.i=3?5805:(p_tgt.i=4?5805:(p_tgt.i=5?5805:(p_tgt.i=6?5805:(p_tgt.i=7?5805:(p_tgt.i=8?5805:(p_tgt.i=9?5805:(p_tgt.i=10?5805:(p_tgt.i=11?5885:(p_tgt.i=12?6020:(p_tgt.i=13?6020:(p_tgt.i=14?6020:(p_tgt.i=15?6020:(p_tgt.i=16?5880:(p_tgt.i=17?5670:(p_tgt.i=18?5670:(p_tgt.i=19?5670:(p_tgt.i=20?5685:(p_tgt.i=21?5600:(p_tgt.i=22?5600:(p_tgt.i=23?5635:0))))))))))))))))))))))

  • Summer Steam Sale 4 months ago

    Well, history tends to repeat itself.
    It's sale again and i ask again: Who's this girl on banner?

  • 1-part custom images: easier, larger, lighter 4 months ago

    (for debug purposes)
    print(re.sub(r"\<#(?:([A-F0-9])([A-F0-9])([A-F0-9])[A-F0-9]?|([A-F0-9][A-F0-9])([A-F0-9][A-F0-9])([A-F0-9][A-F0-9])(?:[A-F0-9][A-F0-9])?)>",lambda m:"\x1b[48;2;"+str(int(m[1] or m[4],16))+";"+str(int(m[2] or m[5],16))+";"+str(int(m[3] or m[6],16))+"m",s).replace("<br>","\n").replace("."," "))
    Replaces color tags with ANSI ones.

  • SimplePlanes 2 FAQ 7 months ago

    Idk if you guys will answer this, but:
    Q: Will you use SP xml format but with higher xmlVersion and new sections or will you make new one?
    Q: Perhaps it's too early to ask, but will you keep format of DesignerParts and setting files?

    Q: Not related, but how do i download crafts from SR2 with curl?

    +1
  • P-2 Stork Maritime Patrol Patrol 7 months ago

    Maritime Patrol Patrol

  • 1-part custom images: easier, larger, lighter 7 months ago

    @TRS051
    If code's generated but doesn't shows in SP, try to:
    - increase label's width and height;
    - set label's alignment to top-left;

    if image's displayed but is cut off, try to decrease image's size and generate code again. apparently label's limited to 100k dots and it's not something i can change

    If it doesn't generates label's code, try to:
    - make sure image isn't svg;
    - if you're using image link, make sure that hosting allows cross-origin resource sharing (or download image and try again);
    - check browser's dev console (usually F12) to see what's wrong

  • 1-part custom images: easier, larger, lighter 7 months ago

    @Mousewithamachinegun122 Yes, it is possible to switch frames to get animation ({T=1?&quot;frame&quot;:&quot;&quot;}{T=2?&quot;frame&quot;:&quot;&quot;}...), but the program won't do it and idk if it'll be possible to run resulting craft at reasonable fps..

    +1
  • 1-part custom images: easier, larger, lighter 8 months ago

    @TheAviator77 Can you please send image you used and result you got?

  • 1-part custom images: easier, larger, lighter 8 months ago

    @Mousewithamachinegun123 IDK. Try to increase size of label and set it's alignment to top-left.

    +1
  • Jet Engine Music Player 9 months ago

    I remember spectrogram of jet engine, it was very wide and noisy, so it's a wonder you can play music with it.

  • 1-part custom images: easier, larger, lighter 10 months ago

    @Matteosiufromfifakit
    Just raise your hand
    And reach out for the spell
    Find the door to the promised land
    Just believe in yourself
    Close your eyes and your will find
    The way out of the dark

    ...Or read the post again, there's two links to github.

  • 1-part custom images: easier, larger, lighter 10 months ago

    @UnidentifiedStapler that's sad, but i can't (and i don't wish to) fix GBoard, so perhaps it's not my business.

  • Simple RWR 10 months ago

    @Yish42 TargetSelected, so it's about you having target, not about target locking you.

    +1
  • Need some decals made using the Labels. 10 months ago

    @Speedhunter
    https://www.simpleplanes.com/Forums/View/1683931
    https://www.simpleplanes.com/Forums/View/1454422

    +2
  • FT With ChatGPT? 11 months ago

    Perhaps it can be better if you'll say it's unity's C# and miss some parts of description but tell it basic info about flight dynamics and geometry instead.
    And as Redrocktumbler said you'll perhaps need to repeat your description once in a while, because ANN itself is stateless and "memory" of that one is just last ~3k of tokens glued to your message.

    And no, you must not overestimate ANN, it's more like polynomial approximation than AI you wish to see.

  • SimpleDoom High Graphics one year ago

    Well, you're right that label will be recalculated every SP frame, but it will select one (very long) string instead of checking (and sometimes recalculating) hundreds of separate pixels. I don't really know if ternary with floats is equivalent to ternary with (very long) string at runtime, but either way i think there's more pixels than frames.

    +1
  • SimpleDoom High Graphics one year ago

    Is it really faster to use a variable and format string for each pixel (<#{!pixel?"0000":pixel}>...) instead of using an expression for each frame ({t=0?frame:""}{t=1?frame:""}...)?

  • Label Image of Mari Setogaya one year ago

    source?
    I mean, i didn't saw her with cat ears, and style seems wrong (although maybe it's because of low resolution).

    +1
  • Automatic gift delivery one year ago

    @DatMaluchGuy19
    Try to add 22 closing parentheses in the end of p_tgt.next.z,p_tgt.next.x,p_tgt.links.z,p_tgt.links.x and 3 closing parentheses in the end of p_tgt.next

    +1
  • Automatic gift delivery one year ago

    @DatMaluchGuy19 VC variable, it's in meters per second, and it's signed i.e. negative value means it must go backwards.
    TC controls engine directly, you can set it to 1 if you want to go as fast as possible.

  • Ai Gold Prix Racer one year ago

    Ehm, you do know there's (builtin) atan function for angle and pythagorian addition for distance, right?

  • How is your plane handled?Old plane one year ago

    Husky's right, SP build files aren't that large.
    If you want, you can upload them as hidden ("Visibility" button in uploading widget), they'll be saved on SP site but will only be visible for you.

  • Automatic gift delivery one year ago

    @winterro
    p_tgt.i stores id of currently selected point

    p_tgt.x, p_tgt.z are coords of currently selected point
    p_tgt.links.x, p_tgt.links.z are ids of points where it can go from currently selected one.

    p_tgt.i switches to one of p_tgt.links.x%100, p_tgt.links.x//100, p_tgt.links.y%100, and p_tgt.links.y//100 every time car gets close-enough to currently selected point

    Other variables aren't significant for routing, they're used to tame car itself, to make it unable to go to previous point, to make it not headbutt others, to make it stop at dead ends, to make it remember gifts without leaving too much inside label...

  • Automatic gift delivery one year ago

    @DatMaluchGuy19 Yes, you can.

    +1
  • Parallax-free sights 1.1 years ago

    Link to txt file
    CameraPosX variable must be camera's horizontal offset in meters
    IDK if it'll work, but if it will it must be 5cm orange circle clamped by two vertical edges located 10cm away from label's left edge.

  • Sea-skimming Missile (Like the JASSM missile,I'm pretty sure) 1.1 years ago

    FCLongitude,FCAltitude,FCLatitude are coords of missile

    TD=sqrt( pow(Longitude-FCLongitude+TargetDistance*cos(TargetElevation)*sin(TargetHeading),2) + pow(Latitude-FCLatitude+TargetDistance*cos(TargetElevation)*cos(TargetHeading),2) )

    TAlt=Altitude+TargetDistance*sin(TargetElevation)

    h=5+195*(.5+.5*cos(clamp(0.1*TD+20,0,340)))+1800*(.5+.5*cos(clamp(.01*(TD-45000),0,180)))

    __D is dampener, __P is gain
    PCi=(lerp(TAlt,h,pow(TD/200,2))-FCAltitude+rate(lerp(TAlt,h,pow(TD/200,2))-FCAltitude)*__D)*__P

    40 here is some distance after which missile surely can't damage airplane
    Missile's pitch angle=smooth((abs(Longitude-FCLongitude)+abs(Latitude-FCLatitude))&lt;40|(PCi!=PCi)?0:sign(PCi)*90,(PCi!=PCi)?0:abs(PCi))

    Be carefull, SP forum might not display full expressions

    +1
  • Is there a "enemy missile launched/locked" property? 1.1 years ago

    AFAIK there's no way to get RWR in the game, but mention me please if you'll ever get one.

    +2
  • funky help please 1.2 years ago

    Don't worry, being stupid isn't something special nowadays.

  • How does Jundroo get the sfx? 1.2 years ago

    Reshade is perhaps what you meant, but it have nothing to do with Jundroo.

  • New guy questions from an old player. 1.2 years ago

    So, does anybody have any pointers about getting started?

    Tutorial section of forums and videos, and perhaps some geometry.

    What am i looking for with my centers of mass, thrust, and lift?

    Thruster must face towards center of mass (if you don't want to use it to rotate craft), so for forward-facing engines usually center of thrust is directly behind center of mass.
    Center of lift is where wing's forces are applied, it moves while you fly.
    Usually wing pulls airplane up, so in cruise CoL is near CoM, but such airplane won't decrease pitchrate naturally.
    At high AoA both lift and drag are higher, so if CoL is in front of CoM it'll pull airplane's nose back and upwards, increasing AoA even further, which will eventually lead to stall or uncontrollable spin.
    If CoL is behind CoM, it will pull tail away from direction of flight, so airplane will be pretty stable, but if CoL will be too far from CoM you won't be able to control it.
    In real life getting center of lift is not that easy, so usually it's recommended to get center of mass around quarter-chord behind midpoint of leading edge.

    How do i make a slick or at least cohesive fuselage? I see some incredible stuff on here and want to leave my own work on the table.

    I can't really say much about it. Fuselage is 28-sided (circular ones are 24-sided), in newer versions you can "slice" specific part from it with four planes. Greater ones are using hollow fuselages as plating (e.g. screenshot from this post), but it will require either a lot of time or geometry knowledge and calculator to align them properly.

    Also, what the heck do upvotes do? And do i spend points to give them?

    They do nothing but they're used in rating, both for crafts and users. You don't need anything to give one.

    +1
  • is there gonna be any update about generated engines like in juno 1.2 years ago

    Stick here.
    It's still good if you need abstract stuff.
    From abstract stuff strong-willed ones build sub-assemblies and game itself.
    From abstract stuff weak-minded ones build flying tic-tac and Andrew's face.

  • How to make it work 1.2 years ago

    Camera must not be attached to thing rotated by rotator.

  • I need help 1.2 years ago

    ammo(&quot;Weapon Name&quot;) (&quot; here is " )
    See comment here for fly-by-wire, i don't want to repeat it here.

  • funky help please 1.2 years ago

    "going away from target" is literally rate(TargetDistance)>0, is it what you need?

  • important PSA: Images hosted on Discord may disappear at the end of the year 1.2 years ago

    Well, it sucks.

    timestamp, timestamp, HMAC

    Knowing two of three inputs and HMAC, can we try to guess hash function and key they're using?

    +1
  • This old post holds the secret to recovering BogdanX's lost aircraft 1.2 years ago

    Well, i don't really understand how to get that index. It appears to be related to time (or rather number of crafts uploaded), last uploaded one (X0Zk6W) uses 1289, 0BFd5E from two days ago uses 1288, Maxwell from 8 months ago uses 1185.
    Knowing that you can use brute force to try all possible indexes (looks like there's no rate limit) but it takes a lot of time and i feel bad about it.

    async function get(airplane_id,minIndex,maxIndex){
    lnk=&quot;https://jundroo.blob.core.windows.net/simpleplanes/GameData/aircraft/_I_/&quot;+airplane_id+&quot;.xml&quot;
    if(minIndex===undefined){minIndex=0}
    if(maxIndex===undefined){maxIndex=2048}
    var res=-1
    async function tryLoad(i){
    try{
    await fetch(lnk.replace(&quot;_I_&quot;,i.toString()))
    .then((resp)=>{if(resp[&quot;status&quot;]==200){res=i}})
    }catch(err){return}
    }
    for(i=minIndex;i&lt;=maxIndex;++i){
    await tryLoad(i)
    if(res!=-1){return res}
    }
    }

  • This old post holds the secret to recovering BogdanX's lost aircraft 1.2 years ago

    https://jundroo.blob.core.windows.net/simpleplanes/GameData/aircraft/728/cGGD1h.xml

    The last part (cGGD1h) is obviously aircraft id, but i don't understand what 728 means here and just letting it as-is doesn't works.
    So to use it you need id of craft (which is not a thing everyone memorizes) and some number of unknown purpose (which might be id of archive or folder stored internally just for faster indexing).
    So yes, "jundroo forgot to delete aircraft files" sounds cool but doesn't really sounds useful for now. (for crafts that were not deleted there's standard api, https://www.simpleplanes.com/Client/DownloadAircraft?a=ID)

  • Screen, made out of bullets 1.2 years ago

    @FlyingPotato_131 Thanks for reminding about it, but no.
    It was generated 2.2 years ago and became legacy 2 or 3 months after. Just use labels if you need.

  • Tutorial: how to make mechanical parts rotate with precision 1.2 years ago

    Do something with your text, it takes too much time to read it with all those effects.

  • GPT 1.2 years ago

    Oh, so it can write a switch statement in python, so what?

  • Su-57 'Felon' change the rules of Air-to-Air battle in SimplePlanes 1.2 years ago

    @BotFinder2023 Boy, do you really think others are held together by magic?

  • Help me to improve avionics 1.2 years ago

    smooth(sign((input-current)+rate(input-current)*D),
    P*abs((input-current)+rate(input-current)*D))

    SP forum doesn't displays full line, so it's split with linefeed.
    It's a form of PID, P is gain, D is dampener
    It's always clamped between -1 and 1, and will perhaps be 1 at the level start.
    It's generally not proportional to input and it's not suitable for rockets|TVC, but it works fine with control surfaces.
    For high-speed airplanes, don't forget that airplane's behaviour changes with airspeed.

    +1
  • G limiter 1.2 years ago

    Try to increase D gain of PID to make it work correctly at some specific speed
    Then add /max(1,pow(IAS/X,2)) to the end of code, X here is speed at which it works correctly (in meters per second).