Page 3 of 3

Posted: Mon Aug 15, 2005 3:55 pm
by GiffE1118
made those changes and heres what i get in console
==== CleanupGame ====
Adding script: 'dm/mohdm6_precache.scr'



bad token:
TOKEN_LEFT_BRACES:
{

{ (global/tt.scr, 98)
^

^~^~^ Script file compile error: Couldn't parse 'global/tt.scr'
ScriptMaster::GetScript: Script 'global//tt.scr' was not properly loaded

-------------------- Spawning Entities -----------------------
soundtrack switched to .
-------------------- Actual Spawning Entities -----------------------
-------------------- Actual Spawning Entities Done ------------------ 8 ms
^~^~^ Event 'dmtracerfrequency' does not exist.
^~^~^ Failed execution of event for class 'TurretGun'
^~^~^ Entity::ProcessInitCommands: Bad init server command 'dmtracerfrequency' in 'models/statweapons/mg42_gun.tik'
0 teams with 0 entities
unmatching {} pair
file 'maps/dm/mohdm6.scr', source pos 10461:

unexpected end of file found
file 'maps/dm/mohdm6.scr', source pos 10461:

^~^~^ Script file compile error: Couldn't parse 'maps/dm/mohdm6.scr'
ScriptMaster::GetScript: Script 'maps/dm/mohdm6.scr' was not properly loaded


39 entities spawned
115 simple entities spawned
0 entities inhibited
-------------------- Spawning Entities Done ------------------ 15 ms
Going from CS_PRIMED to CS_ACTIVE for =|95th|=GenDonut
------ Server Initialization Complete ------ 0.28 seconds
------- S_StopAllSounds (don't stop music) -------
------- S_StopAllSounds Complete-------
Called FadeSound with: 0.000000
Called FadeSound with: 0.000000
=|95th|=GenDonut has entered the battle
----- Server Shutdown -----
==== ShutdownGame ====
---------------------------
------- S_StopAllSounds (stop music) -------
MUSIC: changing from [ normal | normal ] to [ none | none ]
------- S_StopAllSounds Complete-------
Called FadeSound with: 0.000000
------- S_StopAllSounds (stop music) -------
------- S_StopAllSounds Complete-------
----- CL_Shutdown -----
------- S_StopAllSounds (stop music) -------
------- S_StopAllSounds Complete-------
Called FadeSound with: 0.000000
------- S_StopAllSounds (stop music) -------
------- S_StopAllSounds Complete-------
------- Sound Shutdown (full) -------
------- Sound Shutdown Complete -------
RE_Shutdown( 1 )
Shutting down OpenGL subsystem
...wglMakeCurrent( NULL, NULL ): success
...deleting GL context: success
...releasing DC: success
...hiding window
...destroying window
...window successfully destroyed
...resetting display
...shutting down QGL
...unloading OpenGL DLL
by the looks of that im missing a { } some where


new script:

Code: Select all

main:

// set scoreboard messages
setcvar "g_obj_alliedtext1" "Stalingrad"
setcvar "g_obj_alliedtext2" ""
setcvar "g_obj_alliedtext3" ""
setcvar "g_obj_axistext1" ""
setcvar "g_obj_axistext2" ""
setcvar "g_obj_axistext3" ""

setcvar "g_scoreboardpic" "mohdm6"

	// call additional stuff for playing this map round based is needed
	if(level.roundbased)
		thread roundbasedthread

	level waittill prespawn
	
	//*** Precache Dm Stuff
	exec global/DMprecache.scr

	exec global/door_locked.scr::lock
	level.script = maps/dm/mohdm6.scr
	exec global/ambient.scr mohdm6
	

thread player_monitor
thread counter_setup
thread hud_counter

	level waittill spawn


end

player_monitor:
println "moniter started"
iprintlnbold_noloc ("monitor started")
while(1) 
{
	for(local.i = 1; local.i <= $player.size; local.i++) 
	{ 
		if($player[local.i].health <= 0 && $player[local.i].revive != 1)
		$player[local.i] thread wait_revive //IDENTIFIES THE PLAYER AS SELF
		iprintlnbold_noloc ("player died")
	}

waitframe
}
end

//--------------------------------------------------------------------------------


//This is how to make the player change teams
//[THE PLAYER] stufftext ("join_team axis")
//[THE PLAYER] stufftext ("join_team allies")

wait_revive:

	self.revive = 1

	iprintlnbold_noloc ("waiting for revive")
	self notsolid
	self stufftext "say WAS FROZEN"

	local.team = self.dmteam
	local.ent = self waitthread player_ai_model
	local.ent.beams = waitthread spawn_beam_cylinder local.origin 15 ( 1 1 1 )	

	self hide
	self nodamage
	self takeall

	self.ent = local.ent
	self.ent.beams = local.ent.beams
	self.waiting = 1

	self physics_off

	self.isfrozen = 1

	self thread spectator

	while(self.isfrozen == 1)
	{

	   for(local.i=1;local.i<=$player.size;local.i++)
	   {
	
	   if($player[local.i] != self)
	   {

	      if(vector_within $player[local.i].origin self.origin 125 && $player[local.i].useheld == 1) //HOLDS USE & 125 UNITS AWAY
	      {

		if($player[local.i].dmteam == "axis") 
		{ 
		     self stopwatch 5 
		     $player[local.i] stopwatch 5 
		     wait 5 
		     self stufftext ("join_team axis") 
		     $player[local.i] stufftext ("say MELTED A PLAYER FOR THE AXIS") 
		     self.isfrozen = 0 
		     self.revive = 0 
		} 
		else 
		{ 
		     if($player[local.i].dmteam == "allies") 
		     { 
		          self stopwatch 5 
		          $player[local.i] stopwatch 5 
		          wait 5 
		          self stufftext ("join_team allies") 
		          $player[local.i] stufftext ("say MELTED A PLAYER FOR THE ALLIES") 
		          self.isfrozen = 0 
		          self.revive = 0 
		     } 
		} 
	      }

	   }
	   }

	   waitframe 
	}

	//--------------------------------------------------------------
	//| Delete Frozen's                                            |
	//| This deletes the frozen body when                          |
	//| self.isfrozen is set to 0                                  |
	//|                                                            |
	//| The Spectator Mode should auto-matically disable           |
	//--------------------------------------------------------------

	if(self.isfrozen == 0 )
	{
		local.angle = local.ent.angle
		self tele local.ent.origin

		self.ent delete
		local.ent.beams delete
	}

	self show

	self physics_on

	wait 3
	self solid
	self takedamage
end
//--------------------------------------------------------
	//--------------------------------------------------------------
	//| Spectator Mode                                             |
	//| This is enabled and keeps a player in spectator until he is|
	//| Melted another player                                      |
	//|                                                            |
	//| As of now the spectator can only veiw real players         |
	//--------------------------------------------------------------

spectator:

while(self.isfrozen == 1)
{
		self iprint "--Spectator Mode--"
		self iprint "You are frozen and must wait for someone to melt you"
		self spectator
		
	wait 0.5
}

end
//--------------------------------------------------------

counter_setup:
while(1)
{
level.alliesteam = 0
level.axisteam = 0

waitframe

for(local.i=1;local.i <= $player.size;local.i++) 
{
if($player[local.i].dmteam == "axis") 
level.axisteam++
else if($player[local.i].dmteam == "allies") 
level.alliesteam++
}

hud_counter:
while(1)
{
	huddraw_align 200 left bottom
	huddraw_font 200 facfont-20
	huddraw_rect 200 40 -140 100 100
	huddraw_color 200 1 1 1
	huddraw_alpha 200 1
	huddraw_string 200 ("Axis: " + level.axisteam)

	huddraw_align 201 left bottom
	huddraw_font 201 facfont-20
	huddraw_rect 201 40 -115 100 100
	huddraw_color 201 1 1 1
	huddraw_alpha 201 1
	huddraw_string 201 ("Allied: " + level.alliesteam)

	huddraw_shader 202 ("textures/hud/allies")
	huddraw_align 202 left bottom
	huddraw_rect 202 10 -120 25 25
	huddraw_color 202 1 1 1
	huddraw_alpha 202 1.0

	huddraw_shader 203 ("textures/hud/axis")
	huddraw_align 203 left bottom
	huddraw_rect 203 10 -145 25 25
	huddraw_color 203 1 1 1
	huddraw_alpha 203 1
}
wait .5
end

//----------------------------------------------------------------------
player_ai_model:

switch(self.model)
{
models/player/allied_airborne.tik:
	local.ent = human/multiplayer_allied_airborne_soldier.tik
	break
models/player/allied_pilot.tik:
	local.ent = human/multiplayer_allied_pilot.tik
	break
models/player/allied_sas.tik:
	local.ent = human/multiplayer_allied_oss_man.tik
	break
models/player/american_army.tik:
	local.ent = human/multiplayer_allied_airborne_soldier.tik
	break
models/player/american_ranger.tik:
	local.ent = human/multiplayer_allied_1st-ranger_private.tik
	break
models/player/german_afrika_Officer.tik:
	local.ent = human/multiplayer_german_afrika_officer.tik
	break
models/player/german_elite_officer.tik:
	local.ent = human/multiplayer_german_elite_gestapo.tik
	break
models/player/german_elite_sentry.tik:
	local.ent = human/multiplayer_german_elite_sentry.tik
	break
models/player/german_kradshutzen.tik:
	local.ent = human/multiplayer_german_misc_kradshutzen.tik
	break
models/player/german_panzer_grenadier.tik:
	local.ent = human/multiplayer_german_panzer_grenadier.tik
	break
models/player/german_panzer_obershutze.tik:
	local.ent = human/multiplayer_german_panzer_obershutze.tik
	break
models/player/german_panzer_shutze.tik:
	local.ent = human/multiplayer_german_panzer_shutze.tik
	break
models/player/german_panzer_tankcommander.tik:
	local.ent = human/multiplayer_german_panzer_tankcommander.tik
	break
models/player/german_waffenss_officer.tik:
	local.ent = human/multiplayer_german_waffenss_officer.tik
	break
models/player/german_waffenss_shutze.tik:
	local.ent = human/multiplayer_german_waffenss_shutze.tik
	break
models/player/german_wehrmacht_officer.tik:
	local.ent = human/multiplayer_german_wehrmact_officer.tik
	break
models/player/german_wehrmacht_soldier.tik:
	local.ent = human/multiplayer_german_wehrmact_soldier.tik
	break
models/player/german_winter_1.tik:
	local.ent = human/multiplayer_german_winter_type1.tik
	break
models/player/german_winter_2.tik:
	local.ent = human/multiplayer_german_winter_type2.tik
	break
models/player/german_worker.tik:
	local.ent = human/multiplayer_german_misc_worker.tik
	break
default:
	if(self.dmteam == "allies")
	local.ent = human/multiplayer_allied_airborne_soldier.tik
	else
	local.ent = human/multiplayer_german_wehrmact_soldier.tik
	break
}

	local.ent = spawn local.ent origin self.origin angles self.angles "gun" "none"
	local.ent notsolid
	local.ent nodamage

	local.origin = self.origin
	
	thread 

end local.ent

//#######################################################################

spawn_beam_cylinder local.origin local.radius local.color:
	local.beams[0] = waitthread spawn_doublebeam (local.origin + ( local.radius 0 0 )) local.color
	local.beams[1] = waitthread spawn_doublebeam (local.origin + ( -(local.radius * 0.5) (local.radius * 0.866) 0 )) local.color
	local.beams[2] = waitthread spawn_doublebeam (local.origin + ( -(local.radius * 0.5) -(local.radius * 0.866) 0 )) local.color
end local.beams


//######################################################################


spawn_doublebeam local.origin local.color local.bindent:
	local.beams[0] = waitthread spawn_beam (local.origin + ( 0 0 40 )) ( local.origin + ( 0 0 130 )) local.color
	local.beams[1] = waitthread spawn_beam (local.origin + ( 0 0 40 )) ( local.origin + ( 0 0 -50 )) local.color
end local.beams


//######################################################################


spawn_beam local.origin local.endpoint local.color:
	local.ent = spawn func_beam
	local.ent.origin = local.origin
	local.ent endpoint local.endpoint
	local.ent minoffset 0.0
	local.ent maxoffset 0.0
	local.ent scale 5.0
	local.ent color local.color
	local.ent alpha 1.0
	local.ent endalpha 0.0
	local.ent numsegments 5
	local.ent activate	

level.origin = local.origin

end local.ent


//--------------------------------------------------------------------
Check_Win:
end
//------------------------------------------------------------------
//|HoW CAN I CHECK FOR A WIN WHEN EVERY FRAME                      |
//|THE TEAM COUNTER IS SET TO 0 THEN ADDED UP AGAIN                |
//|                                                                |
//|Make a new counter? one that isnt as accurate? how do i do that?|
//------------------------------------------------------------------



//-----------------------------------------------------------------------------

roundbasedthread:

	level waitTill prespawn

	level waittill spawn

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

Posted: Mon Aug 15, 2005 4:41 pm
by GiffE1118
IT WORKS!!!! to an extent


Code: Select all

main:

// set scoreboard messages
setcvar "g_obj_alliedtext1" "Stalingrad"
setcvar "g_obj_alliedtext2" "Freeze you Enemy"
setcvar "g_obj_alliedtext3" "Then Melt Him For Your"
setcvar "g_obj_axistext1" "Team"
setcvar "g_obj_axistext2" "Tag-Team Gametype"
setcvar "g_obj_axistext3" "By: =|95th|=GenDonut"

setcvar "g_scoreboardpic" "mohdm6"

	// call additional stuff for playing this map round based is needed
	if(level.roundbased)
		thread roundbasedthread

	level waittill prespawn
	
	//*** Precache Dm Stuff
	exec global/DMprecache.scr

	exec global/door_locked.scr::lock
	level.script = maps/dm/mohdm6.scr
	exec global/ambient.scr mohdm6
	

thread player_monitor

	level waittill spawn


end

player_monitor:
println "moniter started"
iprintlnbold_noloc ("monitor started")
while(1) 
{
	for(local.i = 1; local.i <= $player.size; local.i++) 
	{ 
		if($player[local.i].health <= 0 && $player[local.i].revive != 1)
			{
			$player[local.i] thread wait_revive //IDENTIFIES THE PLAYER AS SELF
			iprintlnbold_noloc ("player died")
			}
	}

waitframe
}
end

//--------------------------------------------------------------------------------

wait_revive:

	self.revive = 1

	iprintlnbold_noloc ("waiting for revive")
	self notsolid
	self stufftext "say WAS FROZEN"

	local.team = self.dmteam
	local.ent = self waitthread player_model
	local.ent.beams = waitthread spawn_beam_cylinder self.origin 15 ( 1 1 1 )	

	self hide
	self nodamage
	self takeall

	self.ent = local.ent
	self.ent.beams = local.ent.beams
	self.waiting = 1

	self physics_off

	self.isfrozen = 1

	self thread spectator

	while(self.isfrozen == 1)
	{

		for(local.i=1;local.i<=$player.size;local.i++)
		{
	
		if($player[local.i] != self)
			{

			if(vector_within $player[local.i].origin local.ent.origin 125 && $player[local.i].useheld == 1) //HOLDS USE & 125 UNITS 

AWAY
			{

				if($player[local.i].dmteam == "axis") 
				{ 
				self stopwatch 5
				$player[local.i] stopwatch 5
				wait 5
				self stufftext ("join_team axis")
				$player[local.i] stufftext ("say MELTED A PLAYER FOR THE AXIS")
				self.isfrozen = 0
				self.revive = 0
				}

				else 
				{ 
					if($player[local.i].dmteam == "allies") 
					{ 
		        		self stopwatch 5
		        		$player[local.i] stopwatch 5
		        		wait 5
		        		self stufftext ("join_team allies")
		        		$player[local.i] stufftext ("say MELTED A PLAYER FOR THE ALLIES") 
		        		self.isfrozen = 0
		        		self.revive = 0
					} 
				} 
			}
			}
		}
	waitframe 
	}

	//--------------------------------------------------------------
	//| Delete Frozen's                                            |
	//| This deletes the frozen body when                          |
	//| self.isfrozen is set to 0                                  |
	//|                                                            |
	//| The Spectator Mode should auto-matically disable           |
	//--------------------------------------------------------------

	if(self.isfrozen == 0 )
	{
		local.angle = local.ent.angle
		self tele local.ent.origin

		local.ent delete
		local.ent.beams delete
	}

	self show

	self physics_on

	wait 3
	self solid
	self takedamage
end
//--------------------------------------------------------
	//--------------------------------------------------------------
	//| Spectator Mode                                             |
	//| This is enabled and keeps a player in spectator until he is|
	//| Melted another player                                      |
	//|                                                            |
	//| As of now the spectator can only veiw real players         |
	//--------------------------------------------------------------

spectator:

while(self.isfrozen == 1)
{
		self iprint "--Spectator Mode--"
		self iprint "You are frozen and must wait for someone to melt you"
		self spectator
		
	wait 0.5
}

end
//--------------------------------------------------------


//----------------------------------------------------------------------
player_model:

	local.ent = spawn self.model origin self.origin angles self.angles
	local.ent notsolid
	local.ent nodamage

	local.origin = self.origin

end local.ent


//#######################################################################

spawn_beam_cylinder local.origin local.radius local.color:
	local.beams[0] = waitthread spawn_doublebeam (local.origin + ( local.radius 0 0 )) local.color
	local.beams[1] = waitthread spawn_doublebeam (local.origin + ( -(local.radius * 0.5) (local.radius * 0.866) 0 )) local.color
	local.beams[2] = waitthread spawn_doublebeam (local.origin + ( -(local.radius * 0.5) -(local.radius * 0.866) 0 )) local.color
end local.beams


//######################################################################


spawn_doublebeam local.origin local.color local.bindent:
	local.beams[0] = waitthread spawn_beam (local.origin + ( 0 0 40 )) ( local.origin + ( 0 0 130 )) local.color
	local.beams[1] = waitthread spawn_beam (local.origin + ( 0 0 40 )) ( local.origin + ( 0 0 -50 )) local.color
end local.beams


//######################################################################


spawn_beam local.origin local.endpoint local.color:
	local.ent = spawn func_beam
	local.ent.origin = local.origin
	local.ent endpoint local.endpoint
	local.ent minoffset 0.0
	local.ent maxoffset 0.0
	local.ent scale 5.0
	local.ent color local.color
	local.ent alpha 1.0
	local.ent endalpha 0.0
	local.ent numsegments 5
	local.ent activate	

level.origin = local.origin

end local.ent

/*
//--------------------------------------------------------------------
Check_Win:
end
//------------------------------------------------------------------
//|HoW CAN I CHECK FOR A WIN WHEN EVERY FRAME                      |
//|THE TEAM COUNTER IS SET TO 0 THEN ADDED UP AGAIN                |
//|                                                                |
//|Make a new counter? one that isnt as accurate? how do i do that?|
//------------------------------------------------------------------

*/

//-----------------------------------------------------------------------------

roundbasedthread:

	level waitTill prespawn

	level waittill spawn

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

ok all i did was take out the counter and left the core files.

now when i die i go into spectator and the freeze tag beams spawn where i die but no ai !!. then i got on another comp and went up to the beams and hit E and i jion teams correctly just the beams did not remove

can u help me with this bodger its SOO close to being complete


EDIT:

Even better Now a model spawns it all works BUT the model does not delete

i tried changing the delete thread from if to while and the game crashed right as i was about to come back

EDIT REPOSTED NEW CODE