Jump to content

How to create a saber shock wave


Recommended Posts

Posted

This is a simple tutorial and i hope some admin \ mod can put in the tutorial section.

That's explain how to make a saber with a shockwave attack when saber hit ground

and i have an IMPORTANT QUESTION about that: 

 

okay this is my little tutorial:

- Need Jedi academy patched to 1.01 version but this is obvious.

- Make a sword.

- Make a BladeEffect with effect editor, new sounds, shaders etc etc,.

Create a sab file like that.

 

glyph1 <- your name
{
    name        "Glifo della Forza" <- your own name of the saber
    saberType    SABER_CLAW
    saberModel    "models/weapons2/Glyph1/glyph1.glm" <- your own glm model of the blade.

// You need to change that's parts with your own sound.
    soundOn        "sound/weapons/glyph/forcedraw.mp3"
    soundLoop    "sound/weapons/glyph/forcecharge.wav"
    soundOff        "sound/weapons/glyph/forcedown.mp3"
    g2MarksShader    "gfx/damage/rivetmark"
    noManualDeactivate 1
    saberStylelearned    dual
    saberStyleForbidden fast
    saberStyleForbidden desann
    saberStyleForbidden tavion
    saberStyleForbidden medium
    saberStyleForbidden strong
    saberStyleForbidden staff
    saberLength    5
    saberRadius    10
    disarmable    0
    NotInMp        1
    throwable    0
    blockEffect    "glyph/forceimpact.efx"
    bladeEffect     "glyph/forcehand.efx"
    hitPersonEffect    "glyph/forceimpactbody.efx"
    hitOtherEffect    "glyph/force.efx" <- this is the shockwave effect
    trailStyle    2
    noClashFlare    1
    noBlade        1
    noDlight    1
    noIdleEffect    1
    oninwater    1
    noWallMarks     1
    BounceOnWalls    1 <- is very important parameter.
    maxChain    0
    kataMove    LS_SPINATTACK_ALORA
    PutAwayAnim    BOTH_ALORA_SPIN_SLASH
    drawAnim    BOTH_ALORA_SPIN_SLASH
    readyAnim    BOTH_SABERDUAL_STANCE
    lungeatkmove    LS_SPINATTACK_ALORA
    jumpatkfwdmove    LS_SPINATTACK_ALORA
    AnimSpeedScale    0.85
    spinSound    "sound/weapons/glyph/forceswing1.mp3"
    swingSound1    "sound/weapons/glyph/forceswing.mp3"
    swingSound2    "sound/weapons/glyph/forceswing2.mp3"
    swingSound3    "sound/weapons/glyph/forceswing3.mp3"
    damagescale    0.1 <- my sword just make repulsing of enemy, but if yu want enemy be damage by hittid yu need simply to change value. 1 is a normal lightsaber dmg.
    knockbackscale    0.5 <- amount of knockback intensity
    splashRadius    750 <- range of knockback in map units
    splashKnockBack    750 <- is a very huge knockback.

    SplashDamage        0 <- yu can set the dmg of shockwave changing this value NOTE: dmg is variable by distance. if yu set 20: enemy close player make 20 Hit point, and enemy more distance make lower damage...
    forcerestrict    FP_PROTECT
    noDismemberment    1
}

 

Okay, the effect of this blade is: is a magical effewct, blade has not the Glow of flash so is not visible the energy blade or the traylstale of a lightsaber, i making just a particle effect like bladeeffect

the blade model is Empty, contain Only the tag_blade1, No other. :P so pratically is simply a tag with an invisible dmg trails.

 

how work:

hitting an enemy: the enemy be dmg and stunned.

hitting a surfaces: the blade smash a shockwave of Force Repulse, something like force unleashed, every time yu hurt a wall or a ground, the blade making that

NOT WORK with stabbing.

 

So i ask:

- how is possible to working this WHEN THE BLADE HIT AN ENEMY. i need... the shockwave. NOT emitted by hit on a wall, but by the Katamove, like A1_SPECIAL, A2_SPECAL etc. animation that yu can do with mouse 1+2 mouse or saber attack + alt attack.

. it's possible to know how to do that? really, i need for my mod.

- i supppose is possible to create an animevent.cfg for the model of the character that holding the blade and setting an animation and a frame of the character that make the wave effect.... but this NO product the damage or the knockback. 

so if someone know how is possible to obtain a shockwave without hitting a wall with a sword, please, can teach me how to do? O.o

 

Hint: is possible to make a saber that make the shock wave only every a tot amount of enbemy killed example: one shock every ten enemies? i suppose is possible to make a similar thing making 2 version of sab file one with the shockwave and the other with no shockwave parameters. and after making that:

on start of level: 

 

Set a script that declayire a value "saberwave"

set this value on 0

 

so you make a map, and set every enemy with an deathscript key

in the deascriprt, the value of saberwave gain +1

 

so, on the inizial script, you make that's line:

if "saberwave" value is 10...

Affect player
set saber : (name of the saber with the shockwave)

wait 20000

set saber (name of the nornal saber without shockwave)

Set saberwave value count to 0

and so the cycle can restart. ;)

result: this script can make that the saber making charging power by the death of the enemies in a Single player battle.

when enemy killed reach a value,

 

i can give you an example of a similar working script showing a script of t1_danger that i edited for the mod: is the script of the four item of part of ship to find avoind sandcreature for fixing the ship.

look how working: pratically when the player find an item, can use some force power until he set item on its place. :)

 

on the t1_danger weapons1 script:

declare ( /*@DECLARE_TYPE*/ FLOAT, "fPiecesPlaced" );
set ( "fPiecesPlaced", "0" );

 

 

the piece_pickup script:

//Generated by BehavEd

rem ( "Picked up one of the ship pieces." );
sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/interface/pickup_battery.md3" );
wait ( 1000.000 );
declare ( /*@DECLARE_TYPE*/ FLOAT, "num" );
set ( "num", $get( FLOAT, "SET_PARM1")$ );

affect ( "player", /*@AFFECT_TYPE*/ FLUSH )
{
    set ( /*@SET_TYPES*/ "SET_COUNT", $get( FLOAT, "num")$ );

    if ( $get( FLOAT, "num")$, $=$, $1$ )
    {
        use ( "piece2_deactivate" );
        use ( "piece3_deactivate" );
        use ( "piece4_deactivate" );
        use ( "activate_return1" );

        task ( "earthdiag" )
        {
            sound ( /*@CHANNELS*/ CHAN_VOICE, "sound/chars/jaden_male/06jak010.mp3" );
        }

        dowait ( "earthdiag" );
        set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_FORCE_PROTECT_FAST" );
        set ( /*@SET_TYPES*/ "SET_ANIM_HOLDTIME_BOTH", 2000 );
        sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/weapons/earth_Reaver/earthreaver1.mp3" );
        camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.600 0.000 >, 1.000, 2000 );
        wait ( 2000.000 );
        camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.000 0.000 >, 0.000, 0 );
        set ( /*@SET_TYPES*/ "SET_FORCE_SPEED_LEVEL", /*@FORCE_LEVELS*/ "0" );
        set ( /*@SET_TYPES*/ "SET_WALKING", /*@BOOL_TYPES*/ "true" );
        set ( /*@SET_TYPES*/ "SET_GRAVITY", 1200.000 );
        set ( /*@SET_TYPES*/ "SET_FORCE_JUMP_LEVEL", /*@FORCE_LEVELS*/ "1" );
        set ( /*@SET_TYPES*/ "SET_FORCE_PROTECT_LEVEL", /*@FORCE_LEVELS*/ "3" );
    }


    if ( $get( FLOAT, "num")$, $=$, $2$ )
    {
        use ( "piece1_deactivate" );
        use ( "piece3_deactivate" );
        use ( "piece4_deactivate" );
        use ( "activate_return2" );

        task ( "firediag" )
        {
            sound ( /*@CHANNELS*/ CHAN_VOICE, "sound/chars/jaden_male/06jak011.mp3" );
        }

        dowait ( "firediag" );
        sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/weapons/fire_Reaver/firereaver1.mp3" );
        set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_FORCE_RAGE" );
        set ( /*@SET_TYPES*/ "SET_ANIM_HOLDTIME_BOTH", 2000 );
        camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 1.000 0.250 0.250 >, 1.000, 2000 );
        wait ( 2000.000 );
        camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.000 0.000 >, 0.000, 0 );
        set ( /*@SET_TYPES*/ "SET_FORCE_RAGE_LEVEL", /*@FORCE_LEVELS*/ "3" );
        set ( /*@SET_TYPES*/ "SET_FORCE_LIGHTNING_LEVEL", /*@FORCE_LEVELS*/ "3" );
    }


    if ( $get( FLOAT, "num")$, $=$, $3$ )
    {
        use ( "piece1_deactivate" );
        use ( "piece2_deactivate" );
        use ( "piece4_deactivate" );
        use ( "activate_return3" );

        task ( "airdiag" )
        {
            sound ( /*@CHANNELS*/ CHAN_VOICE, "sound/chars/jaden_male/06jak012.mp3" );
            wait ( 7000.000 );
            sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/sand_creature/comment6.mp3" );
        }

        dowait ( "airdiag" );
        set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_ALORA_SPIN_THROW" );
        set ( /*@SET_TYPES*/ "SET_ANIM_HOLDTIME_BOTH", 2000 );
        sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/weapons/air_Reaver/airreaver1.mp3" );
        camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 1.000 1.000 1.000 >, 1.000, 2000 );
        wait ( 2000.000 );
        camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.000 0.000 >, 0.000, 0 );
        set ( /*@SET_TYPES*/ "SET_FORCE_SPEED_LEVEL", /*@FORCE_LEVELS*/ "2" );
        set ( /*@SET_TYPES*/ "SET_FORCE_JUMP_LEVEL", /*@FORCE_LEVELS*/ "3" );
        set ( /*@SET_TYPES*/ "SET_GRAVITY", 450.000 );
    }


    if ( $get( FLOAT, "num")$, $=$, $4$ )
    {
        use ( "piece1_deactivate" );
        use ( "piece2_deactivate" );
        use ( "piece3_deactivate" );
        use ( "activate_return4" );

        task ( "waterdiag" )
        {
            sound ( /*@CHANNELS*/ CHAN_VOICE, "sound/chars/jaden_male/06jak008.mp3" );
        }

        dowait ( "waterdiag" );
        set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_FORCE_ABSORB" );
        set ( /*@SET_TYPES*/ "SET_ANIM_HOLDTIME_BOTH", 2000 );
        sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/weapons/water_Reaver/waterreaver1.mp3" );
        camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.500 1.000 >, 1.000, 2000 );
        wait ( 2000.000 );
        camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.000 0.000 >, 0.000, 0 );
        set ( /*@SET_TYPES*/ "SET_HEALTH", 100 );
        set ( /*@SET_TYPES*/ "SET_ARMOR", 100 );
        set ( /*@SET_TYPES*/ "SET_FORCE_HEAL_LEVEL", /*@FORCE_LEVELS*/ "3" );
    }

}
 

the piece_returned script:

 

//Generated by BehavEd

rem ( "Picked up one of the ship pieces." );
rem ( "The first item." );

if ( $get( FLOAT, "SET_COUNT")$, $=$, $1$ )
{
    set ( /*@SET_TYPES*/ "SET_COUNT", 0 );
    use ( "piece1_ship_fake" );
    use ( "piece1_ship_real" );
    use ( "piece2_activate" );
    use ( "piece3_activate" );
    use ( "piece4_activate" );
    set ( "fPiecesPlaced", "+1" );
    set ( /*@SET_TYPES*/ "SET_OBJECTIVE_SUCCEEDED", /*@OBJECTIVES*/ "T1_DANGER_OBJ1" );
    sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/movers/objects/place_object" );
    wait ( 1500.000 );

    affect ( "player", /*@AFFECT_TYPE*/ FLUSH )
    {
        set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_ALORA_SPIN_THROW" );
        set ( /*@SET_TYPES*/ "SET_ANIM_HOLDTIME_BOTH", 2000 );
        sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/weapons/force/speed.mp3" );
        set ( /*@SET_TYPES*/ "SET_WALKING", /*@BOOL_TYPES*/ "false" );
        camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 1.000 1.000 1.000 >, 1.000, 2000 );
        wait ( 2000.000 );
        camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.000 0.000 >, 0.000, 0 );
        set ( /*@SET_TYPES*/ "SET_GRAVITY", 800.000 );
        set ( /*@SET_TYPES*/ "SET_FORCE_SPEED_LEVEL", /*@FORCE_LEVELS*/ "1" );
        set ( /*@SET_TYPES*/ "SET_FORCE_JUMP_LEVEL", /*@FORCE_LEVELS*/ "2" );
        set ( /*@SET_TYPES*/ "SET_FORCE_PROTECT_LEVEL", /*@FORCE_LEVELS*/ "0" );
        use ( "checkpoint" );

        if ( $get( FLOAT, "fPiecesPlaced")$, $=$, $4$ )
        {

            task ( "end1" )
            {
                rem ( "Have they returned all pieces?" );
                wait ( 1000.000 );
                sound ( /*@CHANNELS*/ CHAN_VOICE, "sound/chars/jaden_male/06jak024.mp3" );
                wait ( 5000.000 );
                sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/sand_creature/commentvictory.mp3" );
                set ( /*@SET_TYPES*/ "SET_FORCE_JUMP_LEVEL", /*@FORCE_LEVELS*/ "3" );
                set ( /*@SET_TYPES*/ "SET_FORCE_SPEED_LEVEL", /*@FORCE_LEVELS*/ "2" );
                set ( /*@SET_TYPES*/ "SET_OBJECTIVE_SUCCEEDED", /*@OBJECTIVES*/ "T1_DANGER_OBJ5" );
                camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.000 0.000 >, 1.000, 2000 );
                wait ( 2500.000 );
                use ( "end_level" );
            }

            do ( "end1" );
        }

    }

}

rem ( "The second item." );

if ( $get( FLOAT, "SET_COUNT")$, $=$, $2$ )
{
    set ( /*@SET_TYPES*/ "SET_COUNT", 0 );
    use ( "piece2_ship_fake" );
    use ( "piece2_ship_real" );
    use ( "piece1_activate" );
    use ( "piece3_activate" );
    use ( "piece4_activate" );
    set ( "fPiecesPlaced", "+1" );
    set ( /*@SET_TYPES*/ "SET_OBJECTIVE_SUCCEEDED", /*@OBJECTIVES*/ "T1_DANGER_OBJ2" );
    sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/movers/objects/place_object" );
    wait ( 1500.000 );

    affect ( "player", /*@AFFECT_TYPE*/ FLUSH )
    {
        wait ( 1000.000 );
        sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/weapons/force/absorb.mp3" );
        set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_FORCE_ABSORB" );
        set ( /*@SET_TYPES*/ "SET_ANIM_HOLDTIME_BOTH", 2000 );
        camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.500 1.000 >, 1.000, 2000 );
        wait ( 2000.000 );
        camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.000 0.000 >, 0.000, 0 );
        set ( /*@SET_TYPES*/ "SET_FORCE_RAGE_LEVEL", /*@FORCE_LEVELS*/ "0" );
        set ( /*@SET_TYPES*/ "SET_FORCE_LIGHTNING_LEVEL", /*@FORCE_LEVELS*/ "1" );
        use ( "checkpoint" );

        if ( $get( FLOAT, "fPiecesPlaced")$, $=$, $4$ )
        {
            do ( "end2" );

            task ( "end2" )
            {
                rem ( "Have they returned all pieces?" );
                wait ( 1000.000 );
                sound ( /*@CHANNELS*/ CHAN_VOICE, "sound/chars/jaden_male/06jak024.mp3" );
                wait ( 5000.000 );
                set ( /*@SET_TYPES*/ "SET_FORCE_JUMP_LEVEL", /*@FORCE_LEVELS*/ "3" );
                set ( /*@SET_TYPES*/ "SET_FORCE_SPEED_LEVEL", /*@FORCE_LEVELS*/ "2" );
                set ( /*@SET_TYPES*/ "SET_COUNT", $get( FLOAT, "cure")$ );
                sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/sand_creature/commentvictory.mp3" );
                set ( /*@SET_TYPES*/ "SET_OBJECTIVE_SUCCEEDED", /*@OBJECTIVES*/ "T1_DANGER_OBJ5" );
                camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.000 0.000 >, 1.000, 2000 );
                wait ( 2500.000 );
                use ( "end_level" );
            }

        }

    }

}

rem ( "The third item." );

if ( $get( FLOAT, "SET_COUNT")$, $=$, $3$ )
{
    set ( /*@SET_TYPES*/ "SET_COUNT", 0 );
    use ( "piece3_ship_fake" );
    use ( "piece3_ship_real" );
    use ( "piece1_activate" );
    use ( "piece2_activate" );
    use ( "piece4_activate" );
    set ( "fPiecesPlaced", "+1" );
    set ( /*@SET_TYPES*/ "SET_OBJECTIVE_SUCCEEDED", /*@OBJECTIVES*/ "T1_DANGER_OBJ3" );
    sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/movers/objects/place_object" );
    wait ( 1500.000 );

    affect ( "player", /*@AFFECT_TYPE*/ FLUSH )
    {
        set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_FORCE_PROTECT" );
        set ( /*@SET_TYPES*/ "SET_ANIM_HOLDTIME_BOTH", 2000 );
        sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/weapons/force/downpower.mp3" );
        camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.500 0.000 >, 1.000, 2000 );
        wait ( 2000.000 );
        camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.000 0.000 >, 0.000, 0 );
        set ( /*@SET_TYPES*/ "SET_GRAVITY", 800.000 );
        set ( /*@SET_TYPES*/ "SET_FORCE_SPEED_LEVEL", /*@FORCE_LEVELS*/ "1" );
        set ( /*@SET_TYPES*/ "SET_FORCE_JUMP_LEVEL", /*@FORCE_LEVELS*/ "2" );
        use ( "checkpoint" );

        if ( $get( FLOAT, "fPiecesPlaced")$, $=$, $4$ )
        {
            do ( "end3" );

            task ( "end3" )
            {
                rem ( "Have they returned all pieces?" );
                wait ( 1000.000 );
                sound ( /*@CHANNELS*/ CHAN_VOICE, "sound/chars/jaden_male/06jak024.mp3" );
                wait ( 5000.000 );
                set ( /*@SET_TYPES*/ "SET_FORCE_JUMP_LEVEL", /*@FORCE_LEVELS*/ "3" );
                set ( /*@SET_TYPES*/ "SET_FORCE_SPEED_LEVEL", /*@FORCE_LEVELS*/ "2" );
                set ( /*@SET_TYPES*/ "SET_GRAVITY", 750.000 );
                sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/sand_creature/commentvictory.mp3" );
                set ( /*@SET_TYPES*/ "SET_OBJECTIVE_SUCCEEDED", /*@OBJECTIVES*/ "T1_DANGER_OBJ5" );
                camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.000 0.000 >, 1.000, 2000 );
                wait ( 2500.000 );
                use ( "end_level" );
            }

        }

    }

}

rem ( "The fourth item." );

if ( $get( FLOAT, "SET_COUNT")$, $=$, $4$ )
{
    set ( /*@SET_TYPES*/ "SET_COUNT", 0 );
    use ( "piece4_ship_fake" );
    use ( "piece4_ship_real" );
    use ( "piece1_activate" );
    use ( "piece2_activate" );
    use ( "piece3_activate" );
    set ( "fPiecesPlaced", "+1" );
    set ( /*@SET_TYPES*/ "SET_OBJECTIVE_SUCCEEDED", /*@OBJECTIVES*/ "T1_DANGER_OBJ4" );
    sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/movers/objects/place_object" );
    wait ( 1500.000 );

    affect ( "player", /*@AFFECT_TYPE*/ FLUSH )
    {
        set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_FORCE_RAGE" );
        set ( /*@SET_TYPES*/ "SET_ANIM_HOLDTIME_BOTH", 2000 );
        sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/weapons/force/rage.mp3" );
        camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 1.000 0.250 0.250 >, 1.000, 2000 );
        wait ( 2000.000 );
        camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.000 0.000 >, 0.000, 0 );
        set ( /*@SET_TYPES*/ "SET_FORCE_HEAL_LEVEL", /*@FORCE_LEVELS*/ "2" );
        wait ( 1000.000 );
        use ( "checkpoint" );

        if ( $get( FLOAT, "fPiecesPlaced")$, $=$, $4$ )
        {
            do ( "end4" );

            task ( "end4" )
            {
                rem ( "Have they returned all pieces?" );
                wait ( 1000.000 );
                sound ( /*@CHANNELS*/ CHAN_VOICE, "sound/chars/jaden_male/06jak024.mp3" );
                wait ( 5000.000 );
                set ( /*@SET_TYPES*/ "SET_FORCE_JUMP_LEVEL", /*@FORCE_LEVELS*/ "3" );
                set ( /*@SET_TYPES*/ "SET_FORCE_SPEED_LEVEL", /*@FORCE_LEVELS*/ "2" );
                set ( /*@SET_TYPES*/ "SET_FORCE_HEAL_LEVEL", /*@FORCE_LEVELS*/ "3" );
                sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/sand_creature/commentvictory.mp3" );
                set ( /*@SET_TYPES*/ "SET_OBJECTIVE_SUCCEEDED", /*@OBJECTIVES*/ "T1_DANGER_OBJ5" );
                camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.000 0.000 >, 1.000, 2000 );
                wait ( 2500.000 );
                use ( "end_level" );
            }

        }

    }

}
 

Posted

uh, okay, but before i do that i have another question, because i am sharing my knowledge, but also i am here for learning. so

 

- it's possible to create 2 special kind of saber:?

- a saber that making poison and gradual dmg like interrogater droid when hit an enemy.

- a saber that making a inverse shockwave. i tryed to set the splashknockback on negative values, but is not function.

there is a way for creating by saber way a "force pull circular wave"? soi enemy can actract all on the player? XD

should be very fun lol XD )

 

.

Posted

Hint: i discover an interess thing: you can avoid to set hitsound1-2-3, blocksound1-2-3 and bouncesound1-2-3

if yu get the sound directly emitted by the Effect of hit, block and bounce. ;)

You can do this simply Add something like this in your efx file after you making the effect .

 

 

Sound
{
    cullrange    150    

    sounds
    [
        sound/weapons/glyph/fireimpactbody2.mp3
        sound/weapons/glyph/fireimpactbody3.mp3
        sound/weapons/glyph/fireimpactbody4.mp3
    ]
}
 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...