Jump to content

Help with Icarus Fighting


Recommended Posts

Posted

i'm trying to make NPCs fight each other (just like in yavin_temple).

 

i saw that in JK2 there were 3-4 scripts for doing it but I think it can be done in one (looping it, of course). this code doesn't include the loop cause it's for testing purposes.

 

if i create a target_scriptrunner and add Usescript : training - none happens. if i add to the npc the spawnflag spawnscript training, then the first block of code seems to do something (it sets the npc to invincible) but none of the rest is executed (or looks like that). it doesn't even target the npc i told to.

 

i used jedi and cultists for the example, all of the same class but nothing :/

 

is anything wrong with the way i scripted it or do I need to fix something in the map? cc: @@Asgarath83

//Generated by BehavEd

rem ( "FIGHT S1 S2" );

	affect ( "saber_student1", /*@AFFECT_TYPE*/ FLUSH )
	{
//$"default"@6
		set ( /*!*/ "SET_BEHAVIOR_STATE", /*!*/ "BS_DEFAULT" );
		set ( /*!*/ "SET_CHASE_ENEMIES", /*!*/ "true" );
		set ( /*!*/ "SET_LOOK_FOR_ENEMIES", /*!*/ "true" );
		set ( /*!*/ "SET_IGNOREALERTS", /*!*/ "false" );
		set ( /*!*/ "SET_WALKING", /*!*/ "false" );
		set ( /*!*/ "SET_RUNNING", /*!*/ "false" );
		set ( "SET_IGNOREENEMIES", "false" );
		set ( "SET_ENEMY", "saber_student2" );
		set ( "SET_LOCKED_ENEMY", "true" );
		set ( "SET_INVINCIBLE", "true" );
	}

	affect ( "saber_student2", /*@AFFECT_TYPE*/ FLUSH )
	{
//$"default"@6
		set ( /*!*/ "SET_BEHAVIOR_STATE", /*!*/ "BS_DEFAULT" );
		set ( /*!*/ "SET_CHASE_ENEMIES", /*!*/ "true" );
		set ( /*!*/ "SET_LOOK_FOR_ENEMIES", /*!*/ "true" );
		set ( /*!*/ "SET_IGNOREALERTS", /*!*/ "false" );
		set ( /*!*/ "SET_WALKING", /*!*/ "false" );
		set ( /*!*/ "SET_RUNNING", /*!*/ "false" );
		set ( "SET_IGNOREENEMIES", "false" );
		set ( "SET_ENEMY", "saber_student1" );
		set ( "SET_LOCKED_ENEMY", "true" );
		set ( "SET_INVINCIBLE", "true" );
	}

wait ( "25000" );
rem ( "STOP - SIT (S2)" );
rem ( "RESTORE S1" );

affect ( "saber_student1", /*@AFFECT_TYPE*/ FLUSH )
{

	task ( "go_start" )
	{
		set ( "SET_NAVGOAL", "fight_place1" );
	}

//$"runOnly"@5
	set ( /*!*/ "SET_BEHAVIOR_STATE", /*!*/ "BS_DEFAULT" );
	set ( /*!*/ "SET_WALKING", /*!*/ "false" );
	set ( /*!*/ "SET_RUNNING", /*!*/ "true" );
	set ( /*!*/ "SET_IGNOREALERTS", /*!*/ "true" );
	set ( /*!*/ "SET_LOOK_FOR_ENEMIES", /*!*/ "false" );
	set ( "SET_IGNOREENEMIES", "true" );
	set ( "SET_BEHAVIOR_STATE", "BS_CINEMATIC" );
	set ( "SET_LOCKED_ENEMY", "false" );
	set ( "SET_ENEMY", "NULL" );
	wait ( "1000" );
	set ( "SET_SABERACTIVE", "false" );
	dowait ( "go_start" );
	set ( "SET_DYAW", "135" );
}

rem ( "SIT S2" );

affect ( "saber_student2", /*@AFFECT_TYPE*/ FLUSH )
{

	task ( "go_starts2" )
	{
		set ( "SET_NAVGOAL", "fight_place2" );
	}


	task ( "go_sit" )
	{
		set ( "SET_NAVGOAL", "student_start2" );
	}


	task ( "sit2" )
	{
		set ( "SET_ANIM_BOTH", "BOTH_STAND5TOSIT2" );
	}

//$"runOnly"@5
	set ( /*!*/ "SET_BEHAVIOR_STATE", /*!*/ "BS_DEFAULT" );
	set ( /*!*/ "SET_WALKING", /*!*/ "false" );
	set ( /*!*/ "SET_RUNNING", /*!*/ "true" );
	set ( /*!*/ "SET_IGNOREALERTS", /*!*/ "true" );
	set ( /*!*/ "SET_LOOK_FOR_ENEMIES", /*!*/ "false" );
	set ( "SET_IGNOREENEMIES", "true" );
	set ( "SET_BEHAVIOR_STATE", "BS_CINEMATIC" );
	set ( "SET_LOCKED_ENEMY", "false" );
	set ( "SET_ENEMY", "NULL" );
	wait ( "1000" );
	set ( "SET_SABERACTIVE", "false" );
	set ( "SET_ANIM_HOLDTIME_BOTH", "0" );
	dowait ( "go_starts2" );
	dowait ( "go_sit" );
	set ( "SET_SABERACTIVE", "false" );
	set ( "SET_ANGLES", "0 270 0" );
	dowait ( "sit2" );
	set ( "SET_ANIM_BOTH", "BOTH_SIT2" );
	set ( "SET_ANIM_HOLDTIME_BOTH", "-1" );
}

rem ( "WAKE MASTER" );

affect ( "saber_master", /*@AFFECT_TYPE*/ FLUSH )
{
//$"runOnly"@5
	set ( /*!*/ "SET_BEHAVIOR_STATE", /*!*/ "BS_DEFAULT" );
	set ( /*!*/ "SET_WALKING", /*!*/ "false" );
	set ( /*!*/ "SET_RUNNING", /*!*/ "true" );
	set ( /*!*/ "SET_IGNOREALERTS", /*!*/ "true" );
	set ( /*!*/ "SET_LOOK_FOR_ENEMIES", /*!*/ "false" );

	task ( "go_start" )
	{
		set ( "SET_NAVGOAL", "fight_place2" );
	}


	task ( "stand5" )
	{
		set ( "SET_ANIM_BOTH", "BOTH_SIT2TOSTAND5" );
	}

	dowait ( "stand5" );
	set ( "SET_ANIM_HOLDTIME_BOTH", "0" );
	dowait ( "go_start" );
	set ( "SET_DYAW", "315" );
}

wait ( "12000" );
rem ( "START FIGHT S1 MASTER" );

affect ( "saber_student1", /*@AFFECT_TYPE*/ FLUSH )
{
//$"default"@6
	set ( /*!*/ "SET_BEHAVIOR_STATE", /*!*/ "BS_DEFAULT" );
	set ( /*!*/ "SET_CHASE_ENEMIES", /*!*/ "true" );
	set ( /*!*/ "SET_LOOK_FOR_ENEMIES", /*!*/ "true" );
	set ( /*!*/ "SET_IGNOREALERTS", /*!*/ "false" );
	set ( /*!*/ "SET_WALKING", /*!*/ "false" );
	set ( /*!*/ "SET_RUNNING", /*!*/ "false" );
	set ( "SET_IGNOREENEMIES", "false" );
	set ( "SET_ENEMY", "saber_master" );
	set ( "SET_LOCKED_ENEMY", "true" );
	set ( "SET_INVINCIBLE", "true" );
}


affect ( "saber_master", /*@AFFECT_TYPE*/ FLUSH )
{
//$"default"@6
	set ( /*!*/ "SET_BEHAVIOR_STATE", /*!*/ "BS_DEFAULT" );
	set ( /*!*/ "SET_CHASE_ENEMIES", /*!*/ "true" );
	set ( /*!*/ "SET_LOOK_FOR_ENEMIES", /*!*/ "true" );
	set ( /*!*/ "SET_IGNOREALERTS", /*!*/ "false" );
	set ( /*!*/ "SET_WALKING", /*!*/ "false" );
	set ( /*!*/ "SET_RUNNING", /*!*/ "false" );
	set ( "SET_IGNOREENEMIES", "false" );
	set ( "SET_ENEMY", "saber_student1" );
	set ( "SET_LOCKED_ENEMY", "true" );
	set ( "SET_INVINCIBLE", "true" );
}

wait ( "25000" );
rem ( "STOP - SIT S1" );
rem ( "RESTORE MASTER (1)" );

affect ( "saber_master", /*@AFFECT_TYPE*/ FLUSH )
{

	task ( "go_start" )
	{
		set ( "SET_NAVGOAL", "fight_place1" );
	}

//$"runOnly"@5
	set ( /*!*/ "SET_BEHAVIOR_STATE", /*!*/ "BS_DEFAULT" );
	set ( /*!*/ "SET_WALKING", /*!*/ "false" );
	set ( /*!*/ "SET_RUNNING", /*!*/ "true" );
	set ( /*!*/ "SET_IGNOREALERTS", /*!*/ "true" );
	set ( /*!*/ "SET_LOOK_FOR_ENEMIES", /*!*/ "false" );
	set ( "SET_IGNOREENEMIES", "true" );
	set ( "SET_BEHAVIOR_STATE", "BS_CINEMATIC" );
	set ( "SET_LOCKED_ENEMY", "false" );
	set ( "SET_ENEMY", "NULL" );
	wait ( "1000" );
	set ( "SET_SABERACTIVE", "false" );
	dowait ( "go_start" );
	set ( "SET_DYAW", "135" );
}

rem ( "SITS1" );

affect ( "saber_student1", /*@AFFECT_TYPE*/ FLUSH )
{

	task ( "go_starts2" )
	{
		set ( "SET_NAVGOAL", "fight_place2" );
	}


	task ( "go_sit" )
	{
		set ( "SET_NAVGOAL", "student_start1" );
	}


	task ( "sit2" )
	{
		set ( "SET_ANIM_BOTH", "BOTH_STAND5TOSIT2" );
	}

//$"runOnly"@5
	set ( /*!*/ "SET_BEHAVIOR_STATE", /*!*/ "BS_DEFAULT" );
	set ( /*!*/ "SET_WALKING", /*!*/ "false" );
	set ( /*!*/ "SET_RUNNING", /*!*/ "true" );
	set ( /*!*/ "SET_IGNOREALERTS", /*!*/ "true" );
	set ( /*!*/ "SET_LOOK_FOR_ENEMIES", /*!*/ "false" );
	set ( "SET_IGNOREENEMIES", "true" );
	set ( "SET_BEHAVIOR_STATE", "BS_CINEMATIC" );
	set ( "SET_LOCKED_ENEMY", "false" );
	set ( "SET_ENEMY", "NULL" );
	wait ( "1000" );
	set ( "SET_SABERACTIVE", "false" );
	set ( "SET_ANIM_HOLDTIME_BOTH", "0" );
	dowait ( "go_starts2" );
	dowait ( "go_sit" );
	set ( "SET_SABERACTIVE", "false" );
	set ( "SET_ANGLES", "0 270 0" );
	dowait ( "sit2" );
	set ( "SET_ANIM_BOTH", "BOTH_SIT2" );
	set ( "SET_ANIM_HOLDTIME_BOTH", "-1" );
}

rem ( "WAKE S2" );

affect ( "saber_student2", /*@AFFECT_TYPE*/ FLUSH )
{
//$"runOnly"@5
	set ( /*!*/ "SET_BEHAVIOR_STATE", /*!*/ "BS_DEFAULT" );
	set ( /*!*/ "SET_WALKING", /*!*/ "false" );
	set ( /*!*/ "SET_RUNNING", /*!*/ "true" );
	set ( /*!*/ "SET_IGNOREALERTS", /*!*/ "true" );
	set ( /*!*/ "SET_LOOK_FOR_ENEMIES", /*!*/ "false" );

	task ( "go_start" )
	{
		set ( "SET_NAVGOAL", "fight_place2" );
	}


	task ( "stand5" )
	{
		set ( "SET_ANIM_BOTH", "BOTH_SIT2TOSTAND5" );
	}

	dowait ( "stand5" );
	set ( "SET_ANIM_HOLDTIME_BOTH", "0" );
	dowait ( "go_start" );
	set ( "SET_DYAW", "315" );
}

wait ( 12000.000 );
rem ( "START FIGHT S2 MASTER" );

affect ( "saber_master", /*@AFFECT_TYPE*/ FLUSH )
{
//$"default"@6
	set ( /*!*/ "SET_BEHAVIOR_STATE", /*!*/ "BS_DEFAULT" );
	set ( /*!*/ "SET_CHASE_ENEMIES", /*!*/ "true" );
	set ( /*!*/ "SET_LOOK_FOR_ENEMIES", /*!*/ "true" );
	set ( /*!*/ "SET_IGNOREALERTS", /*!*/ "false" );
	set ( /*!*/ "SET_WALKING", /*!*/ "false" );
	set ( /*!*/ "SET_RUNNING", /*!*/ "false" );
	set ( "SET_IGNOREENEMIES", "false" );
	set ( "SET_ENEMY", "saber_student2" );
	set ( "SET_LOCKED_ENEMY", "true" );
	set ( "SET_INVICIBLE", "true" );
}


affect ( "saber_student2", /*@AFFECT_TYPE*/ FLUSH )
{
//$"default"@6
	set ( /*!*/ "SET_BEHAVIOR_STATE", /*!*/ "BS_DEFAULT" );
	set ( /*!*/ "SET_CHASE_ENEMIES", /*!*/ "true" );
	set ( /*!*/ "SET_LOOK_FOR_ENEMIES", /*!*/ "true" );
	set ( /*!*/ "SET_IGNOREALERTS", /*!*/ "false" );
	set ( /*!*/ "SET_WALKING", /*!*/ "false" );
	set ( /*!*/ "SET_RUNNING", /*!*/ "false" );
	set ( "SET_IGNOREENEMIES", "false" );
	set ( "SET_ENEMY", "saber_master" );
	set ( "SET_LOCKED_ENEMY", "true" );
	set ( "SET_INVINCIBLE", "true" );
}

wait ( "25000" );
rem ( "STOP - SIT MASTER" );
rem ( "RESTORE S2" );

affect ( "saber_student2", /*@AFFECT_TYPE*/ FLUSH )
{

	task ( "go_start" )
	{
		set ( "SET_NAVGOAL", "fight_place2" );
	}

//$"runOnly"@5
	set ( /*!*/ "SET_BEHAVIOR_STATE", /*!*/ "BS_DEFAULT" );
	set ( /*!*/ "SET_WALKING", /*!*/ "false" );
	set ( /*!*/ "SET_RUNNING", /*!*/ "true" );
	set ( /*!*/ "SET_IGNOREALERTS", /*!*/ "true" );
	set ( /*!*/ "SET_LOOK_FOR_ENEMIES", /*!*/ "false" );
	set ( "SET_IGNOREENEMIES", "true" );
	set ( "SET_BEHAVIOR_STATE", "BS_CINEMATIC" );
	set ( "SET_LOCKED_ENEMY", "false" );
	set ( "SET_ENEMY", "NULL" );
	wait ( "1000" );
	set ( "SET_SABERACTIVE", "false" );
	dowait ( "go_start" );
	set ( "SET_DYAW", "135" );
}

rem ( "SIT MASTER" );

affect ( "saber_master", /*@AFFECT_TYPE*/ FLUSH )
{

	task ( "go_starts2" )
	{
		set ( "SET_NAVGOAL", "fight_place1" );
	}


	task ( "go_sit" )
	{
		set ( "SET_NAVGOAL", "master_start" );
	}


	task ( "sit2" )
	{
		set ( "SET_ANIM_BOTH", "BOTH_STAND5TOSIT2" );
	}

//$"runOnly"@5
	set ( /*!*/ "SET_BEHAVIOR_STATE", /*!*/ "BS_DEFAULT" );
	set ( /*!*/ "SET_WALKING", /*!*/ "false" );
	set ( /*!*/ "SET_RUNNING", /*!*/ "true" );
	set ( /*!*/ "SET_IGNOREALERTS", /*!*/ "true" );
	set ( /*!*/ "SET_LOOK_FOR_ENEMIES", /*!*/ "false" );
	set ( "SET_IGNOREENEMIES", "true" );
	set ( "SET_BEHAVIOR_STATE", "BS_CINEMATIC" );
	set ( "SET_LOCKED_ENEMY", "false" );
	set ( "SET_ENEMY", "NULL" );
	wait ( "1000" );
	set ( "SET_SABERACTIVE", "false" );
	set ( "SET_ANIM_HOLDTIME_BOTH", "0" );
	dowait ( "go_starts2" );
	dowait ( "go_sit" );
	set ( "SET_SABERACTIVE", "false" );
	set ( "SET_ANGLES", "0 270 0" );
	dowait ( "sit2" );
	set ( "SET_ANIM_BOTH", "BOTH_SIT2" );
	set ( "SET_ANIM_HOLDTIME_BOTH", "-1" );
}

rem ( "WAKE S1" );

affect ( "saber_student1", /*@AFFECT_TYPE*/ FLUSH )
{
//$"runOnly"@5
	set ( /*!*/ "SET_BEHAVIOR_STATE", /*!*/ "BS_DEFAULT" );
	set ( /*!*/ "SET_WALKING", /*!*/ "false" );
	set ( /*!*/ "SET_RUNNING", /*!*/ "true" );
	set ( /*!*/ "SET_IGNOREALERTS", /*!*/ "true" );
	set ( /*!*/ "SET_LOOK_FOR_ENEMIES", /*!*/ "false" );

	task ( "go_start" )
	{
		set ( "SET_NAVGOAL", "fight_place1" );
	}


	task ( "stand5" )
	{
		set ( "SET_ANIM_BOTH", "BOTH_SIT2TOSTAND5" );
	}

	dowait ( "stand5" );
	set ( "SET_ANIM_HOLDTIME_BOTH", "0" );
	dowait ( "go_start" );
	set ( "SET_DYAW", "315" );
}

wait ( 12000.000 );

I am hosting Jedi Outcast and Jedi Academy servers for free up to 8 servers. Contact me if you are in need of a server for your community. 🙂

Posted

just to add, i tried with a snowtrooper getting as enemy an imperial (entity) and it was invincible but didn't attack him even when he was right in front of him

I am hosting Jedi Outcast and Jedi Academy servers for free up to 8 servers. Contact me if you are in need of a server for your community. 🙂

Posted

just to add, i tried with a snowtrooper getting as enemy an imperial (entity) and it was invincible but didn't attack him even when he was right in front of him

Hello.

Sorry for my late. today i was busy.

However, the problem is simple: the NPCs are alls of the same teammeate, and so they not fight each other.

if you want a NPC fight against another, you need to use the SET_PLAYER_TEAM and SET_ENEMY_TEAM script. you need to

turn into an Enemy.

for example, about the saber_student1 it's okay.

about the saber_student2, for the time of the fight, you need to put saber_student2 to

SET_PLAYER_TEAM TEAM_ENEMY

SET_ENEMY_TEAM  TEAM_PLAYER. 

you can do with icarus. in that way student 2 and student 1 will fight each other.

remember of use SET_INVINCIBILE for together the two student for the entire duration of the fight, or they can hit or kill the adversary. it's not much good a murder for a simple training... :)

When fight is end, you can turn back the set_student2 by team_enemy to team player, with the same procedure, but inverse parameters.

:) and so they will stop of fight.

Same happen for snowtropper vs imperial. they are all two of Enemy team, setted into NPC files. so they not attack each others.

also, jedi not attack each others because they are of team_player vs team_player.

teammates NPC never attack their teammates, but if you turn a teammate into a foe, they will fight immediatly.

Posted

Hello.

Sorry for my late. today i was busy.

However, the problem is simple: the NPCs are alls of the same teammeate, and so they not fight each other.

if you want a NPC fight against another, you need to use the SET_PLAYER_TEAM and SET_ENEMY_TEAM script. you need to

turn into an Enemy.

for example, about the saber_student1 it's okay.

about the saber_student2, for the time of the fight, you need to put saber_student2 to

SET_PLAYER_TEAM TEAM_ENEMY

SET_ENEMY_TEAM  TEAM_PLAYER. 

you can do with icarus. in that way student 2 and student 1 will fight each other.

remember of use SET_INVINCIBILE for together the two student for the entire duration of the fight, or they can hit or kill the adversary. it's not much good a murder for a simple training... :)

 

When fight is end, you can turn back the set_student2 by team_enemy to team player, with the same procedure, but inverse parameters.

:) and so they will stop of fight.

 

Same happen for snowtropper vs imperial. they are all two of Enemy team, setted into NPC files. so they not attack each others.

also, jedi not attack each others because they are of team_player vs team_player.

teammates NPC never attack their teammates, but if you turn a teammate into a foe, they will fight immediatly.

i followed this, but only the first part of the script runs. until the first wait 25000 (in comented the code that doesn't run)

 

//Generated by BehavEd

affect ( "saber_master", /*@AFFECT_TYPE*/ FLUSH )
{
	set ( "SET_PLAYER_TEAM", "TEAM_NEUTRAL" );
	set ( "SET_ENEMY_TEAM", "TEAM_NEUTRAL" );
	set ( "SET_BEHAVIOR_STATE", "BS_CINEMATIC" );
	set ( "SET_INVINCIBLE", "true" );
}


affect ( "saber_student1", /*@AFFECT_TYPE*/ FLUSH )
{
//$"default"@6
	set ( /*!*/ "SET_BEHAVIOR_STATE", /*!*/ "BS_DEFAULT" );
	set ( /*!*/ "SET_CHASE_ENEMIES", /*!*/ "true" );
	set ( /*!*/ "SET_LOOK_FOR_ENEMIES", /*!*/ "true" );
	set ( /*!*/ "SET_IGNOREALERTS", /*!*/ "false" );
	set ( /*!*/ "SET_WALKING", /*!*/ "false" );
	set ( /*!*/ "SET_RUNNING", /*!*/ "false" );
	set ( "SET_IGNOREENEMIES", "false" );
	set ( "SET_ENEMY", "saber_student2" );
	set ( "SET_LOCKED_ENEMY", "true" );
	set ( "SET_INVINCIBLE", "true" );
	set ( "SET_PLAYER_TEAM", "TEAM_PLAYER" );
	set ( "SET_ENEMY_TEAM", "TEAM_ENEMY" );
}


affect ( "saber_student2", /*@AFFECT_TYPE*/ FLUSH )
{
//$"default"@6
	set ( /*!*/ "SET_BEHAVIOR_STATE", /*!*/ "BS_DEFAULT" );
	set ( /*!*/ "SET_CHASE_ENEMIES", /*!*/ "true" );
	set ( /*!*/ "SET_LOOK_FOR_ENEMIES", /*!*/ "true" );
	set ( /*!*/ "SET_IGNOREALERTS", /*!*/ "false" );
	set ( /*!*/ "SET_WALKING", /*!*/ "false" );
	set ( /*!*/ "SET_RUNNING", /*!*/ "false" );
	set ( "SET_IGNOREENEMIES", "false" );
	set ( "SET_ENEMY", "saber_student1" );
	set ( "SET_LOCKED_ENEMY", "true" );
	set ( "SET_INVINCIBLE", "true" );
}

wait ( "25000" );

// DOESN'T RUN
affect ( "saber_student1", /*@AFFECT_TYPE*/ FLUSH )
{

	task ( "go_start" )
	{
		set ( "SET_NAVGOAL", "fight_place1" );
	}

//$"runOnly"@7
	set ( /*!*/ "SET_BEHAVIOR_STATE", /*!*/ "BS_DEFAULT" );
	set ( /*!*/ "SET_WALKING", /*!*/ "false" );
	set ( /*!*/ "SET_RUNNING", /*!*/ "true" );
	set ( /*!*/ "SET_IGNOREALERTS", /*!*/ "true" );
	set ( /*!*/ "SET_LOOK_FOR_ENEMIES", /*!*/ "false" );
	set ( "SET_IGNOREENEMIES", "true" );
	set ( "SET_PLAYER_TEAM", "TEAM_ENEMY" );
	set ( "SET_ENEMY_TEAM", "TEAM_PLAYER" );
	set ( "SET_BEHAVIOR_STATE", "BS_CINEMATIC" );
	set ( "SET_LOCKED_ENEMY", "false" );
	set ( "SET_ENEMY", "NULL" );
	wait ( "3000" );
	set ( "SET_SABERACTIVE", "false" );
	dowait ( "go_start" );
	set ( "SET_DYAW", "135" );
}
 

I am hosting Jedi Outcast and Jedi Academy servers for free up to 8 servers. Contact me if you are in need of a server for your community. 🙂

Posted

Apparently that wait kills it... Dunno how to do the waiting honestly, unless I can think of something... Probably gonna have to create tasks and include the wait there but I'm not so sure

 

edit: whenever i put a wait the script doesn't go on..

I am hosting Jedi Outcast and Jedi Academy servers for free up to 8 servers. Contact me if you are in need of a server for your community. 🙂

Posted

mmm, you use multiple affect stage in a script for change parameter and action of an entity. for what i see in original game ginematic, the every entity has only one affected that resume ALL istruction and event that happen to hit.

try to make one only affect for each entity, without the wait 25000.

you can use signal and waitsignal functions for create a succession of events.

at example:

student1

Block A script.

Signal A

Waitsignal B

Block C script

 

Student 2

Block script student 2

Waitsignal A

Block B script

Signal B

waitsignal C

 

translation: the student 1 execute all things, actiate the A task (that run the blocksciprt B of the entity 2. ) while entity 2 is doing the block b. the entity 1 wait the Signal B for execute block C istruction.

it's like a tennis game, with the executed istruction that bounce between entity 1 and entity 2. this is perfect for dialogue or interaction between 2 entities. 

waitsignal stop all istruction that follow it until there is not executed the signal with its same value.

try with this tecnique.

Posted

How does waitsignal work exactly? (Got a code sample mayb?)

 

Cause the problem is that there are two students and a master so the bouncing is not as easy

I am hosting Jedi Outcast and Jedi Academy servers for free up to 8 servers. Contact me if you are in need of a server for your community. 🙂

Posted

He means do, dowait and wait commands, not signal/waitsignal. I think.

i was doing do dowait and wait XD

 

i found out i was using wait("") instead of wait() so that was stopping my scripts x________x

I am hosting Jedi Outcast and Jedi Academy servers for free up to 8 servers. Contact me if you are in need of a server for your community. 🙂

Posted

 

 
/$"runOnly"@7
    set ( /*!*/ "SET_BEHAVIOR_STATE", /*!*/ "BS_DEFAULT" );
    set ( /*!*/ "SET_WALKING", /*!*/ "false" );
    set ( /*!*/ "SET_RUNNING", /*!*/ "true" );
    set ( /*!*/ "SET_IGNOREALERTS", /*!*/ "true" );
    set ( /*!*/ "SET_LOOK_FOR_ENEMIES", /*!*/ "false" );
    set ( "SET_IGNOREENEMIES", "true" );
    set ( "SET_PLAYER_TEAM", "TEAM_ENEMY" );
    set ( "SET_ENEMY_TEAM", "TEAM_PLAYER" );
    set ( "SET_BEHAVIOR_STATE", "BS_CINEMATIC" );
    set ( "SET_LOCKED_ENEMY", "false" );
    set ( "SET_ENEMY", "NULL" );
    wait ( "3000" );
    set ( "SET_SABERACTIVE", "false" );
    dowait ( "go_start" );
    set ( "SET_DYAW", "135" );

you have setting into the same time BS_CINEMATIC and BS_DEFAULT to the NPC. try to remove BS_CINEMATIC.

i was mean however, to put the wait 25000 inside one of the affect student script, followed by a signal called "A" or something like this. and a and waitsignal called with the same name of A at the place of wait 25 000 .

should work.

- wait define a wait time in millisecond between two action.

- signal and waitsignal ,... waitsignal stop all istruction after it, until is not called the signal with his own name.

- do, wait and dowait are used with the task field.

do: execture the task with the same name.

wait: stop script until the task with this name is ended.

dowait: execute a task, and stop script until the istruction on the task is completed.

Posted

forgot to answer but i got it working since a few days:

 

 

its an example map and i'll remove navgoals an waypoint better but it's working :P

 

@@eezstreet @@Asgarath83

Stoiss and Asgarath83 like this

I am hosting Jedi Outcast and Jedi Academy servers for free up to 8 servers. Contact me if you are in need of a server for your community. 🙂

Posted

nice i like how they act like doing the shift betwean each others whne the get close and then go back and sit down for ther turn  :P

Posted

nice i like how they act like doing the shift betwean each others whne the get close and then go back and sit down for ther turn   :P

 

that was the idea XD

 

and the next script was a cinematic where they get killed but that was easier once i struggled with icarus for a few days

I am hosting Jedi Outcast and Jedi Academy servers for free up to 8 servers. Contact me if you are in need of a server for your community. 🙂

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