#archived-modding-development
1 messages · Page 484 of 1
Ok
What about void palace, considering your name 
in the abyss?
Yeah, like the abyss expansion we never got
any return
Language.Language.GetInternal(..)
@copper nacelle My brain is in confusion by what you mean by this
Yeah
That would be nice
That returns the normal language stuff
I really wanted the expansion pack
@copper nacelle My brain is in confusion by what you mean by this
@fallow wind nevermind, that was me being stupid
@fallow wind Check LangGet method here
https://github.com/SalehAce1/Propeller-Knight/blob/master/PropellerKnight/PropellerKnight.cs
I got it but thanks for future reference
Np
Where do I post mod ideas
Modding-discussion
Thanks
Well, there are 2 aspid mods
Good for you
I am confused about the dict[scene][object]
It is a dictionary of dictionaries
Uh can I have an example or something
Any mod that preloads stuff
Ok
Is anyone here a part of the Hollow Knight: Pale Court expansion team?
Yes, not me
Are you looking forward to it?
A lot
I am
same
I so want to fight all the white knights
I’m guessing that they’re gonna make it so that you can use the awakened dream nail to enter the dreams of the dead ones by dreamnailing their corpses to fight them
iirc their statues are in the white palace anyways
It would also be cool if they make like a Hegemol NPC because it’s not confirmed that he’s dead
Just naked and...?
Also I don remember there being statues of anyone besides Hollow Knight and Pale King
it's likely he's dead, but i won't delve into that here
also they'll just add HoG-style statues to the throne room
Yeah
What about the charms
5 new charms
Also that would be boring if they just do HoG statues
It’s an expansion, not a new boss/charm mod
I’m pretty sure that was what it originally was
They said that there is more stuff now
I only know what was said in the teaser trailer
Yeah, that’s new
2 days ago
Yeah
But who IS working on it
Idk, at least saleh
Saleh?
this would probably be better suited for #modding-discussion
Yeah, let’s go there
Oh yea
New text, a bug (the knight) was fixed, charms are unequipable... it is a primal aspid's DREAM (almost)
Bruh, that isn’t impossible. Make the black egg be unable to be entered, then it’s impossible
I changed the name on the title screen, now it's just the name of the mod files
it isn't worthy of impossible
HUUUUUGE update: renamed the file
Perfect
I also changed on github
Yes
I don't see why you would want to look at it, it's extremely simple for your level
nothing is safe from me when it is public on github
I'm making a joke from something that happened earlier this week
?
It is a joke
On wha
You need to search for what happened to find out the meaning
So what happened
...watch me fail
Hey guys im interested in starting modding for hollowknight? What software do you use to mod? I am familiar in Unity so I would like to start using that if thats how it works. THanks
Creating mods*
https://radiance.host/apidocs are some docs
you'll want dnSpy for decomp and the fsm viewer
API docs have a tutorial video as well as explaining the basics
you can export asset bundles from unity using the tutorial in the pins to use in game
https://github.com/fifty-six/HollowKnight.HellMod/blob/master/HellMod/HellMod.cs this is a basic mod which is a decent example
You can avoid basically all modding if that's all you want rn
Well I want to start learning how to do it
there's a mod called Custom Knight which lets you edit the sprites for the knight
Understandable
I thought I'd start somewhere by changing sprites around
yea yea I have it installed
Want to make my own sprite layout and then incorporate what I've learned to make custom sprites for a mod
big dreams but I wanna achieve it
Generally for sprites you want an embedded resource in the dll and then you just find a tk2dSpriteAnimator and get the sprite definition's material's texture and set that or you set the sprite on a SpriteRenderer
Aight I think im understanding
if you want to find those they're just on the GameObject which you can get a dump of by using ModCommon and just calling PrintSceneHierachyTree on the GameObject
There's an in-game repl called ModConsole to make that easier
enemies are listed in debug mod with their names generally and there's a knight dump pinned as well
aight bro thank you so much Im going to screen record this so I don't forget
np
Will get to working on it tomorrow and will let you know my progress
@copper nacelle what modding api do I download? it says to get one on the tutorial website
you just open the mod installer and it'll install the api for you
yes
Ok cool
Can I extract a scene's data with the mod console? I'd be so much more convenient
If yes, then how can I do it?
That would be useful, I don't know
use utiny ripper
What are you going to do with the scene data
If you don't feel like opening up the editor use asset studio or assetsview
They will give you a tree view of the gameobjects
Oh I just saw that you also extracted the GG scenes, which is what I was mostly looking for
I did
Aight give me second
When will we get modcommon docs
let's keep asking then!
why do you even need modcommon docs
just look at the methods it had
they're all self-explanatory
then we need to keep asking
Any idea how can I enable this (triggers glowing womb's fury state) from a mod?
edit the fsm
You're asking how to have that whole method called?
well that, but I also want to trigger the entire if statement that turns on the fury (which i'll try to figure out later)
this.
Why not replace this with the instance then
because I don't know how to reference that specifically
What script
the one that triggers the fury state
but what script
I don't know
you took a screenshot of the method in the class
oh, KnightHatchling
I think I know how to do what you want but I am unsure if it is right so I won't say it
just by looking there's no static references to it
there's just one gameobject tho so just GameObject.Find("Knight Hatchling") and find the KnightHatchling component
well actually nvm I was only local searching
it's in resources.assets so somebody has to spawn it, will look later but have to go
alright, see ya
ok the search finished and a reference was found in Charm Effects - Hatchling Spawn FSM
so you'd have to get the reference from the fsm
I would just to Gameobject.Find
i remember looking through the fsm but couldn't find it there
only in KnightHatchling
I have a question about how to disable charms at all, I tried using UnequipCharm but it just shows that the charm is not there but it still has effect, any ideas on how to fix that?
equippedCharm_n
@copper nacelle sorry if I sound dumb, but how do I use "equippedCharm_n"?
PlayerData.instance.equippedCharm_(n) = false;
aha
or if you're removing all just
PlayerData pd = PlayerData.instance;
foreach (int charm in pd.equippedCharms)
{
pd.SetBool($"equippedCharm_{charm}", false);
}
pd.equippedCharms.Clear();
also I tried clearing and it did the same thing as when I tried unequipping
np
@floral iris
what you need is
- C# IDE (Visual Studio 2019 works, or Rider if you have it)
- Net Framework 3.5
- ILSpy (tho DNSpy also works but ILSpy is apparently better) which youre gonna use to read the games code for reference (note you shouldnt be using this to edit the AssemblyCSharp to make mods)
- an FSMViewer (especially needed if youre gonna make a mod about bosses)
2 other stuff youll need that you can download is the Modding API and ModCommon, which should automatically get installed if you used the ModInstaller on startup
great, thanks! i'll start with that
i'm especially interested in level design and adding/modifying rooms, which i've seen some people do. do you know if that's possible with just that software?
hmmm im not too versed with that side sorry, but you can actually ask either NES or SFGrenade for that, latter is currently doing PoP style new area stuff so you can probably ask him for some directions in that regards
yeah SFGrenade is your man, tho NES was making a level editor, i havent been updated much with the channel atm
i guess... should i ping? or is there a good chance he'll see this anyway
👍
OK but clearing won't trigger unequip hooks will it

I'm just saying SetBool to false
Yes I'm very fucking ech
Understandable have a nice day
You can't just clear equippedCharms in the first place though
It doesn't disable the charm effects
Understandable have a nice day
I have a question, is HeroUpdateHook for everytime the knight gets a new spell or upgrades nail? Or is there another hook for that?
It would show up as old nail but that doesn't update damage
yeah mostly
Thanks
There's a thing with an fsm event but if you're doing it every frame you can probably just forget that
Aight
Is there a way to change the damage output of GrimmChild?
There probably is, but I couldn't find anything, wait for a modding expert to answer that
I have a question about HKEdit 2: do we have to have unity 2017, or can it be a later version?
There is a mod for customizing grimmchild
oh, may you tell me the name of that mod?
Grimm child upgrades or something like that. It is in the installer
Aight, thanks
How long does it take to load a scene in hkedit2? I nothing is showing up in any folder
Oh nevermind, I just got about 900 errors in my console
Yeah I closed, still nothing
"DirectoryNotFoundException: Could not find a part of the path "C:\Users\rp678\Desktop\ViewHKStuff\Assets\ExportedScenes\level311.unity.meta"."
add that folder
So, I installed the grimmchildupgrades mod and looked into the source code to understand how they edited grimmchild, and I honestly don't understand
what do you not understand
I don't understand how they edited the grimmchild
I currently want to find a way to edit the damage output done by grimmchild
@fallow wind when did you download this and yes you need 2017.10
.4.10
Yeah what he said
how goes progress on hk edit
Uh I broke things again
next week is an odd week
cool
gl
@fallow wind when did you download this and yes you need 2017.10
@dark wigeon I figured it out, but the entire scene is pink, which is not a problem, since I just needed to look at the name of some gameobjects. I downloaded today
Is there a way to make the grimmchild always asleep? I have tried this, and it works well, but when you sit on a bench or exit a dream it just wakes up for some reason
check the fsm
huh? excuse me if I sound dumb
have you read the API docs on fsms
oh, I think I didn't, some of the docs were still "TODO" so I thought the rest would be the same
aha thanks
maybe I should put a list of all the sections that are done and not done on the front page
ok so, I don't know if I am doing something wrong or if I am missing a reference, but whenever I try to do PlayMakerFSM fsm = go.LocateMyFSM("FSM_Name"), it gives an error saying that PlayMakerFSM can't be declared, and that go is not known in the context and when I try to use fsm in any context it always says fsm does not exist in context
add a ref to playmaker.dll
oh thanks, my god, I have been looking for like 20 minutes for what I was doing wrong
oh wait
it still says go does not exist in this context
show code
well, it is just me testing it right now, so the code is basically the example mod pasted
but where is the go
oh wait, my bad, aspid not go, it is aspid in the example code
oh that aspid got fixed after putting reference, now it is the Aspid in GameObject aspid = Instantiate(Aspid.preloadedGO["Aspid"]);
aspid is just the class Saleh used for his mod
if you wanted to load some preloaded GameObject you'd use whatever class your mod is
If it's a static field ofc
np
so, should this make grimmchild's damage be always 0?
no
no
welp
shouldn't you see a bunch of errors rn?
do you understand what a yield return is even for?
yea
you are defying the rules of logic
ok so first of all, I need to make certain of something
This GrimmChild class, are you actually using it?
can I see the code where you add it to the grimmchild?
you can't just add it to anything or add it to nothing
My fear is that you haven't done that and tried to copy the class I made without understanding how it is used since I dont explain it in the guide and assume you know it
huh? ahaha..
the Grimmchild class you have made, do you use it anywhere?
I want to continue to help, but I gtg
no
ah.
ok so before we fix the class, let's find the grimmchild gameobject
Grimmchild-control?
I assume you got this from the fsm viewer
yes
Grimmchild-control is not the name of the fsm
oh bruh
the first part before the "-" is the name of the grimmchild gameobject
the part after the "-" is the name of the fsm
ohh
yep
unfortunately no
huh? Isn't the part before the "-" the gameobject?
GameObject.Find("Grimmchild")
^
I wanted to see if the knight had a prefab of it or something like the weaverlings
aha
GameObject child = null;
yield return new WaitWhile(() => !(child = GameObject.Find("Grimmchild")));
the yield return doesn't continue the code until we find the grimmchild
big brain
GameObject charmEffects = HeroController.instance.transform.Find("Charm Effects").gameObject;
PlayMakerFSM spawnGrimmchild = charmEffects.LocateMyFSM("Spawn Grimmchild");
GameObject grimm = spawnGrimmchild.GetAction<SpawnObjectFromGlobalPool>("Spawn", 2).gameObject.Value;
requires ModCommon tho
what's wrong with modcommon?
has a bunch of things you'll probably never use, like AStar
ok
@ornate rivet I have a question about DoH: When loading gameObjects for attacks, there was this code:
public override List<(string, string)> GetPreloadNames()
{
return new List<(string, string)>
{
("GG_Mantis_Lords", "Shot Mantis Lord"),
("GG_Radiance", "Boss Control/Absolute Radiance"),
("GG_Hollow_Knight", "Battle Scene/Focus Blasts/HK Prime Blast (4)/Blast"),
("GG_Hive_Knight", "Battle Scene/Droppers/Bee Dropper (1)"),
("Grimm_Nightmare","Grimm Control/Nightmare Grimm Boss"),
};
}```
and this code:
```preloadedGO.Add("mantis", preloadedObjects["GG_Mantis_Lords"]["Shot Mantis Lord"]);
preloadedGO.Add("rad", preloadedObjects["GG_Radiance"]["Boss Control/Absolute Radiance"]);
preloadedGO.Add("blast", preloadedObjects["GG_Hollow_Knight"]["Battle Scene/Focus Blasts/HK Prime Blast (4)/Blast"]);
preloadedGO.Add("bee", preloadedObjects["GG_Hive_Knight"]["Battle Scene/Droppers/Bee Dropper (1)"]);
preloadedGO.Add("grimm", preloadedObjects["Grimm_Nightmare"]["Grimm Control/Nightmare Grimm Boss"]);
preloadedGO.Add("bat", null);```
I know that the second one is accessing a dictionary but what is the first one do
that preloads the stuff
Sorry, edited it
the first one specifies what objects to preload(I think)
np
@jolly oriole hey ttacco said you're the person to talk to about level design in mods and like adding/modifying rooms and stuff. is there certain software you use to do that that you would recommend? (like outside of the normal software you need to make any kind of HK mod.)
oh and for reference i've never actually made any HK mods, but i wanna get into, so i'm still a total noob
@copper nacelle
??
😳
you
fuck off
no
fuck on
@fallow wind
- Don't look at DoH code
- The api docs explain your question https://radiance.host/apidocs/ModdingAPI.html
hi, what do i need to install the mods to modificate the sprites, because im afraid of screwing something up
ask in #archived-modding-help
okay, thanks
I'm such an idiot
... so THAT'S what it was for
modificate
i was gonna say something snarky, but really when you think about it that's a much more logical derivation of the word "modification" than "modify". come on, english, step up your game
also @jolly oriole what do you use blender for? and also what's hkwe2? (i assume it's "hollow knight something something 2")
i don't know who or whom did it but thank you for updating the docs at radiance.host
Wait where
sorry to bother, but which link in pins is hollow point? can't seem to find it.
use the modinstaller to install mods
Don’t worry about it, I was dumb and didn’t see hollow point under the mods in the installer lol
may anyone tell me how to loadcate "Kinght Hatchling-ProxyFSM"? I'm trying to use ```
while (true)
{
knightHatchling = GameObject.Find("Knight Hatchling");
if (knightHatchling == null)
yield return null;
else
break;
}
var proxyfsm = knightHatchling.LocateMyFSM("ProxyFSM");
it's a child of charm effects on the knight iirc
Yeah
You could probably just get the object from the Hatchling Spawn fsm and then edit it
you mean I can save the gameObject ref from Hatchling Spwan then locacate the fsm of it?
Yeah
sounds good
Just use insert method
ok
Or insert action
it seems tc has saved the refrences, I think i can use it
Yeah
That’s why I suggested using insert method or action on there so every time one is spawned you can edit it
i dont know how to hook object pool spawn
like this?
Yes
i got it,very thanks
idk if they're tagged like that
go.name is what shows up in the viewer
but yeah
I think they are tagged with that
Yeah
I’m going to mod the hatchlings as well
I’m just going to make them a little chaotic
lol
Just a little
i just try to make them do not attack
that should be cost more MP
Also costs no mp
I think I’m just going to summon an infinite amount
That should be enough
your memory might overflow after you spwan too many gameobject
I don't care about that
lol
if an enemy enter the range, they will all attack and leave zero
that's why i'm trying to let them not attack
chad reflection tech
I wish I could understand this
Same
What is the code for instantiating super spitter? The scripts I wrote aren't working, but I am not getting any errors (and yes I did copy some stuff from radiance and Microsoft docs)
Screenshot your code?
Loading objects into game
Where/what do you add the monobehavior to
No, what game object do you add it to
super spitter
oh I didn't do that...
The code isn’t running
ok I see
Plus you need a scene enter hook or something
Because if you just add it at the start of the game, you will have an aspid on the title
oh ok thanks
Does it actually work, defining Start() as an IEnumerator? I would've thought you need to StartCoroutine inside Start()
yep
so how many projects are you people working on?
@vocal spire in the README(Modding API) it says something about copying over a zip file. Do I need to do that or was it covered by the mod installer?
It was covered by the installer
ok
Sorry, I’m having connection issues
np
oh right that goes to discussion sorry
@dusty idol if you have any questions about modding or need help, feel free to ask here
got it
I guess I forgot how dnspy works. Where's the executable?
you don't dnSpy the exe
For some reason the exe wasn't in the latest release
You have to go to actions and download the release before that
ok, thanks
If this is what you are talking about
it is
Ok
sorry if i am being dumb but this doesn't log anything when the scene is changed. Does anyone know why this is
that hook is garbage
use UnityEngine.SceneManagement.SceneManager.activeSceneChanged
sounds fun
so where would I write code if I just wanted it to run at all times?
In the update method of a monobehavior attached to a game object
Anyone have any greenpath assets/sprites on hand? I have an idea for a mosskin knight and I figure that it'll be easiest to use parts of the game instead of starting from scratch
pins in #art-discussion
I've always wanted to make a HK mod but I have no experience with programming- only really artwork and spriting
Some modders need sprites done for them for some mods if you want to do it that way.
perhaps
I've always had an idea for an original like simpler mid-game boss but I know thats way too ambitious to start out
Is soul referred to as MP in the code?
Yes
ok
actually, is there a website or document that explains what all the functions and variables and stuff do?
cool. thanks
what's an easy way to display some text, mainly for debugging purposes.
how do I enable it?
In your saves folder look at the modding api global settings
That’s a lot of errors
idk
What mods?
just mine
I think I had this with another game
but I moved everything to a new pc, and I guess 3.5 didn't come with it
Are you sure that the project itself is 3.5?
it was at 2.0, but the drop down didn't have an option for anything higher than 2.1
I'll try making a new project
Yeah
I had the same problem with my first mod
I just copy and pasted everything into a new project
just to be sure, it's Class Library (.NET Framework) right?
Yes
uh, next thing
?
I'm running "PlayerData.instance.AddMPCharge(1);" in the update function to passively regen soul, but it doesn't change the display until I cast a spell
I think you might need to call the update or something
Some other mods have that problem
I have it attached to the hero update hook
I meant the method or whatever that updates the soul orb ui
don't use the player data method
use the hero controller one
it sends an fsm event to update the ui
GainMPChargeSpa or w/e
idr the exact name
uh, I'll look into that
ok, that worked
so how do I know when to use hero controller vs player data?
ok
@sly garnet I'm working on something that's almost purely sprite based if you'd like to help!
I’m thinking of just making a mod that adds a bunch of charms that other people request.
As long as they provide art
That'd be solid. I think there are also a few unused charms in the game files already
Well yeah I meant sprites
Here. add me and I'll explain in DM's. I don't wanna flood this channel
there
So I'm mapping out all the geo rock object names for rando purposes, and wtf is with Team Cherry's naming
Team cherry
I mean
ive heard some of the stupid naming schemes team cherry put in the HK files
but I can't remember any lol
@vocal spire Hey! I can do the art if you can tell me what the charm is about :D
I meant a mod that adds a bunch of small charms that are requested
O, do we have to think up the charms then?
Hmmmm
just an accessory
Okie dokie I'll think something and dm you :D
ok
how does adding charms work if there's a set number of them? Do you have to replace existing ones?
you can replace an existing one
but grenade made charm helper
so it is now super easy to add charms
grenade also made a example of how to use it
sounds good, but I'm not going to get into that quite yet
do they get loaded right away, or can you have the charms change while playing?
I suppose like the fragile charms or grimmchild
so, like, I have a variable, if it's set to one value, I get a certain charm, if it's set to another value, the charm changes to something else
I think it could be fun
ok
but anyway, I see there's a variable for the range of the nail. can I set that to whatever I want?
probably
I figure it at least wouldn't display properly without importing a new spite for it
for a charm?
no, for the slash animation
based on how the game works, I would think it has a sprite for each combination of long nail and mark of pride
so it can't just get upscaled to match the range
It probably can
well, if I simply set it to a high value, nothing happens
Ok
There’s probably something else you need to set
Maybe something with a fsm?(probably not)
I haven't gotten into fsm, and I kind of don't want to.
Good luck modding then
I'll be fine
I've edited the nail length before, it just stretches the pre-existing sprite
Ok it took a while but I'm back
hello back I'm dad
no u
Yeah
How does one build a mod from the source code?
You need one
Yeah I was just messing around on a fork with a text editor
Hey, I was using Sublime Text at least.
Okay, I have acquired a JetBrains Rider. What now?
So I'm getting errors like "The type or namespace name 'UnityEngine' could not be found", for UnityEngine, HutongGames, Modding, and SeanprCore
did you add references?
Oh I didn't
You will need at least UnityEngine.dll Playmaker.dll modcommon.dll seanprcore.dll and assemblyC-sharp.dll
Where does one get UnityEngine.dll, Playmaker.dll, and assemblyC-sharp.dll?
In the managed folder in hk
You will probably need more unity stuff
But it will probably tell you what you need
make sure you have the API installed ofc before you reference it
Hm, I'm not finding modcommon.dll; is that not supposed to be in the Mods folder?
you don't need it
Does anyone know how to get a game object named "_Props/Geo Rock Abyss" when there's another game objected named "Geo Rock Abyss" in the same scene?
In this case, it's an issue with the FindGameObject extension used from SeanprCore automatically searching with FindGameObjectInChildren, I think
You could change your fork to use a different search method in ReplaceObjectWithShiny but of course that would mean checking that that doesn't break any existing items, including before and after collecting them, and on reentering the scene after spawning them but without collecting them
I might just say "fuck it, not worth it for the two geo rocks this applies to in the game" tbh
yrdhtsi
If you really want to you could find all of the objects, linq them to name contains geo rock, then place a shiny on their transform, then yeet them
Of course FindObjectsOfType<GameObject> is kinda ech and yusuf will yell at you for it
But you might be able to just shift the blame to homothety because it's rando and be on your merry way

Ah
GeoRock exists as a type
So you could just do that
Assuming it's functional which is a big assumption in this game
Yes, you can search for GameObjects with a GeoRock component
that does not make it remotely compatible with the way randomizer places shinies for individual items
I mean if you explicitly need the name for some reason, you could preload the scene then search in it (probably, haven't fucked around with preloading too much), then do name
I mean, yes, knowing which item is which is probably important at some point in the randomizer
I know preloading game objects needs the name to begin with so it's probably not useful, idk if you can preload a scene per se
no
I mean, I'm not gonna tell you how to randomise stuff, but that's not necessarily obvious
I assume FindObjectsOfType finds the objects in a determinate order, for example, so you could be assigning x items to a scene, for example
Not that it'd be better, idk how it works right now
So it'd probably be worse
How much effort would it be to manually load one of the Hall of Gods boss scenes without doing it from a boss statue?
not very hard?
Shouldn’t be... right?
Should just be
GameManager.instance.BeginSceneTransition(new GameManager.SceneLoadInfo
{
//put settings here
});
When I do that the scene changes and I can move around, but the screen is dark and the boss doesn't spawn.
do you choose the correct gate?
oh, probably the visualization
I've done it to WD before and remember it working
oh but that was the nongodhome version
still dream scenes shouldn't be different from godhome ones
dnspy shows some really messy stuff with the BossStatueController and I wasn't sure how much of it I actually need to get the sequence to work
Nevermind, changing the visualization didn't fix it
just send blanker down or w/e
After a few seconds in the scene, the game kills me and I respawn in the dream nail sequence with the screen still black
🥴
that's the dying in voidheart thing
you haven't set the dream respawn scene
the black screen is the blanker though
or the camera fade
and L219
should prob work
oh yeah soul warrior was spawning
I just didn't have headphones on and debug didn't update the panel, so I thought he wasn't
I'll try that then
That fixed the camera issues. Thanks!
Yeah, looks like no issues now with loading into the scene and getting it to work
Any ideas for how to handle the event after the boss dies? Right now it seems like nothing happens
might need a BossSceneController thing for the automatic one
there's also an instance event for HealthManager, so you could hook the boss's hm
hooking that sounds much easier than dealing with TC code
ultimate goal is a shiny where you have to defeat the boss to pick it up
Cool
finished up modinstaller2 for the most part i think
avalonia based so it's cross platform
dang
release when
oh maybe I shouldn't mute modding-help if you're posting updates there

makes sense
where the ar mod at
how do i get it i mean
what does hollowtext do, it ain't working
probably
considering this is a modding channel
yeah i don't see it on mod summaries
Why you gotta delay SceneLoaded hook by 1 frame
I do it because api docs told me to but I don't know why you gotta
Is it like objects don't exist first frame?
yes
So if you wanted to like spawn stuff instead of messing with already spawned objects you wouldn't wait ig?
So a mod that recently caught my eye is the NG+ King's pass mod because I want to do something similar. So far I've been using a plando with the item changer and it's been working out pretty well, but seeing as I wanna export it as a separate mod and want to work a bit faster, I want to ask how that mod was made. I assume it was with HK edit and not just plain coding?
If that's the case can you also help me to get that working? HK edit really doesn't have any readme files that explain most things (at least as far as I found) and even though I was able to open, modify, and export scenes in unity, I can't find the mod that loads them anywhere (talking about version 2)
Seeing as NG+ is a separate mod I assume you'll have to put the map files in a separate mod file in which case I'll have to look into that
Keep in mind I know pretty much nothing about the ModAPI so forgive me if this is a stupid question, and explain in greater detail so I can actually understand lol
it's just code
Hm. I was thinking there'd be a more convenient way
So is HK edit still supported?
grenade made new scenes in it, could probably set up stuff and additively load
I think Saleh got a scene mod thing working
To an extent at least
I was able to make this https://streamable.com/pc8k7j using Utiny Ripper (the t is intentional). The only problem it has is that you will need to fix shaders and some game ai.
I'm not sure exactly why some of the code works and some of it doesn't with Utiny.
So how do you actually put the scenes in game? I know you need to make a folder called HKWEDiffs and put the exported map files there, but I can't find the mod that loads them anywhere
to those who have made custom arenas/areas, do you have a full tutorial from drawing the sprites to making the arena?
I think someone was making one
Alright so I made a mod that changes some charm effects and costs which I think is a nice start. What's next on the list from simplest to complicated that I can try? I was thinking importing enemies and objects into scenes, although I wasn't able to find much about that in the documentation
Any help on that, or tips on what I should try to do next?
By importing enemies do you mean assetbundling new enemies or taking enemies from different scenes
Taking enemies from different scenes
Then use the other version of initialize
Mhm. Are there any examples in source code I can find? Those tend to be most helpful for me
I mean source code of other mods
You can use any mod that preloads stuff
Yeah, I already have that open but keep in mind I'm rather new to this
Oh wait, can I get the source code of the mods with DNspy?
most of them are on github so you really shouldn't have to use dnspy
Aha, alright thanks a bunch
probably better not to use dnspy to look at mods unless you must
Yeah
Yeah, that's my thinking as well
maybe I should start linking examples from other mods in to each section of the modding doc
I wanna get into this so I hope you don't mind answering my questions every now and then
And yeah you definitely should
This is only the second time I'm working with APIs so all this is pretty new to me
And I know lots of folks wanna get into making mods as well
So examples help a lot
this channel exists to answer your questions so definitely ask
Aight, I'll be sure to ask whenever I have questions then
Hopefully I'll be able to figure this out without too much trouble
Nvm actually, I was about to ask something but answered it myself

Ok
you're supposed say Ok RedFrog
Me?
yes
Lol
I said it
Wdym I said ok the first time
hmm
Alright, so I'm a bit confused. Now I know how you're supposed to preload the objects which is great
But I don't know how you actually import them in a specific scene
unless I completely missed something
I'm just a bit confused because there are no coordinates at all, or target scenes
you save them in the Initialize method then use them later when you get to a different scene
And I use them in a different scene here:https://github.com/SalehAce1/Propeller-Knight/blob/master/PropellerKnight/PropFight.cs#L622
I think you sent me the same link twice
Yeah
I think it is this? https://github.com/SalehAce1/Propeller-Knight/blob/master/PropellerKnight/ArenaFinder.cs
no
this should be the second link https://github.com/SalehAce1/Propeller-Knight/blob/master/PropellerKnight/PropFight.cs#L622
Ok
I get the preloaded objects in the init method, save them into a dictionary, then I use the dictionary to spawn copies of them in the second link
no
Hm. Thought so because of
GameObject plat = Instantiate(PropellerKnight.preloadedGO["plat"]); ;
Zote scene from eternal ordeal?
PropellerKnight is the name of the class
Yeah
Aha
I am getting the dictionary with everything saved in it from the class PropellerKnight
Mhm
this is where I define it https://github.com/SalehAce1/Propeller-Knight/blob/master/PropellerKnight/PropellerKnight.cs#L20
Ok, hopefully I'll be able to figure it out. I'll have to try it out later tho
Thanks again
Saleh are you going to say np or am I supposed to say it for you
sid is supposed to
I was waiting for them many times but they never said it
RedFrog, you should put your mods on github
I will
ok good
I will also eventually put larger mods that aren’t finished on github publicly
just be sure to put the ones that are done at least
Yeah
I think I left the source code for lifeblood master on a different pc but I think I still have it for Uuwuu
cool
ХК для детей
@high solar english only please
Ok
Alright so I have come to the conclusion that I have no idea what I'm doing or need to do
Can someone write some code for me so I can figure out how I do this?
I'm trying to place a Zombie Guard (origin map Crossroads_48) in Town at 219.2, 16.4
Yeah I didn't manage to figure it out
Ok not going to write it for you, but I’ll tell you what you are doing wrong if you show me the code that places it
That's the problem
Can't figure out even where to begin
and yeah, I know what you're going for, teach a man to fish don't just give him food
But trust me it'll help a lot if you write it
If you're up for it of course
Alright let me see if I can understand it (again, it's the second time I'm working with APIs so bare with me), but I'd appricate if you can write the code for the thing I asked for
Alright
I'll try that
Hold up
?
Alright I couldn't test it cuz I was a witness to an AB P5 stream
ok
Alright so I wrote it like this:
{
base.Initialize();
ModHooks.Instance.SavegameSaveHook += this.SaveGameAction;
ModHooks.Instance.CharmUpdateHook += this.ChangeCharms;
ModHooks.Instance.HitInstanceHook += this.HitInstanceAdjust;
UnityEngine.SceneManagement.SceneManager.activeSceneChanged += OnSceneChanged;
}
private void OnSceneChanged(UnityEngine.SceneManagement.Scene from, UnityEngine.SceneManagement.Scene to)
{
if (to.name == "Town")
{
var go = GameObject.Instantiate(preloadedObjects["Crossroads_48"]["Zombie Guard"]);
go.transform.position = new Vector3(219.2f, 16.4f, 0f);
}
}
And Class1.cs(109, 49): [CS0103] The name 'preloadedObjects' does not exist in the current context
Oh wait, did I really forget that? Hold up
no?
Yeah idk what I'm doing wrong
You need a dictionary<string, GameObject>
Called preloadedObjects
Public dictionary<String, GameObject> preloadedObjects;
Try pasting that in
Next to initialize or something
Like this?
I know this is painful, it's painful for me too
But it just has more errors as you can see
There are a lot of mistakes here. Right now you aren't even preloading any objects to begin with. Please read this page carefully: https://radiance.host/apidocs/ModdingAPI.html
Alright, let me take another look then
How's the multiplayer mod doing?
on the installer though there's no enemysync or anything
unless someone besides jngo starts updating it, it appears it will no longer be updated
I want to try updating it but I want to finish other mods first
Alright, so I reread everything more carefully, took a bit of a break, fixed my fuckups and mistakes I did because I misiterpreted some of your advice, and did this:
No problems upon building or compiling, but the Zap Cloud still doesn't show in game
Am I really not?
I am, I think
The second line
oh
yeah you're right
It didn't work on the Zombie Guard either though, which is another problem
Right now it is surely throwing an exception in Initialize
Yeah I added it in and it still doesn't show up
So how can I fix this?
It did at least fix the issue of displaying the mod as 'couldn't load' even though it did
But yeah, how do I fix this?
I doubt it's because of the rest of the code. It's completely unrelated
I’ll look your code over again
Oh wait
You need to do zapcloud1.SetActive(“true”) or something like that
After you set the position
Nice! Congrats Mike!
Glad it worked
Yeah, I'm still at the beginning (obviously, very obviously)
But it's been going rather smooth so far, which is nice
I'm going to try and change the AI a bit next
Best of luck my friend 
Already to fsm editing?
Hopefully
We'll leave it for tomorrow
I think you guys and me both had enough headache for one day lol
So, not code related, but still. Does anyone have a nice cube/rectangle spike collision I can load?
All the collisions I've found have complex shapes
And the rest of the spikes as in _Props\Cave Spikes 1 are just decoration
I need a nice spike collision that I can resize
make it yourself by assetbundling(jk there is probably something like from radiance)
Problem is, those aren't real spikes
As in hazard spikes, when you touch them they disappear
Yes, but you don't respawn
Hm. Can you just create a spike collision with a command?
idk
That would come in more handy
Urgh, it's so annoying. The spike collisions are just one big object
Yeah, looks I'll have to use radiance spike collisions and just set damageHero.hazardType
Hm. Looks like spike collisions are just one big object everywhere, and henceforth none of them have a proper shape. It's either Radiance spikes or a custom object it seems
Well then, the spike collider is massive, but at least it's a perfect rectangle?
Surely there must be a more convenient way though
Aha, so they were static?
yes
Great!
And I assume they didn't make the noise either?
Because I couldn't hear it
But it might've been because of the music
Which object did you use?
I can probably figure it out on my own, but if you can remember (I know that's unlikely with how much stuff is used), but it'd still be helpful
Alright I found the name out
Let me see if this will work out
So it's at least temporary
I know Nafi Khan used spikes in their mod, what's their discord username if you know it?
They're the creator of the NG+ King's Pass Mod, if you don't know
Yeah saws are up and running. I would like to replace them with regular spikes just so it fits
Actually
The saws don't even make any sound, meaning if I can make them transparent my problem will be solved
Is there a way to change the opacity of an object?
Can't find anything about it on the documentation
hello
Yo
hello
So can you help me solve the unsolvable problem of spike collisions
Or at the very least changing opacity of objects so I can do that to saws
just change the color or something
Hm. Can I set the material in unity to something transparent?
sorry i know very little, i just preloaded the spike hitbox from king's pass
Yeah, I know pretty much the same
why do you need to make the saws transperant?
Which hitbox?
If you can help me with this Kahn you're a lifesaver
The only one I can find is too big
what are you trying to do?




