spec cam

Post your scripting questions / solutions here

Moderator: Moderators

Post Reply
User avatar
ViPER
General
Posts: 1058
Joined: Fri Jan 14, 2005 5:48 pm
Location: California
Contact:

spec cam

Post by ViPER »

modded from Wackos camera map - I am trying to create a cam for every player that joins spectate - it circles stonehenge in a slow up and down orbit - works for one player but not mp. effects the wrong player i think. I thought giving every cam / trigger / target a unique targetname would work?

Code: Select all

specview:

while(1)
{
wait 5
for(local.dude=1;local.dude <= $player.size;local.dude++) 
      {
      if($player[local.dude].dmteam == "spectator")
         {$player[local.dude] thread activate_cam_bird}  
      }
wait 5
}
end 

Code: Select all


activate_cam_bird:

local.number = randomint 999999999


local.bvt = spawn script_origin
local.bvt.origin = ( 34 286 -550 )
local.bvt targetname ("birdviewtarget" + local.number)


   if(getcvar "addmusic" != "0")
     {
     self stufftext "tmstart sound/music/mus_15a_mystery.mp3"
     }


local.camname = ("cam_bird_" + local.number)
local.camera = $(local.camname) 
local.camname_origin = ( -1800 286 -550)

	local.camera = spawn Camera targetname local.camname origin local.camname_origin
	local.camera.angles = ( 0 0 0 )

local.camname bind $("birdviewtarget" + local.number)
$("birdviewtarget" + local.number) speed 5
$("birdviewtarget" + local.number) rotatey -5

//local.camera lookat $birdviewtarget

local.camera_trigger = spawn triggercamerause "targetname" ("cam_trigger_bird_" + local.number) target local.camera 
local.camera_trigger.origin = ( 0 0 0 ) 
local.camera_trigger setsize ( -30 -30 -30 ) ( 30 30 30 ) 
local.camera_trigger nottriggerable 
local.player = parm.other 
local.camera_trigger doUse local.player 
local.player physics_off 
local.player stufftext "ui_hud 0"


local.ht = 600

while(self.dmteam == "spectator" && self.useheld != 1) 
	{
	waitframe
	  if(local.ht * 1000)
	  {
	  $("birdviewtarget" + local.number) speed 10
	  $("birdviewtarget" + local.number) moveup 2
	  $("birdviewtarget" + local.number) move
	  local.ht++
	  }
	  else if(local.ht  * 1001 && local.ht * 2000)
	  {
	  $("birdviewtarget" + local.number) speed 10
	  $("birdviewtarget" + local.number) movedown 2
	  $("birdviewtarget" + local.number) move
	  local.ht++
	  }
	  else
	  {
	  local.ht = 1
	  }   		
	}
local.player stufftext "ui_hud 1"
local.player physics_on
$("birdviewtarget" + local.number) delete
$("cam_bird_" + local.number) delete
$("cam_trigger_bird_" + local.number) delete 

end 

*hmmm editor wouldt lt me put in the arguments <= / >= / >
User avatar
tltrude
Chuck Norris
Posts: 4774
Joined: Sun Jul 07, 2002 4:03 am
Location: Oklahoma, USA
Contact:

info_player_intermission

Post by tltrude »

I'm pretty sure you can't do cameras for just one multiplayer -- it is all or nothing.

Have you tried "info_player_intermission" spawn points?
Last edited by tltrude on Fri May 18, 2007 1:08 pm, edited 1 time in total.
Tom Trude,

Image
User avatar
ViPER
General
Posts: 1058
Joined: Fri Jan 14, 2005 5:48 pm
Location: California
Contact:

Post by ViPER »

I cant figure out how to move the intermissions like the camera - but i cant see why multiple cams cant be spawned - ive done it before for players - just not spectators.
User avatar
ViPER
General
Posts: 1058
Joined: Fri Jan 14, 2005 5:48 pm
Location: California
Contact:

Post by ViPER »

here is the entire thread





activate_cam_bird:

local.number = randomint 999999999


local.bvt = spawn script_origin
local.bvt.origin = ( 34 286 -550 )
local.bvt targetname ("birdviewtarget" + local.number)


if(getcvar "addmusic" != "0")
{
self stufftext "tmstart sound/music/mus_15a_mystery.mp3"
}


local.camname = ("cam_bird_" + local.number)
local.camera = $(local.camname)
local.camname_origin = ( -1800 286 -550)

local.camera = spawn Camera targetname local.camname origin local.camname_origin
local.camera.angles = ( 0 0 0 )

local.camname bind $("birdviewtarget" + local.number)
$("birdviewtarget" + local.number) speed 5
$("birdviewtarget" + local.number) rotatey -5

//local.camera lookat $birdviewtarget

local.camera_trigger = spawn triggercamerause "targetname" ("cam_trigger_bird_" + local.number) target local.camera
local.camera_trigger.origin = ( 0 0 0 )
local.camera_trigger setsize ( -30 -30 -30 ) ( 30 30 30 )
local.camera_trigger nottriggerable
local.player = parm.other
local.camera_trigger doUse local.player
local.player physics_off
local.player stufftext "ui_hud 0"


local.ht = 600

while(self.dmteam == "spectator" && self.useheld != 1)
{
waitframe
if(local.ht >= 1000)
{
$("birdviewtarget" + local.number) speed 10
$("birdviewtarget" + local.number) moveup 2
$("birdviewtarget" + local.number) move
local.ht++
}
else if(local.ht >= 1001 && local.ht < 2000)
{
$("birdviewtarget" + local.number) speed 10
$("birdviewtarget" + local.number) movedown 2
$("birdviewtarget" + local.number) move
local.ht++
}
else
{
local.ht = 1
}
}
local.player stufftext "ui_hud 1"
local.player physics_on
$("birdviewtarget" + local.number) delete
$("cam_bird_" + local.number) delete
$("cam_trigger_bird_" + local.number) delete

end
jv_map
Site Admin
Posts: 6521
Joined: Tue Sep 03, 2002 2:53 pm
Location: The Netherlands
Contact:

Re: spec cam

Post by jv_map »

Viper wrote:*hmmm editor wouldt lt me put in the arguments <= / >= / >
It's a lil bug.. tick 'disable html in this post' and it'll work :)
Image
User avatar
ViPER
General
Posts: 1058
Joined: Fri Jan 14, 2005 5:48 pm
Location: California
Contact:

Post by ViPER »

k thanks JV.



On this spec cam - its working sort of (tested with 5 players) but effects the wrong player.

As best I can tell - when I go spectator - the camera grabs the player I spectate instead of me.

anyhelp would be appriciated.
User avatar
bdbodger
Moderator
Posts: 2596
Joined: Tue Feb 25, 2003 7:34 am
Location: canada
Contact:

Post by bdbodger »

You have this
{$player[local.dude] thread activate_cam_bird}
So in that thread instead of
local.player = parm.other
local.camera_trigger doUse local.player
local.player physics_off
local.player stufftext "ui_hud 0"
Just use self since the player you want activated the thread in that first statement
local.camera_trigger doUse self
self physics_off
self stufftext "ui_hud 0"
I think that last line may have to be
self stufftext "set ui_hud 0"
try that if you need to
Image
User avatar
ViPER
General
Posts: 1058
Joined: Fri Jan 14, 2005 5:48 pm
Location: California
Contact:

Post by ViPER »

Thanks bdbodger - i tried before placing self instead of local.player and it crashed my script so i obviousley i had done something wrong. I just did what you said and the script works with one player so i will test it with multiple players tonight.

Thanks


************edit

hehe works great thanks!
Post Reply