• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Solved] How to make Custom Campaign using Reign of Chaos and Frozen Throne and get them working.

Status
Not open for further replies.
Level 3
Joined
Aug 17, 2016
Messages
34
After looking through these forums that stretch years back, I must say I'm surprised this hasn't been answered already. Odd because I think it's something a lot of people would like to do.

I know you can access the original campaign maps using the MPQ editor. There's multiple mentions of it across the forums. What I want to know is how to actually make a working, customisable campaign out of these maps. As they are, the maps seem to be coded that they'll always try to load the original campaign maps as opposed to whatever you put in the custom campaign progression list.

I've got some experience with triggers, but I could never figure out what exactly needed to be changed so that it'll load the map that follows it on the Custom Campaign list, not the original campaigns in a completely different area. I'm almost shocked that I didn't manage to find even a single mention of this problem anywhere else. I know Blizzard RTS' are a big thing, so that fact had me incredibly puzzled. I know it's possible because I managed to find enhanced Campaigns made by someone called Terry Mcdonald for ROC that I thought was great, and I could edit those myself and they worked just fine.

Failing the information to make it from scratch, I would also be satisfied simply having a series of FT campaigns at vanilla that aren't coded to load the originals so I could make my own variant of the Frozen Throne campaigns. At this point, I'd probably be willing to pay for it.

Any help or tips that anyone could mention would be greatly appreciated. I love Blizzard, but I also understand that they don't directly support the editors, so it's unfair to ask them directly for assistance in this issue.
 
Level 26
Joined
Aug 18, 2009
Messages
4,097
The order does not really matter. There are natives to influence the mission availability and what map is loaded when the current one ends.

Game - Set Next Level
Game - Set Campaign Screen
Game - Enable/Disable Mission
Game - Enable/Disable Campaign

For a custom campaign, use Game - Show/Hide Custom Campaign Button
 
Level 3
Joined
Aug 17, 2016
Messages
34
The order does not really matter. There are natives to influence the mission availability and what map is loaded when the current one ends.

Game - Set Next Level
Game - Set Campaign Screen
Game - Enable/Disable Mission
Game - Enable/Disable Campaign

For a custom campaign, use Game - Show/Hide Custom Campaign Button
Tried that, it didn't work. Whenever I finish the level, it just goes to the original campaign screen for it's respective campaign rather than loading the next level.
 
Level 3
Joined
Aug 17, 2016
Messages
34
I'm fairly new to these forums actually, so... I don't actually know how to upload the campaign. Hehe, sorry about that. If it helps, all I did was use the MPQ Editor to extract the Terror of the Tides maps, edited the first two maps so that they had different names and different game cache data names, as well as changed the loading buttons for the next mission and then tried to add them into a custom campaign. With your suggestion, they actually seem to save the game cache data just fine, so thank you for that, but it's a bit of a hassle to have to go from the original sentinels campaign list all the way back to custom campaign to start the next level.
 
Level 26
Joined
Aug 18, 2009
Messages
4,097
uploadFile.jpg


Press "Upload a File", wait for the load bar to fill, enter some text to post, click "Post reply".
 
Level 3
Joined
Aug 17, 2016
Messages
34
Oh, thanks. I'll upload the Terror Of The Tides campaign now. Keep in mind that only the first two levels are currently edited for me in terms of data. I don't really see the point of editing the later maps until I can figure out exactly what I need to do in order to get the campaign working.
 

Attachments

  • Terror of the Tides.w3n
    2.7 MB · Views: 297
Level 26
Joined
Aug 18, 2009
Messages
4,097
In trigger Initialization remove the Game - Set Campaign Screen action. In trigger Next Level Run use TerrorOfTides02.w3x only. Contrary to the original content, your maps are contained within the .w3n and they are not registered under some Maps\FrozenThrone\Campaign key there, just the file name.
 
Level 3
Joined
Aug 17, 2016
Messages
34
In trigger Initialization remove the Game - Set Campaign Screen action. In trigger Next Level Run use TerrorOfTides02.w3x only. Contrary to the original content, your maps are contained within the .w3n and they are not registered under some Maps\FrozenThrone\Campaign key there, just the file name.
Well, it still doesn't load the following map right after the previous one was finished, but at least it goes right back to the screen, enables manual selection of the next mission, and saves all the game caches properly. With just a few extra seconds I suppose that's good enough, so thank you so very much. You've really helped me out a lot.

Do you know how I can add to your reputation? I can't seem to figure it out.

For anyone else attempting to do this, I'll sum up exactly what I did to reach this point:
1. First you have to use an MPQ Editor to open the map files from the Warcraft folder. The Reign of Chaos campaign maps should be in folder named 'War3.mpq', and the Frozen Throne ones are in 'War3xLocal.mpq'. If you don't have an MPQ Editor, it's pretty easy to find, just look around on these forums somewhere or search for it on Google.
2. After using the MPQ Editor to open these files, you'll need to find the maps somewhere in the file, highlight them, and then right-click and extract them to a location you remember. I recommend you create a new folder on your computer somewhere you can remember and extract them to this spot.
3. The extracted files should be compatible with the Warcraft World Editor, so you can now use it to open and edit the individual maps yourself. However, they still seem coded to recognize the originals, so we gotta change the triggers that do this. Before you do that however, I recommend that you use the Save As option to make your own original versions and give them custom names. This will help later.
5. Now you want to make a custom campaign in the World Editor and put all the maps in one by one. Go to the loading screen tab and right-click in the space under 'Campaign Screen Buttons' to add buttons. These buttons are used to select an individual level in a campaign once you unlock them all. Play with this however you want, but for now all you really need to do is to add all the buttons in the campaign and make sure the first level is ticked to be visible.

- IMPORTANT - Once you've put the maps into the campaign and saved the campaign, the maps are now stored inside the custom campaign itself. Editing the maps from where you got them will no longer change anything about the campaign, and so you must right click on the map in the Map Files section and select 'Edit Map' to make changes. If you really don't want to get confused, then delete the original maps so that you can only access them from the campaign.

6. In the initialization triggers, there's a trigger that sets the campaign to the original campaign list (e.g. Night Elf campaign is triggered to Night Elf Expansion etc.) Deleting this trigger will stop the campaign from going to the original campaign screen every time you finish one of the levels.
7. Although I'm not sure if it really did anything, I also went into the trigger folder named 'load heroes' and changed the game cache name. This was to make sure the campaign didn't try to load the original game caches because they have the same name.
8. Now you want to go into the 'Level Data' trigger folder and find the trigger 'Next Level Run'. Change the text here so that the last bit matches the name of the custom names you used as I suggested in step 3.
9. Now go to trigger 'Next Level Prep' and change the trigger from 'Game - Enable/Disable Mission' to 'Game - Show/Hide Custom Campaign Button'. Simply make sure the custom campaign button number matches the ID of the map as shown in the loading screen. This will track which mission it allows you to access after the mission is complete. For the interludes, you'll want to have two triggers that do this, one for the interlude, and one for the level that follows it.
10. Simply make sure all the names are correct for every corresponding level, and you should now be able to play the campaign one mission at a time. Have fun!

If you think I missed something, don't hesitate to let me know.
 
Level 26
Joined
Aug 18, 2009
Messages
4,097
Well, it still doesn't load the following map right after the previous one was finished, but at least it goes right back to the screen, enables manual selection of the next mission, and saves all the game caches properly. With just a few extra seconds I suppose that's good enough, so thank you so very much. You've really helped me out a lot.

I did for me. You do realize you have to start the map via the campaign, do you? You cannot just press Test Play in the World Editor because that would copy and start the single map/there is none to test the campaign as a whole.

Also
giveRep.jpg
 
Level 3
Joined
Aug 17, 2016
Messages
34
I did for me. You do realize you have to start the map via the campaign, do you? You cannot just press Test Play in the World Editor because that would copy and start the single map/there is none to test the campaign as a whole.

Also
View attachment 245689
Yes, I'm aware that you have to play the custom campaign. As stupid as I am, I'm not stupid enough to try and see if a process spanning multiple maps should be tested on a single one. I've got no idea why it doesn't play the next map automatically. I'd probably like to know, but it works well enough now that I'm content. It's done in the trigger 'Next Level Prep' right? I'll upload an image of what I made it now.

Given how it was originally, I thought I might be able to do it with the 'Game - Enable/Disable Mission' trigger but that doesn't seem to let you select your own maps.
 

Attachments

  • Level 1 Night Elf Expansion Next level prep trigger..png
    Level 1 Night Elf Expansion Next level prep trigger..png
    117.1 KB · Views: 436
Level 26
Joined
Aug 18, 2009
Messages
4,097
No, the Game - Show/Hide Custom Campaign Button action is just to display/veil the button in the menu. There is no automatic forwarding to the next map in the list. You have to target the level with Game - Set Next Level, as said is currently done in the trigger Next Level Run, but there should only be the file name (as this is the local name in the campaign archive), no directory. When the current map ends, it will then load this previously stated map.
 
Level 3
Joined
Aug 17, 2016
Messages
34
No, the Game - Show/Hide Custom Campaign Button action is just to display/veil the button in the menu. There is no automatic forwarding to the next map in the list. You have to target the level with Game - Set Next Level, as said is currently done in the trigger Next Level Run, but there should only be the file name (as this is the local name in the campaign archive), no directory. When the current map ends, it will then load this previously stated map.
Err, I'm not sure exactly what you're trying to say, but I do have a trigger like you described.
 

Attachments

  • Level 1 Night Elf Expansion Next level Run trigger..png
    Level 1 Night Elf Expansion Next level Run trigger..png
    105.8 KB · Views: 307
Level 3
Joined
Aug 17, 2016
Messages
34
Third time is the charm: use TerrorOfTides02.w3x in the Game - Set Next Level action, not Maps\FrozenThrone\Campaign\TerrorOfTides02.w3x
Third time's the Charm! Working fully now. Again, thank you so very much. I can't believe I didn't notice that before.
I hope this thread helps many more people now.
 
Last edited:
Level 3
Joined
Aug 17, 2016
Messages
34
Hmmm. Well, the only problem now seems to be that the campaign doesn't seem to pass on the difficulty I set. I can work around that though, I'm only making it for myself.
 
Level 3
Joined
Aug 17, 2016
Messages
34
Okay, I know this thread is marked as solved, but I feel there is still one issue that this thread could address to help people... The Bonus Campaign. Unlike all the normal campaigns, this campaign is not linear, you can go to many of the different many maps at your choosing. I tried simply changing the cache names and level names, but when I tried transitioning between a map, well, they just didn't appear after the map was loaded. So if anyone could take a look at what I have, and point out how I could fix it, everyone who wants to make changes of their own to this would probably appreciate it. I don't think I'm the only one, or at least I hope not.

P.S. If anyone wants to know exactly what I tried, I'll make a list of whatever changes I made.
- In every map, I disabled the trigger in 'Initialization' that says 'Set Campaign to Expansion Orc Campaign'. In my experience this just makes the campaign head to the original campaign list when you exit, so I don't think it's needed.
- I disabled the normal and easy difficulties and removed the conditions for hard difficulty, mostly because the campaigns never really seem to pass on the difficulty anyway, and I like the game being hard.
- In the folder 'Level Data' -> Next level prep, I changed the game cache name from 'Campaigns' to 'EnhancedCampaigns' just to differentiate from the original.
- In this same folder, every time the game cache stores a hero, I change the name from 'OrcX(etc)' to 'ToTameALand(etc)'
- I can't remember where right now, but I believe one of the maps had some directory where it went the usual Maps/FrozenThrone/Campaigns etc. I simply changed the 'Campaigns' to 'EnhancedCampaigns'. I can't even remember why I did that.
- As I wanted a simple change that I could notice to make sure this was my campaign, I changed the tomes in the Voodoo Lounge next to Drek'thar to have 0 stock cooldown.
 

Attachments

  • To Tame A Land.w3n
    1.8 MB · Views: 328
Last edited:
Level 26
Joined
Aug 18, 2009
Messages
4,097
Go Object-Manager > Functions > Actions > Game Cache - Create Game Cache, see it's invoked more than once. You could also search for Functions > Actions > Game Cache - Restore Unit Facing Angle and trace it back since that's the blemish you encounter in the first place.
 
Level 3
Joined
Aug 17, 2016
Messages
34
Go Object-Manager > Functions > Actions > Game Cache - Create Game Cache, see it's invoked more than once. You could also search for Functions > Actions > Game Cache - Restore Unit Facing Angle and trace it back since that's the blemish you encounter in the first place.
Well, I tried following your instructions, but for some reason, I could only get as far as Object-Manager > Functions > Actions. I can't seem to find the Game Cache.
 
Level 26
Joined
Aug 18, 2009
Messages
4,097
Well, I tried following your instructions, but for some reason, I could only get as far as Object-Manager > Functions > Actions. I can't seem to find the Game Cache.

I do not know how the category is named in your language but it is available in at least the first two maps and you said it yourself that you modified the game cache actions, so they have to be there unless you converted them to custom script/jass. The icon shows a green "x=" like the Set Variable action has.
 
Level 3
Joined
Aug 17, 2016
Messages
34
I do not know how the category is named in your language but it is available in at least the first two maps and you said it yourself that you modified the game cache actions, so they have to be there unless you converted them to custom script/jass. The icon shows a green "x=" like the Set Variable action has.
Oops, turns out I forgot to actually open the maps to take a look, and only opened the campaign itself. Silly me. I'm pretty sure that the game cache isn't invoked more than once, as I said, I haven't changed anything but what I listed, and using the object manager I noticed that I forgot to change the cache names from Import and exporting to EnhancedCampaigns. So I fixed that up and tried again.
And... it still doesn't work. Exact same problem. Heroes just don't appear when I try to transition. There must be something more.
 
Level 26
Joined
Aug 18, 2009
Messages
4,097
Again, you did not adjust the target map and were loading the original instead. That's done in Perform Map Transition in dependence of variable values. The bonus campaign uses a save file per map and restores it when transitioning unless there is none for the target map yet. Both normal Initialization and Game Load run the Import All directives.
 
Level 3
Joined
Aug 17, 2016
Messages
34
Again, you did not adjust the target map and were loading the original instead. That's done in Perform Map Transition in dependence of variable values. The bonus campaign uses a save file per map and restores it when transitioning unless there is none for the target map yet. Both normal Initialization and Game Load run the Import All directives.
Again still not working, found the Transitions Common -> Ini Zones and changed the maps from Maps\FrozenThrone\Campaign\ to Maps\FrozenThrone\EnhancedCampaign\ to make them all match. Still not working.
 
Level 3
Joined
Aug 17, 2016
Messages
34
That has nothing to do with the game cache name. The maps inside the campaign file are labeled as you see in the campaign editor: ToTameALand01.w3x, ToTameALand01_02.w3x, ...
Gah, stupid me. I can't believe I missed that. Well, now I changed the zone map variables in Transitions Common -> Ini Zones from the map names OrcX01 etc, to ToTameALand01.w3x etc. Now it probably doesn't try to load the originals, but instead just flat out doesn't load it. As soon as I try to transition into a different zone, it just exits the campaign entirely and goes back to the loading screen.
 
Level 3
Joined
Aug 17, 2016
Messages
34
Well, since I went through a lot of trouble to do all this for myself, I think it's only fair that I share my work with anyone else who wishes to have access to a list of custom campaigns based of the original games. Credit for the Reign of Chaos campaigns goes to Terry McDonald for making those first, which I edited slightly for myself.

Some major notes/advice:
  • All upkeep is removed, except in the prologue and baseless missions. However if you somehow manage to go above the limit, low upkeep will occur.
  • Explore and pay attention to the area and enemies. There may be new creeps, enemy units and items. In the original Reign of Chaos campaigns for example, there's a nest where you can hire dragons in every final level.
  • Every race has a scouting/early warning detection eg. Gyrocopters, sentinels. Use scouting or die.
  • Most hotkeys have been changed to suit WASD users, e.g. Ancient Protectors have been changed to E, Frost Nova to R.
  • All hero abilities can be upgraded beyond their limits in the standard game.
  • On some levels you may be able to hire an additional hero; some are permanent additions, and some are just for convenience. Keep in mind that the latter won't pass on their items and will take away some experience, so use them only if you feel you have to.
  • This campaign was customized for me, by me. I play Blizzard RTS’s extensively, and I like it HARD, and most levels have been coded to disable the Normal difficulty entirely. If you think it’s too hard, I know it’s possible. I’ve done it. If you want to make it easier, you’re gonna have to know how to use the editor. It should be noted that these campaigns are actually coded to change their difficulty every level to what you have the original campaigns set as, so keep that in mind. If in doubt, check the options in the gameplay section to check the difficulty.
  • All campaigns can be edited to your convenience, if you have some basic knowledge about triggers and the editor.
  • As this is a customized campaign, there may unfortunately be bugs or errors in them that I am unaware of. These can only really be discovered by playing them over and over, and it’s possible I overlooked something. If anyone discovers an error, please let me know and I will do my best to correct them. Same with any balance issues. If you feel like any additions I've made are too game-breaking, let me know, as I haven't played through this extensively myself at the time of posting.
That should be all. Unfortunately, I myself aren't a highly skilled editor, so I couldn't figure out how to get a custom variant of the Bonus Campaign available. If anyone does have the skills to make one or could point me to one if it already exists, I would greatly appreciate it and I could share it too. Oh, and don't just point me to a site on how to make a branching campaign, something much more specific is needed for the Founding of Durotar because it's not just the map data that needs to pass on.

P.S. Yes, I accidentally called the Blood Elf campaign Rise of the Blood Elves, not Curse of the Blood Elves. I can't be bothered to change it. Do it yourself if you care that much.
 

Attachments

  • Eternity's End.w3n
    12.5 MB · Views: 277
  • Exodus of the Horde.w3n
    791.2 KB · Views: 198
  • Legacy of the Damned.w3n
    3.4 MB · Views: 351
  • Terror of the Tides.w3n
    2.8 MB · Views: 250
  • The Invasion of Kalimdor.w3n
    9.7 MB · Views: 235
  • The Path of the Damned.w3n
    13.4 MB · Views: 238
  • The Scourge of Lordaeron.w3n
    10.7 MB · Views: 270
  • Rise of the Blood Elves.w3n
    2.2 MB · Views: 219
Last edited:
Status
Not open for further replies.
Top