#archived-modding-development
1 messages · Page 492 of 1
what does setparent do?
?
as in, of anything else?
can set either the parent of the fsm owner or something else
oh I see
speaking of stun
Where do I find the part that triggers the stun
I see this
And I understand it
except for
the fsm
How does it know to start
the other fsm on hive knight
if I wanted to make it so that you can talk to npcs while "flying" (floating in midair), where would I start?
I tried looking at HeroController canTalk, but i couldnt override it to work correctly, assuming there's a lot more I need to change
if it's in playmaker fsm, no idea where to start looking
you need to edit the nps's fsms
every single one
good thing is the npc fsm names that control when you can talk to them are all the same(from what I have seen)
so you probably can just do something like
foreach (PlaymakerFSM fsm in UnityEngine.Object.FindObjectsOfType<PlaymakerFSM>())
{
if (fsm.Name == "the name of the common fsm I forgot what it is")
{
super cool fsm editing code that just removes like one thing probably
}
}
on scene change
Thanks a bunch for your input!
np
the fsm name is npc_control
actually, it looks you don't need to edit fsms at all
you just need to make CanTalk on herocontroller always return true
so On.HeroController.CanTalk should be the only hook you need for that
yay I have the first 1/2 of my app for customknight+ working
I just purposely crashed it too!
i tried making the CanTalk on herocontroller to always return true and it doesnt work
can you show your code?
public override void Initialize()
{
Log("Initializing");
//ModHooks.Instance.RecordKillForJournalHook += OnKill;
ModHooks.Instance.HeroUpdateHook += OnHeroUpdate;
//On.HeroController.CanDoubleJump += OnCanDoubleJump;
On.HeroController.CanFocus += OnCanFocus;
On.HeroController.CanTalk += OnCanTalk;
}
private bool OnCanTalk(On.HeroController.orig_CanTalk orig, HeroController self)
{
return true;
}
ignore the weird indentations
i was thinking it might have to do with range
orig(self)?
yes, it calls the next part of the hook, or the original code
oh ok
the listen prompt for elderbug only shows up when player is grounded
ok
let me get a scene hiearchy for a sec
ok
looks like you just need to reposition the box collider
the box collider on elderbug(and presumably others) is really thin
just set it's y size to 3 or so and move it up a bit, and you should be good
\--Component: BoxCollider2D
\--BoxCollider2D Size: (5.0, 0.5)
\--BoxCollider2D Offset: (0.0, -1.8)
to
\--Component: BoxCollider2D
\--BoxCollider2D Size: (5.0, 3)
\--BoxCollider2D Offset: (0.0, -0.55)
should be good
Ok ill try in a bit thx!
np
foreach (PlaymakerFSM fsm in UnityEngine.Object.FindObjectsOfType<PlaymakerFSM>())
{
if (fsm.Name == "npc_control")
{
var collider = fsm.gameObject.GetComponent<BoxCollider>();
//cool collider modifying
}
}
this should work
this is probably a dumb question
what reference/namespace/whatever do i need for this
i looked up in documentation, said i needed HutongGames.PlayMaker, HutongGames.PlayMaker.Actions, and ModCommon.Util. and i added those but no luck
Playmaker.dll
56 - playmaker.dll was already a reference
sawyer - i added reference to al managed folder dlls
still no luck
all the namespaces i tried
oh, its probably because its PlayMakerFSM not PlaymakerFSM
it happens, np
Oops sorry
that's what happens when you write code in discord.......
this is my code rn
private void OnAttack(AttackDirection dir)
{
Log("attacked");
foreach (PlayMakerFSM fsm in UnityEngine.Object.FindObjectsOfType<PlayMakerFSM>())
{
Log(fsm.gameObject.name + ": " + fsm.FsmName + ": " + fsm.name);
if (fsm.name == "npc_control")
{
var collider = fsm.gameObject.GetComponent<BoxCollider2D>();
collider.size = new Vector2(5.0f, 3);
collider.offset = new Vector2(0.0f, -0.55f);
}
}
}
testing it on onattack because im not sure if my onscenechange works, but whenever i attack, these errors show up in the modlog
[INFO]:[API] - Couldn't resolve assembly netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, with sender Unity Root Domain
[ERROR]:[API] - System.IO.FileNotFoundException: Could not load file or assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.
[ERROR]:[API] - File name: 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
[ERROR]:[API] - at Modding.ModHooks.OnAttack (AttackDirection dir) [0x00000] in <filename unknown>:0
yeah
o
right click the project
click properties
change the .NET framework version to 3.5
oh wait, also change something in the code
fsm.name in the if should be fsm.FsmName, sorry
for some reason 3.5 isnt an option for me
i checked and i do have 3.5 installed apparently
you made the wrong project type then
oof
you need to make a .net framework class library
IT WORKS
yay
thanks a bunch, time to move it to onscenechanged
ok
@vocal spire dnSpy did the trick for me, I was able to add other badges to the mod I had, so I'm all good. Thanks for your help!
np
getting really close to finishing customknight+ but I'm really tired. tomorrow I have school, so idk when it will be finished
hopefully by the end of this week, but I have said that at least twice during the development of Customknight+
you know when you kill jellyfish and theres a bomb inside, is it possible to instantiate just the bomb?
probably
if all i want to do is instantiate like an aspid or something how can i do that?
Preload it
yeah but how do i get the path
ok thx
so i cant compile because there is a backslash in the path what am i doing wrong 
Do the other slash
im doing this to instantiate an aspid but it isnt working GameObject fire = GameObject.Instantiate(preloadedObjs["Crossroads_03"]["_Enemies/Spitter (1)"]);
When are you instantiating it
when you use vengful spirit or the void one
Show me your initialize code
{
Log("Initializing");
ModHooks.Instance.RecordKillForJournalHook += OnKill;
On.HeroController.Start += InitializePlayer;
On.HeroController.CanDash += CanDash;
preloadedObjs = preloadedGameObjs;
Log("Finished");
}```
Show me your preloading code
{
return new List<(string, string)>
{
("Crossroads_03","_Enemies/Spitter (1)")
};
}```
Hmm
So are you saying it’s giving a null reference
Because you need more than instantiating it
imma go try catch it be right back
You need to set it’s position and set it active
does fog canyon have it's own prefix or is it also part of the fungus scenes?
yeah i just saw its a fungus thats why i wasnt finding it
i get what i deserve for not reading the pins 
how can i get the player facing direction?
im doing this to instantiate an aspid but it isnt working
GameObject fire = GameObject.Instantiate(preloadedObjs["Crossroads_03"]["_Enemies/Spitter (1)"]);
ok would i need fsmviewer to find out what _Crossroads_03 and _Enemies/Spitter (1) are
guess i need to try to find some sort of workaround for that
no, just download and extract scenes.rar (4th pin)
hmm
so i just preload a list of the gameobjects i want in initialize?
ye
sick ty
if you need more info on that https://radiance.host/apidocs/ModdingAPI.html
also i'm not entirely sure but maybe cState.facingRight might help with the facing direction
take it with a grain of salt you probably know more about this than i do
bruh how did i miss that
thank you
i somehow missed that part about preloading objects too lmao
lol guess we´re even then
for the git dudes here: if i tried something with assembly signing (using a strong name), would it be a bad idea to version control that strong name key? i'll just remove it
anybody got hollowpoint?
...is Deepnest_East kingdom's edge?
kinda makes sense but also not
hollow point is on the mod installer
k thanks
deepnest east is kingdoms edge
ok
fog canyon and queens gardens
@supple sedge how would i set the position of the gameobject
gameobject.transform.position
are they not moving, not following you, not going to the shoot state or not creating bullets?
also how do vector3s work, currently i'm just spawning them on top of the player
you can do the player position + new Vector3(offsetX,offsetY,offsetZ)
but i wouldnt mess with the z
since its 2d
the knight is about a unit (maybe a bit less) wide, the hitbox 0.5 units wide
ok
im instantiating a corpse jellyfish clone from fungus3_01 and in the txt it says it has a fsm called "corpse" but i cant find it on the fsm viewer
yeah but whatever i can see the the states and variables on the txt so it doesnt really matter
is this on fsm viewer or is it another program?
another program
it basically just does a hex editor search using that text and finds the asset which has it (which asset isn't really that important, just that it's in that file)
I suppose I could do built in global search support for fsmview using the code in that program
assetsview
https://github.com/nesrak1/AssetsTools.NET/releases/ Global Search -> Asset Data -> select hollow_knight_Data folder, then search by string
thanks
Oooo
Wait are you looking in godhome or the hive
hive
why?
oh wait i should be looking at godhome right
cuz thats where ill (eventually ||hopefully||) be making the mods
wait can I not just copy over the things between them?
anyways im planning to start by doing a crystal guardian mod as a first i think
Is it gonna be really rng heavy?
hm
good question
specifically the crystal guardian one is supposed to be slightly unfair
for reasons
but I have the moveset and all already listed out
Cool
I can just look at it now
better than uuwuu
uuwuu is the three-phase multi-colored upside-down uumuu right?
4 phase
Yes other than the phases
made by me
Not much you can do with a non upside down jellyfish with a tazer
shouldve called it nnwnn
anyways
thats heavy rng, you say?
must suck fighting it
so i found an fsm in fsm viewer, can i know what gameobjects its attached to?
@supple sedge look at the part before the -
Before it is the name of the go, after is the fsm name
ok but in the code i have to load it from some scene, can i know what scenes its in?
how are you opening the fsm list
im opening the file from file explorer, like sharedassets, but from what i understand you need to load scenes by their name like fungus3_01
so how can i know the scene name of a scene file or something
hmm I thought fsmview had scene indices but I guess that's only sse
Open Scene List and find the scene name with the number from shared assets
i already have fsmviewR2 do i need RC3?
I updated it just now
it has numbers by the scene names in the scene list
so for example if you opened sharedassets23.assets now you can see the scene name is Room_Tram
are all the scenes sharedassets?
oh I found this on my computer no idea if it's out of date or not
might be easier if you don't want to use the new version
well scenes use both level and sharedassets
but yes every scene/level will have a level and a sharedassets file
ok ill try something out and ill see how it goes
also assetview is very cool thanks for showing me 
Aww something happened without me?
I’m bored
And I don’t want to work on the CustomKnight plus creator
how is that going
not on github yet?
but no
Also it’s a really young version
Pretty much nothing is added
Also idk how to port it to mac and Linux so I’ll figure that out after finishing it
winforms?
I think so
so i loaded sharedasset156 in fsm viewer and got the Lil Jelly fsm, then i saw in the document that 156 is Fungus1_29, but in the fungus1_29 txt i didnt find any Lil Jelly
Using control + f?
yeah
actually the gameobject is called Lil Jellyfish and the fsm is Lil Jelly but still i cant find them
there is one in the scene
really?
I haven’t seen anything called Lil Jellyfish when looking into preloading oomas in a previous project
Why is it with a moss charger
the right is
ok so i tried it in asset view and it did work, but shouldnt it be on the txt as well?
it should be unless it was instantly deleted by some script
well actually it's in sharedassets
only level assets are loaded on startup
sharedassets are just the first scene that has a reference to an asset
Ok, CustomKnight plus creator is a wpf thing
that won't work on anything but windows unless you port it to avalonia
K
now how do i know the Lil Jelly path, like _Enemies/Lil Jelly or something
it's only Lil Jelly
awesome
just look at the hierarchy
the tree's root is always a gameobject in the root of the scene, so if you had opened corpse steam it would still show
Lil Jellyfish
Corpse Steam
if you're trying to preload it or something it probably won't work because as I said it's probably spawned by something
then how can i get a reference to it?
you need to find something that has a reference to it that you can get a reference to
for example if there is an fsm that references it you need to grab the pointer from the fsm monobehaviour
I would have a really easy answer but uh assetsview's xref builder is kinda broken
do you know what conditions spawn it?
no, ill see if i can find any but now i gotta go bye
I guess I’m just gonna go recreate it in Winforms bc the only tutorial on porting wpf to avalonia I can find is 4 hours long, a live stream, and doesn’t have anything useful within the first 15 mins....
I know what I’m doing tomorrow!
if you use winforms mac people can't use it because mono forms is 32 bit only
make it in wpf
port it to avalonia best you can
replace the parts that no longer work in avalonia
K
make it in avalonia port it to avalonia
..........?
can i have help with the hollow point mod?
well he's already doing it in wpf and also avalonia doesn't have a ui builder
so might as well just stay in wpf right now
How do I port it tho?
I looked it up and the only guide that showed up was what I explained earlier
well i need the file for the hollow point mod
i need help with that
Ever heard of reading the channel description
The mod installer is in the #archived-modding-help description
the ui is in xml with most of the same names
Ok
so you would just copy paste your wpf xml into an avalonia project and then if something errors you'll have to fix it somehow
Ok
and in terms of the c# side, it really just depends what you're doing
but wpf will for sure not run on mac and only runs on linux if you install windows .net in wine
K
wpf isn't winforms
when did I say that
no it always does that you just have to build the first time
plz help. I cant figure out why certain errors suddenly appear or what they are
also tried looking it up
have you considered showing the xaml
this causes it
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="CustomKnightPlusCreator_Avalonia.MainWindow"
Title="CustomKnightPlusCreator_Avalonia">
Welcome to Avalonia!
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Button x:Name="CreateButton" Content="Create" HorizontalAlignment="Left" Height="19" Margin="75,111,0,0" VerticalAlignment="Top" Width="78" Click="Button_Click"/>
</Grid>
</Window>
remove the welcome i think
tried
building gives me a different error tho
Severity Code Description Project File Line Suppression State
Error XAMLIL Unable to find suitable setter or adder for property Click of type Avalonia.Controls:Avalonia.Controls.Button for argument System.Runtime:System.String, available setter parameter lists are:
System.EventHandler`1<Avalonia.Interactivity.RoutedEventArgs> (line 12 position 144) Line 12, position 144. CustomKnightPlusCreator_Avalonia C:\Users\hogue\source\repos\CustomKnightPlusCreator_Avalonia\CustomKnightPlusCreator_Avalonia\MainWindow.axaml 12
Why do you have click set to a string
idk

you want like Command="{Binding Button_Click}" afaik
ok
click is a normal event in wpf but yeah you have to use command for everything in avalonia
ok I was able to copy all the xaml stuff over ok, but I'm having trouble with the actual code
also seems like my wifi is lagging now....
nvm can confirm my wifi is no longer lagging by sending the previous message
like what
like accessing the elements through code
also how would I make a file explorer menu?
think you can put FindControl<Button>("nameofcontrol"); during init code
oh ok
so you can get a ref to the control
thanks
file explorer menu
you mean openfiledialog?
yeah
I think the only difference is you need .ShowAsync() instead of .Show()
ok
well, uhh this was my original code I got from looking it up
var dialog = new System.Windows.Forms.FolderBrowserDialog();
System.Windows.Forms.DialogResult result = dialog.ShowDialog();
CurrentPathPath.Text = dialog.SelectedPath;
yeah you need to use an async method then await ShowAsync instead of ShowDialog
oh also
folderbrowserdialog bad
k
in the file you are editing does it extend Window
i mean it seems pretty simple
yes
but this.FindControl doesn't exist?
yep
wat
nvm adding this worked
dont you just do string[] x = await filedialog.ShowAsync(your window)
oh
sorry, I thought I needed to do an extra using for it or something
needs a bit of remaking but IT WORKS
nvm
doesnt work yet
did something wrong
50% of it works but of that 50% only 50% is accessible
for some reason everything but the buttons work
It's like they are always disabled, even when I set them to enabled
I do love being pinged in channels I cannot access lol
nvm
discord bug
Its because you need ReactiveCommand.CreateFromTask but that only works if you set up with mvvm
so I need to redo it in mvvm?
I dunno how you're supposed to do it if not using mvvm but a cheap way would be to id the button, findcontrol it in the constructor, and set a .Command += MethodName();
Sorry, .Click += MethodName;
Still gray?
yeah
Uh ok well I'll work it out with you tomorrow but that's working for me
ok
I'm even setting it to enabled in the code
lol
can confirm opening a combobox with pre set stuff crashes
and for some reason 2 textboxes have arrows on them
Spent all morning fixing my server that was broken by a admin :(
hey i kinda understand what's happening in path of pure vessel code now instead of not understanding any of it
that's pog
not pog
Log("Done");
pv.LocateMyFSM("Control").enabled = true;```
so about this code though
i thought you only need SetActive? if i create an instance of another gameobject, would i also need to enable the control fsm (whatever that is)?
like in my own code when i set a primal aspid to active, it appears and everything but it doesn't move around or shoot or anything
Hello
wait nvm
Has something happened without me
@languid goblet that’s probably because of the range
possibly, last line is to enable the fsm component on the gameobject, it's possible to have components on gameobjects without them active @languid goblet
so how would i know which components are active?
Logging
unityengine.object.destroy(gameobject.getcomponent<whatever>())
Ok so I was doing it right
how does the range work?
Look at the fsm
last time nes said something about that, i think it was no

mac or linux
mac
yeah no the avalonia version was never finished
but i upgraded to catalina to fix an issue with my computer crashing
so wine and mono aren't even options anymore
darn
yeah you wanna help I can start on the hard stuff
K
where do I find the source?
for
avalonia fsm viewer
let me get it to a good place and then I can push a base later
this is where it last was 😂
lol
any idea why clicking this would crash?
<ComboBox x:Name="SkinAnchor" HorizontalAlignment="Left" Height="24.8" Margin="235.2,151.6,0,0" VerticalAlignment="Top" Width="102.4" SelectedIndex="4">
<ListBoxItem Content="Lower Left"/>
<ListBoxItem Content="Lower Center"/>
<ListBoxItem Content="Lower Right"/>
<ListBoxItem Content="Middle Left"/>
<ListBoxItem Content="Middle Center"/>
<ListBoxItem Content="Middle Right"/>
<ListBoxItem Content="Upper Left"/>
<ListBoxItem Content="Upper Center"/>
<ListBoxItem Content="Upper Right"/>
</ComboBox>
idk what does the exception say
Oh
Idk
Worked in wpf
I’ll change that
Works now, thanks
Buttons are still greyed out tho
code?
<Button x:Name="CreateButton" Content="Create" HorizontalAlignment="Left" Height="19" Margin="75,111,0,0" VerticalAlignment="Top" Width="78" Command="{Binding Button_Click}" IsEnabled="True"/>
CreateButton.IsEnabled = true;
what happened to .Click += ... instead of Command in xml
I just did this
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace AvaloniaSandbox
{
public class MainWindow : Window
{
public Button yomama;
public MainWindow()
{
InitializeComponent();
#if DEBUG
this.AttachDevTools();
#endif
}
private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
yomama = this.FindControl<Button>("yomama");
yomama.Click += Yomama_Click;
}
private void Yomama_Click(object sender, Avalonia.Interactivity.RoutedEventArgs e)
{
Close();
}
}
}
working fine
try again
@supple sedge I got xref search working again (can't search fsms because those are binary) and no results to any level files
(a 1 by the scene means it is preloaded by the scene)
so it looks like some scenes are referencing lil jellyfish but not using it
as I said, it's possible some fsms are using it but I looked around in a few of the scenes and don't see anywhere where it gets used
so the answer is there's not really a good way to reference it unless you create a bundle that references it
What are they trying to get again?
I meant more of what do they want to do since lil jelly probably isn’t what they are looking for
they're trying to preload it
For what?
What are they trying to spawn tho
lil jelly
I'm not sure why they don't just use baby jellyfish or whatever it's called
but specifically "lil jelly" is unspawnable it seems
So it’s probably not the little jellyfish then
yeah I think it's baby jellyfish
well I took a second to think and looked at the sprites, baby jellyfish is the tiny zapping looking jellyfish
lil jellyfish is the orange one that comes out of the big jellyfish
Oh
still no idea how it spawns
Fsm
I looked
I thought it was fsm...
which level id was fungus 3 01 again? 193?
ok my best guess is the actual lil jellyfish is corpse jellyfish
the sprite name is lil but the gameobject is corpse
Yeah
corpse jellyfish has actual refs
Maybe the corpse on the healthmanager
yep that's where they come from
K
I wonder if silksong will use fsms. I wonder if solksong is being made in unity
Maybe silksong is actually a scratch game
sharedassets156.assets
thank
Uuwuu 2, huh?
i guess lil jelly isnt what i thought it was. Anyways, what im trying to find is the bomb that comes off the corpse of the jellyfish. Ive tried spawning the corpse and setting its state to explode but that didnt work out, so if anyone knows if im doing something wrong or if i can preload the bomb let me know
oh yeah so i didnt think of lil jelly for no reason lol i just have bad memory
so do i have to preload the corpse and then get the gameobject
?
lil jellyfish ref is corpseFsm.states[1].actionData.fsmGameObjectParams[6].value
bubble death is corpseFsm.states[1].actionData.fsmGameObjectParams[3].value
cool thx 
and of course you can get the corpse prefab instance from the corpse field in any jellyfish's healthmanager.corpse field
fsmgameobjectparams doesnt seem to be an option, do i need extra references
big sad
reflection?
it might be better just to get the action data itself
fsm.FsmStates.First(x => x.Name == "Explode").Actions.OfType<CreateObject>.First().gameObject.Value type beat
there's a util class in modcommon
it'd just be fsm.GetAction<CreateObject>("Explode").gameObject.Value
what should i put in CreateObject?
hmm that isnt an option
do i just need ModCommon.Util for this to work or do i need more from modcommon?
just the former to use the extension
are you sure you "imported" playmaker? (using)
^
oof idk how i missed that my bad thanks guys
how can i get the vengful spirit gameobject on a scene? I thought of using GameObject.Find but there is probably a way more efficient way, maybe its stored in a variable or something
probably somewhere in the knight's Spell Control FSM
theres also a prefab in the HeroController
but afaik the shade equivalent isnt in it
you can instantiate with "HeroController.instance.spellprefab1" or something like that
The prefab in the herocontroller is likely a child gameobject of the go with the controller
im trying to destroy the spell gameobject when its created, so i want to find an instance instead of a prefab
Just make it so it’s never created
how can i do that, by setting the gameobject to null?
RemoveAction
yeah, check at what fsmaction in a state spawns the gameobject (iirc for fireball it would be a SpawnGlobalObject object in the "Fireball 1" state) then use RemoveAction
fortunately the fireball effects are also with the fireball prefab unlike the quake ones, so 2 birds with one stone
yay im almost done with my first mod, JellySpirit! Thank you guys for answering my questions 
nice one
just dont forget to also apply it to the Fireball 2 states, since thats what handles Shade Soul
heres the dll if anyone wants to try it out, let me know if you have any suggestions or found any bugs
(requires use of modcommon)
ive just noticed most bosses dont trigger the bomb on collision
just change the GOs layer to the same as the knights attacks, idk what that is tho
sawyer uploaded an image containing the layers
yeah, it's also in the globalenums of the game
i actually found even more bugs now
time to fix them
put i think most are pretty simple fixes
looks cool
meanwhile i'm still trying to figure out why my primal aspids aren't moving 
dont worry it also took me a while to find out the bomb was called Lil Jelly 
it's a cute bomb, you don't want to imagine a bomb called Jelly
just imagine uumuu's core yeeting towards you at 50 mph
that would actually have been really cool in the main game
just as a last thing when uumuu dies
is there a hook for when the player picks up an item?
because currently im doing fsm.InsertMethod("Fireball 1", 0, () => OnFire()); on Initialize, but that only seems to work if the player already had vengful spirit when he was loaded
hey all, I'm having an issue with Visual Studio not thinking GameObject is a valid type/namespace in a test mod that I am working on:
Is there something I need to include that I am missing?
your class has to be a monobehaviour
but my class already inherits Mod?
do you have references to the unity engine dll and do you have using UnityEngine; on top of you code?
yes and yes
are you sure you have the unity dll as a dependency of the project?
you also need the unity engine core module dll i think
right side of visual studio right click on dependencies, then add reference and then see what dlls you already have and if you dont have one of the ones i said click browse
the dlls i said are all under the hollow knight steam folder under hollow knight data -> managed
you will also need more dlls for modding tho
you can see the dlls you need for modding here https://radiance.host/apidocs/Getting-Started.html
on the creating mods section
will do, thanks again 😄
hello
hey
i thought my mod wasnt working but it was just toggled off

at least its 1 less bug to fix i guess
this is the list for the ordeal if I understood correctly
does this mean, for example, there can be only three fat zotes at a time
?
also, the Hall is "workshop", right?
actually im not sure anymore
https://github.com/Unity-Technologies/AssetBundles-Browser/releases
this is the asset bundler, right?
when I download it, what do I take and place in unity?
oh nevermind I think I got it
how could i make the bomb collide with bosses as well by changing the collsion layers?
I probably misunderstood the question, but didn't you just answer your own question?
kinda, i just dont know how to acess and change collision layers and the docs are still in the making
gameobject.layer
oh if you want to change the matrix itself, I guess you could do
Physics2D.IgnoreLayerCollision
changing the matrix sounds like it will break a ton of stuff though
Good mod idea
Fits perfectly with the randoknight mod I made. Idk why it breaks everything
because currently im doing
fsm.InsertMethod("Fireball 1", 0, () => OnFire());on Initialize, but that only seems to work if the player already had vengful spirit when he was loaded
@supple sedge you are doing this in initialize??????? How does any of your mod work
is there a hook for when the player picks up an item?
@supple sedge playerdata has fields for fireball level and other item stuff i think
It does?
think so
Oh I thought you said something different
forget about it turns out it works it just had the mod toggled off
you are doing this in initialize??????? How does any of your mod work
sorry my bad, im actually doing this on On.HeroController.Start
Before or after orig(self)?
👀
avalonia 
super laggy on thk
lovely
K
Coding looks like hell to do
well if that's the only example of coding you're given, then yeah it looks like hell
I've seen a few examples
iirc angle
messaged them about it
@glass thorn
www.radiance.host should work
Looks like they fixed it, it's working again
yep angle fixed it
big pog
For my reference, can I ask here if I have questions on mod development in general? I was looking at the pins and I am using them for reference already. I just didn’t know if I am good to ask general questions if I run into significant problems. (I am interested in modding a different game, but using the HK modding tools for reference.)
bother this channel your heart's content for programming problems
pinging 56 is always a good idea
Agreed
hypothetically
how easy/difficult would it be to create a mod that just removes the benches from the game
probably super easy
Then charms would be useless
exactly
(i want to do a benchless run but i'm running into a few issues regarding automatic spawn sets to benches)
why would that matter
there's only like.... 2 benches that even do that
dirtmouth and VS mound
You only technically use the bench if you spawn on it. Just don't equip a charm.
@shell furnace make a hook for loading a room, make it check for and delete all objects with "bench or whatever" in their name
to remove benches
it's 12:30 I have bo clue what's going on
did anybody here somehow get debugging working? (in my case i try to debug my mods in HK from visual studio)
Don’t y’all just hate when you set the sprite and it decides it doesn’t want to?
can confirm unity is evil for some reason when it comes to the last 2 lines that I have revised 20 times with the same result. I know the code was running. I didn't get any exceptions. it just doesnt do anything
Thing is that setting the sprite of another object instantiated from the same object to the same sprite works about 30 lines earlier
Would provide my code but I already rage quit and turned my pc off
so i only have to go deathless to Soul Master
@shell furnace also would have to beak thk first try, respawn is at black egg bench
It is possible but very convoluted and unstable. Instead, use the debug mono (provided by DNSpy) and DNSpy to debug assemblies. You can debug even monomod-patched (not as straightforward) but not HarmonyPatched (since it is runtime only).
@fair rampart gonna look into that, thanks
runtime detour doesn't play well with dnspy's debugger, even with debug mono
crashes the game
if you get the debug unity player and convert your pdbs to mdbs you can get actual line numbers but anything which uses on hooks doesn't work with an actual debugger
How do I make a sprite flash white? I tried adding the spriteflash component and using flashWhiteQuick() but everything just stays white
idk how you select your stuff to bundle
i do it in vanilla way that i select everything related (scenes, images and stuff), then in the inspector part at the bottom, i set the assetbundle i want the selected parts to be included, then i just let unity build the assetbundles
I selected the scene
should I make a prefab with the stuff within the scene and then use that instead?
that wouldn't actually be a scene tho
uh, make an assetbundle, i haven't got a prefab to work in hk
you can use this to build the assetbundles, will be available under a top bar thing "create assetbundles", will then build the assetbundles (for windows, if you include shaders, if you need to build seperate ones hmu)
oooooooooooooooooooooooooooooooooooooooooo
just drop that somewhere in the assets folder of the unity project
I think that's why grenade sent it
idk how the assetbundle browser works, but try making 2 assetbundles, one with the scene, one with the rest
if you try it in the pure unity way, it tells you that scenes and materials cannot go in the same bundle
at least on my end
ok wtf
that error lol
lol
anyone know how to read that
wait a minute it said the operation completed successfully
the only thing i can get out of that is that it wants to write some kind of file, but it can't, i have no idea why
task failed successfully
How do I make a sprite flash white? I tried adding the spriteflash component and using flashWhiteQuick() but everything just stays white
@vocal spire plz I need help
I also used CancelFlash() .2 seconds later
still stuck at white
you put the spriteflash and some kind of renderer (apparently a spriterenderer) on one go with nothing else and then just said flashwhitequick?
it had playmaker stuff, but... yeah...?
hm, idk why it wouldn't work
can a gameobject with a spriterenderer not have textmeshpro too?
plz someone answer I don't want to make a child go if I don't have to for some reason
fine I'll make a child
k textmeshpro has decided to not work
you can't make a child you're not legal yet
copying children
Also for the sprite flash thing it can depend on what shader the renderer has
k
out of context quotes
why does everything suddenly stop working
YES FINALLY AFTER SO MUCH TESTING I HAVE A SINGLE LETTER APPEAR ON THE SCREEN
im dumb
still confused on my last error tho
appearantly transform.Find(name) doesn't work even when you can confirm with PrintHiearchyTree() that there is a child of the name
Is it nested?
idk

don't you literally have the hierarchy tree
is it like x -> thing -> y or x -> y
like the position?
well there are gameobjects before it so mine is more like ParentParentObject/ParentObject/GameObject/y
but still GameObject/y
Might be inactive
k
ok
stranger thing is when I use the same code later, it works
and it can't be that it's being set to active
I do love when my inventory looks like this
and now like this
rancid egg
that's a lot of idols
just wait until I resurrect the pale king
in a couple months once I can pay for sprite commisions
oh... hey... my least favorite part..... making the actual logic for the inventory
actually I have it pretty much down already in certain ways
?mods
Mods
Google Drive with Mods - https://drive.google.com/drive/folders/0B_b9PFqx_PR9Um9MeFZMV21oWGs
Installer - https://radiance.host/mods/ModInstaller.exe
Mod Summaries - https://docs.google.com/document/d/1cz5tcggpGofrBcM90XyTkMWjMelDHzugvQM6HpB13Ew
tfw you have 3004 king idols
should I be using Find(fsmvariable) or Get(fsmvariable)
idk, i have a mixture
Get seems to not null reference if you input a wrong name
I dont like null reference exceptions









one day I will figure out the sprites issue......
nvm solved the sprites
now I just need to add every single other vanilla item
oh yeah I was also going to make some text with the page number.... I can just add it to the description of the page changing items
got dnspy debugging working, but drawback: can't use it with my version of the modding api, as it triggers quite a few nullreferencexceptions with preloads
the nullreference parts are in the assembly-csharp.dll
but nice thing you did, only criticism is the clutter on screen
thanks
im trying to make that extension to item helper I said i would do a while ago
i figured
might involve me rewriting a lot
just realized something
there should be modding competitions where modders try to make a mod in a set amount of time, and whoever finishes first wins
wow..... switching pages worked first try......

ok... fine... it had to have something off
also my code is a huge mess
coding does not look fun 
i mean you get the joy if creating simething that works
but its agony coding it to work
I like to think of it as a challenge that haunts me in my sleep
disclaimer: did not have knightmares last knight
you too!
You do know that it's spelled "nightmares", without the k
this is a reference to the mod, @Кnightmеrе#3365
yeah
Someone out here playing 5d mind chess
... How did you @ them without pinging them? O.o
:)
(:
ok pages working now
I'm extremely happy with how this is turning out
All that's left to do is remake the adding system, and add all the original items
wrong server
<@&283547423706447872>
wow it is surprisingly easy to add original items(without sprites)
the last exceptions/errors with my version of the assembly is achievement stuff, but idk how to patch those with mono
F
Thank you flower, love key, and sly key for making me have to add another type of item
And now I have to make that type of item more complicated.....
heard there was a new and cool mapping tool that could've saved me a lot of work
so, back to the assetbundle problem...
could it be that stupid me forgot to fix the object error at the begining of ripping a scene with utiny ripper?
@sage holly you need to fix the errors in those scripts. Double clicking then should bring up a notepad. Go to the line where the error is located and screenshot and send here
you mean these specific errors? what should I write in them?
if you mean the ambiguous object errors that are no longer showing, wether I fixed them or not (which I can't remember if I did) then how do I access them?
what should I do with those?
as in, what should I change in the notepads? (I dont know much of unity programming)
I’ll do the programming for you
Hmm
Oh wait
It just looked weird on my phone
Add a semicolon at the end of the first line
With no semicolons code is die
The last error on there is fine
I can assetbundle with it there
yeah I used to put it in there
I guess I didn't put it this time because the object error wasnt going away
K
I can be dumb some times xd
ugh
didnt assetbundle+ more errors
its only getting worse
what is the newest assetbundle browser version?
@vocal spire
i never worked with utiny ripper, you may want to ask @ornate rivet with that
at this point I might just surrender and start again
I used it
Gonna suggest it again: big modding collaboration mod. Maybe something for Christmas? Big Christmas quest for the knight to go on?
i would be interested in contributing but i'm not especially good at either coding or drawing sprites, at least not when compared to other people here
K
i could help with sprites though
if any are needed
Also it would only be a collab if at least 3 modders were in it
At least how I would consider it
🤔
Gonna suggest it again: big modding collaboration mod. Maybe something for Christmas? Big Christmas quest for the knight to go on?
@vocal spire I'd be up for that! Though I'm still pretty new to modding HK (The only things I've actually made are custom versions of Blackmoth and the Charm Overhaul)
yes, its sounds nice
Ok
at this rate I may learn to program before it gets finished
Gonna suggest it again: big modding collaboration mod. Maybe something for Christmas? Big Christmas quest for the knight to go on?
I can do Christmas Knight Sprites for sure.
K
at this rate I may learn to program before it gets finished
@sage hollyI dare you to remake Uuwuu
im gonna turn shape of unn into solid snake box.
i did it
I dare you to remake Uuwuu
I plan to, actually
And no one can stop me
tc can
Good point
Wait you are
It's on my list, yes
I'll need to get better though
And make something working before that
i did the christmas pure vessel, its done.
Cool
Update on Hollowmas mod: we have a good storyline for the new content
Will release once we are a bit more sure on the details
is it hallowmas or hollowmas
