• Most people probably don't realise this, but this forum has had two editors for a number of years. One is the xenForo default editor, and the other is a custom editor I made years back I called BBCEd.

    All the settings for which editor you use was lost during the upgrade. You can find the setting under Account Settings > Preferences > Editor.

Quick Modding/Hacking Answers Thread

Sep 23, 2017 at 12:36 AM
Soup Man
"All your forum are belong to us!"
Join Date: Jul 15, 2014
Location: Soup
Posts: 617
Age: 3
So I renamed map "Save Point" (WeedS) in CE was changing up some stuff in the properties as I would any other map. But when I tried to load the map, CE gave me an error message saying it wouldn't load a map. I eventually found out by re-replacing the WeedS files from a clean version of CS the map was accessible again. But my question is: Is there to avoid this error happening? I don't encounter this issue with some maps but others give this problem. Is there a way to prevent it from happening?
Did you rename the map title or the map's file name? (WeedS) If you changed that, you'll have to press "save" in the cave editor's menu before opening it again iirc.
 
Sep 23, 2017 at 4:42 AM
Professional-Idiot
Modding Community Discord Moderator
"All your forum are belong to us!"
Join Date: Oct 20, 2013
Location: Planet X (Godzilla)
Posts: 563
Did you rename the map title or the map's file name? (WeedS) If you changed that, you'll have to press "save" in the cave editor's menu before opening it again iirc.
I generally stick away from renaming the file name I will do the saving in CE menu, thanks!
 
Sep 25, 2017 at 9:01 PM
Spur is the best gun because its super cool
"Big Joe Tire and Battery Restaurant! Opening Soon! Eat at Big Joes!"
Join Date: Jan 15, 2017
Location: Northern Hemisphere
Posts: 529
Age: 11
just a quick curious question can the machinegun overpower a pushing down waterway thing?
Like those things that are in the waterway stream

I'm having trouble testing it sometimes it seems like it kind of works ish sometimes it doesn't???

Also another random question
Is it possible to get curly to shoot those elephant behemoth thigsn in the egg corridor like she does in the labyrinth to other things without doing SUPER hacking stuff?

Boosters lab has the edit npc.tbl thing but I don't know if I can change that in there

edited but nobody has responded to the above anyways....
For some reason the gaudi eggs and the gaudis with armor are dying instantly in my map...
why is this?
Or is it an invisible curly brace shooting at them? I think i have her on this map


sorry i wanted to repost this because whenever i edit my question nobody sees it has been changed
 
Sep 26, 2017 at 5:12 AM
Sleepyhead
"In Soviet Russia, graves keep YOU!"
Join Date: Jul 20, 2015
Location: Under sea level or something
Posts: 689
Age: 21
just a quick curious question can the machinegun overpower a pushing down waterway thing?
Like those things that are in the waterway stream
I think I remember a TAS player moving down an upwards stream with the machine gun once.
 
Sep 26, 2017 at 7:58 PM
Perfectionist
CS Beta Content Discord Admin
CSE Discord Moderator
"Man, if only I had an apple..."
Join Date: Dec 26, 2014
Location: the back of their own hand.
Posts: 1494
Age: 119
just a quick curious question can the machinegun overpower a pushing down waterway thing?
Like those things that are in the waterway stream

I'm having trouble testing it sometimes it seems like it kind of works ish sometimes it doesn't???

Also another random question
Is it possible to get curly to shoot those elephant behemoth thigsn in the egg corridor like she does in the labyrinth to other things without doing SUPER hacking stuff?

Boosters lab has the edit npc.tbl thing but I don't know if I can change that in there

edited but nobody has responded to the above anyways....
For some reason the gaudi eggs and the gaudis with armor are dying instantly in my map...
why is this?
Or is it an invisible curly brace shooting at them? I think i have her on this map


sorry i wanted to repost this because whenever i edit my question nobody sees it has been changed
The only things npc.tbl can change are the things listed within there. Keep in mind that things like sprite size and NPC damage can be hard coded into the NPC sometimes, or are changed depending on its state.
It's fairly trivial to open up an NPC in OllyDbg and edit stuff like that, though.
 
Sep 26, 2017 at 10:47 PM
Spur is the best gun because its super cool
"Big Joe Tire and Battery Restaurant! Opening Soon! Eat at Big Joes!"
Join Date: Jan 15, 2017
Location: Northern Hemisphere
Posts: 529
Age: 11
The only things npc.tbl can change are the things listed within there. Keep in mind that things like sprite size and NPC damage can be hard coded into the NPC sometimes, or are changed depending on its state.
It's fairly trivial to open up an NPC in OllyDbg and edit stuff like that, though.
oh i dont have ollydbg though whatever that is

by the way do you have any idea why my gaudis could be dying instantly? Also maybe its because my curly ai isn't showing up?
 
Sep 26, 2017 at 11:46 PM
Pokemon Master
"Life begins and ends with Nu."
Join Date: Jun 27, 2013
Location: Aspertia, Unova
Posts: 2080
Age: 24
by the way do you have any idea why my gaudis could be dying instantly? Also maybe its because my curly ai isn't showing up?
Did you make their health anywhere below 1000 with npc.tbl? It's set to that so they can play their death animation.
 
Sep 27, 2017 at 12:25 AM
Spur is the best gun because its super cool
"Big Joe Tire and Battery Restaurant! Opening Soon! Eat at Big Joes!"
Join Date: Jan 15, 2017
Location: Northern Hemisphere
Posts: 529
Age: 11
Did you make their health anywhere below 1000 with npc.tbl? It's set to that so they can play their death animation.
oh...
what should it be instead?
1000+the normal health?
 
Sep 27, 2017 at 12:40 AM
Pokemon Master
"Life begins and ends with Nu."
Join Date: Jun 27, 2013
Location: Aspertia, Unova
Posts: 2080
Age: 24
oh...
what should it be instead?
1000+the normal health?
1000 is the health given to it by default. The Gaudi really has 15 HP, but the additional 985 health is there so it can do its death animation, so I advise to not put in anything below 985.
 
Sep 27, 2017 at 2:24 AM
Spur is the best gun because its super cool
"Big Joe Tire and Battery Restaurant! Opening Soon! Eat at Big Joes!"
Join Date: Jan 15, 2017
Location: Northern Hemisphere
Posts: 529
Age: 11
1000 is the health given to it by default. The Gaudi really has 15 HP, but the additional 985 health is there so it can do its death animation, so I advise to not put in anything below 985.
oh i forgot that happens with the glitched characters thanks
 
Sep 30, 2017 at 8:21 AM
Professional-Idiot
Modding Community Discord Moderator
"All your forum are belong to us!"
Join Date: Oct 20, 2013
Location: Planet X (Godzilla)
Posts: 563
Currently trying to make a "training arena" so I'd have for instance the first wave be regular blue critters. I set them all to appear on flag 405, so when the "training arena wave 1" starts, the critters appear. One thing I find concerning; I want to set one of them to run a script on death so it starts the 2nd wave, but I'm not sure if that would work because if all critters appear for the first wave, and if the player hits the "run script on death" critter then it will prompt the 2nd wave to appear before wave one is finished.

Is there a way to remedy this problem without ASM?
 
Sep 30, 2017 at 11:24 AM
Junior Member
CSE Discord Admin
"It's dangerous to go alone!"
Join Date: Jun 13, 2017
Location:
Posts: 34
Age: 16
Yes. Make the critters to set flags on death, and have the same script verify if the all flags are set, then (if they are set), start 2nd wave.

example :

Death script for one of the critters (if there were only 3):
(This is an algorithm, it will not work, flag numbers are random and probably already used)

#0621
<FLJ0536:0631<FL+0523

#0631
<FLJ0325:0641<FL+0523

#0641
<Start second wave (make it change maps after 2 or 3 waves otherwise your TSC file will be too big for the parser).
 
Last edited:
Sep 30, 2017 at 11:37 AM
Perfectionist
CS Beta Content Discord Admin
CSE Discord Moderator
"Man, if only I had an apple..."
Join Date: Dec 26, 2014
Location: the back of their own hand.
Posts: 1494
Age: 119
Currently trying to make a "training arena" so I'd have for instance the first wave be regular blue critters. I set them all to appear on flag 405, so when the "training arena wave 1" starts, the critters appear. One thing I find concerning; I want to set one of them to run a script on death so it starts the 2nd wave, but I'm not sure if that would work because if all critters appear for the first wave, and if the player hits the "run script on death" critter then it will prompt the 2nd wave to appear before wave one is finished.

Is there a way to remedy this problem without ASM?
Yes. Make the critters to set flags on death, and have the same script verify if the all flags are set, then (if they are set), start 2nd wave.
You can do this, if you have ridiculous patience, and you're aware that you might definitely:
A: Overflow the TSC parser, because it can't parse files if they're too long.
B: Go mad, and run out of flags unless you unset them at the start of each wave.
If you do this without ASM, I recommend trying to compress your TSC wherever possible.
 
Sep 30, 2017 at 5:19 PM
Professional-Idiot
Modding Community Discord Moderator
"All your forum are belong to us!"
Join Date: Oct 20, 2013
Location: Planet X (Godzilla)
Posts: 563
Yes. Make the critters to set flags on death, and have the same script verify if the all flags are set, then (if they are set), start 2nd wave.

example :

Death script for one of the critters (if there were only 3):
(This is an algorithm, it will not work, flag numbers are random and probably already used)

#0621
<FLJ0536:0631<FL+0523

#0631
<FLJ0325:0641<FL+0523

#0641
<Start second wave (make it change maps after 2 or 3 waves otherwise your TSC file will be too big for the parser).
You can do this, if you have ridiculous patience, and you're aware that you might definitely:
A: Overflow the TSC parser, because it can't parse files if they're too long.
B: Go mad, and run out of flags unless you unset them at the start of each wave.
If you do this without ASM, I recommend trying to compress your TSC wherever possible.
Thank you so much you two. Currently trying it the algorithm out, and......it's confusing oh boy....Spent a couple hours breaking my head open. But I have an idea, while it makes it more simplified, I think it's for the better and for the sake of my sanity.
I could have it where the "training starts" it can start with the 1 critter, when that critter dies it'll run the script to spawn 2 more of them. Then if the player kills critter A (the non-run script critter), the player can battle then battle critter B alone, but if the player kills critter B first, 2 more critter spawn making it 3 critters to battle. Which can hopefully give it a little bit of a frantic battle maybe having - 1 - 2 - 2 -4 - 2 - 3 - 5 critters so it can be a little hectic, but considering the critters die easily with the player's current weaponry, I would doubt the player would have much trouble. Your ideas did help me think of something new do when I finally sat on it rather then rip myself up, I do appreciate it!

Edit:
(Skip to 3:01, the text editor won't allow me to have the video start at 3:01)
I was watching this video, I love the mod despite not being able to understand it. The 2nd boss battle is a gauntlet fighting several enemies, in those fights it doesn't matter if you kill enemy 1 or enemy 2, I'm sure the run of death script (if it's the first killed) jumps to the second? Is there a way to better describe it or is the algorithm what was used @GabrielRavier ?
 
Last edited:
Sep 30, 2017 at 7:37 PM
Pokemon Master
"Life begins and ends with Nu."
Join Date: Jun 27, 2013
Location: Aspertia, Unova
Posts: 2080
Age: 24
The 2nd boss battle is a gauntlet fighting several enemies, in those fights it doesn't matter if you kill enemy 1 or enemy 2, I'm sure the run of death script (if it's the first killed) jumps to the second? Is there a way to better describe it?
For the first part of the boss gauntlet, here's the death scripts for the first two "Ravil" bosses.
Code:
#0510
<CNP0510:0004:0000<FLJ0090:0600<FL+0090<END

#0511
<CNP0511:0004:0000<FLJ0090:0600<FL+0090<END
They both share the same flag, meaning it won't be set unless both of them are dead.
 
Sep 30, 2017 at 8:27 PM
Professional-Idiot
Modding Community Discord Moderator
"All your forum are belong to us!"
Join Date: Oct 20, 2013
Location: Planet X (Godzilla)
Posts: 563
For the first part of the boss gauntlet, here's the death scripts for the first two "Ravil" bosses.
Code:
#0510
<CNP0510:0004:0000<FLJ0090:0600<FL+0090<END

#0511
<CNP0511:0004:0000<FLJ0090:0600<FL+0090<END
They both share the same flag, meaning it won't be set unless both of them are dead.
Ok cool, thank you so much, that helps a ton!
 
Sep 30, 2017 at 8:43 PM
Perfectionist
CS Beta Content Discord Admin
CSE Discord Moderator
"Man, if only I had an apple..."
Join Date: Dec 26, 2014
Location: the back of their own hand.
Posts: 1494
Age: 119
Thank you so much you two. Currently trying it the algorithm out, and......it's confusing oh boy....Spent a couple hours breaking my head open. But I have an idea, while it makes it more simplified, I think it's for the better and for the sake of my sanity.
I could have it where the "training starts" it can start with the 1 critter, when that critter dies it'll run the script to spawn 2 more of them. Then if the player kills critter A (the non-run script critter), the player can battle then battle critter B alone, but if the player kills critter B first, 2 more critter spawn making it 3 critters to battle. Which can hopefully give it a little bit of a frantic battle maybe having - 1 - 2 - 2 -4 - 2 - 3 - 5 critters so it can be a little hectic, but considering the critters die easily with the player's current weaponry, I would doubt the player would have much trouble. Your ideas did help me think of something new do when I finally sat on it rather then rip myself up, I do appreciate it!

Edit:
(Skip to 3:01, the text editor won't allow me to have the video start at 3:01)
I was watching this video, I love the mod despite not being able to understand it. The 2nd boss battle is a gauntlet fighting several enemies, in those fights it doesn't matter if you kill enemy 1 or enemy 2, I'm sure the run of death script (if it's the first killed) jumps to the second? Is there a way to better describe it or is the algorithm what was used @GabrielRavier ?
Ah, that algorithm is what I used in the final boss of N.E.T. Story back in the day. It's not the best, but if you're not up for the undertaking, it's certainly a good fallback.
 
Sep 30, 2017 at 10:13 PM
Junior Member
CSE Discord Admin
"It's dangerous to go alone!"
Join Date: Jun 13, 2017
Location:
Posts: 34
Age: 16
The algorithm for the script is pretty simple (the one that runs at an enemy's death) :
1. Make the game remember the enemy died (FL+ specific to that enemy)
2. Branch to the script that checks if all enemies died.

Algorithm for the script that checks if all enemies died :
1. Check if all creatures died (Make a chain of events that only fully run if all the flags are set)
2. If all enemies died, branch to the script that is supposed to run at that point, else just stop the script.

Exemple :

#0900
<FL+5700<EVE0910

#0901
<FL+5701<EVE0910

#0902
<FL+5702<EVE0910

#0903
<FL+5703<EVE0910

#0904
<FL+5704<EVE0910

#0905
<FL+5705<EVE0910

#0906
<FL+5706<EVE0910

#0907
<FL+5707<EVE0910

#0908
<FL+5708<EVE0910

#0909
<FL+5709<EVE0910



#0910
<FLJ0911:5700<END

#0911
<FLJ0912:5701<END

#0912
<FLJ0913:5702<END

#0913
<FLJ0914:5703<END

#0914
<FLJ0915:5704<END

#0915
<FLJ0916:5705<END

#0916
<FLJ0917:5706<END

#0917
<FLJ0918:5707<END

#0918
<FLJ0919:5708<END

#0919
<FLJ0920:5709<END

#0920
<INSERTSUPERFANCYCODEHERE


Also, if you can redo the battle, please unset all flags at the start of the match. Don't use skipflags. They only reset when you completely close the game (Esc-F2 DOES NOT reset them. I learned that the hard way).
 
Last edited:
Oct 1, 2017 at 2:04 AM
Professional-Idiot
Modding Community Discord Moderator
"All your forum are belong to us!"
Join Date: Oct 20, 2013
Location: Planet X (Godzilla)
Posts: 563
The algorithm for the script is pretty simple (the one that runs at an enemy's death) :
1. Make the game remember the enemy died (FL+ specific to that enemy)
2. Branch to the script that checks if all enemies died.

Algorithm for the script that checks if all enemies died :
1. Check if all creatures died (Make a chain of events that only fully run if all the flags are set)
2. If all enemies died, branch to the script that is supposed to run at that point, else just stop the script.

Exemple :

#0900
<FL+5700<EVE0910

#0901
<FL+5701<EVE0910

#0902
<FL+5702<EVE0910

#0903
<FL+5703<EVE0910

#0904
<FL+5704<EVE0910

#0905
<FL+5705<EVE0910

#0906
<FL+5706<EVE0910

#0907
<FL+5707<EVE0910

#0908
<FL+5708<EVE0910

#0909
<FL+5709<EVE0910



#0910
<FLJ0911:5700<END

#0911
<FLJ0912:5701<END

#0912
<FLJ0913:5702<END

#0913
<FLJ0914:5703<END

#0914
<FLJ0915:5704<END

#0915
<FLJ0916:5705<END

#0916
<FLJ0917:5706<END

#0917
<FLJ0918:5707<END

#0918
<FLJ0919:5708<END

#0919
<FLJ0920:5709<END

#0920
<INSERTSUPERFANCYCODEHERE


Also, if you can redo the battle, please unset all flags at the start of the match. Don't use skipflags. They only reset when you completely close the game (Esc-F2 DOES NOT reset them. I learned that the hard way).
Thank you so much. To make sure I do <FL- to reset the flags correct?
Edit: Alright I just tried to implement it, but i'm when I tried:
I did this:
#0401
<FLJ0403:0403<FLA<FL+0405<FL+0403<EVE0402
#0402
<FLA<FLJ0404:0404<FL+0406<FL+0404<FLA<MS3WAVE 1!<NOD<CLO<END
#0403
<FL+5700<EVE0405
#0404
<FL+5701<EVE0405
#0405
<FLJ0406:5700<END
#0406
<FLJ0420:5701<END

I have critter A: event 401/entity ID 405
and critter B: event 402/entity ID 406
I have them both set to 0A00 (So they appear with a flag (405/406) and they run the scripts on death)
but when I start the "program" they don't appear......am I spawning the critters wrong or is there an actual way to fix this?
 
Last edited:
Oct 1, 2017 at 9:48 PM
Junior Member
CSE Discord Admin
"It's dangerous to go alone!"
Join Date: Jun 13, 2017
Location:
Posts: 34
Age: 16
... am I spawning the critters wrong or is there an actual way to fix this?
You are probably spawning them wrong. You should just place them somewhere outside the player's view then teleport them with a
<MNP

(description from the TSC guide at the adress http://www.cavestory.org/guides/tsc.txt) :
<MNPx:y:z:w Move NPc Move npc X to coords Y:Z facing direction W

The reason is probably (I'm not sure, read that somewhere in a guide some time ago) that spawned NPCs get the smallest available entity ID.
 
Last edited:
Top