nx01 Posted August 10, 2015 Posted August 10, 2015 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.
Rayce Posted August 10, 2015 Posted August 10, 2015 It uses the same engine as JKO and JKA, it can't be that different, can it?
nx01 Posted August 11, 2015 Author Posted August 11, 2015 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?
eezstreet Posted August 11, 2015 Posted August 11, 2015 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.
nx01 Posted August 12, 2015 Author Posted August 12, 2015 //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?
eezstreet Posted August 12, 2015 Posted August 12, 2015 End which part happening? This also controls the cinematic. Tell me what you want to do here.
nx01 Posted August 12, 2015 Author Posted August 12, 2015 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.
nx01 Posted August 13, 2015 Author Posted August 13, 2015 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.
nx01 Posted August 16, 2015 Author Posted August 16, 2015 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.
eezstreet Posted August 18, 2015 Posted August 18, 2015 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
Rayce Posted August 18, 2015 Posted August 18, 2015 Are there any active Elite Force modding sites? I've never really looked.
nx01 Posted August 20, 2015 Author Posted August 20, 2015 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.
nx01 Posted August 21, 2015 Author Posted August 21, 2015 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.
eezstreet Posted August 21, 2015 Posted August 21, 2015 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?
nx01 Posted August 22, 2015 Author Posted August 22, 2015 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 BehavEdaffect ( "munro", /*@AFFECT_TYPE*/ INSERT ){ loop ( 8 ) { task ( "noiser" ) { sound ( /*@CHANNELS*/ CHAN_VOICE, "sound/ambience/voyager/redalert.mp3" ); do ( "noiser" ); wait ( "noiser" ); wait ( "200.000" ); } }}
eezstreet Posted August 22, 2015 Posted August 22, 2015 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) }
nx01 Posted August 22, 2015 Author Posted August 22, 2015 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.
eezstreet Posted August 22, 2015 Posted August 22, 2015 How is this failing exactly? Are the characters not walking in?
nx01 Posted August 22, 2015 Author Posted August 22, 2015 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.
nx01 Posted August 22, 2015 Author Posted August 22, 2015 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.
nx01 Posted August 26, 2015 Author Posted August 26, 2015 So what is a typical Icarus script for these Star Wars games for walking?
therfiles Posted August 26, 2015 Posted August 26, 2015 Usually we use navgoals in the map and then use SET_NAVGOAL to get the npc to walk from one point to another.
nx01 Posted August 26, 2015 Author Posted August 26, 2015 Okay, well I've been trying to get this NPC to move, I have the NPC connected //Generated by BehavEdrem ( "Sato Walks test" );set ( /*@SET_TYPES*/ "SET_SPAWNSCRIPT", "nav1" );//$"walkTo"@2set ( "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.
therfiles Posted August 27, 2015 Posted August 27, 2015 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.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now