Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
I THINK the following code will work for your mod, though:
Frankly, the biggest issue was that you were using the wrong function for debugging. You were trying to use Unity's debug function, which probably works, but I have no clue where the results go. The Logger.LogDebug function will show up in the RainWorld/Bepinex/LogOutput.log file, and it's by far the most convenient. It even puts your mod name at the start of the log.
You can also use Custom.Log("Message"); which is a lot simpler. Those debug logs can be seen by enabling devtools and pressing K. But I prefer the logs to be clearly labeled in a .txt file.
I didn't know about the alternate debug log methods, so thanks for that. I'm used to making stuff in Unity (I'm working on an FPS that is currently "officially" titled "Project Renegade" but I'm probably going to call it World Power).
Can you please explain the code line-by-line though, because I don't know what a lot of that is (and I'm used to simpler object based programming where my player controller uses the player controls I made with the input system).
Also, I have a couple of map modding ideas: A custom subregion to add to Garbage Wastes (the Crawlyard, inspired by HL2:E2), and a whole custom region (I don't have a name for it yet, but it's basically Drainage System XL). I found a decent guide on YT and know I should get RWE+ instead of the trash default editor, although I'm not sure how to get it because it's on Githib.
Here's a line-by-line explanation:
Very important question: Which decompiler are you using? Reading other mods' code on GitHub will help a lot, but the most important part of modding is reading the game's code. I (and most others on Windows) use dnSpy.
My modding process is typically: 1. Think of something I want my mod to do (e.g: override the player's inputs (like this mod does)). 2. Find where in the code the player's inputs are set (e.g: Player.checkInput) (requires reading through the game's code; or better, using dnSpy to tell me what functions set Player.input). 3. Hook Player.checkInput so I can override the player's movements. 4. Repeat steps 1-3 with a different problem, etc.
Just select RWE+_win.zip if you're on Windows and unzip it once it finishes downloading.
Making regions/rooms is great because there's so much support out there for it. I imagine making rooms could be a stress-relieving activity, whereas code mods will always be frustrating to make.
I haven't gone through the line-by-line (I'm on my phone right now :P), but thanks. I'll list you as a contributor if and when I publish Reputation+.
Although, what's the point of the templates? I decided to be stupid and stubborn ("I really am just a dumb bunny!" -Judy Hopps, Zootopia ) and not use one despite the recommendation by the video I watched. That was probably a really big mistake, because here I am caught in the Cycle of trying to get AI to fix it but Ono making it worse each time to the point I get frustrated and want to give up.
And I don't have a decompiler (yet). I didn't think I'd get that far yet, and didn't plan to get one until I actually got something to load.
And another thing: You're ugly.
No actually, I already tried downloading RWE+ but it failed. It's probably because I have Canopy Shield and so it, in typical Canopy fashion, thought "Oh! Agent-blablabla is doing something that has nothing to do with porn! That's super sus so I must be annoying and stop him with no explanation!"
But it got about 65% done before my browser (I use Microsoft Edge with the DuckDuckGo search engine) said "Oh no there's a problem sorry. Do you want to try again?" And when I say "It's fine keep going" it tries for a second and then stops with no additional progress.
For example, the Crawl Yard isn't going to be a whole separate region connected to Garbage Wastes, it'll be part of Garbage Wastes, like how the Gutter is part of Chimney Canopy. Meanwhile, for my other planned custom region, I want to split it into a few custom regions. How do you do that? I'm still pretty confused about the file management aspect of map editing.
Subregions really aren't distinct regions. They're just additional rooms in a region. If you wanted to add a subregion to Garbage Wastes, you would start your room names with GW (e.g: GW_ROOMNAME1) and add connections to them in the world_gw.txt file. The wiki has a pretty good tutorial for creating a room and adding it to Outskirts.
Multiple regions isn't too hard. For each region, you need a unique acronym (e.g: GW = Garbage Wastes; WARA = Watcher Aether Ridge-A) (it's important that no other regions use your acronym). Creating new regions is actually pretty easy: Add your region acronym to the world/regions.txt file; create a world/ACRONYM folder and put in it a world_ACRONYM.txt file that says how the rooms connect (and what creatures to spawn); put all your rooms into a world/ACRONYM-rooms folder.
The world_xx.txt file is the most important one. It defines room connections and creature spawns. Everything else isn't too important, like the map data (which can be generated through devtools).
Granted, I'm still not using a template. What's the point of a template, and why should I need one? I feel like that's the big problem right now (and it shouldn't take a bunch of supercomputers visible from space to solve it).
Are you sure you're finding the debug log? If you're seeing logs from my mods, you probably have. Just in case, it should be here: C:\Program Files (x86)\Steam\steamapps\common\Rain World\BepInEx\LogOutput.log
Also be sure to check for: C:\Program Files (x86)\Steam\steamapps\common\Rain World\errorLog.txt
The error log only rarely shows up, but if it does show up, it'll probably have some important info.
Also, for debugging, it's good if you copy both the .dll and the .pdb files (produced when you build your mod) into your mod's plugins folder. The .pdb file tells you what line is causing the issue. In the past, I didn't copy the .pdb's; I regret that, haha.
Templates are mostly just useful for, well, all of this part. Whenever I make a new mod, the first step is to copy one of my old mods and trim it down into a template-like form. That ensures that the mod gets set up and functions properly, and it only takes a few minutes. Once you get any debug logs in the LogOutput.log file, though, there's not really any more need for a template.
(Note: You 100% don't have to do this, but I find it super convenient both time-wise and for debugging. Now I don't have the problem of forgetting to copy something and wondering why it doesn't work.)
I have a folder named RainWorldMods. In that folder, I have a folder named REFERENCES (where I put all the .dll's from C:\Program Files (x86)\Steam\steamapps\common\Rain World\RainWorld_Data\Managed and C:\Program Files (x86)\Steam\steamapps\common\Rain World\BepInEx\core) and a folder named ScaredWatcher (the original name for this mod) (that contains the mod files/source code).
You might want to try slimming down the code to something like this:
This nonsensical "code?" automatically copies over ScaredWatcher.dll and ScaredWatcher.pdb into my Scared Watcher mod's plugins folder. Just change "ScaredWatcher" and "Scared Watcher" to "ReputationPlus" and it should work for you, hopefully. Also be sure to put all the .dll's you need to reference inside a REFERENCES folder.
I didn't get any of that.
Look, I don't know much of anything about how Visual Studio ACTUALLY works. When I first decided to make a Rain World mod was the first time I ever opened VS myself. What I'm used to is double-clicking on my scripts in the Unity Editor and VS opens up with my scripts ready to be edited. I don't know what any of that other stuff is, so... uhh...
Explain the entire process of setting up a project, from the moment I turn on my Windows computer and open Visual Studio (opening VS is probably the first step) like I'm a 10-year-old. Who knows the basics of using a computer. And knows some middle-level C#.
Look, I really appreciate your patience and help. Maybe I need to just delete what I've got and start over with a fresh mindset. Maybe even do some mapmaking first, since that's apparently simpler.