[Portal 1] Bonus Map Scripts and You
What They Are And Why You Should Be Using Them
In a nutshell, a Bonus Map Script is what tells Portal to allow your map to be loaded via the nifty Import Maps option, and also to have a Challenge versions of your map available. Creating and editing these files is very simple, and should become a standard for Portal map releases.
### Links And Useful Information
Valve Developer Wiki Article
Link: http://developer.valvesoftware.com/wiki/Portal_Challenge_Script
This explains the general concept of what the BMS format is and how to use them, and has some links to other relevant information.
BNS script generator by S.SkillZ
Link: Release Thread
THIS IS INVALUABLE!! Use this to create your own BMS files, atleast until someone comes along and does it better! This is an endlessly handy tool.
TWP Wiki Article on Bonus Map Scripts
Link: Wiki Article
Currently in-progress at the time of this update, but currently explains a lot of the concepts and inner workings of the scripts. Also explains how to get your maps working with them. Check back often!
### Old Shit, Being Depreciated Into The Wiki
### Step 1 - Directory Structure
I will make a screenshot of this if I need to, or some sort of graphical version that is better than the text. But your folder layout should be like this:
-- /SteamApps/(Username)/Portal/portal/
-- -- /maps/(Username) *Create a directory with your name, your script files will go here
-- -- /VGUI You will put your VMTs and VTFs in here, for the preview screenshot*
In short, you need to create a directory under the /portal/maps directory where you will store your files. You should probably name it after your nickname, so people know how to group the files together. You will place your map files, the relevant script files, and a file called folderinfo.bns which will contain your personal contact information for your maps.
### Step 2 - folderinfo.bns
Here is an example folderinfo.bns. Feel free to copy and edit this for your own uses.
// Info describing the folder must be in folderinfo.txt!
// The image shown for the folder is assumed to be foldericon.tga if none is specified!
"msleeper PORTAL maps"
{
"image" "msleeper"
"comment" "contact: [email protected]"
}
Note that image is the name of the VTF in the /VGUI directory. So for example, I should have a file called /VGUI/msleeper.vtf and /VGUI/msleeper.vmt in order for my custom image to work.
### Step 3 - Map Script File
Removed, check the Wiki.
### Step 4 - Wrap-Up and Test
Remember to put your map file, map script file, and folderinfo.bns into the /portal/maps/(your name) directory.
Remember to put your personal icon, as well as your map screenshots in /VGUI.
Note: This is not 100%! If you run into errors, or have useful input, please post it!
### Notes
You might be able to create a /VGUI/(your name) directory to store your VMT/VTFs into, which will clean your directory structure up significantly. If anyone can confirm this, please do!
If the map was in maps folder, renaming the folder or moving it wont make the maps that show in bonus menu not to work, as the map parameter will stay "mapname" and the map is in maps folder and hasnt move, and vaild.
Because the script can be moved without any editing, but the .bsp if moved has to be edited in all the relevent .bns scripts.
Just as portal dudes did, just their folder (Username) are in the script folder which is not recommended.
Use of level transitions (trigger_leveltransition I think) and some info landmarks, look around for some tut's.
But when i run the maps using the bonus map script the first map runs fine and when i get to the level transition I get this error:
Level transition ERROR
Can't find connection to TS13\testc_06 from TS13/testc_07
I know the slashes are different directions but hammer won't let me put a \ in, It changes it to a / as soon as I hit apply.
Any advice?
Edit: I did a bit of looking at the differences in the console stuff between running it using "map TS13/testc_06" and running it via the bonus level stuff and it seems that the bonus level stuff uses \ whilst everything else uses /. Even if my bns files use /
Help!
Edit 2: I've fixed it, I resorted to making a bns for each map and making the player pick the next map after each map finished, But then the level transitions worked, it turns out it doesn't load the map file, it loads bns assosiated with that map. Its a bit annoying to have to make more than one bns but at least it works now 
youme wrote:
Edit 2: I've fixed it, I resorted to making a bns for each map and making the player pick the next map after each map finished, But then the level transitions worked, it turns out it doesn't load the map file, it loads bns assosiated with that map. Its a bit annoying to have to make more than one bns but at least it works now
youme wrote:
It seems I can't put muliple maps into one bonus map, I've set up the driectory stucture all correct and the level transitions are working fine.
But when i run the maps using the bonus map script the first map runs fine and when i get to the level transition I get this error:
Level transition ERROR Can't find connection to TS13\testc_06 from TS13/testc_07I know the slashes are different directions but hammer won't let me put a \ in, It changes it to a / as soon as I hit apply.
Any advice?
Edit: I did a bit of looking at the differences in the console stuff between running it using "map TS13/testc_06" and running it via the bonus level stuff and it seems that the bonus level stuff uses \ whilst everything else uses /. Even if my bns files use /
Help!Edit 2: I've fixed it, I resorted to making a bns for each map and making the player pick the next map after each map finished, But then the level transitions worked, it turns out it doesn't load the map file, it loads bns assosiated with that map. Its a bit annoying to have to make more than one bns but at least it works now
Also instead use"_" better, as that helps the system organize files, and vmf's and the like.
youme wrote:
How do you unlock the next map when you finish a level?
Via a console command, thats the best way, using a point_client_command in your map.
I've read this thread, but it seems to have been stripped in favor of the wiki. I've read the relevant wiki pages several times but I'm stumped.
My map doesn't end in an elevator, so it wouldn't make sense to have it display your challenge results in the elevator like the official maps. I wouldn't know how to put the challenge results in the elevator anyway, since that doesn't seem to be on the wiki... Is it possible to have it save your score without the elevator part? If so, what should I do to enable this?
onemanescapepod wrote:
Thanks, but that didn't really answer my question. That was the one thing I didn't need, unless that also saves your score. I also can't find any entity by that name or close to that name.
Sorry i was completely guessing since I have never messed with the entity. And yes it is required to update it.