Author |
Topic: link player to origins - why is it not working? |
9837265498 |
|
General Member Since: Nov 6, 2009 Posts: 193 Last: Jan 23, 2012 [view latest posts] |
|
|
|
irishstorm |
General Member Since: Jan 19, 2009 Posts: 128 Last: Feb 25, 2011 [view latest posts] |
|
|
|
tHMatt |
|
General Member Since: Sep 11, 2007 Posts: 473 Last: Mar 20, 2013 [view latest posts] |
|
|
|
techno2sl |
|
General Member Since: Aug 5, 2004 Posts: 2977 Last: Oct 14, 2010 [view latest posts] |
|
|
Category: CoD4 SP Mapping Posted: Monday, Aug. 2, 2010 03:49 pm |
|
Code: startpos = getent("start1", "targetname"); //script_model tag origin
level.player playerlinktodelta(startpos, "tag_origin");
As script origins don't seem to work for you (post your code!) then try adding a script model with the model being "tag_origin" and use the above code. |
|
|
|
9837265498 |
|
General Member Since: Nov 6, 2009 Posts: 193 Last: Jan 23, 2012 [view latest posts] |
|
|
Category: CoD4 SP Mapping Posted: Tuesday, Aug. 3, 2010 01:33 pm |
|
sorry guys i was a little preocupied at the time i posted it and i forgot to post my code.
Code: player_wake()
{
start_trig = getent("start_trig", "targetname");
sleep_origin = getent("player_sleep", "targetname");
awake_origin = getent("player_awake", "targetname");
drag_start = getent("player_drag_start", "targetname");
drag_1 = getent("player_drag_1", "targetname");
drag_2 = getent("player_drag_2", "targetname");
drag_3 = getent("player_drag_3", "targetname");
hit_player = getnode("Hit_player","targetname");
slider_node = getnode("slider_node","targetname");
level.door_guy = getent("door_guy", "targetname");
level.doorguy.animname = "Jailor";
level.door_guy setgoalnode(slider_node);
overlay = newHudElem();
overlay.x = 0;
overlay.y = 0;
overlay setshader( "black", 640, 480 );
overlay.alignX = "left";
overlay.alignY = "top";
overlay.horzAlign = "fullscreen";
overlay.vertAlign = "fullscreen";
overlay.alpha = 0;
overlay.sort = 1;
start_trig waittill("trigger");
drag = spawn ("script_model",(0,0,0));
drag.origin = level.player.origin;
drag.angles = level.player.angles;
level.player linkto (drag);
drag playerlinkto(sleep_origin);
level.door_guy waittill("goal");
flag_set("slide");
wait 5;
flag_set("open_cell");
level.door_guy setgoalnode(hit_player);
drag moveto (awake_origin, 1);
hit_player anim_reach_solo( level.door_guy, "hit_player" );
wait 1;
hit_player anim_single_solo( level.door_guy, "hit_player" );
level.player shellshock( "coup_blackout1", 8 );// fade out over 1 sec, wait 2, fade in over 5
overlay blackOut( 1, 6 );
drag moveto (drag_start, 1);
wait 1;
drag moveto (drag_1, 1);
wait .5;
drag moveto (drag_2, 1);
wait .5;
drag moveto (drag_3, 1);
wait 3;
overlay restoreVision( 3, 6 );
level.player unlink();
flag_set("drag_done");
}
If you need more codes i'll post but i believe this is all of it |
|
|
|
DemonSeed |
General Member Since: Apr 30, 2009 Posts: 1362 Last: Feb 19, 2018 [view latest posts] |
|
|
|
Category: CoD4 SP Mapping Posted: Tuesday, Aug. 3, 2010 02:06 pm |
|
I suspect this is your problem:
Code: drag = spawn ("script_model",(0,0,0));
drag.origin = level.player.origin;
drag.angles = level.player.angles;
level.player linkto (drag);
drag playerlinkto(sleep_origin);
drag is a script_model - not a player, so you cant use playerlinkto() on it. Use Linkto() instead.
|
|
|
|
9837265498 |
|
General Member Since: Nov 6, 2009 Posts: 193 Last: Jan 23, 2012 [view latest posts] |
|
|
|
sam_fisher3000 |
|
General Member Since: Apr 18, 2007 Posts: 816 Last: Jul 16, 2016 [view latest posts] |
|
|
|
Category: CoD4 SP Mapping Posted: Thursday, Aug. 26, 2010 05:42 am |
|
You can keep it simple. Example:
Code: watch = getent("watch","targetname"); level.player PlayerLinkToDelta(watch);
And work from there. No tag_origins.
Hope it helps.
|
|
|
|
voidsource |
General Member Since: May 5, 2007 Posts: 1513 Last: Sep 1, 2013 [view latest posts] |
|
|
Category: CoD4 SP Mapping Posted: Thursday, Aug. 26, 2010 11:37 am |
|
you know ur idea sounds a lot like the mission "hunted". The player starts off being linked to the heli.
Code:
flight_helicopter()
{
blackhawk = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "crash_blackhawk" );
// blackhawk thread maps\_vehicle::lights_on( "interior" );
blackhawk setturningability( 0.2 );
blackhawk thread flight_crash();
blackhawk maps\_vehicle::godon();
price = undefined;
for( i = 0 ; i < blackhawk.riders.size ; i ++ )
{
if ( issubstr( blackhawk.riders[i].classname, "vip" ) )
blackhawk.riders[i].has_ir = undefined;
if ( !issubstr( blackhawk.riders[i].classname, "price" ) )
continue;
price = blackhawk.riders[i];
}
blackhawk thread flight_dialogue( price );
blackhawk thread flight_helicopter_dlight();
blackhawk.tag_ent = blackhawk fake_tag( "tag_origin", (-10,32,-132), (0,140,0) );
level.player playerlinktodelta( blackhawk.tag_ent, "tag_origin", 0.5, 80, 80, 30, 20);
level.player setplayerangles( (0,35,0) );
flag_wait( "blackhawk_down" );
level.player unlink();
}
the specific part your looking for is this one:
Code:
blackhawk.tag_ent = blackhawk fake_tag( "tag_origin", (-10,32,-132), (0,140,0) );// they created a tag here on the heli
level.player playerlinktodelta( blackhawk.tag_ent, "tag_origin", 0.5, 80, 80, 30, 20);// linked the player
level.player setplayerangles( (0,35,0) );//set player angles on it so player cant look pass this
hope that has helped.
edited on Aug. 26, 2010 07:40 am by voidsource
p.s. i forgot to put the part for the "fake_tag" func. which is this:
Code:
fake_tag( tag, origin_offset, angles_offset )
{
ent = spawn( "script_model", self.origin);
ent setmodel( "tag_origin" );
ent hide();
ent linkto( self, tag, origin_offset, angles_offset );
self thread fake_tag_destroy( ent );
return ent;
}
fake_tag_destroy( fake_tag )
{
self waittill( "death" );
fake_tag delete();
}
|
|
|
|