How To Create Background MAPS For Garrysmod?

I have created a map for Garrys Mod (a background map) and I would like to know how to add it to Garrys Mod. I have created the .vmf files and everything (the blur) just like it says on the Valve Site. But it won’t show the map after it completly loads.

Does anyone know how to make the background like one of the Half Life 2 backgrounds?

And please don’t post saying how much lag it will cause etc. and how useless it is. I realize this. I just want my own personal background which nobody else has.

AFAIK, garrysmod only supports pictures as the background - unless you run map <mapname> in the console after the main menu has loaded

there is some command I think it is map_background or something, put that in your autoexec to make it load your map to the background

oh right, the startup commands thing… I forgot that existed for a while… :v:

Yeah you can do that. I did that once. But man I don’t recommend you doing that. Because when you will start gmod it will start loading like a single player. But you wont be able to play. Only see it in main screen.

Put it in my autoexec? What is that? And how would I do this?

Make an autoexec.cfg in your steamapps[username]\garrysmod\garrysmod\cfg folder and add map_background mapname to it.

Ok, thanks for the quick reply.

In the CFG folder of gmod, add to (or create) the autoexec.cfg file.

Ive actually wanted to try and make a background map, this will definitely help out a lot.

If you load the garrysmod .FGD you can spawn the gamemode entity and set the gamemode to “base” so that I loads quicker.

I think I may have done it wrong as it still doesn’t work, this is my config.cfg file:


unbindall
bind "0" "slot0"
bind "1" "slot1"
bind "2" "slot2"
bind "3" "slot3"
bind "4" "slot4"
bind "5" "slot5"
bind "6" "slot6"
bind "7" "slot7"
bind "8" "slot8"
bind "9" "slot9"
bind "c" "+duck"
bind "e" "+use"
bind "f" "impulse 100"
bind "g" "impulse 201"
bind "p" "impulse 101"
bind "q" "+menu_context"
bind "r" "+reload"
bind "u" "messagemode2"
bind "v" "noclip"
bind "x" "+jump"
bind "y" "messagemode"
bind "z" "+zoom"
bind "KP_INS" "+attack2"
bind "KP_END" "+gm_special 1"
bind "KP_DOWNARROW" "+gm_special 2"
bind "KP_PGDN" "+gm_special 3"
bind "KP_LEFTARROW" "+gm_special 4"
bind "KP_5" "+gm_special 5"
bind "KP_RIGHTARROW" "+gm_special 6"
bind "KP_HOME" "+gm_special 7"
bind "KP_UPARROW" "+gm_special 8"
bind "KP_PGUP" "+gm_special 9"
bind "KP_SLASH" "+gm_special 15"
bind "KP_MULTIPLY" "+gm_special 14"
bind "KP_MINUS" "+gm_special 13"
bind "KP_PLUS" "+gm_special 12"
bind "KP_ENTER" "+gm_special 11"
bind "KP_DEL" "+gm_special 10"
bind "`" "toggleconsole"
bind "\" "gmod_undo"
bind "=" "impulse 100"
bind "SPACE" "+use"
bind "TAB" "+menu"
bind "ESCAPE" "cancelselect"
bind "PAUSE" "pause"
bind "SHIFT" "+speed"
bind "ALT" "+walk"
bind "LEFTARROW" "+moveleft"
bind "DOWNARROW" "+back"
bind "RIGHTARROW" "+moveright"
bind "F1" "gm_showhelp"
bind "F2" "gm_showteam"
bind "F3" "gm_showspare1"
bind "F4" "gm_showspare2"
bind "F5" "jpeg"
bind "F6" "save quick"
bind "F9" "load quick"
bind "MOUSE1" "+attack"
bind "MOUSE2" "+forward"
bind "MOUSE4" "phys_swap"
bind "MWHEELUP" "invprev"
bind "MWHEELDOWN" "invnext"
cl_firedynamiclight "0"
cl_rumblescale "1.0"
cl_debugrumble "0"
r_JeepViewBlendTo "0"
cl_team "default"
cl_class "default"
hud_takesshots "0"
r_flashlightdepthres "512"
cl_showhelp "1"
hud_draw_fixed_reticle "0"
cl_chatfilters "31"
cc_linger_time "1.0"
cc_predisplay_time "0.25"
cc_subtitles "0"
cc_lang ""
crosshair "1"
cl_observercrosshair "1"
g15_update_msec "250"
cam_snapto "0"
cam_ideallag "4.0"
cam_idealdelta "4.0"
cam_idealyaw "0"
cam_idealpitch "0"
cam_idealdist "150"
cam_collision "1"
c_maxpitch "90"
c_minpitch "0"
c_maxyaw "135"
c_minyaw "-135"
c_maxdistance "200"
c_mindistance "30"
c_orthowidth "100"
c_orthoheight "100"
joy_name "joystick"
joy_advanced "0"
joy_advaxisx "0"
joy_advaxisy "0"
joy_advaxisz "0"
joy_advaxisr "0"
joy_advaxisu "0"
joy_advaxisv "0"
joy_forwardthreshold "0.15"
joy_sidethreshold "0.15"
joy_pitchthreshold "0.15"
joy_yawthreshold "0.15"
joy_forwardsensitivity "-1"
joy_sidesensitivity "1"
joy_pitchsensitivity "1"
joy_yawsensitivity "-1"
joy_response_move "1"
joy_response_look "0"
joy_lowend "1"
joy_lowmap "1"
joy_accelscale "0.6"
joy_accelmax "1.0"
joy_autoaimdampenrange "0"
joy_autoaimdampen "0"
joy_diagonalpov "0"
joy_display_input "0"
joy_wingmanwarrior_turnhack "0"
joy_inverty "0"
joy_movement_stick "0"
joy_xcontroller_cfg_loaded "0"
lookspring "0"
lookstrafe "0"
joystick "0"
m_pitch "0.022"
m_filter "0"
sensitivity "10"
m_side "0.8"
m_yaw "0.022"
m_forward "1"
m_customaccel "0"
m_customaccel_scale "0.04"
m_customaccel_max "0"
m_customaccel_exponent "1"
m_mouseaccel1 "0"
m_mouseaccel2 "0"
m_mousespeed "1"
cl_mouselook "1"
cl_idealpitchscale "0.8"
net_scale "5"
net_graphpos "1"
net_graphsolid "1"
net_graphtext "1"
net_graphmsecs "400"
net_graphshowlatency "1"
net_graphshowinterp "1"
net_graph "0"
net_graphheight "64"
net_graphproportionalfont "1"
mat_software_aa_strength "0.000000"
mat_software_aa_quality "0"
mat_software_aa_edge_threshold "1.0"
mat_software_aa_blur_one_pixel_lines "0.5"
mat_software_aa_tap_offset "1.0"
mat_software_aa_strength_vgui "1.000000"
voice_modenable "1"
hud_fastswitch "0"
explosion_dlight "1"
cl_playerspraydisable "0"
muzzleflash_light "1"
overview_health "1"
overview_names "1"
overview_tracks "1"
overview_locked "1"
overview_alpha "1.0"
spec_scoreboard "0"
cl_npc_speedmod_intime "0.25"
cl_npc_speedmod_outtime "1.5"
g_antlion_maxgibs "16"
hud_quickinfo "1"
cl_playermodel "barney"
cl_defaultweapon "weapon_physgun"
cl_autowepswitch "1"
derma_skin "Default"
myinfo_debug "0"
physgun_rotation_sensitivity "0.05"
fov_desired "75"
spawnmenu_icon_rollover "1"
spawnicon_disablepreload "0"
r_eyegloss "1"
vgui_message_dialog_modal "1"
commentary_firstrun "0"
scene_showfaceto "0"
ai_report_task_timings_on_limit "0"
ai_think_limit_label "0"
npc_height_adjust "1"
sv_pvsskipanimation "1"
ai_keepragdolls "1"
scene_showlook "0"
scene_showmoveto "0"
scene_showunlock "0"
commentary "0"
xbox_throttlebias "100"
xbox_throttlespoof "200"
xbox_autothrottle "1"
func_break_max_pieces "15"
suitvolume "0.25"
xc_uncrouch_on_jump "1"
option_duck_method "1"
sk_autoaim_mode "1"
sv_noclipaccelerate "5"
sv_noclipspeed "5"
sv_specaccelerate "5"
sv_specspeed "3"
sv_specnoclip "1"
sv_skyname "sky_day01_07"
sv_backspeed "0.6"
sv_stickysprint "0"
xc_crouch_range "0.85"
xc_use_crouch_limiter "0"
g_test_new_antlion_jump "1"
g_antlion_cascade_push "1"
npc_citizen_auto_player_squad "0"
sv_maxplayers "8"
lua_networkvar_refreshtime "60"
sv_scriptenforcer "0"
physgun_limited "1"
sbox_noclip "1"
sbox_godmode "0"
sbox_plpldamage "1"
sbox_maxprops "100"
sbox_maxragdolls "2"
sbox_maxvehicles "3"
sbox_maxeffects "10"
sbox_maxballoons "10"
sbox_maxnpcs "0"
sbox_maxdynamite "5"
sbox_maxlamps "5"
sbox_maxlights "5"
sbox_maxwheels "20"
sbox_maxthrusters "28"
sbox_maxhoverballs "20"
sbox_maxbuttons "20"
sbox_maxemitters "5"
sbox_maxspawners "3"
sbox_maxturrets "3"
sbox_weapons "1"
bugreporter_uploadasync "0"
cl_cmdrate "30"
cl_updaterate "30"
closecaption "0"
skill "1"
net_maxroutable "1260"
cl_allowupload "1"
name "Lörd Háÿdén"
password "abc123"
sv_unlockedchapters "1"
tv_nochat "0"
cl_showpluginmessages "1"
cl_timeout "45"
cl_logofile "materials/vgui/logos/Spray_bullseye.vtf"
cl_soundfile "sound/player/jingle.wav"
cl_forcepreload "0"
cl_allowdownload "1"
cl_downloadfilter "all"
con_enable "1"
r_eyemove "1"
r_eyeshift_x "0"
r_eyeshift_y "0"
r_eyeshift_z "0"
r_eyesize "0"
r_ambientboost "1"
r_ambientmin "0.3"
r_ambientfactor "5"
r_drawmodelstatsoverlaymin "0.1"
r_drawmodelstatsoverlaymax "1.5"
mp_decals "5000"
sv_logsdir "logs"
sv_logfile "1"
sv_logflush "0"
sv_logecho "1"
sv_log_onefile "0"
sv_logbans "0"
sv_voiceenable "1"
sv_forcepreload "0"
snd_legacy_surround "0"
snd_pitchquality "1"
volume "0.210000"
snd_musicvolume "0.500000"
snd_mixahead "0.1"
adsp_debug "0"
snd_ducktovolume "0.55"
snd_duckerattacktime "0.5"
snd_duckerreleasetime "2.5"
snd_duckerthreshold "0.15"
dsp_slow_cpu "0"
dsp_volume "1.0"
dsp_enhance_stereo "0"
voice_scale "1"
voice_enable "1"
voice_forcemicrecord "1"
budget_bargraph_background_alpha "128"
budget_peaks_window "30"
budget_averages_window "30"
budget_show_peaks "1"
budget_show_averages "0"
budget_show_history "1"
budget_history_numsamplesvisible "100"
budget_history_range_ms "66.666666667"
budget_panel_bottom_of_history_fraction ".25"
budget_bargraph_range_ms "16.6666666667"
budget_background_alpha "128"
budget_panel_x "0"
budget_panel_y "50"
budget_panel_width "512"
budget_panel_height "384"
texture_budget_panel_x "0"
texture_budget_panel_y "450"
texture_budget_panel_width "512"
texture_budget_panel_height "284"
texture_budget_panel_bottom_of_history_fraction ".25"
texture_budget_background_alpha "128"
vprof_graphwidth "512"
vprof_graphheight "256"
vprof_verbose "1"
vprof_unaccounted_limit "0.3"
vprof_warningmsec "10"
mat_monitorgamma_tv_enabled "0"
joy_wingmanwarrior_centerhack "0"
joy_axisbutton_threshold "0.3"
map_background background01

As you can see, I added it to the bottom. Should I have done this, and should I have added any ""s?

[editline]07:16PM[/editline]

Oh, and I also added the background map (background01.bsp) to my materials folder. Should it be in maps or anything?

create a NEW FILE called autoexec.cfg, add the one command in there. Your map should go in the maps folder… you know, because it’s a map, not a material.

Ok thanks, I will try that now.

[editline]08:34PM[/editline]

It worked! Thanks!

make sure to do what I said for faster load times.

Hey, I have a map working and loading as the background, but it doesn’t go in the view of the “point_viewcontrol” entity. I have the logic_auto set to “Gordon is invulnerable”, should I have it set as something else?

You don’t need the logic_auto to say that. Set the Global State to read as —None— and set these parameters (for logic_auto):

Outputs:
OnBackgroundMap(or something similar)>(name of point_viewcontrol)>Enable | DELAY: 0.00 | FIRE ONLY ONCE: No

For the point_viewcontrol , tick these Flags:

FREEZE PLAYER
INFINATE HOLD TIME
SNAP TO GOAL ANGLES
MAKE PLAYER NON-SOLID

Tip: Have a info_target and name it (e.g. viewcontrol_target), then, go back to your point_viewcontrol and set the Entity to look at to the info_target (in this case, viewcontrol_target)

Hope this helps! :smiley:

If not, follow these steps EXACTLY.