#archived-modding-development
1 messages ยท Page 94 of 1
do you add something to the gamemanager?
ondestroy should unhook
which it does
and add game should add
which it does
there's no ondestroy for infinitetent
nor dirtmouth
boi
big think
if you don't kill the hooks it'll load them more than once i think
that's what that if statement is for
the real issue is this. because it's only loaded once, the stuff in Start() is only run once.
just don't use the if
and one thing that happens in start is langStrings = new Dictionary<string, Dictionary<string, string>>();
if I don't use the if then it loads infinitely many times
or I could just move this dictionary allocation to a function run every time
doesn't quitting out still unload everything
here's the thing. the hooks remain on quitting out since I never destroy them, that's why I only add them once
but what doesn't remain is anything allocated in Start()
any variables set there become unset
etc
o
i had the same issue
that's why i added the ondestroy stuff
but if all your stuff is hooks then the variable would probably be way easier
I'm gonna test my solution before I post it here
you know what's weird. DLLs are always padded so they're exactly a multiple of 512 bytes.
ever notice that?
ok it works but I'm gonna add ondestory because that's the proper way to do stuff
ummmm
I tried hard mode
but
Grimm wasn't all that much harder
also, I didn't get any text describing how much damage I did
do you have modcommon
(API and modcommon)
did you quit to main menu before trying to play it
Ok
I got the mod things and then started the game
Ok, going to the main manu and gonna try it again
any explanation for why the text with "you did X damage doesn't appear"?
so
I have modcommon.dll
the .json is set to "true"
quitting to the main menu and reloading it loading breaks it I'm fixing it right now.
let me fix it first
Yeah
effin hell it wasn't working because I called it "OnDestory"
lmao
Probably should bump the version number but I'm lazy
should i upload that
I made it so you don't have to rename the file... and then I uplaoded the wrong one
I need some coffee
or beer
lol
ok here
no need to rename anything either
because I outsmarted discord, or something
ok it's fixed @flat forum enjoy
what I put the brackets inside a zip inside that zip
lmao
Thanks
look there's brackets in there
I'll trt it in a bit
it's ok I'll never do that again
lmao
wait would OnDestroy stop the component on scene change?
according to the documentation i mean
Depends on if the object is flagged to be destroyed on load
I see
after you die
doesn't appear for me for some reason
also, what does hard mode add?
it;s just
a bit faster
not merely as hard as the video AA posted
but there were almost 2 attacks at every moment there
so, HardMode just removes the upper limit of Grimm speed x3?
pretty sure it also builds up way faster
mhm
also, along with the "you did X damage" thing not appearing, Grimm doesn't appear either when I enter the tent, jsut the text box
wait what hold up can you take some screenshots folding
that doesn't sound like proper behavior
also take a screenshot of your mod versions and installed mods
online multiplayer?
definitely a lot of work
There's an old multiplayer mod for dreamshield
or whatever it's called
one player controls the shield and the other player the knight
def gonna have to downpatch to get it working though
and I don't think it supports the API either
full multiplayer stuff would probably be possible, but it would definitely be really hard to implement
its always interesting how people add multiplaywer to games
ive sen it happen in gta:sa and morrowind
I mean technically nothing's impossible but the sheer amount of work would make it not worth it probably
ye
morrowind has multiplayer because its entire engine was rewritten from scratch
i think subnautica also got multiplayer, but that was a bit easier
I guess that could happen to HK but meh I'm not putting in the work for that
together youll be coming up with not only technical issues, but gameplay issues too
lol
Honestly the best way to get multiplayer working in HK is rewriting it
hwew
sounds like too much work for me
here
might as well rewrite it on the unreal engine 4 /s
rewrite in c++
the idea came to me when i was considering buying 20XX, it has ultiplayer, but its also a much different game
update mod api and infinite grimm
but
they're both out of date
in reality though, a message sytem like darksouls in HK would be interesting as an actual idea some day
I downloaded the latest version
"danger ahead"
of Grimm
did you install it
"liar ahead"
modding api should be 41 and InfiniteGrimm should be 0.2.9.1
lemme try again
ok yeah if infinite grimm was at least 0.2.7 it would tell you to update modding api
but I didn't add that functionality until that version
does the menu still work
because if so that's probably one of the other mods that also didn't work until you updated everything
like it should
can you send the latest one here
because you're on 39
I got the Google Drive one
That's a lot of mods
Yeah
were headed to bethesda games modding /s
latest API where?
To be clear you're going https://drive.google.com/drive/folders/0B_b9PFqx_PR9Um9MeFZMV21oWGs right?
yeah
the download to the latest API is in the modlinks xml
and https://drive.google.com/drive/folders/10Ju40Zn6Phu_4ybxlBHXMXUGsIp0Fiom should have 0.2.9.1
can confirm that folder has the right version
the sha1sums match
so basically you see:
ModLink>
<Name>Modding API</Name><!-- WRITES TO ASSEMBLY-CSHARP -->
<Link><![CDATA[REDACTED]]></Link>
<GOGLink><![CDATA[REDACTED]]></GOGLink>
<DefaultInstallPath>/</DefaultInstallPath>
<WritesOverAssembly>true</WritesOverAssembly>
<Dependencies />
</ModLink>
```???
just copy that first link into a browser unless you have the GOG version of hollow knight.
or just use installer
or just use installer I guess
actually yeah the installer will keep ur stuff up to date
you're on windows, no?
yeah
there's that one and crossroads.
ask 56 I use crossroads because I'm on Linux
sorry
the pinned one is def more up to date
sorry
wait why is the enitre installer written in windows forms reeeee
and the wrong slashes
reee
lmao
windows supports both "/" and "\\" so why use \\ which isn't cross platform?
cause \\ lets you use spaces
what? You can do spaces with the other slash
You don't have to use quotes but you gave up files with $ & < > * ? and probably others I don't know about
YouTube broke
Mods Broke
boi
Everything breaks
Mods
roke
no I mean in code not in bash or whatever
in code no reason to do \\ over /
like in c#
that's why I'm upset
then it's probably not gonna need cross compatibility anyways
winforms works in mono. Even in the really old version that unity ships with, that older version is buggy though, as notable by the semi-major bug in my linux port of crossroads.
what's ckan
o
aww hell yeah just got 5977 on recording
only two hits off from getting the 6k message
Too bad it's gonna take like an hour to encode
Wow it only takes me like 1.5 hours to upload 2 hours of 1080p60 video to youtube
And then like another 10 minutes to have the proper quality options
I'm reencoding it at 6mbps h265 so it's a 1GB movie instead of a 4GB one
so I can actually upload it to youtube on my internet speed
How bad is your net? Mine is pretty spotty but I still have no issues uploading
it's not bad it's just 4GB upload will take a long time on 5mbps upload
If I ever do videos for a living I'm getting a threadripper though so I can encode super fast
those things are crazy
Never heard of that
it's a cpu with like 16 cores at like 3.5GHz for $800 ish
16 core non-server cpus didn't even exist like a year ago
that cpu costs what my entire pc costs
same but I'm on a 4 core laptop
I have 16GB of ram and I'm using kvm which is really efficient
I bought it with 8 and then bought a second 8GB stick and installed it because it was cheaper that way
i really want to get another gpu
so i can do a passthrough
and never have to reboot again
nice
I mostly used it for when friends came over to have 2 computers in one
because I had an extra set of keyboards, mice, and headphones for a guest
that's neat
You can pass devices to x11 sessions, right?
I was reading an arch wiki article on it
so you can have 1 gpu, two x11 sessions
w/ 2 sets of input devices
yes I think but it doesn't work with full screen games
and for borderless windowed having 1 midrange 600 series gpu makes it kinda bad for gaming
I bet with a 1070 or other super high end gpu, and with some lightweight games it will work really well though
I could run borderlands 2 1080p on both monitors fine with a 780
So you don't necessarily need a 10 series
But 780 is obviously still really good
sure but the 660 just didn't cut it when I tried
and now I can't try because I sold most of the hardware for college.
Yeah the x60 cards are not that great
960 big sad
well 660 is just a lot older
like the 960 crushes the 660 and the 1060 crushes both
yeah
by the way, what determines how many Notches does a charm cost?
Are they listed somewhere
other than in the save file
and where can I find the Spell Twister Code?
๐
but you make mods
it is known
.
what are some good HK mods
play lightbringer
I would say Sean, but he doesn't even watch runs
have you heard of this mod called "Lightbringer"
whats lightbringer
It's a mod that you should supposedly play
what does it do
blows your mind
Brings light (allegedly)
Try checking Kerr's ModCommon, he has sample mods there
also api has example mods
Visual Studio 2017 correct?
another not technically required, but highly highly highly recommended is Dnspy
this allows you to read other mod's dll, and see how they do it in their mods
community
prof and enterprise is for those guys in businesses at that point, if understand it correctly
what
you mean the VS installer?
no just open mod common
there should be another folder called "sample mods"
Yeah idk what he's on about, example mods are here https://github.com/seanpr96/HollowKnight.Modding/tree/master/ExampleMods
ahh my mistake
mustve remembered incorrectly
my bad, forgot its "ExampleMods" not "SampleMods" (also wrong folder, been sometime since i used it)
.sln or .csproj
Big think
Is this an actual explorer or the file open dialog?
If the latter switch to all files in the bottom right
Or just double click the file
Visual studio should have set up proper file associations
what did you select
ExampleMod.sln?
Well .csproj is a project file
And you don't seem very good at using computers
So I'm inclined to not believe that that's what you did
can't you literally just double click on ExampleMod1.sln
yeah sln files should even have the icons now once you installed VS
watching
There be nothing here.
Go up one folder
nothing there
nothing at all
"go up one folder"
goes down
Dont go to the subfolders
oh my god

Did you install VS?
Yes I did.
no, we're not
/open it via the VS file selector
hey what's this weird file
OR
you can open a new project in VS, a new c# class library, and copy paste the contents of examplemod.sln from the github
tbh the only example mod that was helpful was Example Mod 3 with the global config examples
TURN ON EXTENSIONS WTF
turn on file extensions
ExampleMod.sln
So nobody else thinks it's weird that somehow notepad of all things is set to open solutions?
how did you install VS?
i think
well, sean, prolly they needed to open some other solution at some point in their lives, and didn't have VS/whatever installed
is my best guess
is there a VS portable
btw vs code doesn't support solutions because MS is dungo
it doesn't support a lot of things
does vs code have solutions
yeah i couldn't find the dialogue he was in
for VS or VS Code
nvm
found it
it's just open project
he has VS
@dusky lion
the file that says ExampleMod
and under type that says SLN
do that
?
hey, is anyone here able to help me with somethin
im trying to install the debug mod, and i got the API working, but the debug mod won't
installer
there's an installer?
๐
what
hold up
its installed
working
but
the health bar thing
doesn't work
it's the whole reason i installed the debug mod
i have it enabled, but its not doing nothin
enemyhpbars big think
wut
im fighting hornet 2, but it says it cant locate any enemies
56^
install enemy hp bars
dafuq
Debug mod hasn't been updated for lifeblood
Idk what works, but from what I've heard it's most everything except HP bars
yea
this is cool looking
Space gods
Cthulhu a playable char when
Who made a Crossroads UI?!
It`s small
I cannot read small ietters
Aaand... During loads HP bars doesn`t disapperar
What resolution is your monitor?
UI design often does not take into account higher resolutions
Can you send a screenshot of your full monitor with it open so I can see the size?
Nah actually I see what you mean
Hadn't actually used it before, but nobody has complained so I figured it was fine
The bottom text is pretty blurry
all the text is kinda blurry
also look at those deps
Compare to the window title text
Should've used winforms tbh
it does
and it's not pretty
the problem is it uses win forms but also the unity version of mono
so the winforms don't work properly on any OS
It compiles to an exe, though
Ok so it's not actually cross platform, you just can use a wrapper
a wrapper that's officially sponsored by microsoft and used by giant game engines like Unity
but yeah I guess it's just a wrapper.
this isn't wine or something
I mean I don't have high opinions of either of those companies
But I believe you it works well
if you're writing c# I don't see what other option you have
mono exists because MS wanted C# to be the next java
and java runs on everything
whats a wrapper? just reading and got curious
ahh ok
but anyway .net is a wrapper on windows too if you think about it.
.net exes are not native assembly.
they're some weird pseudo bytecode thingy
Yeah, suppose so
That's unfortunate
so uh this is weird but when I manually build modding api 41 from the github it works with controllers on linux but when I download the same version from the drive it doesn't?
so, i got the hpbar mod, but i dont see its effects, what does it do?
shows HP bars for bosses
there's another mod that does it for all enemies
ok, ill get that then
should be enemy hpbar
by gradow, hollow niko, and Kdt
the one by kdt is only bosses
it does, but KDT's original one is more DS-like for bosses
they have big bars and all
although it doesn't work for LB
imo merge the mods so KDT's is for bosses and the other is for random dungos
meirl
really, tho
I just got back from that conference
I need to rest for a bit
wtf
VS doesn't know what a float is, even tho it knows where to find the definition
nice
k, well, got it to work, but bosses with multiple hp bars (mantis, FK etc.) stack their bars
it would be cool if someone modded THK to be a hard boss
It would be cool if you modded THK to be a hard boss
but if you do make it so that you can skip it to the radiance once youve beaten him
don't worry C# is written for people with very little coding shills
shills?
skills
Oh, that's why I can "code" in c#
Meh even then I can't code in it. Almost everything I've done is an amalgamation of snippets of everyone else's mods.
753 is the biggest coding shill
it would be cool if the whole game was modded to be a different game entirely, but me no do it b/c no coding skill
someone else do it
/s

Guys imagine Hollow Knight but it's a first person 3d action adventure where you fight with a gun and instead of the enemies being bugs they're people, and you're in a realistic depiction of a modern city
Iconic
sounds like too much big think
sounds like call of duty minecraft
sorry no can do too many """""fsms""""
You ever think so big it overflowed
no. vessel too large to overflow
man I should use void hearts instead of integers
so I don't need to worry about overflow
Consumed the Integer
the math shall be united under the bearer's will
how much think could a thinkthuck thuck if a thinkthuck could think thuck
absolutely not me irl
thanks to wolframalpha
math big gay
^
matrices gay
ptkyr, youre home, go drunk
4d matrices big gay
tfw you use a matrix in your code but you aren't even 100% sure how it works.
10d or bust
save me
mathematics big no
why is this conversation happening in modding?
it's actually twenty too many
modder abuse
ban imo
oh shit!
your mom is negative monies
either that, or KDT is a prostitute
cuz she paid him
pretty bad
moderate this
might as well be just a speedrunner
or an SRC mod
unrelated to shitposts
@solemn rivet you can fix stacked healthbars either by hardcoding or just doing something like
make an extended class just for healthbars which might stack
give it a static list of that class
in its constructor add it to that list and put its position to something like basePositionX, basePositionY + (list.Count * yOffset)
and OnDestroy remove it from list, iterate over list and recalculate position based on items iterated over instead of list.Count
Yeah, that was my idea KDT, I just didn't have the time to do it
I have a little bit of a problem
I think I installed correctly?
this shows up on my top left
but I can't see the bosses HP?
oooh, I'm such a retard lol. I found the "HpBar" and I stopped scrolling down!
Thanks
the real problem is there's no minimum/maximum version info on mods for mod managers to use
everything from 1.2.2.1 doesn't work
if it doesn't have 1.3.x.x in it it doesn't work
guaranteed
No I mean data on version needed doesn't exist for programs like crossroads
to use
and if it isn't current patch, 1.3.1.5 it almost always breaks
oh they are probably outdated
speaking of which maybe I should make my own mod manager because all the existing ones are written in windows forms
because I can't send a PR for crossroads multiplatform support until unity updates their mono but I'd be happy to look into getting mutiplatform support for yours
well, if there's anything I can do to help
for instance, I can invert the \ if that would please you
@dapper nexus there's a new version just above that adds a special hpbar for bosses
while also having bars for every enemy
also, I have to start commenting on my codes
must be awful for anyone reading them
No don't do anything. I send good PR do test in windows and lunix and u do test urself to makesure I no mess nothin up and if it's good accept it.
fuck why did I write that like that
Ugh
But yeah don't do anything
also, KDT, if I'm not crediting you enough in the enemyhpbars mod, please do tell me
Hey here's a patch to make the code go faster in one of your mods:
1,32d0
< using System;
< using System.Collections.Generic;
< using System.Linq;
< using Modding;
< using GlobalEnums;
< using UnityEngine;
< using HutongGames;
< using FsmUtils;
<
< namespace NGG
< {
< public class NGG : Mod
< {
<
< private static string version = "0.2.1";
<
< public override string GetVersion()
< {
< return version;
< }
<
< public override void Initialize()
< {
< ModHooks.ModLog("Initializing Nightmare God Grimm");
<
< GameManager.instance.gameObject.AddComponent<BossFinder>();
<
< ModHooks.ModLog("Initialized Nightmare God Grimm");
< }
<
< }
< }
I do feel you deserve most of the credit
trust me is good patch
oh yeah props for making that mod though in all seriousness
Maybe I should explicitly credit you better in mine because it really did help me
ok done
I don't really care too much about credit for stuff.
I think everyone (that matters) probably knows enemyhpbars uses hpbars as a reference and the same for infgrimm + ngg
- I occassionally get people asking me about stuff im only indirectly related to
I used your FSMUtil mostly. For NGG it was just looking at the animations you decided to change the speed of
which I'm not sure how you decided on
but I decided that because you picked those particular animations, they would be ok running at 3x speed.
other animations just shortened the attacks on old patch
so he'd just dash like 1/2 distance at double fps
oh yeah about that, you need to modify waits which are functions run by the fsm
also there's like 6-7 animations you can edit that don't affect distance
doesn't really make a difference, then
the attack takes the same amount of time
you'd want to edit the velocity
and the anim speed
so it covers the same distance in a shorter time
and that causes all sorts of issues on slower pcs
I didn't do that at all because I felt it could make it impossible to dodge at very fast speeds
even with what I did change though the avg fps goes from like 70 after balloon 2 to around 45-50 on my low end laptop after lots of damage
are you ever gonna update that mod anyway?
maybe this patch should have been made redundant ages ago
early 2018 was when GNG was supposed to come out
well it's not like GNG is gonna reintroduce the health fsm
so updating for lifeblood will reduce the work needed to update for GNG probably
Well if you ever do decide to: I have in my code 4 additional animations I personally believe are safe (IE not RNG BS, and no need to modify velocity) to make run up to 1.5x speed, and 6 wait states that are the same way, as well as an additional 7 wait states that I believe can run at 2.5x speed without breaking the fight.
ofc this is not including the random spikes or the double grimms, which might make these speeds unplayable
pretty sure I made the spikes slower for memes
yeah but it's still too hard for me because I'm not a gaming god.
idk if the spikes start slower but I do know they get slower through the fight. from 6 fps to 2 fps
interestingly you make the teleport in and teleport out animations slower on the first phase but slash recover, uppercut end, and evade end faster. Also you mess with some of the state transitions.
teleporting is probably to mess with muscle memory without me actually having to playtest to ensure its still doable
i could make them faster to mess with muscle memory slightly
but that could also make it impossible to do with spikes
wow that is the exact opposite of what I'm trying to accomplish
you're a monster
but then again it is a hardmode fight for a reason
I guess
I'm amazed anyone managed to beat it
well most of anything which is coded in ngg
is specifically a fix to any "exploits" or unintended easyness
thats why the positioning of the spikes is done by me
instead of letting vanilla handling it for instance
because vanilla only actually has 2 "random" positions
and it made it very easy to dodge
So not every spot is unsafe with vanilla spikes?
what's dreamshield coop
i think theres no "safe" spot but theres spots you can sit on and you only have to move a few pixels left/right to dodge any spikes that spawn
dreamshield coop lets a 2nd player play as dreamshield
controlled with numpad
that sounds weird
it is
I'm worried about using pure rng spikes and getting impossible to dodge situations
i don't think ngg is pure random
like if there was a cluster around the knight and another cluster exactly 1 dash length away
each spike is assigned an area it can spawn in
that makes more sense
probably unlikely to hit anyone good with spikes anyway
could make them extremely fast
so they are only on the screen for 0.1 seconds
but they cover the entire screen
so uh just a quick count. how many people have beaten NGG on its current difficulty as it currently stands?
Like if you were to just estimate a number
0 without cheating
so you wanna make it harder
ye why not
ok
the actual hard part is 2x grimm
the first 3 phases can be no hit pretty consistently โข
the actual hard part for me is that you have 2x grimm both with like 4k health
that's a lot of health
they don't have 4k hp
3.6k no?
they only have whatever the last grimm had
no 3.2k
yeah i put them back to 100% hp
but it then goes (if hme.getfsmint("hp").value + hme.getfsmint("hp").value < 5400 ) kill both
this is just so you dont kill one before it should die
and run vanillas kill code
i dunno
what does modlog.txt say
d u n n o
its in your save folder
so like 800 health then between the two of them
might be more tbh
that doesn't sound as bad except for how hard they are
but its not 3.2k each
(3200 * 2) - 5400 = 800
ye thats my guess
but clearly that's too low
i wrote that code a while ago 
they should have more like 12000 health between them
if ((hme.FsmVariables.GetFsmInt("HP").Value + hme2.FsmVariables.GetFsmInt("HP").Value <= 5600)){
hme.SetState("Pause");
hme2.SetState("Pause");
s4 = true;
}
[INFO]:[ModManager] - Initializing
[INFO]:[ModManager] - Initialized
[ERROR]:[API] - Couldn't check for new version.System.IndexOutOfRangeException: Array index is out of range.
at Modding.ModHooks..ctor () [0x00000] in <filename unknown>:0
[INFO]:GameLoading
[INFO]:[API] - Trying to load mods
[ERROR]:[API] - Error: System.TypeLoadException: Could not load type 'Modding.OnEnableEnemyHandler' from assembly 'EnemyHPBar'.
at Modding.ModLoader.LoadMod (IMod mod, Boolean updateModText) [0x00000] in <filename unknown>:0
at Modding.ModLoader.LoadMods () [0x00000] in <filename unknown>:0
[INFO]:Saving Global Settings
[INFO]:Saving Global Settings
what's modcommon
mod
eh
Could not load type 'Modding.OnEnableEnemyHandler' sounds like it's missing a function in the API
no, it does not
like the modding api lost a function
or the version of the API used is too old
yeah it's only 39
update your api to version 41
he installed it with crossroads afaik
i used the version that was in the readme :Y
idk I build against modding API version 40 because that's what version was out when I first started
just download the latest from the drive I guess
I build against 1.2.2.1 - something lol
truly the greatest patch
I'm testing it against -40 and it's working fine
ah yes version "something"
#define my_api 1.2.2.1-something
wut
:Y
wtf
wtfยฒ
should be first link
also did google drive get a huge layout change
i mean
design change
for anyone else
weird i refreshed and it's there now
new design pretty neat
don't have that 56
eh
i found a minor bug with the health bar
use this btw
idk where you got yours from, but that's an older version you're using
I just posted this today
i got it from the drive
i'll see if it's fixed with the new version first
k
it disappears after the title screen loads
which is why i say it's a minor bug instead of a major bug haha
It's not really a bug, but it still looks off
You could try to get your hp bars to render behind that black overlay if you care enough
I can try listening for sceneUnloaded
Probably not any different
hm...
Not worth the effort imo
^
^
I mean
if I can figure out how the game is handling those fade ins/outs, I can probably try something
but... :effort:
:holloweffort: when
too true
I think I can do somthing if I used the monomod detour thingie
if (menu.title != null)
{
this.StartCoroutine(this.FadeOutCanvasGroup(menu.title));
}
if (me```
I can hook on to FadeOutCanvasGroup... And disable the hpbars when it's called
does that still not let you build with .net 3.5
I think it does
dunno
turns out that's actually the menu option for selecting "Quit to Title Screen?"
got it
let's see if this works...
@steel patio
lol
inb4 no hooks dll
what do you mean another ref?
thanks
who do i put as author tho
what's hooks do
yea
in the mods folder
oh ok
beest
okay so
ur key gay
and put hooks in it
it still shows up over the dimmed overlay, but the health bar goes away when you click "quit to menu"
oh
yeah
changing zips is easier
didn't know THAT was what was bothering you
I thought it was just the fade out thing
I'll be a little clearer in the future.
lemme see what I can do about that
i didn't know how bad it was
cause i never actually got it
until i used avenging's 107 save
u filthy casul
hey I wanted to get 100% of everything done


