the Hunt FFA

General Discussion about Medal of Honor: Allied Assault and Pacific Assault.

Moderator: Moderators

Post Reply
iron_fist
Private
Posts: 5
Joined: Tue Oct 04, 2005 7:08 pm

the Hunt FFA

Post by iron_fist »

does anyone know where i can get the HUNT FFA server side. I have V2 and would love to have the Hune also.

Thanks
lizardkid
Windows Zealot
Posts: 3672
Joined: Fri Mar 19, 2004 7:16 pm
Location: Helena MT

Post by lizardkid »

What do you mean? The Hunt comes with MOH, every version has it. If you want it FFA type this in console.

rcon g_gametype 1
rcon restart

make sure your rconpassword is in.
Moderator

۞
Abyssus pro sapientia
Olympus pro Ignarus
۞

AND STUFF™ © 2006
@(...:.:...)@
Corporal
Posts: 37
Joined: Wed Nov 23, 2005 3:42 pm
Location: Cambridge UK

Post by @(...:.:...)@ »

Nein, only BT comes with ffa for all the obj maps (exept v2). You can play ffa on the others, but the spawn points will be wrong, and you can't respawn.

Paste this into wordpad or notepad etc, and save it as obj_team1.scr

This is the script from Breakthrough, with a few changes to make the scoreboard text work properly.

Code: Select all

// THE HUNT
// ARCHITECTURE: NED/STEVE
// SCRIPTING: NED and lots of help from ZIED


// -------------------------------------------------------------------------------------
main:
// -------------------------------------------------------------------------------------

	level.gametype = int( getcvar( g_gametype ) )

	//Update the map if we are not in obj mode
	if( level.gametype == 1 )
	{
		thread update_map
	}

	if( level.gametype == 4 )
	{
		setcvar "g_obj_alliedtext1" "- Find and destroy" 
		setcvar "g_obj_alliedtext2" "the Flak 88 cannon"
		setcvar "g_obj_alliedtext3" ""

		setcvar "g_obj_axistext1" "- Defend the Flak 88"
		setcvar "g_obj_axistext2" "cannon"
		setcvar "g_obj_axistext3" " "
	}
	else if( level.gametype == 1 )
	{
		setcvar "g_obj_alliedtext1" "The Hunt"
		setcvar "g_obj_alliedtext2" " "
		setcvar "g_obj_alliedtext3" "FFA"

		setcvar "g_obj_axistext1" " "
		setcvar "g_obj_axistext2" " "
		setcvar "g_obj_axistext3" " "
	}
	else if( level.gametype != 4 )	//Just incase, it proberbly doesnt need the check, but I don't have time to check in MoH, so yeah.
	{
		setcvar "g_obj_alliedtext1" "The Hunt"
		setcvar "g_obj_alliedtext2" " "
		setcvar "g_obj_alliedtext3" " "

		setcvar "g_obj_axistext1" " "
		setcvar "g_obj_axistext2" " "
		setcvar "g_obj_axistext3" " "
	}

	setcvar "g_scoreboardpic" "objdm1"

	///////////////////////
	level waittill prespawn
	///////////////////////

	//*** Precache Dm Stuff
	exec global/DMprecache.scr

	level.script = maps/obj/obj_team1.scr
	exec global/ambient.scr obj_team1

	////////////////////
	level waittill spawn
	////////////////////
	
	$world farclipoverride -1

	if( level.gametype > 2 )
	{
		thread round_based_thread
	}

	if( level.gametype == 4 )
	{
		$flak88_weapon1_trigger thread flak88_random_setup $flak88_weapon1_explosive $flak88_weapon1 $flak88_target1 $flak88_base1 4
		$flak88_weapon1_explosive thread global/obj_dm.scr::bomb_thinker
		
		thread allies_win_thread
		$flak88_weapon1_explosive thread axis_win_timer
	}
	else
	{
		//Setup respawing etc.
		level.dmrespawning		= 1 //1 or 0
		level.clockside			= kills
		
		$flak88_weapon1_trigger remove
		$flak88_weapon1_explosive remove
		$flak88_weapon1 remove
		$flak88_base1 remove
	}

end


// -------------------------------------------------------------------------------------
almost_there1:
// -------------------------------------------------------------------------------------
	
	//only want this message in obj mode	
	if( level.gametype != 4 )
		end

	 //called by BSP
	 local.player = parm.other
	 if ( (local.player.dmteam != "allies") || (level.perimeter_breached == 1) )
		end
		
	 iprintlnbold "The Allies have breached the perimeter!"
	 level.perimeter_breached = 1 

	end

// -------------------------------------------------------------------------------------
allies_win_thread:
// -------------------------------------------------------------------------------------

	 while(level.targets_destroyed < level.targets_to_destroy)
		waitframe
	
	teamwin allies

	end

//*** --------------------------------------------
//*** "Axis Victory"
//*** --------------------------------------------

// -------------------------------------------------------------------------------------
axis_win_timer:
// -------------------------------------------------------------------------------------

	level waittill axiswin

	end

// -------------------------------------------------------------------------------------
flak88_random_setup local.explosive local.weapon local.point_at local.base local.number_of_locations:
// -------------------------------------------------------------------------------------

	local.location = ((randomint (local.number_of_locations)) + 1)

	local.trigger_offset = self.origin - local.base.origin 
	local.weapon_offset = local.weapon.origin - local.base.origin 
	local.explosive_offset = local.explosive.origin - local.base.origin 
	local.point_at_offset = local.point_at.origin - local.base.origin 

	local.location = $("flak88_location" + local.location)
	local.base.origin = local.location.origin


	self.origin 		= local.trigger_offset 		+ local.base.origin 
	local.weapon.origin 	= local.weapon_offset 		+ local.base.origin 
	local.explosive.origin 	= local.explosive_offset 	+ local.base.origin 
	local.point_at.origin 	= local.point_at_offset 	+ local.base.origin 

	local.weapon setaimtarget local.point_at

	end	


//***********************************************
// first thread... controls allies using the trigger
//***********************************************
// -------------------------------------------------------------------------------------
flak88_set_explosive_thinker local.bomb local.weapon:
// -------------------------------------------------------------------------------------

	local.bomb model items/pulse_explosive.tik

	while (1)
	{
		println "waittill trigger " self
		self waittill trigger

		local.player = parm.other
		//"local.player.dmteam", can be 'spectator', 'freeforall', 'allies' or 'axis'
		if (local.player.dmteam !="allies") 
		{
			goto flak88_set_explosive_thinker local.bomb local.weapon
			println "failed dmteam check" local.player.dmteam
			
		}
	
		local.counter = 0

		//add check for allies vs nazi
		while ( (Isalive local.player) && (local.player cansee local.bomb level.bombusefov level.bomb_use_distance) && (local.player.useheld == 1) )
		{
			local.counter++
			if ((local.counter % 5) == 0)
			{
				level.subtitleX = 100
				level.subtitleY = 50
				locprint level.subtitleX level.subtitleY("set "+ local.counter)
			}
			wait .1
			if (local.counter >= level.bomb_set_time)
			{
				thread wait_for_axis local.bomb local.weapon
				thread waittill_explode local.bomb local.weapon
				local.bomb.live = 1

				end
			}
		}
		
		println "usetrigger but failed check" 
		if ! (local.bomb cansee local.player level.bombusefov  level.bomb_use_distance) 
			println "failed cansee check"	
		if ! (local.player.useheld == 1)
			println "failed useheld check" local.player.useheld
		
	}

	end


//***********************************************
// second thread... controls axis using the trigger
//***********************************************
// -------------------------------------------------------------------------------------
wait_for_axis local.bomb local.weapon:
// -------------------------------------------------------------------------------------
	
	while (1)
	{
		self waittill trigger

		local.player = parm.other
		//"local.player.dmteam", can be 'spectator', 'freeforall', 'allies' or 'axis'
		//add check for nazi 
		if (local.player.dmteam !="axis") 
		{      
			println "failed dmteam check" local.player.dmteam
			goto wait_for_axis local.bomb local.weapon			
		}

		local.counter = 0


		while ( (Isalive local.player) && (local.player cansee local.bomb level.bombusefov  level.bomb_use_distance) && (local.player.useheld == 1) )
		{
			local.counter++
			if ((local.counter % 5) == 0)
			{
				level.subtitleX = 100
				level.subtitleY = 70
				locprint level.subtitleX level.subtitleY ("defuse "+local.counter)
			}
			wait .1
			if (local.counter >= level.bomb_defuse_time)
			{
				thread flak88_set_explosive_thinker local.bomb local.weapon //start first thread again
				local.bomb.live = 0
				
				end
			}
		}
	}

	end


//***********************************************
// third thread... times the bomb and makes it explode at the right time
//***********************************************
// -------------------------------------------------------------------------------------
waittill_explode local.bomb local.weapon:
// -------------------------------------------------------------------------------------

	local.bomb model items/explosive.tik
	local.bomb playsound plantbomb

	self loopsound bombtick
	
	local.start_time = level.time
	while (level.time < (local.start_time + level.bomb_tick_time))
	{
		wait .1
		if (local.bomb.live != 1)
		{
			self stoploopsound
			end
		}
 	}
 	self stoploopsound
	thread explode local.bomb local.weapon
	self remove

	end

// -------------------------------------------------------------------------------------
explode local.bomb local.weapon:
// -------------------------------------------------------------------------------------
	
	///// shake the players view
	thread jitter_large 0
	local.temp = spawn script_model
	local.temp.origin = self.origin
	local.temp model "fx/fx_flak88_explosion.tik"
	local.temp anim start
	local.temp playsound explode_aagun
 
	local.weapon model models/statweapons/flak88_d.tik
	//origin   damage   radius    constant damage or not
	radiusdamage local.bomb.origin  level.bomb_damage level.bomb_explosion_radius
	local.bomb hide

	teamwin allies
	
	end


//******************************
// jitter large effect
// jitter_large [delay]
//******************************
// -------------------------------------------------------------------------------------
jitter_large local.time:
// -------------------------------------------------------------------------------------

	if (local.time)
		wait local.time

	waitexec global/earthquake.scr .35 10 0 0

	waitexec global/earthquake.scr .23 6 0 0

	waitexec global/earthquake.scr 1 1 0 0

	waitexec global/earthquake.scr 1.25 .3 0 1

	end

// -------------------------------------------------------------------------------------
round_based_thread:
// -------------------------------------------------------------------------------------

	level.defusing_team = "axis"
	level.planting_team = "allies"
	level.targets_to_destroy = 1

	// set the parameters for this round based match
	level.dmrespawning = 0 // 1 or 0
	level.dmroundlimit = 5 // round time limit in minutes
	level.clockside = axis // set to axis, allies, kills, or draw

	//////////////////////////
	level waittill roundstart
	//////////////////////////

	end

// -------------------------------------------------------------------------------------
update_map:
// -------------------------------------------------------------------------------------
	
	//spawn a barrier to block the dead end road
	local.barbwire = spawn script_model model static/barbwire.tik	
	local.barbwire.origin = ( 1307.74 4947.03 -248.90 )	
	local.barbwire angle 315		

	local.barbwire2 = spawn script_model model static/barbwire.tik
	local.barbwire2.origin = ( 1487.74 5077.03 -250.90 )
	local.barbwire2 angle 315

	local.hedgehog = spawn script_model model static/hedgehog.tik
	local.hedgehog.origin = ( 1270.85 4893.20 -234.00 )
	local.hedgehog angle 315		

	local.hedgehog2 = spawn script_model model static/hedgehog.tik
	local.hedgehog2.origin = ( 1546.85 5125.20 -232.00 )
	local.hedgehog2 angle 315		

	local.hedgehog3 = spawn script_model model static/hedgehog.tik
	local.hedgehog3.origin = ( 1414.85 5017.20 -234.00 )
	local.hedgehog3 angle 315		

	//spawners
	local.spawner = spawn info_player_deathmatch
	local.spawner.origin = ( 3544 2794 -222 )

	local.spawner2 = spawn info_player_deathmatch
	local.spawner2.origin = ( 1530 4886 -216 )
	local.spawner2 angle 315

	local.spawner3 = spawn info_player_deathmatch
	local.spawner3.origin = ( 2728 4794 -216 )
	local.spawner3 angle 225

	local.spawner4 = spawn info_player_deathmatch
	local.spawner4.origin = ( 998 3814 -116 )
	local.spawner4 angle 45

	local.spawner5 = spawn info_player_deathmatch
	local.spawner5.origin = ( 1400 3674 -174 )
	local.spawner5 angle 315

	local.spawner6 = spawn info_player_deathmatch
	local.spawner6.origin = ( 3680 4642 -210 )
	local.spawner6 angle 225

	local.spawner7 = spawn info_player_deathmatch
	local.spawner7.origin = ( 5284 3718 -296 )
	local.spawner7 angle 180

	local.spawner8 = spawn info_player_deathmatch
	local.spawner8.origin = ( 3420 2258 -194 )
	local.spawner8 angle 90

	local.spawner9 = spawn info_player_deathmatch
	local.spawner9.origin = ( 3884 608 -300 )
	local.spawner9 angle 135

	local.spawner10 = spawn info_player_deathmatch
	local.spawner10.origin = ( 3104 446 -336 )
	local.spawner10 angle 315

	local.spawner11 = spawn info_player_deathmatch
	local.spawner11.origin = ( 5450 -308 -336 )
	local.spawner11 angle 135

	local.spawner12 = spawn info_player_deathmatch
	local.spawner12.origin = ( 4528 -926 -336 )
	local.spawner12 angle 135

	local.spawner13 = spawn info_player_deathmatch
	local.spawner13.origin = ( 2858 -1884 -336 )
	local.spawner13 angle 135

	local.spawner14 = spawn info_player_deathmatch
	local.spawner14.origin = ( -86 -1382 -336 )
	local.spawner14 angle 45

	local.spawner15 = spawn info_player_deathmatch
	local.spawner15.origin = ( 1452 12 -266 )
	local.spawner15 angle 270

	local.spawner16 = spawn info_player_deathmatch
	local.spawner16.origin = ( 3414 1836 -266 )
	local.spawner16 angle 270

	local.spawner17 = spawn info_player_deathmatch
	local.spawner17.origin = ( 4032 890 -300 )
	local.spawner17 angle 315

	local.spawner18 = spawn info_player_deathmatch
	local.spawner18.origin = ( 5200 2626 -300 )
	local.spawner18 angle 135

	local.spawner19 = spawn info_player_deathmatch
	local.spawner19.origin = ( 5506 3070 -272 )
	local.spawner19 angle 180

	local.spawner20 = spawn info_player_deathmatch
	local.spawner20.origin = ( 3862 4340 -236 )
	local.spawner20 angle 245

	local.spawner21 = spawn info_player_deathmatch
	local.spawner21.origin = ( 3326 3296 -236 )
	local.spawner21 angle 270

	local.spawner22 = spawn info_player_deathmatch
	local.spawner22.origin = ( 1898 3328 -236 )
	local.spawner22 angle 315

	local.spawner23 = spawn info_player_deathmatch
	local.spawner23.origin = ( 2216 4246 -220 )
	local.spawner23 angle 225

	local.spawner24 = spawn info_player_deathmatch
	local.spawner24.origin = ( 5140 916 -306 )
	local.spawner24 angle 225

	local.spawner25 = spawn info_player_deathmatch
	local.spawner25.origin = ( 1482 -1910 -330 )
	local.spawner25 angle 90

	local.spawner26 = spawn info_player_deathmatch
	local.spawner26.origin = ( 2932 410 -338 )
	local.spawner26 angle 135

	end
Then, if you have my v2 ffa mod, open that up with pakscape (you can get it here: http://users.1st.net/kimberly/Tutorial/down.htm ). With the v2 ffa pk3 open in pakscape, browse to the folder "maps" then "obj" and paste obj_team1.scr into that, and save it. :)
Image

<3 arrays.
Post Reply