Posts Tagged ‘config’
Modular Quake Configs
Ok, ok, so ive been asked for my config over and over. And Ive been saying for months id post my config up for download. So here it is, but first let me try to explain how it works and why i use a config that is made this way.
My config is modular or OO “Object Oriented”. So what is “Object Oriented”? Well in case your new to the code world there is a common phrase passed with in its realms which is ” Don’t recreate the wheel “. So if you want to learn more about what “OO” is then I suggest you check out http://en.wikipedia.org/wiki/Object-oriented_programming.
But why Object Oriented? I know what it is, but its not needed at all, the config works just fine the default way (which is top down style scripting). Well, using OO is not changing how the configuration works, its allowing for 2 things.
- It allows for quick and easy editing
- It allows for a much more robust and complex configuration that is not possible with the limitation and constraints of the default config reader
For example, if you have a set of large vstrs such as a auto insult script it will take away from the allowed number of lines to be read by a single config, thus causing an error when the config is loaded. Large configs also cause lag as of the amount of items that are put into the system memory from the configuration.
Now before you use my config or try to read over it, let me explain how it all works. But first lets make sure we take a good look at a list of cvars and commands used in the vq3 based games. A good detailed list of cvars and commands can be found at http://www.holysh1t.net/quake-live-commands-list/, or if you want to just get the list yourself to check for consistency you can use the following line in your game console. If you dont know how to get to the console, I recommend you google it and read over the newbie guide to quake configs. Holysh1t has a great one here.
/clear; listcvars; listcmds; condump cvarcmdlist.txt //The file cvarcmdlist.txt will be created and stored in your baseq folder.
First part of the config, the part that you actually execute is the “main.cfg”.
//--------------------------> // @file main.cfg // @author Newbi //--------------------------> //step 1, unbind all previous aliases used by the default or previous config. unbindall //step2, call the list of modules used in the config, ex.the binds.config. exec modules/autotroll.cfg exec modules/binds.cfg exec modules/gfx.cfg exec modules/player.cfg //step3, announce that we successfully loaded our configuration say "Newbi's Config v.1.0 Loaded Successfully!"; say "www.q3schools.com" //alternatively you can use "tell_buddy (your player name)" //to tell yourself instead of publicly announcing your config loaded. //tell_buddy Newbi Config Loaded Sir!
Now lets look at the autotroll.cfg script.
//--------------------------> // @file autotroll.cfg // @author Newbi //--------------------------> set autotroll "vstr ins1" set ins1 "tell_attacker Your Momma was a snow blower!; set autotroll vstr ins2" set ins2 "tell_attacker My gun is bigger then yours; set autotroll vstr ins3" set ins3 "tell_attacker You couldnt whip a fly with a flyswatter!; set autotroll vstr ins1"
Now lets look at the binds.cfg script where all of our aliases and in game commands are stored. This part is important because the “unbindall” command will wipe out our current bindings so its important that you include all of your binds in this file. The following example will only list a few of the possible binds to be used.
//--------------------------> // @file binds.cfg // @author Newbi //--------------------------> bind w "+forward" bind s "+back" bind a "+moveleft" bind d "+moveright" bind c "+movedown" bind mouse2 "+moveup" bind v "+button3" bind BACKSPACE "+button2" //custom commands binds bind \ "vstr autotroll"
Next lets look at the player.cfg. This script will house all of our “player specific” settings.
//--------------------------> // @file player.cfg // @author Newbi //--------------------------> seta name "^2O^5nykag^2e" seta model "keel/default" seta headmodel "doom/default" seta cg_forceenemymodel "tankjr/bright" seta cg_forceredteammodel "mynx/default"
And finally lets look at the graphics settings configuration file. This is where the look and feel of the game is presented.
//--------------------------> // @file gfx.cfg // @author Newbi //--------------------------> seta r_vertexlight "1" seta cg_drawfps "1" seta cg_draw3dicons "0" seta cg_noprojectiletrail "0" seta r_picmip "3" seta r_fullbright "1"
And that will complete the demo package. Now when you want to edit something or add a cvar, just put it in it perspective place and its always so easy to work on and alot easier to read. Not to mention its cleaner and doesnt lag your game session as much.
Now for you lazy bastards that just want to use my config Ive published it for you so you can both view it and download it. I would recommend that you at least attempt to design and build you own config. It will really teach you alot about the game itself and it may even help you find that little edge you have always been looking for. Click here to see Newbi’s Actual Quakelive Config.
Newbi’s Config
Newbi_dm.cfg
////////////////////////// // @file newbi_dm.cfg // @author newbi ////////////////////////// unbindall exec modules/binds.cfg exec modules/weapons.cfg exec modules/gfx.cfg exec modules/player.cfg exec modules/misc.cfg vid_restart tell_buddy Newbi Config Updated Sir!
binds.cfg
////////////////////////// // @file binds.cfg // @author newbi ////////////////////////// bind TAB "+scores" bind ` "toggleconsole" bind t "messagemode" bind ENTER "messagemode2" bind PAUSE "pause" bind F1 "vote yes" bind F2 "vote no" bind F3 "readyup" bind F5 "record" bind F6 "stoprecord" bind F11 "screenshotjpeg" ////////////////////////////// //actions ////////////////////////////// bind BACKSPACE "+button2" bind v "+button3" bind m "+speed" bind z "+zoom" bind MOUSE1 "+attack;" bind MOUSE2 "+moveup" bind mouse4 "vstr rjump" bind p "vstr mute" ////////////////////////////// //movement ////////////////////////////// bind a "+moveleft" bind c "+movedown" bind d "+moveright" bind s "+back" bind w "+forward" ////////////////////////////// //autosay ////////////////////////////// bind 0 "say ^3=^1)" bind 1 "say_team ^3My Location" bind 2 "say_team ^3Area Secure/^4Area Clear" bind 3 "say_team ^1@Enemy Here@" bind 4 "say_team ^3Item Up/^4Item Taken" bind 5 "say_team ^2Pumped for Powerups" bind 6 "say_team ^3Roger/^4I need That" bind 7 "say_team ^3Negetive/^4Take it" bind F12 "vstr autotroll"
gfx.cfg
////////////////////////// // @file gfx.cfg // @author newbi ////////////////////////// //cgame seta cg_brassTime "0" seta cg_draw2D "1" seta cg_draw3dicons "0" seta cg_marks "0" seta cg_simpleitems "1" //client seta cl_maxpackets "80" //other seta rate "10000" //memory specific seta com_maxfps "125" seta com_zoneMegs "16" //gpu specific seta r_customwidth "800" seta r_customheight "600" seta r_detailtextures "0" seta r_fullbright "1" seta r_gamma "2" seta r_inBrowserMode "9" seta r_picmip "4" seta r_shadows "0" seta r_texturebits "32" seta r_vertexlight "1"
player.cfg
////////////////////////// // @file player.cfg // @author newbi ////////////////////////// //weapon specific seta cg_oldPlasma "1" seta cg_oldRocket "1" seta cg_oldrail "1" seta cg_railprojtime "2000" set cg_noprojectiletrail "1" set cg_trueLightning "0.20" //hud specific seta cg_drawTimer "1" seta cg_drawTeamOverlay "1" seta cg_drawstatus "1" seta cg_lagometer "0" seta cg_drawfps "1" seta cg_drawfriend "1" seta cg_drawspeedometer "3" seta cg_drawgun "0" seta cg_bob "0" seta cg_kickScale "0" //shake when hit seta cg_fov "120" seta cg_drawCrosshairNames "1" seta cg_scorePlums "0" //score that shows around a player head seta color2 "1" //rail color seta color1 "2" //rail swirl color //playtime specific seta cg_zoomfov "20" seta cg_leveltimerdirection "0" seta cg_switchonempty "1" seta cg_autoswitch "0" seta cg_forceTeamModel "crash" //player specific seta name "^4N^3ewbi" seta sex "male" seta model "Tankjr/sport" seta headmodel phobos //enemyspecific seta cg_forceModel "1" set cg_forceenemymodel "keel/bright" set cg_EnemyHeadColor "0xFF0000FF" set cg_EnemyUpperColor "0x00FF00FF" set cg_EnemyLowerColor "0xaeaeaeFF" //misc seta com_allowConsole "1" seta cg_teamchatsonly "0" cl_pitchspeed "9999" cg_autoaction "1" //new cvars seta cg_HitBeep "2" //0 = off //1 = single tone (old style) //2 = new multi-tone option //3 = reverse multi-tone option seta cg_crosshairHitStyle "5" //Styles breakdown as follows: //0 = Off (the default) //1 = Colorize the crosshair based on damage dealt. //2 = Colorize the crosshair to color designated by cg_crosshairHitColor. //3 = Pulse the crosshair. (This is an exaggerated/scaled pulse) //4 = Colorize by damage and Pulse the crosshair. //5 = Colorize by cg_crosshairHitColor and Pulse the crosshair. //6 = Pulse the crosshair with a smaller pulse. (same size as the cg_crosshairPulse uses when picking items up) //7 = Colorize by damage and pulse with smaller pulse. //8 = Colorize by cg_crosshairHitColor and pulse with smaller pulse. seta cg_crosshairHitColor "1"
weapons.cfg
////////////////////////// // @file weapons.cfg // @author newbi ////////////////////////// //weapon 1 Gaunt bind q "weapon 1; cg_fov 130; sensitivity 2.75; cg_drawcrosshair 2; cg_crosshairsize 48; cg_drawgun 2; cg_crosshairColor 1; cg_crosshairHealth 1" //weapon 2 MG bind SPACE "weapon 2; cg_fov 120; sensitivity 1.55; cg_drawcrosshair 9; cg_crosshairsize 24; cg_drawgun 0; cg_crosshairColor 6; cg_crosshairHealth 1" //weapon 3 Shotty bind MWHEELDOWN "weapon 3; cg_fov 130; sensitivity 1.75; cg_drawcrosshair 4; cg_crosshairsize 40; cg_drawgun 0; cg_crosshairColor 4; cg_crosshairHealth 0" //weapon 4 Nades bind x "weapon 4; sensitivity 3.75; cg_fov 120; cg_drawcrosshair 7; cg_crosshairsize 48; cg_drawgun 0; cg_crosshairColor 2; cg_crosshairHealth 0" //weapon 5 Rockets bind MWHEELUP "weapon 5; sensitivity 3.75; cg_fov 120; cg_drawcrosshair 10; cg_crosshairsize 16; cg_drawgun 0; cg_crosshairColor 2; cg_crosshairHealth 1" //weapon 6 LG bind e "weapon 6; sensitivity 1.25; cg_fov 120; cg_drawcrosshair 3; cg_crosshairsize 24; cg_drawgun 0; cg_crosshairColor 7; cg_crosshairHealth 1" //weapon 7 Rail bind SHIFT "weapon 7; sensitivity 1.00; cg_fov 120; cg_drawcrosshair 6; cg_crosshairsize 48; cg_drawgun 0; cg_crosshairColor 3; cg_crosshairHealth 0" //weapon 8 Plasma bind r "weapon 8; sensitivity 1.25; cg_drawcrosshair 1; cg_crosshairsize 40; cg_drawgun 0; cg_crosshairColor 5; cg_crosshairHealth 1" //weapon 9 BFG bind f "weapon 9; sensitivity 2.75; cg_fov 120; cg_drawcrosshair 3; cg_crosshairsize 32; cg_drawgun 0; cg_crosshairColor 4; cg_crosshairHealth 0" //weapon 10 n/a bind g "weapon 10" //weapon 11 TA Nail Gun bind [ "weapon 11 sensitivity 4.75; cg_fov 120; cg_drawcrosshair 5; cg_crosshairsize 32; cg_drawgun 0; cg_crosshairColor 4; cg_crosshairHealth 1" //weapon 12 TA Proxy Mines bind ] "weapon 12 sensitivity 2.75; cg_fov 90; cg_drawcrosshair 8; cg_crosshairsize 32; cg_drawgun 0; cg_crosshairColor 2; cg_crosshairHealth 0" //weapon 13 TA ChainGun bind \ "weapon 13 sensitivity 2.25; cg_fov 120; cg_drawcrosshair 9; cg_crosshairsize 24; cg_drawgun 0; cg_crosshairColor 3; cg_crosshairHealth 1"
misc.cfg
////////////////////////// // @file misc.cfg // @author newbi ////////////////////////// //record toggle seta demooff "stoprecord; set nextdemo vstr demoon" seta demoon "record; set nextdemo vstr demooff" set nextdemo "vstr demoon" //chat mute seta muteon "play sound/misc/menu2;cg_teamchatsonly 1; cg_chatBeep 0; tell_buddy newbi mute on; set mute vstr muteoff" seta muteoff "play sound/misc/menu2;cg_teamchatsonly 0; cg_chatBeep 1; tell_buddy newbi mute off; set mute vstr muteon" set mute "vstr muteon" //autotroll //****************************************************************************************************** //Insults attacker //****************************************************************************************************** seta insulta0 "tell_attacker you hit like my grandmother!; set insulta vstr insulta1" seta insulta1 "tell_attacker is that a mosquito?; set insulta vstr insulta2" seta insulta2 "tell_attacker your puny weapons are no match against my armor!; set insulta vstr insulta3" seta insulta3 "tell_attacker you think that hurt?; set insulta vstr insulta4" seta insulta4 "tell_attacker get the fuck off of my back!; set insulta vstr insulta5" seta insulta5 "tell_attacker shoo fly you bother me; set insulta vstr insulta6" seta insulta6 "tell_attacker was that a rocket in my ass or...; set insulta vstr insulta7" seta insulta7 "tell_attacker Pull your head out of your ass, DAD.; set insulta vstr insulta8" seta insulta8 "tell_attacker oooh! I'm sooo scared!; set insulta vstr insulta9" seta insulta9 "tell_attacker get in tha choppa *a.s.*; set insulta vstr insulta10" seta insulta10 "tell_attacker you fight like a woman; set insulta vstr insulta11" seta insulta11 "tell_attacker Try that again; set insulta vstr insulta12" seta insulta12 "tell_attacker ^1~STOP ~IT! ^8that tickles!; set insulta vstr insulta13" seta insulta13 "tell_attacker Son of A...!; set insulta vstr insulta14" seta insulta14 "tell_attacker That'll leave a mark!; set insulta vstr insulta15" seta insulta15 "tell_attacker let off some steam *a.s.*; set insulta vstr insulta16" seta insulta16 "tell_attacker I'm gonna feel that in the morning.; set insulta vstr insulta17" seta insulta17 "tell_attacker pansy; set insulta vstr insulta18" seta insulta18 "tell_attacker come get some!; set insulta vstr insulta19" seta insulta19 "tell_attacker gimme some sugar baby; set insulta vstr insulta20" seta insulta20 "tell_attacker I am ^1~GOD ^8here; set insulta vstr insulta21" seta insulta21 "tell_attacker I am ^1~GOD ^8here; set insulta vstr insulta22" seta insulta22 "tell_attacker Somebody wants the smack down!; set insulta vstr insulta0" set autotroll vstr insulta0 //autorj old way, causes cheating accuzations and is in accurate //seta rjump "+lookdown;wait;wait;+attack;+moveup;wait;wait;-attack;-moveup;-lookdown;wait;wait;centerview" //autojr new way, move effective, less cheating accuzations seta rjump "+attack;wait;+moveup;wait;wait;-moveup;wait;-attack"
newbi’s complete config (66 clicks)










