dark soul Posted January 4, 2016 Posted January 4, 2016 Is it possible to use force lightning in an Icarus script? 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.
Solution Asgarath83 Posted January 4, 2016 Solution Posted January 4, 2016 Is it possible to use force lightning in an Icarus script?Sure,with SET_FORCE_LIGHTNING , true.you force a NPC with force lightning power to shoot it. dark soul likes this
dark soul Posted January 4, 2016 Author Posted January 4, 2016 Sure,with SET_FORCE_LIGHTNING , true.you force a NPC with force lightning power to shoot it. You just made my day. 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.
Asgarath83 Posted January 4, 2016 Posted January 4, 2016 You just made my day. No problem. my pleasure
dark soul Posted January 5, 2016 Author Posted January 5, 2016 Sure,with SET_FORCE_LIGHTNING , true.you force a NPC with force lightning power to shoot it. i have been trying it with Npc_player but nothing happens :/ I'll try with other and see edit works with ohter npc, gotta check how to mod npc_player 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.
Asgarath83 Posted January 5, 2016 Posted January 5, 2016 i have been trying it with Npc_player but nothing happens :/ I'll try with other and seestrange. have you setted the right path for your icarus script? it need to match withradiant script path. example: if Spawnscript is "hotlava/runattack"you need to make a folder, called hotlava, inside the scripts folder of your mod, and inside put the runattack.IBI.i suggest you to subdivide script by folder for each map. so every map of the mod get his custom script and they not mixed up.basically, like into the assest of the game.if the paths are fine... should be a problem of syntax.remember this:if a script is run directly by a NPC, with spawnscript, painscript etc, every istruction you put into the IBI file affected the NPC itself that run the script. basically they run on activator. instead, if you run a script with a target scriptrunner.if you want a script affect an NPC you need to useAffect ( Targetname)set 1set 2set 3 structire.where Targetname is the targetname of your NPC that youw want to affect.for some entity, also is necessary to set a script_targetname flag into the entity on radiabnt, if you want the script affected they.example: NPC_spawnerNpc_type stormtrooperTargetname St1script_targetname St1spawnscript: hotlava/st1spawn the script hotlava/st1spawn.IBI will Directly affected the NPC when it spawn withoiut any afffect field necessary.Insead, if the script is run with a target_scriptrunner or a trigger, you need to useUsescript hotlava/st1_spawnand inside the script, you need to put the SET istruction insideaffect (St1)inside the branks of affect, you put SET_FORCE_LIGHTNING, true.and it will shoot a lightning when it spawn.
dark soul Posted January 5, 2016 Author Posted January 5, 2016 strange. have you setted the right path for your icarus script? it need to match withradiant script path. example: if Spawnscript is "hotlava/runattack"you need to make a folder, called hotlava, inside the scripts folder of your mod, and inside put the runattack.IBI.i suggest you to subdivide script by folder for each map. so every map of the mod get his custom script and they not mixed up.basically, like into the assest of the game. if the paths are fine... should be a problem of syntax.remember this:if a script is run directly by a NPC, with spawnscript, painscript etc, every istruction you put into the IBI file affected the NPC itself that run the script. basically they run on activator. instead, if you run a script with a target scriptrunner.if you want a script affect an NPC you need to useAffect ( Targetname)set 1set 2set 3 structire.where Targetname is the targetname of your NPC that youw want to affect.for some entity, also is necessary to set a script_targetname flag into the entity on radiabnt, if you want the script affected they.example: NPC_spawnerNpc_type stormtrooperTargetname St1script_targetname St1spawnscript: hotlava/st1spawn the script hotlava/st1spawn.IBI will Directly affected the NPC when it spawn withoiut any afffect field necessary.Insead, if the script is run with a target_scriptrunner or a trigger, you need to useUsescript hotlava/st1_spawnand inside the script, you need to put the SET istruction insideaffect (St1)inside the branks of affect, you put SET_FORCE_LIGHTNING, true.and it will shoot a lightning when it spawn.well i was actually trying this://Generated by BehavEd camera ( /*@CAMERA_COMMANDS*/ ENABLE ); camera ( /*@CAMERA_COMMANDS*/ MOVE, $tag( "startcam", ORIGIN)$, 0 ); camera ( /*@CAMERA_COMMANDS*/ PAN, $tag( "startcam", ANGLES)$, < 0.000 0.000 0.000 >, 0 ); affect ( "fakeplayer", FLUSH ) { set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_STAND9" ); set ( /*@SET_TYPES*/ "SET_ANIM_HOLDTIME_BOTH", 2000 ); wait ( 2000 ); set ( /*@SET_TYPES*/ "SET_WALKING", /*@BOOL_TYPES*/ "true" ); set ( /*@SET_TYPES*/ "SET_NAVGOAL", "walkspawn" ); } wait ( 20000 ); affect ( "fakeplayer", /*@AFFECT_TYPE*/ FLUSH ) { set ( "SET_FORCE_LIGHTNING", "true" ); } task ( "death" ) { kill ( "st1" ); kill ( "st2" ); kill ( "st3" ); kill ( "st4" ); kill ( "st5" ); kill ( "st6" ); kill ( "of1" ); } dowait ( "death" ); wait ( "1500" ); remove ( "fakeplayer" ); camera ( /*@CAMERA_COMMANDS*/ DISABLE ); (i'm using an enemy-team npc in the meanwhile to use the lightning) if i don't put wait after dowait, the thing goes fine, stormies die but the lightning is unseen whereas if i put wait the cinematic doesn't end edit: apparently fixed the cinematic 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.
Asgarath83 Posted January 6, 2016 Posted January 6, 2016 How you fixed?Mmm, some force powers are inibited on cinematic, for what i see into the coe... but i am not sure about the force lightning,.if you remember, tavion cast a force lightning against jaden and kyle on vjun3 final cinematic. check this script and see how works the displaying of the lightning bolt. dark soul likes this
dark soul Posted January 6, 2016 Author Posted January 6, 2016 Well apparently I can't use two or more waits in the script. If I do it the cinematic never finishes no matter what. I put waits in the affect block and made the only wait(outside of the block) be a second longer than the affect block. Still, I need an explanation for the multiple waits not working 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.
Asgarath83 Posted January 6, 2016 Posted January 6, 2016 mmmm...i am little rust for scripting...but for what i remember, icarus execure ALL together all istruction that read until the wait value.so the affect are execute at the same time of the other istruction there are external to affected field.this can create some conflict between the two wait parameters because they are executed at the same time. for fix this, put a signal at the end of the affect fakeplayer brank.and put a waitsignal before the wait 20.000the name of signal and waitsignal need to matchso, before run the wait 20 000 icarus will wait that is called the signal, so execute first the istruction of affect fake player..
dark soul Posted January 6, 2016 Author Posted January 6, 2016 Isn't waitsignal the same as a task dowait? 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.
Asgarath83 Posted January 6, 2016 Posted January 6, 2016 Isn't waitsignal the same as a task dowait? Bpe, they are completely different.waitsignal and signal not use task brank.check the t1_surprise intro cutscene script and you will see how they works. //Generated by BehavEd rem ( "comment" ); camera ( /*@CAMERA_COMMANDS*/ ENABLE ); camera ( /*@CAMERA_COMMANDS*/ MOVE, $tag( "keithCam1", ORIGIN)$, 0 ); camera ( /*@CAMERA_COMMANDS*/ PAN, $tag( "keithCam1", ANGLES)$, < 0.000 0.000 0.000 >, 0 ); camera ( /*@CAMERA_COMMANDS*/ ZOOM, 60.000, 0 ); affect ( "npc_fakePlayer1", /*@AFFECT_TYPE*/ FLUSH ) { set ( /*@SET_TYPES*/ "SET_WEAPON", /*@[member='weaponx']_NAMES*/ "WP_NONE" ); wait ( 500.000 ); set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_CIN_2" ); set ( /*@SET_TYPES*/ "SET_ANIM_HOLDTIME_BOTH", -1 ); waitsignal ( "okay" ); sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/jaden_male/04jak001.mp3" ); wait ( 1500.000 ); signal ( "people" ); } affect ( "npc_Kyle1", /*@AFFECT_TYPE*/ FLUSH ) { set ( /*@SET_TYPES*/ "SET_WEAPON", /*@[member='weaponx']_NAMES*/ "WP_NONE" ); wait ( 500.000 ); set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_CIN_1" ); set ( /*@SET_TYPES*/ "SET_ANIM_HOLDTIME_BOTH", -1 ); wait ( 1050.000 ); sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/04kyk002.mp3" ); wait ( 3550.000 ); camera ( /*@CAMERA_COMMANDS*/ MOVE, $tag( "keithCam1a", ORIGIN)$, 1500 ); camera ( /*@CAMERA_COMMANDS*/ PAN, $tag( "keithCam1a", ANGLES)$, < 0.000 0.000 0.000 >, 1500 ); wait ( 1000.000 ); sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/04kyk003.mp3" ); wait ( 4850.000 ); sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/04kyk004.mp3" ); wait ( 9000.000 ); signal ( "okay" ); waitsignal ( "people" ); sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/04kyk005.mp3" ); wait ( 3000.000 ); camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.000 0.000 >, 1.000, 2000 ); wait ( 2000.000 ); camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 1.000, < 0.000 0.000 0.000 >, 0.000, 2000 ); camera ( /*@CAMERA_COMMANDS*/ DISABLE ); affect ( "player", /*@AFFECT_TYPE*/ FLUSH ) { set ( /*@SET_TYPES*/ "SET_WEAPON", /*@[member='weaponx']_NAMES*/ "WP_SABER" ); set ( /*@SET_TYPES*/ "SET_SABER1", "reaver2" ); set ( /*@SET_TYPES*/ "SET_SABER2", "none" ); set ( /*@SET_TYPES*/ "SET_WEAPON", /*@[member='weaponx']_NAMES*/ "WP_BOWCASTER" ); set ( /*@SET_TYPES*/ "SET_NO_ACROBATICS", /*@BOOL_TYPES*/ "true" ); set ( /*@SET_TYPES*/ "SET_FORCE_HEAL_LEVEL", /*@[member='Force']_LEVELS*/ "2" ); set ( /*@SET_TYPES*/ "SET_FORCE_JUMP_LEVEL", /*@[member='Force']_LEVELS*/ "2" ); set ( /*@SET_TYPES*/ "SET_GRAVITY", 1600.000 ); set ( /*@SET_TYPES*/ "SET_NO_ACROBATICS", /*@BOOL_TYPES*/ "true" ); set ( /*@SET_TYPES*/ "SET_FORCE_SPEED_LEVEL", /*@[member='Force']_LEVELS*/ "1" ); set ( /*@SET_TYPES*/ "SET_FORCE_PUSH_LEVEL", /*@[member='Force']_LEVELS*/ "1" ); set ( /*@SET_TYPES*/ "SET_FORCE_PULL_LEVEL", /*@[member='Force']_LEVELS*/ "0" ); set ( /*@SET_TYPES*/ "SET_FORCE_MINDTRICK_LEVEL", /*@[member='Force']_LEVELS*/ "0" ); set ( /*@SET_TYPES*/ "SET_FORCE_GRIP_LEVEL", /*@[member='Force']_LEVELS*/ "0" ); set ( /*@SET_TYPES*/ "SET_FORCE_LIGHTNING_LEVEL", /*@[member='Force']_LEVELS*/ "1" ); set ( /*@SET_TYPES*/ "SET_SABER_THROW", /*@[member='Force']_LEVELS*/ "0" ); set ( /*@SET_TYPES*/ "SET_SABER_DEFENSE", /*@[member='Force']_LEVELS*/ "1" ); set ( /*@SET_TYPES*/ "SET_SABER_OFFENSE", /*@[member='Force']_LEVELS*/ "1" ); set ( /*@SET_TYPES*/ "SET_FORCE_RAGE_LEVEL", /*@[member='Force']_LEVELS*/ "3" ); set ( /*@SET_TYPES*/ "SET_FORCE_PROTECT_LEVEL", /*@[member='Force']_LEVELS*/ "1" ); set ( /*@SET_TYPES*/ "SET_FORCE_ABSORB_LEVEL", /*@[member='Force']_LEVELS*/ "0" ); set ( /*@SET_TYPES*/ "SET_FORCE_DRAIN_LEVEL", /*@[member='Force']_LEVELS*/ "0" ); set ( /*@SET_TYPES*/ "SET_FORCE_SIGHT_LEVEL", /*@[member='Force']_LEVELS*/ "2" ); } wait ( 2000.000 ); remove ( "npc_Kyle1" ); remove ( "npc_fakePlayer1" ); set ( /*@SET_TYPES*/ "SET_OBJECTIVE_SHOW", /*@OBJECTIVES*/ "T1_SURPRISE_OBJ1" ); } wait ( 1000.000 ); affect ( "r2_wander_1", /*@AFFECT_TYPE*/ FLUSH ) { set ( /*@SET_TYPES*/ "SET_ANGERSCRIPT", "t1_surprise/r2_wander_1" ); } remove ( "r2d2_1" ); a my edited version of t1_surprise intro cinematic script. you can see how work the signal and waitsignal here.
dark soul Posted January 6, 2016 Author Posted January 6, 2016 Bpe, they are completely different.waitsignal and signal not use task brank.check the t1_surprise intro cutscene script and you will see how they works. //Generated by BehavEd rem ( "comment" ); camera ( /*@CAMERA_COMMANDS*/ ENABLE ); camera ( /*@CAMERA_COMMANDS*/ MOVE, $tag( "keithCam1", ORIGIN)$, 0 ); camera ( /*@CAMERA_COMMANDS*/ PAN, $tag( "keithCam1", ANGLES)$, < 0.000 0.000 0.000 >, 0 ); camera ( /*@CAMERA_COMMANDS*/ ZOOM, 60.000, 0 ); affect ( "npc_fakePlayer1", /*@AFFECT_TYPE*/ FLUSH ) { set ( /*@SET_TYPES*/ "SET_WEAPON", /*@[member='weaponx']_NAMES*/ "WP_NONE" ); wait ( 500.000 ); set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_CIN_2" ); set ( /*@SET_TYPES*/ "SET_ANIM_HOLDTIME_BOTH", -1 ); waitsignal ( "okay" ); sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/jaden_male/04jak001.mp3" ); wait ( 1500.000 ); signal ( "people" ); } affect ( "npc_Kyle1", /*@AFFECT_TYPE*/ FLUSH ) { set ( /*@SET_TYPES*/ "SET_WEAPON", /*@[member='weaponx']_NAMES*/ "WP_NONE" ); wait ( 500.000 ); set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_CIN_1" ); set ( /*@SET_TYPES*/ "SET_ANIM_HOLDTIME_BOTH", -1 ); wait ( 1050.000 ); sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/04kyk002.mp3" ); wait ( 3550.000 ); camera ( /*@CAMERA_COMMANDS*/ MOVE, $tag( "keithCam1a", ORIGIN)$, 1500 ); camera ( /*@CAMERA_COMMANDS*/ PAN, $tag( "keithCam1a", ANGLES)$, < 0.000 0.000 0.000 >, 1500 ); wait ( 1000.000 ); sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/04kyk003.mp3" ); wait ( 4850.000 ); sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/04kyk004.mp3" ); wait ( 9000.000 ); signal ( "okay" ); waitsignal ( "people" ); sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/04kyk005.mp3" ); wait ( 3000.000 ); camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.000 0.000 >, 1.000, 2000 ); wait ( 2000.000 ); camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 1.000, < 0.000 0.000 0.000 >, 0.000, 2000 ); camera ( /*@CAMERA_COMMANDS*/ DISABLE ); affect ( "player", /*@AFFECT_TYPE*/ FLUSH ) { set ( /*@SET_TYPES*/ "SET_WEAPON", /*@[member='weaponx']_NAMES*/ "WP_SABER" ); set ( /*@SET_TYPES*/ "SET_SABER1", "reaver2" ); set ( /*@SET_TYPES*/ "SET_SABER2", "none" ); set ( /*@SET_TYPES*/ "SET_WEAPON", /*@[member='weaponx']_NAMES*/ "WP_BOWCASTER" ); set ( /*@SET_TYPES*/ "SET_NO_ACROBATICS", /*@BOOL_TYPES*/ "true" ); set ( /*@SET_TYPES*/ "SET_FORCE_HEAL_LEVEL", /*@[member='Force']_LEVELS*/ "2" ); set ( /*@SET_TYPES*/ "SET_FORCE_JUMP_LEVEL", /*@[member='Force']_LEVELS*/ "2" ); set ( /*@SET_TYPES*/ "SET_GRAVITY", 1600.000 ); set ( /*@SET_TYPES*/ "SET_NO_ACROBATICS", /*@BOOL_TYPES*/ "true" ); set ( /*@SET_TYPES*/ "SET_FORCE_SPEED_LEVEL", /*@[member='Force']_LEVELS*/ "1" ); set ( /*@SET_TYPES*/ "SET_FORCE_PUSH_LEVEL", /*@[member='Force']_LEVELS*/ "1" ); set ( /*@SET_TYPES*/ "SET_FORCE_PULL_LEVEL", /*@[member='Force']_LEVELS*/ "0" ); set ( /*@SET_TYPES*/ "SET_FORCE_MINDTRICK_LEVEL", /*@[member='Force']_LEVELS*/ "0" ); set ( /*@SET_TYPES*/ "SET_FORCE_GRIP_LEVEL", /*@[member='Force']_LEVELS*/ "0" ); set ( /*@SET_TYPES*/ "SET_FORCE_LIGHTNING_LEVEL", /*@[member='Force']_LEVELS*/ "1" ); set ( /*@SET_TYPES*/ "SET_SABER_THROW", /*@[member='Force']_LEVELS*/ "0" ); set ( /*@SET_TYPES*/ "SET_SABER_DEFENSE", /*@[member='Force']_LEVELS*/ "1" ); set ( /*@SET_TYPES*/ "SET_SABER_OFFENSE", /*@[member='Force']_LEVELS*/ "1" ); set ( /*@SET_TYPES*/ "SET_FORCE_RAGE_LEVEL", /*@[member='Force']_LEVELS*/ "3" ); set ( /*@SET_TYPES*/ "SET_FORCE_PROTECT_LEVEL", /*@[member='Force']_LEVELS*/ "1" ); set ( /*@SET_TYPES*/ "SET_FORCE_ABSORB_LEVEL", /*@[member='Force']_LEVELS*/ "0" ); set ( /*@SET_TYPES*/ "SET_FORCE_DRAIN_LEVEL", /*@[member='Force']_LEVELS*/ "0" ); set ( /*@SET_TYPES*/ "SET_FORCE_SIGHT_LEVEL", /*@[member='Force']_LEVELS*/ "2" ); } wait ( 2000.000 ); remove ( "npc_Kyle1" ); remove ( "npc_fakePlayer1" ); set ( /*@SET_TYPES*/ "SET_OBJECTIVE_SHOW", /*@OBJECTIVES*/ "T1_SURPRISE_OBJ1" ); } wait ( 1000.000 ); affect ( "r2_wander_1", /*@AFFECT_TYPE*/ FLUSH ) { set ( /*@SET_TYPES*/ "SET_ANGERSCRIPT", "t1_surprise/r2_wander_1" ); } remove ( "r2d2_1" ); a my edited version of t1_surprise intro cinematic script. you can see how work the signal and waitsignal here. understood the concept from the other post, the hardest part is synchronizing. i did only a test script (1/10 of the complete script), and see what i can do. still, i don't understand very well where i can place 'waits', cause more than two outside the affect blocks breaks it 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.
Asgarath83 Posted January 6, 2016 Posted January 6, 2016 understood the concept from the other post, the hardest part is synchronizing. i did only a test script (1/10 of the complete script), and see what i can do. still, i don't understand very well where i can place 'waits', cause more than two outside the affect blocks breaks it Your wait issue is strangely, i suggest you to use multiple spawnscript for entities and sincronize that with signal and waitsignal. OR use the affect way. :\ yes, i know the sinchro scripting is the hardest part of icarus.i get some big headache for making custom cinematics, years ago, for this. >,<
dark soul Posted January 6, 2016 Author Posted January 6, 2016 Your wait issue is strangely, i suggest you to use multiple spawnscript for entities and sincronize that with signal and waitsignal. OR use the affect way. :\ yes, i know the sinchro scripting is the hardest part of icarus.i get some big headache for making custom cinematics, years ago, for this. >,<might it be cause of openjk? i'm acutally doing the tests there, but as far as I know the only thing that changed in openjk is added things for face anims 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.
Asgarath83 Posted January 7, 2016 Posted January 7, 2016 might it be cause of openjk? i'm acutally doing the tests there, but as far as I know the only thing that changed in openjk is added things for face anims You can ask this to @@eezstreet, but i really doubt it.for my personal experience, there are four way for run a script:1: trigger2: target scriptrunner3: NPC entity personal script4: by another script, with run command.depend of what kind of method you are using, the script can work or not work.remember the main thing: in case 1, the script affecting general entitty, you need to use affect field for affect specifical entity.2: if you use run on activator, the script affecting who run the scripturnner. (player or NPC that activate it)3: script directly affecting the NPC, so npc not need of affecting command for himself, you can give him the setting without affecting.4: a script runned by another script can have strange dipendence, maybe depend but WHO run the script that run the script. LOL. in this case you need to see how work with tryes.
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