PDA

View Full Version : General Death's Adding more vote options to spearhead *V2.11*


rudedog
02-25-2005, 11:18 PM
This is an update to General Death's guide to adding votes in SpearHead.

This update works only with the 2.11 patch installed. If you are still using the original 1.11 patch you need to refer to General Death's guide. Lets get started.

Part one.
A. The first thing you need to do is have a program called PakScape. You can get it at our site in the downloads section by clicking here (http://www.ocgamers.net/) .This is what you will use to view the pk3 files in Medal of Honor and to also make new pk3 files.

B. Goto the Medal of Honor directory through My Computer. Open the Mainta directory. Find the file pk2.pk3. Copy it to your desktop so we can work with it easliy.

C. Now we want to open up the desktop copy of pk2.pk3. Open PakScape. Once opened, find the file called callvote.cfg. Highlight it and copy it to your desktop. Now is the time to edit the callvote.cfg file to whatever you want our players to be able to vote on. Here is a sample callvote.cfg file to get you started.


// callvote options script
//-------------------------
// This is a server-side file that is used to specify what things can be voted for,
// and what the valid voting options for them are. The options clients are allowed
// to do a callvote on are determined by the settings in this file on the server.

// the format is as follows:
// "Option Name" "Command"
// {
// "Choice Name 1" "VoteString1"
// "Choice Name 2" "VoteString2"
// ...
// }

// "Option Name" is the name that will be displayed for that voting option.
// Command is the command that a change will be voted for.
// is an optional parameter specifying what kind of option it is
// Valid option types are:
// - "nochoices" : Provides no additional choices are info entry, it just is. (default)
// - "list" : Provides a list of choices for the option
// - "text" : Pops up a text entry window for the option
// - "integer" : Pops up an integer number entry window for the option
// - "float" : Pops up a floating point number entry window for the option
// - "client" : Pops up a list of players in the game for the option
// - "clientnotself" : Pops up a list of other players in the game for the option
// { and } specify the begining and end of a list of choices for a voting
// option. No list should be specified for any type besides list.


"Free-For-All Map" "g_gametype" list
{
"Bahnhof - dm/MP_Bahnhof_DM" "1; map dm/MP_Bahnhof_DM"
"Bazaar - dm/MP_Bazaar_DM" "1; map dm/MP_Bazaar_DM"
"Brest - dm/MP_Brest_DM" "1; map dm/MP_Brest_DM"
"Holland - dm/MP_Holland_DM" "1; map dm/MP_Holland_DM"
"Stadt - dm/MP_Stadt_DM" "1; map dm/MP_Stadt_DM"
"Gewitter - dm/MP_Gewitter_DM" "1; map dm/MP_Gewitter_DM"
"Unterseite - dm/MP_Unterseite_DM" "1; map dm/MP_Unterseite_DM"
"Verschneit - dm/MP_Verschneit_DM" "1; map dm/MP_Verschneit_DM"
"Southern France - dm/mohdm1" "1; map dm/mohdm1"
"Destroyed Village - dm/mohdm2" "1; map dm/mohdm2"
"Remagen - dm/mohdm3" "1; map dm/mohdm3"
"The Crossroads - dm/mohdm4" "1; map dm/mohdm4"
"Snowy Park - dm/mohdm5" "1; map dm/mohdm5"
"Stalingrad - dm/mohdm6" "1; map dm/mohdm6"
"Algiers - dm/mohdm7" "1; map dm/mohdm7"
"Ardennes - obj/MP_Ardennes_TOW" "1;map obj/MP_Ardennes_TOW"
"Berlin - obj/MP_Berlin_TOW" "1;map obj/MP_Berlin_TOW"
"Druckkammern - obj/MP_Druckkammern_TOW" "1;map obj/MP_Druckkammern_TOW"
"Flughafen - obj/MP_Flughafen_TOW" "1;map obj/MP_Flughafen_TOW"
}

"Team-Match Map" "g_gametype" list
{
"Bahnhof - dm/MP_Bahnhof_DM" "2; map dm/MP_Bahnhof_DM"
"Bazaar - dm/MP_Bazaar_DM" "2; map dm/MP_Bazaar_DM"
"Brest - dm/MP_Brest_DM" "2; map dm/MP_Brest_DM"
"Holland - dm/MP_Holland_DM" "2; map dm/MP_Holland_DM"
"Stadt - dm/MP_Stadt_DM" "2; map dm/MP_Stadt_DM"
"Gewitter - dm/MP_Gewitter_DM" "2; map dm/MP_Gewitter_DM"
"Unterseite - dm/MP_Unterseite_DM" "2; map dm/MP_Unterseite_DM"
"Verschneit - dm/MP_Verschneit_DM" "2; map dm/MP_Verschneit_DM"
"Southern France - dm/mohdm1" "2; map dm/mohdm1"
"Destroyed Village - dm/mohdm2" "2; map dm/mohdm2"
"Remagen - dm/mohdm3" "2; map dm/mohdm3"
"The Crossroads - dm/mohdm4" "2; map dm/mohdm4"
"Snowy Park - dm/mohdm5" "2; map dm/mohdm5"
"Stalingrad - dm/mohdm6" "2; map dm/mohdm6"
"Algiers - dm/mohdm7" "2; map dm/mohdm7"
"Ardennes - obj/MP_Ardennes_TOW" "2;map obj/MP_Ardennes_TOW"
"Berlin - obj/MP_Berlin_TOW" "2;map obj/MP_Berlin_TOW"
"Druckkammern - obj/MP_Druckkammern_TOW" "2;map obj/MP_Druckkammern_TOW"
"Flughafen - obj/MP_Flughafen_TOW" "2;map obj/MP_Flughafen_TOW"
}

"Round-Based-Match Map" "g_gametype" list
{
"Bahnhof - dm/MP_Bahnhof_DM" "3; map dm/MP_Bahnhof_DM"
"Bazaar - dm/MP_Bazaar_DM" "3; map dm/MP_Bazaar_DM"
"Brest - dm/MP_Brest_DM" "3; map dm/MP_Brest_DM"
"Holland - dm/MP_Holland_DM" "3; map dm/MP_Holland_DM"
"Stadt - dm/MP_Stadt_DM" "3; map dm/MP_Stadt_DM"
"Gewitter - dm/MP_Gewitter_DM" "3; map dm/MP_Gewitter_DM"
"Unterseite - dm/MP_Unterseite_DM" "3; map dm/MP_Unterseite_DM"
"Verschneit - dm/MP_Verschneit_DM" "3; map dm/MP_Verschneit_DM"
"Southern France - dm/mohdm1" "3; map dm/mohdm1"
"Destroyed Village - dm/mohdm2" "3; map dm/mohdm2"
"Remagen - dm/mohdm3" "3; map dm/mohdm3"
"The Crossroads - dm/mohdm4" "3; map dm/mohdm4"
"Snowy Park - dm/mohdm5" "3; map dm/mohdm5"
"Stalingrad - dm/mohdm6" "3; map dm/mohdm6"
"Algiers - dm/mohdm7" "3; map dm/mohdm7"
"Ardennes - obj/MP_Ardennes_TOW" "3;map obj/MP_Ardennes_TOW"
"Berlin - obj/MP_Berlin_TOW" "3;map obj/MP_Berlin_TOW"
"Druckkammern - obj/MP_Druckkammern_TOW" "3;map obj/MP_Druckkammern_TOW"
"Flughafen - obj/MP_Flughafen_TOW" "3;map obj/MP_Flughafen_TOW"
}

// Loads an objective map and makes sure the game is in objective mode
"Objective Map" "g_gametype" list
{
"The Hunt - obj/obj_team1" "4;map obj/obj_team1"
"V2 Rocket Facility - obj/obj_team2" "4;map obj/obj_team2"
"Omaha Beach - obj/obj_team3" "4;map obj/obj_team3"
"The Bridge - obj/obj_team4" "4;map obj/obj_team4"
}

// Loads an objective map and makes sure the game is in objective mode
"Tug-of-War Map" "g_gametype" list
{
"Ardennes - obj/MP_Ardennes_TOW" "5;map obj/MP_Ardennes_TOW"
"Berlin - obj/MP_Berlin_TOW" "5;map obj/MP_Berlin_TOW"
"Druckkammern - obj/MP_Druckkammern_TOW" "5;map obj/MP_Druckkammern_TOW"
"Flughafen - obj/MP_Flughafen_TOW" "5;map obj/MP_Flughafen_TOW"
}

"Next Map" "nextmap" nochoices

"Disallow Weapon" "" list
{
"Rifle" "g_weapon_rifle 0"
"Sniper Rifle" "g_weapon_sniper 0"
"Submachinegun" "g_weapon_smg 0"
"Machinegun" "g_weapon_mg 0"
"Rocket Launcher" "g_weapon_rocket 0"
"Shotgun" "g_weapon_shotgun 0"
}

"Allow Weapon" "" list
{
"Rifle" "g_weapon_rifle 1"
"Sniper Rifle" "g_weapon_sniper 1"
"Submachinegun" "g_weapon_smg 1"
"Machinegun" "g_weapon_mg 1"
"Rocket Launcher" "g_weapon_rocket 1"
"Shotgun" "g_weapon_shotgun 1"
}

"Only One Weapon" "" list
{
"Rifle" "g_weapon_rifle 1;g_weapon_sniper 0;g_weapon_smg 0;g_weapon_mg 0;g_weapon_rocket 0;g_weapon_shotgun 0"
"Sniper Rifle" "g_weapon_rifle 0;g_weapon_sniper 1;g_weapon_smg 0;g_weapon_mg 0;g_weapon_rocket 0;g_weapon_shotgun 0"
"Submachinegun" "g_weapon_rifle 0;g_weapon_sniper 0;g_weapon_smg 1;g_weapon_mg 0;g_weapon_rocket 0;g_weapon_shotgun 0"
"Machinegun" "g_weapon_rifle 0;g_weapon_sniper 0;g_weapon_smg 0;g_weapon_mg 1;g_weapon_rocket 0;g_weapon_shotgun 0"
"Rocket Launcher" "g_weapon_rifle 0;g_weapon_sniper 0;g_weapon_smg 0;g_weapon_mg 0;g_weapon_rocket 1;g_weapon_shotgun 0"
"Shotgun" "g_weapon_rifle 0;g_weapon_sniper 0;g_weapon_smg 0;g_weapon_mg 0;g_weapon_rocket 0;g_weapon_shotgun 1"
"Pistol" "g_weapon_rifle 0;g_weapon_sniper 0;g_weapon_smg 0;g_weapon_mg 0;g_weapon_rocket 0;g_weapon_shotgun 0"
}

//"Allow All Weapons" "g_weapon_rifle 1;g_weapon_sniper 1;g_weapon_smg 1;g_weapon_mg 1;g_weapon_rocket 1;g_weapon_shotgun 1" nochoices

//"Health Drop" "set" list
//{
// "On" "g_healthdrop 1"
// "Off" "g_healthdrop 0"
//}

//"Realistic Mode" "set" list
//{
// "On" "g_realismmode 1;reloadmap"
// "Off" "g_realismmode 0;reloadmap"
//}

//"Friendly Fire" "set" list
//{
// "On" "g_teamdamage 1"
// "Off" "g_teamdamage 0"
//}

//"Score Limit" "fraglimit" integer

//"Time Limit" "timelimit" integer

//"Allow Spectator Chat To All" "set" list
//{
// "On" "g_spectate_allow_full_chat 1"
// "Off" "g_spectate_allow_full_chat 0"
//}

"Kick Client" "clientkick" clientnotself

//"Heal Rate" "set" list
//{
// "Instant" "g_healrate 0"
// "5 per Second" "g_healrate 5"
// "10 per Second" "g_healrate 10"
// "20 per Second" "g_healrate 20"
//}

//"Team Spawn Delay" "set" list
//{
// "0 Seconds" "sv_team_spawn_interval 0"
// "5 Seconds" "sv_team_spawn_interval 5"
// "10 Seconds" "sv_team_spawn_interval 10"
// "15 Seconds" "sv_team_spawn_interval 15"
// "20 Seconds" "sv_team_spawn_interval 20"
// "25 Seconds" "sv_team_spawn_interval 25"
// "30 Seconds" "sv_team_spawn_interval 30"
// "45 Seconds" "sv_team_spawn_interval 45"
// "60 Seconds" "sv_team_spawn_interval 60"
//}

"Enable Axis Shotgun" "set" list
{
"on" "dmflags 1048576"
"off" "dmflags 0"
}

//"Lean + Strafe Option" "set" list
//{
//"on" "dmflags 262144"
//"off" "dmflags 0"
//}




*NOTE* Make sure to keep the standard spacing and parameters of the config file. Meaning there needs to be a space in between each voting command and one empty line and the end of the file. Anything with "//" in front of it will be ignored by Medal of Honor so you can use that to turn off voting options you dont want used. I like it better than deleting because you can always go back in the future to turn it on if you want.


Part two.
A. Now that we have the file edited the way we want, its time to get it ready to run. Go back to PakScape and click the new file button.

B. Left click in the large window on right side of PakScape. This enables you to import files to your new file.

C. Now click on Object in Menu and then click import file. Choose your edited callvote.cfg file and click open. This puts the callvote file in your new pk3 file.

D. Now click file in Menu and then click save. Name your new file vote and choose Quake 3 Pak (*.pk3) as your file type. Thats it. The last thing to do is upload your new file (vote.pk3) to your server in the mainta directory. Restart your server and the new vote changes will take effect.

I hope you find this guide useful. It really allows you to personalize your server to what you want and keep people from abusing unwanted voting options. Feel free to visit us at http://ocgamers.net.