#archived-modding-development

1 messages · Page 538 of 1

vocal spire
#

Wow again

#

Right after a mod ping

wary rose
#

it never ends

fast willow
#

mods faster than the mod ping

wary rose
#

yeah because I went here to count my pings as read and there was another one zote

rough pulsar
#

but will bots be faster than the bot ping?

jolly oriole
#

<@&283547423706447872>

rough pulsar
#

<@&283547423706447872>

marsh spade
#

Is there a good tutorial for noob hk developers?

#

bc I'm pretty new to modding, and I'm not sure where to start.

young walrus
marsh spade
#

thanks

#

Is there a different page/section on this page for how to change textures in general?

young walrus
#

no

#

you can reference other mods that change assets

#

customknight, transtrans, etc

marsh spade
#

I couldn't figure out how to extract .dll and .pdb

#

Is it because I'm on mac, or is there a specific program I'm missing?

young walrus
#

??

#

just look at the source code

#

it's on github

#

and to write mods you need an IDE program

marsh spade
#

oh

#

May I ask where on github?

#

I apologize for my ignorance

young walrus
#

is the current one

#

for 1.4.3.2

marsh spade
#

thank you so much

crimson bronze
#

What best mod

#

Just wondering

crystal basin
#

Hello
https://radiance.host/apidocs/EditScene.html
I'm going to modify Halloween Night by referring to this site.
But I don't know what to do.

GameManager not have instance
and
not have SceneLoadInfo
So I don't know what to do.
If someone knows this, please help me.

primal latch
#

@crystal basin you’ll have to reference UnityEngine.SceneManagement.dll

crystal basin
#

I'm sorry. I uploaded the wrong image.

#

Game manager doesn't have Instance.

rough pulsar
#

are you using Modding;?

#

oh wait

#

hmm

crystal basin
#

How can I put the modding API?

vocal spire
# crystal basin How can I put the modding API?

The ModdingApi is usually automatically installed by using a mod installer. In the case of using mod installer 2 search for ModdingApi in the mods list and either check the installed? box or if it’s checked click the orange box next to it that says out of date. Also questions like this don’t seem to relate to making mods so it belongs in #archived-modding-help

#

Wow fast mods

crystal basin
#

lol

steady comet
#

You need a reference to MMHOOK_Assembly-CSharp.dll (or something like that), which gets installed as part of the modding API. Then it should work

mystic nymph
#

ho nice ty

crystal basin
#

I used modding,

#

but GameManager not have instance

steady comet
#

If you're in visual studio, start typing GameManager.instance and it should pop up with useful suggestions

crystal basin
#

I've tried it.

#

by the way not have BeginSceneTransition and SceneLoadInfo

#

Do I need another using?

#

using UnityEngine.SceneManagement;

#

This isn't right.

steady comet
#

You don't need any using

#

As long as you have a reference to assembly-csharp

crystal basin
#

What assembly-csharp should I refer to?

steady comet
#

The modded one

crystal basin
#

ok

crystal basin
#

I knew the problem. Unity Ripper is not good at interpreting dll.

vocal spire
#

Are you modding in the unity project given by utiny?

crystal basin
#

yes

vocal spire
#

Don’t do that

crystal basin
#

okey

#

I realized it wasn't a good thing.

vocal spire
#

Make a separate project for it in visual studio, if you need to use scripts in the editor build the project with stuff that doesn’t depend on hollow knight’s or the ModdingApi’s code and drop the dll file in the unity project

terse elm
#

I'm trying to use Hollow Knight Sprite Packer to edit the main character's sprites, I'm working on the running animation, and despite Sprite Packer telling me the animation is working smoothly by the preview, it seems to be missing a frame, If anyone know which frame and in what clipset it is, that would be much appreciated.

radiant basin
terse elm
#

That was it, cheers!

jolly jungle
#

woah what's this thing

#

thats spritepacker??

#

god I need to get that at some point

mystic nymph
#

It throws this error when I try to Log an int (Log("" + 3.ToString()) for example)

[ERROR]:[API] - System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
[ERROR]:[API] - File name: 'System.Runtime, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
[ERROR]:[API] -   at Modding.ModHooks.OnTakeHealth (System.Int32 damage) [0x00030] in <2b54cdaf7a934f0eb297d50c4090ea9f>:0 
light zodiac
#

someone had this error before

#

i think the solution was to uninstall and reinstall the game

mystic nymph
#

same

jolly oriole
#

uh

#

you're supposed to target .net framework 4.7.2

#

not .net (core) 5

rough pulsar
#

@mystic nymph Read above

mystic nymph
#

ok ty

#

so this is wrong ?

jolly oriole
#

yes

mystic nymph
#

I installed .NET framework 4.7.2 but it is not in the list

jolly oriole
#

it's a seperate project type likely, idk what that ui is from, but if visual studio, it's the project type Class Library (.NET Framework)

mystic nymph
#

ho ok

#

I was in .NET / .NET Core

mystic nymph
#

I added an external dependency (System.Windows.Forms.dll), but it won't work (in runtime) until I put it to the Managed folder. But this means users will have to add it too, will they have to download it or it will be added automatically ?

worn eagle
#

why are you integrating winforms in a mod

mystic nymph
#

to trigger keyboard keys

#

anyway I get this error in runtime System.TypeLoadException: VTable setup of type System.Windows.Forms.SendKeys+SKWindow failed 😔

modern star
#

You could use a Unity Monobehaviour for keyboard input

mystic nymph
#

will not it only trigger ingame inputs ?

modern star
#

As long as the application is running, you can have inputs be registered any time as far as I know

mystic nymph
#

imma test this out

modern star
mystic nymph
#

well I don't want to listen to inputs tho

modern star
#

oh sorry, I misinterpreted

#

why does the input have to go through keyboard and not directly to the game?

mystic nymph
#

I want to trigger another program (with keyboard keys like CTRL+A) from an ingame event

modern star
#

So from what I understand, you have to have a separate running program and not an in-game mod?

mystic nymph
#

game -> game event -> detected by mod -> mod press key -> detected by other program

modern star
#

Okay in that case, you could probably add System.Windows.Forms.dll to the same directory as your mod.dll

Scarab should automatically unpack and install everything into that folder

#

But I would be curious to see if you can interface with HitCounterManager in another way... I have no idea

mystic nymph
#

i'm trying to use HitCounterManager as a first implementation, I will try to add an ingame UI after

modern star
light zodiac
#

What are you trying to make?

mystic nymph
#

PantheonHitCounter mod

mystic nymph
#

did this in HitCounterManager yet

#

but it's annoying to press keys when you get hit / go to next boss 😓

light zodiac
#

Maybe livesplit like code could be used

#

Cuz it can detect in-game things while being external program

mystic nymph
#

i will take a look

mystic nymph
modern star
#

Not that I know of grubsad

mystic nymph
#

adding System.Windows.Forms.dll to Managed folder + adding file reference from Manager folder won't fix fleacrying

light zodiac
#

hollow knight drpc does something like that

#

adds them as embeded resource i think

worn eagle
#

you'd have to modify one of the jsons in managed, RuntimeSerialization or something

mystic nymph
#

this ? (ModdingApi.GlobalSettings.json)

{
  "ModEnabledSettings": {},
  "LoggingLevel": 2,
  "ConsoleSettings": {
    "UseLogColors": false,
    "FineColor": "grey",
    "InfoColor": "white",
    "DebugColor": "white",
    "WarningColor": "yellow",
    "ErrorColor": "red",
    "DefaultColor": "white"
  },
  "ShowDebugLogInGame": true,
  "PreloadBatchSize": 5
}
worn eagle
#

Managed

mystic nymph
#

there is no json in Managed

steady comet
worn eagle
#

oh, hollow_knight_Data

mystic nymph
worn eagle
#

add the dlls you put in Managed below where all the other dlls are listed

#

and whatever value most of the others are in the json below that

#

might be 2

#

obviously this is gonna be very difficult to distribute

mystic nymph
worn eagle
#

and the changes are permanent until you verify integrity

light zodiac
#

atleast its an idea

steady comet
#

true

floral blade
#

~~ just ship a tcp server with your mod and have the external program connect to it ~~

mystic nymph
mystic nymph
#

I want to save some data (which are not settings), can I use IGlobalSettings or is there another simple way ?

steady comet
#

IGlobalSettings: save data that doesn't depend on the file
ILocalSettings: save data that's different for each file

#

The best way would be to do one of those

light zodiac
#

or you can use newtonsoft.json to serialize to file yourself

mystic nymph
#

by following what you said, I have a json file with a few const data, instead of doing a class/enum. can it be in the mod folder without any problem (publishing case) ?

#

the mod already read/load it, i'm just wondering if the final zip can contains it

light zodiac
#

so your saying you'll add this json in the zip with the dll?

mystic nymph
#

yep

light zodiac
#

shouldnt be problem

mystic nymph
#

wait

light zodiac
#

most mods come with readmes anyways

jolly oriole
#

Brb putting a trojan as a hk mod

floral blade
jolly oriole
#

🙄

#

an actual tojan

vocal spire
#

<@&283547423706447872>

tulip jewel
#

pov: mod channel

floral blade
#

so you didn't really miss it mastersmirk

mystic nymph
mystic nymph
#

idk why I can't load settings, I can only write them with default values from the Settings class

#
namespace PantheonHitCounter
{
    public class PantheonHitCounter : Mod, ILocalSettings<LocalSettings>
    {
        private LocalSettings _settings = new LocalSettings();
        public void OnLoadLocal(LocalSettings settings) => _settings = settings;
        public LocalSettings OnSaveLocal() => _settings;
    ...
    }
}
namespace PantheonHitCounter
{
    [Serializable]
    public class LocalSettings
    {
        public PantheonSettings[] pantheons = {};
    }
    
    [Serializable]
    public class PantheonSettings
    {
        public int number;
        public BossSettings[] bosses = {};
        public int totalHits = -1;

        public PantheonSettings(int pantheonNumber) => number = pantheonNumber;
    }
    ...
}
modern star
#

Is it possibly because your LocalSettings is private?
Possibly try using a dictionary instead, in case the array can't be serialized for some reason?

unborn flicker
#

It's because the parameters of the only constructor of the class PantheonSettings do not match its fields.

#

Json will only invoke a constructor if it can match arguments with serialized fields or properties by name.

light zodiac
light zodiac
#

Like list<PantheonSettings> is more comparable to PantheonSettings []
Than Dictionary<int,(bossSettings,totalHits)>

modern star
#

yeah I get you, you're absolutely right

light zodiac
#

Also if you change to lists you'll also have to change the BossSetting[] bosses to List<BossSetting> bosses

grand apex
#

what the-

candid glen
#

i wanna recommend some new mods to be added:
hk but you lose 10 geo every second. game over at 0.
hk charmlocke (every charm is fragile + randomise a charm build for every new area)
hk but your nail has durability and can be upgraded/broken.
Hollow Knight but the abilities gets locked/unlocked at random every minute/3 mins. (stil don't know much about this)

modern star
candid glen
#

ah whoops sorry

ornate nacelle
#

Hey I've got an idea but I can't seem to find the files containing the text

#

I know it's EN_*.txt but I can't seem to find anything in resources.

#

I'm about to busy for the next 30 minutes to an hour so if you know anything please mention me

rough pulsar
rough pulsar
#

this was a mistake.

ornate nacelle
#

Hey back yet again

#

I'm having another problem with text

#

public string LanguageGet(string key, string sheet){ if(key == "CTRL_NO_ACTIVE"){ return "No controller dumbass"; } return Language.GetInternal(key, sheet); }
I'm following the modding api docs and this is what it says I should put when trying to add text

#

The problem is that it won't build the .dll because "GetInternal" doesn't exist in namespace "Language"

worn eagle
#

Language.Language.GetInternal

ornate nacelle
#

That worked, thanks!

jolly oriole
vocal spire
#

???????

#

Oh

light zodiac
#

Noooo

#

Make it one long

#

Instead of 2 half

floral blade
#

This seems so cursed

eternal ibex
#

Guys is there a mod that lets u dash upwards

primal latch
#

@eternal ibex wrong channel

eternal ibex
#

Ok sry

mystic nymph
#

how could I get these sprites ?

languid goblet
mystic nymph
#

ho ty 🤍

blazing mural
#

alright so im in vs code with ultrads code trying to update it to 1.5 myself

#

but im not quite sure what needs to be changed exactly

#

is it a revamp of the code? or a few incompatibility issues?

#

also i think im missing an api or something

#

alright yeah i kinda need help understanding where to get this api or whatever it is because theres stuff missing apparently, other than that i can kind of understand whats going on, but i dont know what needs to change still

#

would appreciate little bitty of help.. pls

jolly jungle
jolly oriole
#

funny

fair rampart
#

how do i mod hk

#

nvm

#

ill ask in discord

vocal spire
#

…this is discord

fair rampart
#

the hk modded one

vocal spire
#

Alright

fair rampart
#

yea nvm

#

how do i mod hk

#

is there like a tutorial

#

i know some c#

vocal spire
#

I suggest going to the modding discord for that

fair rampart
#

ight

vocal spire
#

Has a channel full of that stuff iirc

proven cipher
#

<@&283547423706447872>

rough pulsar
#

Cool variables

patent cedar
#

Hi, can i make hk skins drawing with a mouse? bc i think i cant draw the small borders
bc of the pressure

marble hollow
#

<@&283547423706447872>

hardy stump
#

Parasite Balloons in the Broken Vessel and Lost Kin fights spawn with 1 health until you damage them. Then, clones of the Parasite Balloons that you've already killed spawn with negative health equal to 1 minus the damage you dealt. It's kind of funny that with a 0-damage nail, you can't kill the balloons with the nail unless you've already previously killed them by some other means.

#

this is surprisingly very relevant to the mod i'm making

limber storm
#

So I'm looking at Relic Seeker Lemm in Ruins1_05b and if you have no relics the dialogue RELICDEALER_NO_RELICS is played. However, I don't actually see that in the Relic Dealer-Conversation Control FSM and in the Shop Menu-shop_control FSM, it looks like the dialogue RELICDEALER_NO_RELICS_2 should be used instead.
Basically, why doesn't RELICDEALER_NO_RELICS_2 happen and where does RELICDEALER_NO_RELICS actually get called? Did I just misread or misunderstand something in the FSMs or dialogue files?

These are what I have for them, btw:

<entry name="RELICDEALER_NO_RELICS_2">Not carrying any relics with you? Go find some for me. I'll pay good Geo for nice items.</entry>
<entry name="RELICDEALER_NO_RELICS">Hm. Looks like you don't have any relics on you. If you manage to find any in good condition, bring them to me and I'll give you a fair amount of Geo for them.</entry>

unborn flicker
#

The part you're looking at in shop_control selects dialogue when you sell your last relic to Lemm and the shop window closes. The other line is played from Shop Region when you talk to Lemm with no relics.

limber storm
#

Thanks for the explanation!

#

Welp, I just sold my last Relic to him and it played RELICDEALER_NO_RELICS; guess I'll investigate more

drifting brook
#

why do you (whoever did) bundle the PDB with scarab?

proven cipher
#

PDB?

drifting brook
#

Program Debug Database

#

it means they're not using debug/release in their build pipeline, or don't have it configured properly

merry lotus
eager oracle
#

looking for big mods or good overhauls

rough pulsar
#

Grubbong

primal latch
#

<@&283547423706447872>

steady comet
#

<@&283547423706447872>

#

😤

#

(thanks)

rough pulsar
#

once the message gets deleted in #hk-discussion it gets deleted in every channel as well

steady comet
rough pulsar
#

ok fair

steady comet
#

I, uhh, don't check outside the modding-related channels either

rough pulsar
#

even more fun to get the bots ping in

#

(i check both this channel and hk discussion like, always)

cedar hemlock
rough pulsar
#

definitely related to the topic of this channel

solemn oxide
#

step 2. You see a youtube video telling you how to git gud to beat absolute radiance

#

step 4. You quit trying

#

step 6. you play silksong

#

step 8. You do a little trolling and get mod that makes you invincible and you defeat absolute radiance

#

step 10. You play amongus

#

step 12. you touch grass

#

step 16. you finally defeat absolute radiance and you become C H A D gamer

#

step 18. I don't know what is anyrad

#

step 20. My fingers die from typing steps

#

Secret step. you speedrun entire game under 1 hour

#

yes

#

Just wrote 21 steps because we skipped step 14

#

yes

rough pulsar
light zodiac
jolly oriole
clever crow
#

ok

#

it wont stop

jolly oriole
light zodiac
vocal spire
#

🤔

green quail
#

Hello! I joined this server a long time ago, and yet haven’t chat with anyone here haha

I wanted to ask: Is there a way to create your own npc + location and add it to the game?

primal latch
#

Yes there is

green quail
#

Do you know how to do that?

primal latch
#

The modding docs would be a good way to start

#

.

green quail
#

Hmm
Alright I’ll look at them! Thank you)

green quail
#

Woah, such chaos! I’ll need a lot of time to understand how everything works
I’m not really good at programming, so it will be even more difficult 🤔

cedar hemlock
steady comet
#

My impression is that apidocs is supposed to be more of a guide/help whereas the hk-modding github is just documentation

#

I may be wrong

cedar hemlock
#

a bit outdated

rough pulsar
jolly oriole
light zodiac
#

SFCore in new API docs when

steady comet
#

SFCore mods should ship with their own documentation

rough pulsar
merry lotus
#

Eh, that's not really the same thing.
That's certainly a good start though, but if that's the only documentation then the ReadMe should probably link to the GitHub and state that.

steady comet
rough pulsar
#

ohhh

#

ook

vocal spire
green quail
#

Omg really! I’ll ask for your help for sure then! ✨
As for now I gotta finish some other projects, and then I’ll start drawing for HK again!

mellow glen
#

i just finished making a mod

#

and you might say well what is this mod

#

what does it change

#

and what i say to that is

green quail
#

AAHHAHH

mellow glen
#

thats dashmaster now

green quail
#

Sans but he’s not smiling

#

:D👌

mellow glen
#

hes just had a bad time

#

in hollow knight

#

pun intended

green quail
eternal ibex
#

Can someone tell how to make the knight dash upwards
Can someone here do a mod that lets u dash upwards on the charm that lets u dash downward?

#

Idk how to code but if u know, do it or tell me how

tulip jewel
#

sans charm should let you dash upwards

frigid phoenix
#

I was just taking a gander at some source code, just to see how much I can learn from another mod. What is Ref.GM and or, what lib does it come from?

steady comet
#

Which mod's source code were you looking at?

#

In general if you're not sure, you can try to look at the usings at the top of the file for ideas

frigid phoenix
#

I was looking at rando, in particular the way that they made stag stations open constantly, rather the bell is always there (so that you can access dirtmouth stag check when stags are randomized). Thought I'd start with some small part of a mod that I'm looking to learn how it functions

steady comet
#

(If you open the code in an IDE like visual studio, you can also hover over the thing and it'll show you where it comes from)

frigid phoenix
#

fair, but I was just taking a cursory glance at it. I've been looking to get into Hollow Knight Modding for a while now and I just don't know where to start, there being no documentation and all (afaik)

steady comet
#

There's also a (unofficial) modding discord - dwarfwoot (posted in here about 20 messages ago) has an invite link in their discord bio

frigid phoenix
#

oh cool

light zodiac
#

Oops

#

Wrong chat

eternal ibex
#

@tulip jewel cant tell if you're joking or not

tulip jewel
eternal ibex
#

What u talking about

tulip jewel
#

you pinged me

eternal ibex
#

Firemoth lets u dash upwards

tulip jewel
tulip jewel
steady comet
eternal ibex
#

Ye

vocal spire
primal latch
lucid needle
#

can someone please put a mod together for me where THK does only the jellybean explosion attack, and at the random positions they normally spawn? ill pay money for it.

#

i pretty much need it for hitless practice

#

to help me telegraph the move and boost my survivability against it.

proven cipher
#

?guides I believe Fireborn's any% speedrun guide literally covers this attack, FWIW.

finite forumBOT
lucid needle
#

pretty much all the guides ive read only cover the center position 😰

proven cipher
#

It's the same no matter what

#

The pattern coming out is always the same

lucid needle
#

im fairly certain when theyre to the right hand side of the arena its a different pattern. i got hit like 3-4 times each time compared to almost never getting hit when theyre in the center

#

if it were the same pattern, wouldnt it be possible to memorize?

lucid needle
rough pulsar
#

@lucid needle

#

Be sure to ping them as well lol

lucid needle
rough pulsar
#

In case if you didn't see it zotezotezotezote

lucid needle
#

i did. i didnt need you to ping me.

rough pulsar
#

Damn ok

#

Have a nice day

lucid needle
#

u2

lucid needle
merry lotus
#

link posted with no response for 30 minutes
Kaan adds a ping to ensure visability

why are you being so damn annoying [...] I did [see it].
roverblink

Jeez Kaan. How could you commit such heinous crimes. Pinging someone so that they don't miss something when they don't give an indication that they saw it. You monster zote

worn eagle
#

dwarf why are you being so damn annoying

jolly oriole
#

official pings bad squad

rough pulsar
#

Cry about it

lucid needle
#

i mean that wasnt the first time they were annoying towards me

#

not even the first time today.

#

you eventually get fed up with problematic behavior. ¯_(ツ)_/¯

jolly oriole
#

take that to modmail then

#

thats what its for

rough pulsar
#

I guess i can apologize

#

Unless you're insisting on reporting me

lucid needle
#

i didnt care enough to tell mods. i simply said it was annoying and blocked them.

rough pulsar
#

Alright

jolly oriole
#

now i understand 56

viscid siren
proven cipher
viscid siren
#

Yeah!

#

That's how we're made aware of 'em

proven cipher
#

Good to know! I think somebody said there was a bot that did it automatically but I only use 5 channels so I've no idea

viscid siren
#

we blacklist them as they come, so no scam link will be visible to you twice; things in the blacklist when posted are caught by a bot and are directly visible to us without any need for pings, making banning more convenient shroompog

chrome spade
#

Well-oiled banning machine quirrelgroovin

viscid siren
winter summit
#

Does anyone know coding?

primal latch
#

Yes. Like, everyone that uses this channel.

winter summit
#

Oh do you?

primal latch
#

I use this channel

#

So yes

winter summit
#

I dont know much code

#

More of an artist but

#

Im wanting to make a fan game do you want to help

primal latch
#

It’s a nice idea but I won’t be able to help. All of my programming time is dedicated to Fyremoth at the moment

winter summit
#

Whats that?

primal latch
#

A big mod

winter summit
#

Ah

#

May i ask whats it about?

merry lotus
winter summit
#

Oh

merry lotus
#

I think that there's two different trailers now

#

And a few "preview" gameplay videos

steady comet
winter summit
#

Im trying to work on a whole entire fangame

#

The challenge is to get it done before silksong

light zodiac
#

i dont like these connections your making

steady comet
#

fyremoth is actually a silksong mod

winter summit
#

Lol

worn eagle
#

may we see some example assets

winter summit
worn eagle
#

what

#

I meant from this fangame if you've made any

primal latch
jolly oriole
#

because hornet is a moth

vocal spire
#

nooo our secrets have been linked

mighty chasm
#

Does anyone know what "focus MP amount" refers to from the radiance page?

young walrus
#

soul cost to heal

mighty chasm
#

Do you know where its stored?

young walrus
#

the value?

#

in save files

mighty chasm
#

How can you change the value?

#

For example I want healing to require 5 soul instead of 33

young walrus
#

you can edit your save to do that

mighty chasm
#

Also since thats only for focus is there anything built in for changing the spell cast amounts?

young walrus
#

there's a lot of things in the save you can change

#

dont remember of spell cost is one of them

mighty chasm
#

Could you give me an example of how to access the save?

young walrus
mighty chasm
#

Oh so this isn't something that can be dynamically changed?

young walrus
#

sure it can. if you write a mod to handle that

#

if you just want to change it to a flat value for personal use, you can just change the save file

vocal spire
#

Use PlayerData.instance.thingyouwanttoaccess after a save is loaded to get/set values directly, or you can use a modhooks getbool (or get something else) hook to return a different value

light zodiac
#

or use moresaves

#

edit saves modmenu

languid goblet
#

is it generally better to use pd.instance.getbool to get values?

#

so that other mods can hook into that and change it if they want

vocal spire
#

well you may not want to use it and from my memory it's kinda slow how it's implemented

languid goblet
#

hmm
when would you not want to use it

vocal spire
#

well when you don't want other mods effecting it

languid goblet
#

idk I just can't think of a situation where you absolutely don't want other mods affecting it
not like it's that relevant to me anyway, just curious

steady comet
lapis stratus
#

I've been setting up an ICustomMenuMod menu to handle mod settings and I'm running into an issue with getting the current saved options reflected when loading the game. The settings are retrieved properly from the saves (I output them to the Log to be sure), but all of my menu options are set to the default option when loading the menu. I have a RefreshSetting set up for each HorizontalOptionContent, which I figured was what was needed based on the examples and the API, but it never seems to get called. Any suggestions on what might be wrong?

light zodiac
#

Also where do you do the refresh setting

#

It worked for me to do it like right after adding the item

Eg

c.AddHorizontalOption(name, Horizontal OptionConfig, out var option);
Option.menuSetting.RefreshValueFromGameSettings();
c.addhorizontaloption();```
lapis stratus
#

Ah, that might be it. I missed that I'd need to call the refresh function myself. Didn't see that line in the example and figured it was supposed to be called automatically as part of the menu being built. Moment.

#

Awesome, that did it. Figured it would be something simple I just overlooked. Thanks!

jolly oriole
#

how learn c hashtag

vocal spire
#

Yes

cedar hemlock
#

I agree

mighty chasm
#

Is there a hook function that is called right after the herocontroller is loaded so I can get a reference to it when the game starts?

jolly oriole
#

On.HeroController.Start

mighty chasm
#

Thank you!

#

Also, what determines how much focusing/spells cosy?

#

cost?

jolly oriole
#

don't forget to have orig(self) at the start of the on-hook

jolly oriole
mighty chasm
#

Ohhh cuz Im changing the focusmpcost in fsm same with mp cost and it doesnt seem to be doing anything

#

Ill try that

jolly oriole
#

do it with the getint hook from modhooks

mighty chasm
#

GetInt intercepts getting fsm ints too?

jolly oriole
#

well, the fsm does a getplayerdataint

#

which is why the value gets overridden in the fsm

mighty chasm
#

Ohhhhhhh

#

Also do spells also read the focusMpamount int?

jolly oriole
#

yes

mighty chasm
#

Ohhhh danggg no wonder

#

Ok ill tell you how it works

#

It seems to work for focusing

#

But spells still cost 33 🤔

#

Does directly editing the MP Cost variable not affect anything 🤔

proven cipher
#

Have you changed the other variable?

#

Or just focusMPamount?

mighty chasm
#

This is what I am doing:

#
private IEnumerator GameLoaded()
{
      yield return new WaitWhile(() => HeroController.instance == null);
      heroController = HeroController.instance;
      spellControl = heroController.spellControl;

      spellControl.FsmVariables.FindFsmInt("MP Cost").Value = MP_COST;
      PlayerData.instance.focusMP_amount = MP_COST;
}
proven cipher
#

So you're only changing focusMP_amount

mighty chasm
#

How so?

#

Does changing it in Fsm not actually change it?

proven cipher
#

No, no, I just went and checked. Looks like I was wrong about it.

mighty chasm
#

No problem

#

The reason Im confused is because I cant seem to find any other related variables that I could change in order to make it work

proven cipher
#

Have you found how Spell Twister does it?

#

Or are you trying to do it from scratch?

mighty chasm
#

Thats a good idea

proven cipher
#

Changing the obvious stuff won't work. It's Hollow Knight.

mighty chasm
#

You can say that again 😂

#

They are actually doing it the exact way I am doing it 🤔

#

Btw how can you access a charm effects fsm?

sage holly
#

Hello, the Pale Court Development Team is looking to recruit one or two more programmers
DM me if you're interested

mighty chasm
#

I ended up figuring it out

proven cipher
#

Yoooo

mighty chasm
#

The fsm script setSpellCost is constantly resetting the mpCost checking whether or not we have the charm equipped

#

Even if its not equipped it always updates it

#

So I just edited it to set my values instead

#

Chonk Knight mod is one step closer to fruition

mighty chasm
#

Anyone know why I wouldnt be able to call InsertMethod on a PlayMakerFsm object?

light zodiac
#

Do you have a fsm util mod like SFCore?

#

As a dependancy

ornate ermine
#

I noticed that the ModInstaller doesn't include the geo counter mod. I don't remember where I found that mod, but it seems like an odd omission.

I'm just mentioning this as a recommendation that that mod be included in Scarab if it's not too much trouble. It's really useful for those "spend X000 geo" bingo squares.

proven cipher
#

It's called Bingo UI

ornate ermine
#

I've been manually installing the geo tracker mod, which works fine. Just a QoL suggestion.

proven cipher
#

It was all folded into one mod

ornate ermine
#

Good to know. I'll try out Bingo UI on my next rando run then. Wonder what else it includes, but I guess I'll find out

proven cipher
#

There's a bunch of pins for grubs, killed Devouts etc, too.

ornate ermine
#

That sounds useful. Playing without grubs in the randomizer pool makes keeping track of the number kind of annoying.

proven cipher
#

It has 2 numbers: number of grubs and (in brackets the number of grub locations you have checked in that area).

#

So you can keep track of the "check/free all grubs in Greenpath" etc goals.

ornate ermine
#

very nice

steady comet
ornate ermine
#

Thanks for your work

sage holly
jolly oriole
#

damn

#

stacked now

steady comet
#

Who is now on the team? or is it secret

light zodiac
#

says the person in the team /j

steady comet
#

Zaliant palehmm

jolly oriole
#

ye, zaliant provides the demotivational support

lone coral
#

Hi, I'm new here and I have a pair of questions:

  1. Is there a mod or a way to change music in Hollow Knight?
  2. In the case that the first question's answer is negative, how do I start developing mods? I know that there are pinned messages, but I don't quite understand them or which files are important.
#

I should be asking this in the modding-help chat?

jolly oriole
#
  1. yes
#

CustomBGM

lone coral
#

Thank you

lone coral
#

I'm still interested in starting modding anyway

obsidian vigil
#

day 0 of making the Bendy custom knight skin

#

My (arguably too) in-depth tutorial on how to create a Custom Knight skin. Includes: downloading and installing Hollow Knight's ModInstaller and Custom Knight mod, using SpritePacker, using FireAlpaca/art tips, and uploading and properly saving your sprite, plus a much simpler method. Please let me know in the comments if you have any questions!...

▶ Play video
#

see you in a month to a year lmao

rough pulsar
#

cya

mellow shore
#

let me know if you want help :) the tutorial is a bit outdated in some places

wintry eagle
#

How do you changes sprites from already existing mods? Specifically golden godhome bosses

obtuse crow
#

how do i make custom trials using customtrials (mod0

wintry eagle
vocal spire
#

Then you can either clone the project off GitHub and build it yourself once you’ve edited the sprites or edit the .dll file in dnspy or ilspy

fallen grove
#

This might be a noob question but when I open the examples in https://github.com/hk-modding/api it gives me the CS0245 Error that the namespacename "Modding" couldn't be found. Under Assemblys it shows me this and I don't fully know what the problem is but to my very untrained eyes it looks like it fails to reference whatever should be in the Assembly-CSharp.dll. When I try to manually add an Assembly reference it tells me that the reference is either invalid or not supported (using Visual Studio 2019). Am I just missing an important step? I basically tried to follow the getting started on https://radiance.host/apidocs/Getting-Started.html, but in the video tutorials in the section afterwards they just reference the .dll and everything works like a charm so I think I might have just done something wrong when "compiling" the assebly-csharp.dll myself. The output of that build is https://pastebin.com/KjnRm790 and it says that it is successful. Any ideas?

GitHub

Hollow Knight Modding API. Contribute to hk-modding/api development by creating an account on GitHub.

lapis stratus
rough pulsar
#

yea and if modding namespace still does not exist then you dony even have modding api installed

burnt vale
#

hi id like to make a mod but i have no idea where to start. I have a good amount of experience with python but idk if that would help

vocal spire
#

Hk modding is done in c# and it’s suggested to have some experience with the unity game engine since that’s what hk is made in. It’s probably fine though since I officially also learned c# and unity through hk modding

#

I’m not quite sure what people would suggest as the “up to date” modding resources (a bit spread out since the 1.5 update) so I’ll give you a like to the hk modding server. The pins of this channel (and some in the other modding channels) can also be helpful

burnt vale
#

ok thanks

muted shale
#

Are people planning to make randomizer mods for 1.5?

proven cipher
#

Yes

muted shale
#

Okay cool!

pseudo pond
solid geode
jolly oriole
summer flax
#

Does anyone have some experience with the BonFire Mod?

primal latch
#

@summer flax wrong channel

rough pulsar
#

zamn

#

speedrhn discord link is pinned in speedrunning channel but not here????? wai

proven cipher
#

Why would it be

steady comet
proven cipher
#

Oh I see

#

It's not any more official than any other server

rough pulsar
#

Reasonable

proven cipher
#

It's just a bunch of people

#

It's nothing to do with TC

steady comet
proven cipher
#

Yeah, kind of

steady comet
merry lotus
#

If it would have meant a better "link" between the two, then I would have rather the Modding staff of here make the other one.

Instead, a bunch of people said that they liked the idea of the server, but no one actually wanted to make it

light zodiac
#

Also hksr is official as in admins here recognize it

summer flax
#

Hey everyone, I have taken a look into the source code of the BonFire mod and I try to find the part which causes the Nail Arts not dealing more damage.
If someone has experience with that and knows why and where to find that line, then shout! 😉

proven cipher
#

It's probably more that the code to make them deal more damage isn't there.

#

TC have literally had this problem in vanilla.

summer flax
#

Yes! - I need to get the instance which decides whether it is a nailart or not.

vocal spire
summer flax
vocal spire
summer flax
#

😎 👍

#

Exactly

#

Then, there is just the part, where I find out, how to compile it into a HK DLL (probably unity thought)

vocal spire
#

Can’t compile it with unity

summer flax
#

Do you think it is worth a try porting it to 1.5?

ruby moth
#

how do you start making mods?

summer flax
#

Programming them...

  1. C#
    You probably have to get into C#, since it is most likely the only or at least best supported language the mods are written in.

  2. Example Code
    There is a Sticky with a template mod for 1.5.
    Or you can give it a try and look at existing examples.
    Many legacy HK mod do only exist for 1.4.3.2.

  3. That Unity Explorer Mod or similar methods
    Use those methods to get an idea of how some mechanics of the game work and how to find certain files and values.

  4. Compiling
    Having a way to compile it properly is important, e.g. Visual Studio using .NET.

There might be such a thing as a mod editor or something, with which you maybe don't have to learn so much hard coding yourself, but I am fairly new to it and don't know how that works then.

ruby moth
#

so what software would i need

ruby moth
#

actually nvm

waxen plume
jolly oriole
waxen plume
#

ththats helpful yes thanks :3

tulip jewel
#

no more blocker enemy

fallen grove
jolly jungle
#

returns four days later
says thank you
leaves

#

what a shroompog person

meager tusk
#

is this the place to say mod ideas?

rough pulsar
#

no

#

that would be modding discussion

meager tusk
#

but ppl said it was here just now

rough pulsar
#

keep them there anyways

obsidian vigil
#

week 1 of bendy knight skin

#

finished a quarter of knight.png

#

mostly idles

#

idk what imma do about the nail

valid shoal
#

Heyo, I want to make a HK mod that would add benches before each boss encounter and make all enemies die in one hit (except bosses, those would die in the same number of hits).

The second part I would make by multiplying the nail base damage by a big number, and multiplying all bosses health by that as well.

Now, going through the docs what I got so far is that: I'll have to edit the unity scenes to add the benches, the nail damage will probably be easier to multiply via a onAttack hook or similar and I'll probably have to edit the scenes to change the bosses health too, although it feels like they may be defined somewhere. Maybe I could multiply it via the "enableEnemy" hook? I still have to familiarize myself with the docs, but that's the general idea I have for now. Am I on the right track?

primal latch
#

Yes you seem to be

steady comet
#

I think it makes more sense to set the non-boss enemy HP to 1? Changing nail damage is a bit more hassle than changing enemy HP, IME

vocal spire
# valid shoal Heyo, I want to make a HK mod that would add benches before each boss encounter ...

On the editing scenes part: if you mean editing scenes as in the bug process with editing them in the unity editor then that might not be what you want to do. For rooms you replace in the game like that, mods that change stuff in the original room won’t work there anymore, plus it’s a lot of unneeded work and memory taken up. All you need to do is preload benches (you can look at how the benchwarp mod does this, you’d also already have to do it with the other way) then use a SceneChanged hook to instantiate them and set their position when a specific scene is loaded. Also while that is a good idea to use nail damage to kill enemies instantly, you might want to do the reverse of your idea and change normal enemies’ health to 0. Changing nail damage will persist even when mods are turned off or uninstalled, and people tend to not read any information mod developers provide for their mods (no matter how hard some people try) and then complain about it in #archived-modding-help

steady comet
#

Not really a snail because you got a lot more useful info there, but yeah

vocal spire
#

Also on the nail damage thing, imma add a bunch of kool Playerdata and HeroController stuff to frogcore eventually that 1. Saves/loads improper save data to pet mod save data and 2. Allows multiple mods to hopefully edit it without dying

steady comet
#

If you add a way to do that that doesn't persist when they revert to unmodded, that would be very useful to people

lilac thistle
#

does anyone have grub mod

vocal spire
#

?

lilac thistle
#

i just wanna know

vocal spire
#

This is modding-development

#

Wdym

lilac thistle
#

ooop

rough pulsar
#

uh

vocal spire
#

For all we know grub mod means you create a npc named grub

rough pulsar
#

you mean the recent one that one guy born out of fire made that had 4 grubs following you?

jolly jungle
#

Or the one where you kill grubs

sweet birch
vocal spire
merry lotus
#

<@&283547423706447872> this person is spamming in all channels

#

I am snail

glossy olive
#

kekw

rough pulsar
#

en tekct

#

i agree

#

ngl

#

anyways i think we should talk about how playerdata.instance.health = 0

jolly oriole
#

no, even better

#

maxhealth & maxhealthbase = 0

#

and then let the player die

rough pulsar
#

true ngl

vocal spire
#

I prefer nailDamage = -21

ivory terrace
vocal spire
ivory terrace
#

thats lame though

#

what if you did some overly complex garbage instead just because it's funny

#

like

local swag = 69420
for swag do
  nailDamage -=1
end
#

"overly complex" im just lazy rn

cedar hemlock
#

yes but c# next time

vocal spire
#

Smh write some fast code

sweet birch
#

Just had a stupid idea for a mod

#

When Flukenest is equipped. Abyss Shriek is replaced by a swarm of flukes being propelled upwards

rough pulsar
#

when are we going to be able to write mods in brainfuck

#

(horrible idea don't)

vocal spire
rough pulsar
#

Oh god

primal latch
#

But that isn’t modding

candid dove
#

first ever person to say the thing

pure nova
primal latch
#

Lol

bitter vector
#

so is there an online collection of the animations for the knight? I'm making a skin but i dont actually own the PC version

delicate condor
#

how does one go about making a hollow knight mod? I am new to this but I want to make a 'present' for uniquenameforme ||(absolute casual bossfight supernerfed absrad)||

#

what components do I need for visual studio

pure nova
#

Uniquenameforme just needs to git gud. 😤😤 Check the pins.

merry lotus
merry lotus
vocal spire
#

Mods do be quick

steel patio
#

Idk if this is the place to ask, but is there a Meta Knight skinpack for the Knight? It seems like an obvious choice since they're both smol, they both get energy from hitting things that they can use to heal, can both use wing-cloaks, and they're both counterparts to another entity (although the roles are reversed in meta knight's case)

merry lotus
steel patio
merry lotus
#

Not currently. You could always make one though

#

You can also use HatMod to do something similar, that would be easy, but bet silly looking

eternal ibex
#

Can someone here please make a simple mod that lets me dash upwards as well as downwards

#

Im aware that theres a mod called blackmoth but i dont wanna dash in 8 directions, only in 4 i want. And i want the nail damage to be default, not just 1 damage like blackmoth

#

If some modder here does this ill greatly appreciate it

vocal spire
#

I might have done it but you caught me as I’m going to bed

#

Might do it tomorrow if I remember

eternal ibex
#

Ok ty

fervent seal
#

a

violet zodiac
#

heyyy so I'm creating a map and I'm kinda looking into deco mod rn and add a few custom stuff and it's all cool and all but how do you add custom floors and levers and such?
can I just try to find the correct things from ToT and yoink that? is how ToT did it similar enough to deco mod?

vocal spire
#

I’m not too good with deco master, but idk if you can add custom stuff to it without editing the code. Not sure what you mean by finding them from tot, it doesn’t use deco master. All the scenes were created in the unity editor and stuff that couldn’t be created there was places in the rooms at runtime
(@ SFGrenade#2066)

violet zodiac
#

oh using unity editor sounds like a great idea

#

I mean like I'm editing the code from deco mod rn to change some lever behaviour that I want I was thinking of yoinking that kind of stuff:
WpLeverPrefab = UObject.Instantiate(preloadedObjects["White_Palace_17"]["WP Lever"]);
but if that's used with unity editor it might prob not work then huh

vocal spire
#

Anything preloaded has nothing to do with the editor

#

So what’s your question again (not quite understanding)

violet zodiac
#

I for example just want to add a wp lever

#

and well idk if that line for example would work for that

vocal spire
#

Preloading it? You’ve probably got it. If you just have deco master do everything it did to normal levers it will probably work

violet zodiac
#

like this is the dictionary for a lever in deco mod, which if I understand the code correctly I can just change so for example use the whitepalace lever thing and then it should work ig

#

yea fair

violet zodiac
vocal spire
#

Well I gtg, gl

violet zodiac
#

ty

#

oh yea that makes sense

#

understanding code challenge [impossible]

#

thanks for the help

#

all I want is pop floors why is using brain so hard owoDead

#
wp_floor_long (4)
 \--Component: Transform
 \--GameObject layer: 0
 \--GameObject tag: Untagged
 \--Transform Position: (276.0, 10.8, -0.1)
 \--Transform Rotation: (0.0, 0.0, 0.0)
 \--Transform LocalScale: (-1.2, 1.0, 1.0)
 \--Component: SpriteRenderer```
![3sKannaPoint](https://cdn.discordapp.com/emojis/585600996940578816.webp?size=128 "3sKannaPoint")
#

can I instantiate it the same way as the other things?
like "White_Palace_18", "wp_floor_long"

steady comet
#

You should be able to

#

You might want the (4) tho

violet zodiac
#

ill try that out sometime

eternal ibex
#

let me know when u can make the dash upwards mod ok? @vocal spire

violet zodiac
#

didnt flib make that already

vocal spire
#

🤔 I haven’t seen anything about it

violet zodiac
#

im like 96% sure flib made that

#

seen it before

vocal spire
#

Where did you see it before?

violet zodiac
#

in flibcord

steady comet
#

There's one in this server

violet zodiac
eternal ibex
#

Can u paste a link

violet zodiac
#

but your mod is really cool altogether

#

cdash dive dash

steady comet
eternal ibex
#

But is it 8 directional?

steady comet
#

Yes

#

I don't know of a mod that has up dash but no diagonal dash

eternal ibex
#

What if i wanted it to be 4 directional?

steady comet
#

You would have to make your own mod or just not press the diagonal keys

#

or get someone else to make it IG

eternal ibex
#

Theres a game called environmental station alpha

#

I love the simple dash there

#

Flibcord

#

Whats that?

#

@steady comet

violet zodiac
#

it's a secret place for cuties

dim coral
#

Heyyy is this the right channel to ask for some help..?
I have a question bout the Custom Knight Skin making process ^^
Or.. is the modding help one the right one?..

violet zodiac
#

so you want to create a custom knight skin and need help for that?

dim coral
#

yes. I have a concept but I never did any skins for games like that.. and I just wanted to know in what pxl ration it's best to draw it or if it's better to just edit the default one ^^

steady comet
dim coral
#

I can just flop over there and ask again.. I mean I get it if this is more for coding and stuff that is too complicated for my lil brain ._.

#

But thank you anyways 🙂

eternal ibex
#

I have been searching the server for the celeste.dll and no result.

#

I cant find anymods that let u dash up

#

Except for blackmoth

#

I dont like blackmoth

steady comet
#

Search celeste.dll, click the oldest one, scroll down and click the first link

#

I never tried it either but it probably works

merry lotus
#

@eternal ibex

eternal ibex
#

Thx man

#

I should paste this file in mods folder right?

violet zodiac
#

prob fixable but owoDead

cinder fable
#

Guys where I find the newest link of the modinstaller

clear nexus
#

you didnt have to post it thrice

cinder fable
#

srry

jolly oriole
rough pulsar
#

ditch deco master and preload the gos into scenes via code shroompog 👍

jolly oriole
#

how else

fiery venture
#

Do we know when we'll get randomizer for current patch ?

proven cipher
#

No

fiery venture
#

darnit

teal hatch
#

I’m trying to create mods for hollow knight. I was told I must use .net framework 3.5 since that’s the version the game uses. But the only options available to me in visual studio are 2.0 2.1 and 6.0! I’ve tried installing and enabling 3.5 but it just isn’t there!

#

This is mod help but development help as well so that’s y I put it in both

jolly oriole
#

on project creation, select "library (.net framework)"

jolly oriole
#

yes

young walrus
#

also, 3.5 framework is only for older patches

#

if you're planning to make things for 1.5.x.x patches, the framework is 4.7.2 now

teal hatch
#

I intend to mod for 1.4.3.2

#

Like most other mods are

#

And it’s working now thx for ur help

teal hatch
#

I’m trying to increase the base nail length and I can’t find it in dnSpy

#

Is it not a variable?

#

I found the startslash() and I can see they are multiplying stuff but I can’t figure out where they are defining the base value

proven cipher
#

Fwiw the older mod installers aren't going to be updated much, if at all. You should mod for 1.5

#

The main mods that aren't on 1.5 are being updated.

teal hatch
#

But 4.7.2 and 4 in general is being faised out in 2022

#

Why continue in coding in it?

#

3.5 is gonna be around till 2026

proven cipher
#

I don't entirely understand how that side of things works, but having HK mods on the latest patch makes more sense than asking people to down patch. Plus scarab is better than the other installers.

teal hatch
#

Ok

#

Still tho is there a way to increase nail length?

silent relic
silent relic
#

then change it

#

Is it better to translate the game code from x86 to c# and make a mod, or just make the mod in x86?
actually does hk use x86 or x64

teal hatch
#

i cant

silent relic
#

Then search the nail class

light zodiac
#

And look for what happens if charm 13 or 18 is equipped

teal hatch
#

it multplies this.scale.x and this.scale.y by different amounts

#

but i cant find the original variable

light zodiac
#

Wdym original variable?

teal hatch
#

like where they assign the value that they muiltiply it by

light zodiac
#

Could you screenshot it

teal hatch
#

this is whats happening when either mantis or long nail is equipped

light zodiac
#

What class is this in?

#

Or rather what monobehaviour is this in

teal hatch
#

NailSlash

light zodiac
#

Maybe you could on hook this function

teal hatch
#

and change the x and y?

light zodiac
#

Yea

#

Like

On.NailSlash.StartSlash += newfun

And in new fun
{
// Change local scale
Orig(self)
}

teal hatch
#

i dont see its details in the apidocks for it

light zodiac
#

And to change local scale use self.transform.localscale

#

Yea cuz that's a WIP

teal hatch
#

so what do i pass in?

light zodiac
#

Hence the mini tutorial

#

Let IDE generate for you

teal hatch
#

so how am i changing the x and y

teal hatch
#

where is self defined?

light zodiac
#

You need to do this if you don't wanna edit the function code

teal hatch
#

so im calling the origional inside the function?

#

isnt that a loop?

light zodiac
#

If you wanna edit it completely don't call orig(self)

teal hatch
#

what is orig?

teal hatch
#

I have a decent bit of knowledge but not alot of c# know how

light zodiac
#

That's all what you have to do with orig tbh

teal hatch
#

explain it all like im a toddler

#

from start to finish

#

how and why

light zodiac
#

On hook is a way to replace original code

#

Redfrog 👀

vocal spire
#

Think if it as the next method in the hook chain is passed in and you need to call it with either the parameters provided or your own stuff, if no other hooks are there it’s the original method

light zodiac
#

Yea

#

But who hooks start slash

vocal spire
#

Me?

light zodiac
#

Why

vocal spire
#

Set the scale of the nail

light zodiac
#

So it would work shroompog

vocal spire
#

I’ve already done it in a mod

#

It’s on GitHub

teal hatch
vocal spire
#

?

#

In your hook, orig is passed in as sort of the next method in the hook chain (ending with the original method, hence the name “orig”)

teal hatch
#

so im sandwiching a method between two copies of another method?

vocal spire
#

Sort of?

#

Not two copies

teal hatch
#

and in this case what method am i sandwiching inside what method

light zodiac
#

Basically think of on hooks like on demand modhooks if that makes sense

vocal spire
#

(Modhooks don’t have a orig parameter)

light zodiac
#

Kinda

vocal spire
#

By hooking/subscribing your method to StartSlash, your method is called instead of the original method, and you can call the original stuff, or the next method in the chain if there’s multiple hooks to that if you call orig(parameters)

teal hatch
#

so im putting my method in the middle of the origional?

#

and whats the difference between an onhook and a modhook

vocal spire
vocal spire
light zodiac
#

Maybe this can help

teal hatch
#

ill read that and be back if i need more help

teal hatch
#

ok wait i get it! so im replacing the origional function with itself plus my own stuff?

light zodiac
teal hatch
#

my code doesnt seem to like transform, vector3, and scale

#

why?

teal hatch
light zodiac
teal hatch
#

Were would I put that

light zodiac
#

In the on hook

teal hatch
#

Like pass it on?

#

Or on.nailslash.startslash.self.gamePbject.transform

teal hatch
#

Ok

#

I had just copied the game’s original format for the line

#

Thank you guys for the help! @vocal spire and @light zodiac you guys are awesome! I’ll prob be back tmrw asking for more help lol. But since there r no good coding tutorials for hk modding ig this is the only way

mint willow
light zodiac
#

Download this, extract it and place it in mods folder

languid goblet
steady comet
jolly oriole
floral blade
#

all the best mods are on 1.5 or being ported to 1.5 >:O

solid pendant
#

Hello Everyone

rough pulsar
solid pendant
#

Is The Mod For Fyre Moth modDone or Still in development

#

I am so Hyped

light zodiac
#

Option 2

heavy vigil
#

would it be possible to program a hollow knight player ai

#

who could beat the pantheons or something like tas but with no human intervension

light zodiac
#

TAS?

potent mantle
#

u could but it wouldn't be very good at the game

proven cipher
#

It has already been done

merry lotus
proven cipher
#

There's a TAS

#

Of the Pantheons

#

Or at least one

potent mantle
#

well TAS isn't AI

#

they specifically manipulate the rng to make sure the fights are the same every time

#

and then a human makes programs that input precise commands frame perfect

teal hatch
#

ignore that i just wasnt using unity engine

#

ok new issue so heres my code

#

private void NailSlash_StartSlash(On.NailSlash.orig_StartSlash orig, NailSlash self) { orig(self); self.gameObject.transform.localScale += new Vector3(self.scale.x * 20, self.scale.y * 20); }

#

just to see if it worked

#

and it didnt

#

the nail shouldve been huge and it was the normal size

teal hatch
#

do i need to call it somewhere?

teal hatch
#

nvrmnd figured it out

merry lotus
# proven cipher There's a TAS

Yeah, the other player was asking about an AI, not a TAS. They then proceeded to describe what they were talking about as like TAS, but without the original human inputs that a TAS has.

serene dome
#

What things do I need to have to start making custom mods for hollow knight? I'm interested in making stat changes and adding spells.

lapis stratus
#

Some C# and Unity knowledge, a way to edit code (there's a mod template for Visual Studio in the pins so that might be a good place to start), and determination

serene dome
#

Is there a video to help get started that I can use?

lapis stratus
#

Not that I know of (but someone else probably knows better). There's API documentation in the pins and most of the mods have public repositories on GitHub if you want to get an idea of how things are done.

#

Most of what I learned was referencing those and just playing around with things to see what happened

#

I'm excited to say that 1.5 Enemy Randomizer had its first playtest. Bad news is that it was pretty buggy. Good news is that it was only about as buggy as 1.4 Enemy Randomizer was after I fixed a bunch of its issues zotewheeze

#

It still needs a lot of work, but I'm feeling optimistic about its progress vesselsip

merry lotus
nocturne falcon
#

This may be a weird question, but:
I would like to make a mod that changes the entries in the hunter's journal and the charm names. How do i do that?
and when i finish the mod, how do i make the mod load on my steam?

#

If you answer, ping me!

lapis stratus
#

And I've not used it but I think I heard Frogcore has a helper to make journal changes, so that might be something to look into

dim fern
#

Does a language mod exist? I was thinking about wanting to translate the game into my native language (Dutch) but didn't know if such a mod already exists, and if not - does anyone have any idea on how to go about making it? since its just changing text i figure it shouldn't be too difficult but i have no clue

vocal spire
teal hatch
#

@light zodiac can you explain IL. to me?

#

or if anyone else could

#

maybe @vocal spire

#

you were rly helpful before

vocal spire
#

That’s from an entirely different game

#

Celeste

teal hatch
#

im wrong lol

#

just ILs in general

#

I want to edit a specific value in a large function

vocal spire
#

I’m not really a good person to talk about that with, sorry. I know how to use that stuff but haven’t had enough experience to explain it well

teal hatch
#

ok

#

I cant use on and do orig(self) because the function assigns the variable in the middle of itself

vocal spire
#

It has a lot to do with the il code that can be viewed by switching from c# to il in dnspy when viewing the game’s code

#

You’ll 100% need to view that

teal hatch
#

could i use an on to edit that variable?

vocal spire
#

If it’s in the middle, either copy the method’s code and don’t call orig, otherwise I don’t think so

teal hatch
#

i tried copying but it got mad

#

it was underlining all of the things after this.

#

so yeah if anyone could explain IL hooks that would be great

drifting night
#

yo are skin challenges still a thing

teal hatch
#

pretty sure yeah

light zodiac
#

If you show me what variable you wanna edit I could probably ||not|| figure it out

teal hatch
#

I want to edit the DASH_TIME variable

#

I cant find where its value is assigned in the code so my idea was to multiply it by something here

light zodiac
#

DASH_TIME is a constant of sorts

#

You done need to edit it in IL hook

teal hatch
#

how do i edit constants?

light zodiac
#

Just hook On.HeroController.Start and edit it using reflection

teal hatch
#

reflection?

light zodiac
#

ReflectionHelper.SetField<HeroController,float>(self, "DASH_TIME", {new_float})

light zodiac
light zodiac
teal hatch
#

perfect thx

#

i have to go to bed but ill read that tmrw

#

thc for the help

light zodiac
nocturne falcon
merry lotus
nocturne falcon
#

Thanks!

merry lotus
nocturne falcon
#

so i just open it with notepad

#

and then edit the text

#

right

merry lotus
#

Uh, no lol

nocturne falcon
#

whoops

merry lotus
#

You'd need to make a full mod

nocturne falcon
#

is there like some template i can use

merry lotus
#

Not really

nocturne falcon
#

or should i look up a tutorial?

merry lotus
#

There's dev resources on the modding server, but the template that's there is mostly for having all the default references pre-made iirc

nocturne falcon
#

I'll try to figure out what that means
thanks for the help! (not sarcastic)

merry lotus
#

I'm not sure which part you don't know, so I'll try to break it down a bit:

  • there's a dedicated hk modding server. you can find a link to it in my "About" section
  • HK modding is done in C#, and the files for it need to reference a lot of specific other files in order to work, and then you have to export that as a .dll
nocturne falcon
#

joined the server, thanks!

hoary grove
#

how the heck do i get started with the mod

#

so

#

i have the api

#

but idk what to do for writing it

#

wait a second radiance host has it

#

nvm

teal hatch
#

this is my code

#

but its doing nothing

proven cipher
#

You should join the modding server

#

It's linked in DwarfWoot's profile

teal hatch
#

perfect thx

hoary grove
#

idk what to download pls im legit clueless

vocal spire
hoary grove
#

this is for an example right?

hoary grove
#

ight so

#

i got shit sorted

#

i am now coding

#

whats the instance for equipping a charm again?

hoary grove
#

ghost msg moment

vocal spire
fair rampart
#

been thinking about making the HK a Waluigi skin through his spreadsheet, opinions? all I would have to do is get the appropriate software.

clear nexus
#

is there a main “tutorial/docs” on how to get into hk modding? it’s pretty overwhelming

proven cipher
#

?pins Check the pinned messages
1: Download the installer. (Checking you get the one that matches your HK patch.)
2: Extract the installer to your desktop.
3: Open the installer.
4: If your HK install is not in the default location, the installer will ask you where it is. Simply direct it to the folder that has "Hollow_knight_data" in it (NOT the Hollow Knight Data folder itself, the one that has that folder IN it)
5: Download the mods you want!

finite forumBOT
cedar hemlock
#

I think they mean making mods