Jump to content

Any former Elite force scripters around?


Recommended Posts

Posted

Hi there,

 

Just out of curiousity, are there any scripters from the Elite force modding community well at one time it did exist.

 

I'm interested in gaining some knowledge on scripting for Elite force.

 

There aren't any tutorials around that is for sure!

 

Thank you.

Posted

I wouldn't know.

 

I read one script from a mod, it contained Behaved at the top? Is scripting just typing up a bit code into a text file?

Posted

JKA/JK2 uses a custom scripting system known as ICARUS. I don't know if EF used it, but I believe it does (the cinematic camera code is identical). BehavED is a GUI program that makes scripting easier and more akin to Kismet. You don't need BehavED to write ICARUS scripts; it just eliminates the need to learn its (bizarre) syntax.

Posted

 

//Generated by BehavEd

 

set ( /*@SET_TYPES*/ "SET_PLAYER_LOCKED", /*@BOOL_TYPES*/ "true" );

sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/nx01/baybutton.wav" );

 

affect ( "archer", /*@AFFECT_TYPE*/ FLUSH )

{

    set ( /*@SET_TYPES*/ "SET_LOOK_TARGET", "archerlook" );

}

 

wait ( 1000.000 );

camera ( /*@CAMERA_COMMANDS*/ ENABLE );

camera ( /*@CAMERA_COMMANDS*/ MOVE, $tag( "launchcam1", ORIGIN)$, 0 );

camera ( /*@CAMERA_COMMANDS*/ PAN, $tag( "launchcam1", ANGLES)$, < 0.000 0.000 0.000 >, 0 );

wait ( 500.000 );

sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/nx01/baydoors.mp3" );

 

affect ( "baydoor1a", /*@AFFECT_TYPE*/ FLUSH )

{

    rotate ( < 0.000 0.000 90.000 >, 4000 );

}

 

 

affect ( "baydoor1b", /*@AFFECT_TYPE*/ FLUSH )

{

    rotate ( < 0.000 0.000 -90.000 >, 4000 );

}

 

 

affect ( "archer", /*@AFFECT_TYPE*/ FLUSH )

{

    set ( /*@SET_TYPES*/ "SET_RUNSPEED", 100 );

    set ( /*@SET_TYPES*/ "SET_ANIM_UPPER", /*@ANIM_NAMES*/ "BOTH_SURPRISED2" );

    set ( /*@SET_TYPES*/ "SET_ANIM_LOWER", /*@ANIM_NAMES*/ "LEGS_RUNBACK1" );

    set ( /*@SET_TYPES*/ "SET_ANIM_HOLDTIME_BOTH", -1 );

}

 

use ( "bayhatch" );

wait ( 1200.000 );

 

affect ( "archer", /*@AFFECT_TYPE*/ FLUSH )

{

    set ( /*@SET_TYPES*/ "SET_ANIM_UPPER", /*@ANIM_NAMES*/ "BOTH_SURPRISED1" );

    set ( /*@SET_TYPES*/ "SET_ANIM_HOLDTIME_BOTH", -1 );

}

 

wait ( 1000.000 );

 

affect ( "archer", /*@AFFECT_TYPE*/ FLUSH )

{

    set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_DEATHBACKWARD1" );

    set ( /*@SET_TYPES*/ "SET_ANIM_HOLDTIME_BOTH", -1 );

}

 

 

 

-----------------------------------------------------------------------------------------------------------------------------------------------

 

This below is further down the list.

 

affect ( "archer", /*@AFFECT_TYPE*/ FLUSH )

{

    remove ( "self" );

}

 

 

affect ( "diearcherdie", /*@AFFECT_TYPE*/ FLUSH )

{

    set ( /*@SET_TYPES*/ "SET_INVISIBLE", /*@BOOL_TYPES*/ "false" );

    set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_FALLDEATH1INAIR" );

    set ( /*@SET_TYPES*/ "SET_ANIM_HOLDTIME_BOTH", -1 );

    set ( /*@SET_TYPES*/ "SET_GRAVITY", 75.000 );

}

 

 

This I got from a file from an EF map. All I can understand is an animation of a character when a door is open for that character to then fall out.

 

How would I perhaps end that happening, just delete the code parts?

Posted

According to a text file this makes a character fall out of a door, so I would like to remove that character from the scene of a door opening.

 

That is the only part of the code where it contains the character and the animation of it once falling. So I just want to end that. Removing the character itself is probably a physical edit, but obviously the piece of code uses the object.

Posted

I'll need to get Behaved to do this scripting, Icarus is used in Elite force, it states so at the back of the PS2 copy of EF.

Posted

I have used the BehavED editor to delete the archer and flush references. When I compile a script what does it do? Or can I just save the text file and place it back in the Pk3 pack file.

Posted

I have used the BehavED editor to delete the archer and flush references. When I compile a script what does it do? Or can I just save the text file and place it back in the Pk3 pack file.

When you compile the script it creates an IBI file. You'll want to place that in the PK3.

 

This topic has been moved to Coding and Scripts
Posted

No, Raven forums closed in 2006. Not that I knew that. All the GTKRadiant links aren't working via the help file.

 

There was a few clips on youtube indicating that there were a few modders for it, experienced ones, with more than a decade of having experimented with the game.

 

A lot eventually left end of the last decade from my research.

 

As for an IBN file, just anywhere or obviously in a scripts folder. I can't even run a map just yet. Something to do with memory allocation problem.

Posted

As for opening an IBI file?

 

I was searching in the Elite force expansion pack, virtual voyager, there are plenty of of these files in the real_scripts folder. BehavED won't open them?

 

I couldn't get the map I wanted to edit to work, I was able to run it unconventionally, but none of the doors opened. Sadly, with nobody who created it to assist me, I've had to drop the whole project.

Posted

You can't open compiled IBI scripts with BehavED. You will need to decompile them first using Devaheb, which is available on the Downloads section of this site.

 

As for memory allocation issue when running a map, what kind of memory allocation issue?

Posted

Strange, I was able to load the map. And edit a script.

 

Ah okay, I wanted to take a look at the virtual voyager expansion pack IBI file. Thanks for that information

 

Also, I'm interested in some basic walking script commands, is there a really basic tutorial on getting a NPC or character to move?

 

Leaving the above aside for a moment,

 

I tried to edit this, but when I did the sound no longer worked, though this wasn't the exact script. I'm typing up the one in BehavED, so the event should loop after the noise and remain on until the player turns it off.

 

 

//Generated by BehavEd


affect ( "munro", /*@AFFECT_TYPE*/ INSERT )
{

    loop ( 8 )
    {

        task ( "noiser" )
        {
            sound ( /*@CHANNELS*/ CHAN_VOICE, "sound/ambience/voyager/redalert.mp3" );
            do ( "noiser" );
            wait ( "noiser" );
            wait ( "200.000" );
        }

    }

}
 

Posted

There isn't a tutorial on it. I don't know how Elite Force handles NPCs moving, but you'll need to create entities called waypoint_navgoal in your map to serve as positions for the NPCs to walk. Give them a script_targetname. You can then do something like this:

affect (script_targetname of NPC) {
    set (SET_NAVGOAL, script_targetname of waypoint)
}
Posted

Okay I see. That is ultimate objective. There are a few characters on a map.

 

From this example script that I'm having to type up in BehavED.

 

 

// Generated by DEvaheb v1.0
// Decompiled from file "C:\Program Files\Raven\Star Trek Voyager Elite Force\baseEf\chakotay2.ibi"

use ( "janeoff" );

affect ( "janeway", FLUSH )
{

    task ( "react" )
    {
        set ( "SET_NAVGOAL", "janeway_here1" );
    }

    set ( "SET_ANIM_HOLDTIME_BOTH", 0.000 );
    set ( "SET_BEHAVIOR_STATE", "BS_WALK" );
    do ( "react" );
    wait ( "react" );
    signal ( "jane_onbridge" );
    set ( "SET_LEADER", "munro" );
    set ( "SET_BEHAVIOR_STATE", "BS_FACE_LEADER" );
}

wait ( 1000.000 );
use ( "redal" );
run ( "deck01/alertnoise" );
wait ( 750.000 );

affect ( "chakotay", FLUSH )
{
    set ( "SET_LOOK_TARGET", "MUNRO" );

    task ( "shutoff" )
    {
        set ( "SET_ANIM_UPPER", "BOTH_CONSOLE1RIGHT" );
    }


    task ( "stopit" )
    {
        sound ( CHAN_VOICE, "sound/voice/chakotay/misc/ff_2a.mp3" );
    }


    task ( "enough" )
    {
        sound ( CHAN_VOICE, "sound/voice/chakotay/misc/ff_3b.mp3" );
    }

    wait ( 750.000 );
    do ( "stopit" );
    wait ( "stopit" );
    waitsignal ( "jane_onbridge" );
    wait ( 500.000 );

    affect ( "janeway", FLUSH )
    {

        task ( "whathappened" )
        {
            sound ( CHAN_VOICE, "sound/voice/janeway/misc/ff_1b.mp3" );
        }


        task ( "dismissed" )
        {
            set ( "SET_NAVGOAL", "janeway_here2" );
        }

        do ( "whathappened" );
        wait ( "whathappened" );
        wait ( 5500.000 );
        set ( "SET_BEHAVIOR_STATE", "BS_WALK" );
        do ( "dismissed" );
        wait ( "dismissed" );
        use ( "janeon" );
        set ( "SET_LEADER", "null" );
        wait ( 6000.000 );
    }

    wait ( 3000.000 );
    do ( "enough" );
    wait ( "enough" );
    do ( "shutoff" );
    wait ( "shutoff" );
    use ( "redal" );
    use ( "now" );
    set ( "SET_LOOK_TARGET", "NULL" );
    set ( "SET_USESCRIPT", "NULL" );
    set ( "SET_ANIM_BOTH", "BOTH_SIT2TO1" );
    set ( "SET_ANIM_HOLDTIME_BOTH", -1.000 );
}
 

 

I ofcourse want the alert system to continue, the noise for eight seconds in total. I did this with the example code example but as stated it failed.

 

There is a light system too so that will continue for as long as the player, can you please indicate anything about this code what needs changing to make it continue after two characters walk in, so after that, the event is going on.

Posted

Sure, they walk in, let me find a youtube clip of this tour mod for Elite force.

 

https://youtu.be/2D85br6Sibc?t=29m

 

You'll see what I'm getting at with the alert not being able to continue, the sound for a little longer, and as well the status lights on the bridge.

 

As for an NPC walking, I suppose an NPC on one of the decks walking will be an example for my objective.

Posted

Hmm.

 

It isn't a script problem? I imagine so.

 

Could I not increase the time until to nearly indefinately, but also I'd need to open the map to change something there, may be? So I can press the console to turn off the lights after the sound has played for eight seconds. And then I can do so again, and the sequence repeats itself.

Posted

Okay, well I've been trying to get this NPC to move,

 

I have the NPC connected

 

 

//Generated by BehavEd

rem ( "Sato Walks test" );
set ( /*@SET_TYPES*/ "SET_SPAWNSCRIPT", "nav1" );
//$"walkTo"@2
set ( "BSTATE", "BS_WALK" );
set ( "NAVGOAL1", "nav1" );
 

Also,

 

I had even attempted to get another set of doors open, what I don't understand about that, is how were they named a and b, if there is nothing there connecting a trigger script object in the first place, it isn't connected in the GTK.

Posted

Hmm...in Radiant, set the flag of "spawnscript" to this script you just made (on the NPC). Then just put the navgoal part in that script. Also, make sure they are in cinematic mode (not sure if EF has that..?) And I've had trouble with nav goals in the past. I keep them fairly close to the NPC, and I'll make a chain of them, with staggered wait commands to ensure they hit them all. NPCs have been very buggy when it comes to movement, for me anyway.

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...