Post your scripting questions / solutions here
Moderator: Moderators
ViPER
General
Posts: 1058 Joined: Fri Jan 14, 2005 5:48 pm
Location: California
Contact:
Post
by ViPER » Thu May 17, 2007 5:55 pm
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 <= / >= / >
tltrude
Chuck Norris
Posts: 4774 Joined: Sun Jul 07, 2002 4:03 am
Location: Oklahoma, USA
Contact:
Post
by tltrude » Thu May 17, 2007 7:46 pm
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,
ViPER
General
Posts: 1058 Joined: Fri Jan 14, 2005 5:48 pm
Location: California
Contact:
Post
by ViPER » Fri May 18, 2007 1:20 am
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.
ViPER
General
Posts: 1058 Joined: Fri Jan 14, 2005 5:48 pm
Location: California
Contact:
Post
by ViPER » Fri May 18, 2007 7:33 am
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:
Post
by jv_map » Fri May 18, 2007 9:19 am
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
ViPER
General
Posts: 1058 Joined: Fri Jan 14, 2005 5:48 pm
Location: California
Contact:
Post
by ViPER » Fri May 18, 2007 10:58 am
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.
bdbodger
Moderator
Posts: 2596 Joined: Tue Feb 25, 2003 7:34 am
Location: canada
Contact:
Post
by bdbodger » Fri May 18, 2007 12:20 pm
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
ViPER
General
Posts: 1058 Joined: Fri Jan 14, 2005 5:48 pm
Location: California
Contact:
Post
by ViPER » Fri May 18, 2007 6:19 pm
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!