Login x
User Name:
Password:
Social Links Facebook Twitter YouTube Steam RSS News Feeds
Watch MODSonair

Members Online

»
0 Active | 260 Guests
Online:

LATEST FORUM THREADS

»
New BF2 Mod
BF2 General

Tutorials

»
CoD4 Mapping
ratings:
Awful Rating
Poor Rating
Average Rating
Good Rating
Excellent Rating
Fastrope
Versions: You must be logged in to view history.

Fastrope for helicopters

Hello. Today I will show, how you can do a fastrope for blackhawk or another transporter heli.

This is steps tutorial :D

1. Create Blackhawk and give him key/value:

Key: script_noteworthy
Value: players_helicopter

2. Now you must create a path for him. Just put 2 script_struct. Connect heli with first struct. Select him (that struct) and give:

Key: script_unload
Value: both

Key: script_stopnode
Value: 1

 

3. Create a trigger_multiple just like on the picture number 2. Player must be inside!!

4. You can create your team, but you can only give them startingposition number: 0,1,2,3,4,5 or 7. NOT 6, cause 6 is you xD.

 

5. Save and open your .gsc file.

6. Now the best thing. SCRIPT xD.

 

#include common_scriptsutility;       
#include maps_utility;
#include maps_anim;
#include maps_vehicle_aianim;

main()
{

default_start( ::ride_start );          //ACTIVE IT
precachemodel( "fastrope_arms" );      

maps_blackhawk::main( "vehicle_blackhawk" );
maps_load::main();
mapsMAPNAME_anim::anim_main();  

}


loadplayer( position, animfudgetime )
{
    if ( getdvar( "fastrope_arms" ) == "" )
        setdvar( "fastrope_arms", "0" );
    if ( !isdefined( animfudgetime ) )
        animfudgetime = 0;
    assert( isdefined( self.riders ) );
    guy = undefined;
    for ( i = 0; i < self.riders.size; i++ )
    {
        if ( self.riders[ i ].pos == position )
        {
            guy = self.riders[ i ];
            guy.drone_delete_on_unload = true;
            guy.playerpiggyback = true;
            break;
        }
    }
    
    animpos = maps_vehicle_aianim::anim_pos( self, position );
    guy notify( "newanim" );
    guy detachall();
    guy setmodel( "fastrope_arms" );
    guy useanimtree( animpos.player_animtree );
    thread maps_vehicle_aianim::guy_idle( guy, position );    
    level.player playerlinktodelta( guy, "tag_player", 1.0, 60, 28, 30, 30, true );   //number 6 seat
    level.player freezecontrols(false);    

    guy hide();
    animtime = getanimlength( animpos.getout );
    animtime -= animfudgetime;

    self waittill( "unload" );
    if ( getdvar( "fastrope_arms" ) != "0" )
        guy show();

    level.player disableweapons();
    guy notsolid();

    wait animtime;

    level.player unlink();
    level.player enableweapons();
}

ride_start()

{
 heli_trigger = getent( "heli_trigger", "targetname" );
 heli_trigger notify ( "trigger" );
 level.player_heli = maps_vehicle::waittill_vehiclespawn_noteworthy( "players_helicopter" );
 level.player_heli thread mapsMAPNAME_anim::player_heli_ropeanimoverride();
 level.player_heli thread loadplayer( 3 );
}

 

7.Open MAPNAME_anim.gsc and paste it:

 

#include maps_utility;
#include common_scriptsutility;
#include maps_anim;
#include maps_vehicle_aianim;
#include mapsNAZWAMAPY;

#using_animtree ("generic_human");

anim_main()
{
    thread blackhawk_anims();
}

#using_animtree( "vehicles" );
blackhawk_anims()
{
    level.scr_anim[ "blackhawk" ][ "idle" ][ 0 ]                 = %blackout_bh_evac_heli_idle;
    level.scr_anim[ "blackhawk" ][ "landing" ]                 = %blackout_bh_evac_heli_land;

    
    level.scr_anim[ "blackhawk" ][ "rotors" ]                     = %bh_rotors;
    level.scr_animtree[ "blackhawk" ]                         = #animtree;
}


player_heli_ropeanimoverride()
{
    tag = "TAG_FastRope_RI";
    model = "rope_test_ri";
    snipeanim = %armada_blackhawk_sniper_idle_fastrope80;
    idleanim = %armada_blackhawk_sniper_idle_loop_fastrope80;
    dropanim = %armada_blackhawk_sniper_drop_fastrope80;
    
    array = [];
    array[ "TAG_FastRope_RI" ] = spawnstruct();
    self.attach_model_override = array;  // gets rid of blackhawks standard fastrope stuff for this rig

    rope = spawn("script_model", level.player.origin);
    rope setmodel (model);
    rope linkto (self, tag, (0,0,0),(0,0,0));
    rope useanimtree (#animtree);
    
//    flag_wait ("snipefromheli");
    //self notify ("groupedanimevent","snipe");  //tells the ai to snipe.
    //maps_vehicle_aianim::animontag( rope, tag, snipeanim );
    thread player_heli_ropeanimoverride_idle( rope, tag, idleanim );
    self waittill ("unload");
    level.player thread play_loop_sound_on_entity("fastrope_loop_plr");
    thread maps_vehicle_aianim::animontag( rope, tag, dropanim );
    wait getanimlength( dropanim ) - .2;
    level.player stop_loop_sound_on_entity("fastrope_loop_plr");
     rope unlink();
     level.player thread play_sound_on_entity("fastrope_end_plr");
    wait 10;
    rope delete();  // possibly do something to delete when the player is not looking at it.    
}

player_heli_ropeanimoverride_idle( guy, tag, animation )
{
    self endon ("unload");
    while(1)
        maps_vehicle_aianim::animontag( guy, tag, animation );
}

 

8.OK. The last step. Compile and open map with selected Enable Developer, Enable Developer_Script and Enable Cheat. Close mission and open "4.Update Zone Files" and copy code from MissingAssets to right side.

 

9.It's done.

 

Tutorial created for CALL OF DUTY: MODERN WARFARE by Pablo Abruzzi based on helii map.

Contact: pablo_abruzzi@o2.pl

             xfire: pabloabruzzi

 

 

 

Latest Syndicated News

»
Codutility.com up and runn...
Nice, and there still using the logo and template for the screenshots, which...
Codutility.com up and runn...
dundy writes...Quote:Call of Duty modding and mapping is barly alive only a ...
Codutility.com up and runn...
Mystic writes...Quote:It seems to me the like the site is completely dead? ...
Codutility.com up and runn...
It seems to me the like the site is completely dead?

Partners & Friends

»