Steam telepítése
belépés
|
nyelv
简体中文 (egyszerűsített kínai)
繁體中文 (hagyományos kínai)
日本語 (japán)
한국어 (koreai)
ไทย (thai)
Български (bolgár)
Čeština (cseh)
Dansk (dán)
Deutsch (német)
English (angol)
Español - España (spanyolországi spanyol)
Español - Latinoamérica (latin-amerikai spanyol)
Ελληνικά (görög)
Français (francia)
Italiano (olasz)
Bahasa Indonesia (indonéz)
Nederlands (holland)
Norsk (norvég)
Polski (lengyel)
Português (portugáliai portugál)
Português - Brasil (brazíliai portugál)
Română (román)
Русский (orosz)
Suomi (finn)
Svenska (svéd)
Türkçe (török)
Tiếng Việt (vietnámi)
Українська (ukrán)
Fordítási probléma jelentése
The _source_ code itself? No. To my knowledge, it isn't JIT (just-in-time) or anything like that; so it's compiled to native assembly (in contrast to something like C# mono or Java, who's source code tends to be available).
Although I'm sure it's against TOS/EULA, if you're technical enough; you can always string-search the exe and reverse engineer functions to see whats going on -- which is what myself and others have done to see what's hardcoded and impossible to change from the WTFL modding system.
The game internals can be modified by something like a DLL injection. You could hook certain functions and provide overrides + an API for modders to use from a script system like Lua or Python, which would allow modders to access and interact with the hardcoded game behavior. However, besides what I mentioned about the TOS/EULA violation of what is effectively hacking and reverse engineering their game; it's also a massive pain in the a** to document, update, and maintain such a library.
On top of that there's little to no interest in making such a thing because modder time and effort is best spent on other games that don't hit them in the face with a rock every time they try to do something (see: gta v, skyrim, rimworld, sims 4, pong, whatever...)
@Alaestor @Sarno
I don't know this community. A friend pointed this thread out to me.
I don't own the game and have never actually played it. I don't count the few times I played it at a friends place. That was the time he asked for my programming skills to make a personal mod for him. A tech dependent cooldown of the jump drive, which is what I believe you're talking about.
He mentioned that something was hardcoded and he couldn't anymore have a tech dependend cooldown. That was a few months back.
I first was taken aback by the "scripting language". I've never seen something like this and I do know my fair share of languages C# (primarily), Python, Lua, VB.NET, F#, JavaScript...
Anyway, after a few hours of digging I figured it out back then. Anyway I believe the following functionality was moved to the exe only for the sole reason of them implementing a countdown in the UI in a tooltip. If I remember correctly there's a tooltip which counts how many days this will be active.
After a bit more digging I managed to implement for my friend this tech based cooldown he so wanted at the cost of him having no countdown in the tooltip (small price to pay acording to him). I'm surprised nobody managed to figure that out.
Anyway, feel free to take this proof of concept I threw for you guys if you're interested in having tech based cooldown for this jump drive. Just remember the drawback is no countdown in the tooltip.
Repository I literally created a few mins ago: https://github.com/bcssov/stellaris_jump_drive_cooldown_example
There might be some errors or bugs. I forgot the syntax of the language and have no way of testing this. I hope this POC works in the latest version of the game. Hope this helps to someone.
If I recall, the old non-hardcoded modifier also had a countdown? I may be mistaken, but I thought it did.
Anyways, yes, I have a similar solution - implementing your own cooldown and setting the hardcoded one to expire immediately. Mine has custom jumpdrives with differing cooldown periods. Thanks for the input though.
The only thing that changed is I don't believe "remove_modifier = jump_drive_cooldown" in your jump_check is needed, due to it expiring immediately (and from what I last tested, it isn't even actually applied to the ships anymore - the modifier effects are hardcoded now).
I was more ranting about them hardcoding things that used to be user-moddable and making it so difficult to change game behavior, like removing the various types of FTL drive in favor of hyperlanes + a jumpdrive cooldown system (I could have sworn there was a counter before. Even if not, it would be an easy change to make; tooltipped modifiers w/ duration... they have it for other things ingame.)
p.s. Also, since you're a programmer, you may get a laugh out of this (i just posted it the other day on the previous page of comments as an example of the dumb hoops you need to jump through) https://pastebin.com/RTuPyyVm
I also distinctly remember my friend talking about not previously having the counter in the tooltip. Investigation to the structure and implementation lead me to this conclusion. I was convinced that was the reason, or at least one of the reasons. As I stated I am not at all familiar with the engine or the game to say that for certain but it did seem as a logical conclusion.
Though I probably could have done a bit better framing my argument: I (and many other modders) were really pissed off at the time... This was just my way of expressing our frustrations to the lay users who were counting on modders to restore FTL travel after they removed it. There were some hacky workaround, but ultimately nothing like what people hoped for.
Because they chose not to. It's just how their engine works; there's no scripting publicly exposed.
WTFL just lets us define structured data the engine uses; like XML. It doesn't "run" the code in the normal sense.
I'm not sure if WTFL is Turing-complete (I don't think so?) But it's Turing-enough to where someone could probably write a macro-based compiler to make things easier without too much effort. But there are still severe limitations because there are plenty of behaviors / game mechanics / systems that just can't be changed from WTFL, because there's no bindings or API; it's all hardcoded in the executable (afaik).
Be the change you want to see.
As if a corpo would hire a modder and not set him immediately to work on stuff they don't want to do.
Also cya thread, necroing close incoming. I've so wanted to see this mod be a thing, ever since they idiotic removal of FTL options, seeing this thread bumped up was a glipse of hope that was quickly dashed away.
Oh no, I'm sure they're perfectly capable of doing that on their own. They chose this. They don't use WTFL for anything significant, and I'd be a little surprised if they hand-rolled all of what exists in the game. This approach also simplifies security concerns related to mods, as it isn't capable of executing arbitrary instructions. It also lets them have more control over the systems and game mechanics, and makes DLC more relevant.
From all the modders who've tried to work on this problem over the years:
https://youtu.be/BsBK3gyMFcw
You're whining about choice between 3 options that never was a choice : one type of drive was always inferior, one is always superior.