deleted account Posted March 24, 2018 Share Posted March 24, 2018 Before you say anything yes I know how @Jump THREAD works. The problem stands with my Alpha Omega mod, I'm finding it very hard to have Alpha Omega go to Phase 2. This here is how I've got the game to still loop the clock but also check to see if Alpha Omega's health has gone down enough to enter Phase 2 :ALPHAOMEGA_THREAD_1200 wait 500 00BF: $PHASE11 = current_time_hours, $PHASE12 = current_time_minutes if and not $PHASE11 = 12 not $PHASE12 = 0 wait 2000 00C0: set_current_time 12 1 jump @ALPHAOMEGA_THREAD_2095 :ALPHAOMEGA_THREAD_2095 wait 0 if Player.Defined($PLAYER_CHAR) jf @ALPHAOMEGA_THREAD_2095 [email protected] = Actor.Health([email protected]) wait 0 if not [email protected] >= 500 jump @ALPHAOMEGA_THREAD_2095 Right here is where the problems begin, I have no clue how to have THREAD_2095 to repeat to have the clock stay looped to 12:00 for the phase 1 fight, but still have phase 2 working properly, anyone have a solution? :ALPHAOMEGA_THREAD_2096 wait 0 Actor.Health([email protected]) = 10000 00C0: set_current_time 21 5 Actor.StorePos([email protected], [email protected], [email protected], [email protected]) 020C: create_explosion_with_radius 0 at [email protected] [email protected] [email protected] 0812: AS_actor [email protected] perform_animation "BBALL_DEF_LOOP" IFP "BSKTBALL" framedelta 4.0 loopA 1 lockX 0 lockY 0 lockF 1 time -1 // versionB 00BB: show_text_lowpriority GXT 'TYR4' time 3000 flag 1 Actor.SetImmunities([email protected], 0, 1, 1, 1, 1) wait 3000 05E2: AS_actor [email protected] kill_actor $PLAYER_ACTOR jump @ALPHAOMEGA_THREAD_2106 :ALPHAOMEGA_THREAD_2106 wait 500 00BF: $PHASE21 = current_time_hours, $PHASE22 = current_time_minutes if and not $PHASE21 = 21 not $PHASE22 = 6 else_jump @ALPHAOMEGA_THREAD_2106 wait 2000 00C0: set_current_time 21 8 jump @ALPHAOMEGA_THREAD_2106 Link to comment Share on other sites More sharing options...
ZAZ Posted March 24, 2018 Share Posted March 24, 2018 this is invalid code if andnot $PHASE11 = 12not $PHASE12 = 0wait 200000C0: set_current_time 12 1jump @ALPHAOMEGA_THREAD_2095 it should be that if andnot $PHASE11 == 12not $PHASE12 == 0else_jump @ALPHAOMEGA_THREAD_2095wait 200000C0: set_current_time 12 1jump @ALPHAOMEGA_THREAD_2095 deleted account 1 CLEO MODS CLEO Script Tutorial Link to comment Share on other sites More sharing options...
Another GTA Fan Posted March 24, 2018 Share Posted March 24, 2018 (edited) I'm assuming the phase 2 thing is when he gets to a certain amount of health? Forgive me if I'm not understanding this right (A bit vague on exactly what you're trying to do here). But if you want the phase thing to work depending on his health (When it drops to a certain point), use this: :ALPHAOMEGA_THREAD_2096 wait 0 Actor.Health([email protected]) = 1000000C0: set_current_time 21 5Actor.StorePos([email protected], [email protected], [email protected], [email protected])020C: create_explosion_with_radius 0 at [email protected] [email protected] [email protected]: AS_actor [email protected] perform_animation "BBALL_DEF_LOOP" IFP "BSKTBALL" framedelta 4.0 loopA 1 lockX 0 lockY 0 lockF 1 time -1 // versionB 00BB: show_text_lowpriority GXT 'TYR4' time 3000 flag 1Actor.SetImmunities([email protected], 0, 1, 1, 1, 1) wait 300005E2: AS_actor [email protected] kill_actor $PLAYER_ACTOR jump @ALPHAOMEGA_THREAD_2100:ALPHAOMEGA_THREAD_2100 //actor health checkwait [email protected] = Actor.Health([email protected])if [email protected] > 5000else_jump @ALPHAOMEGA_THREAD_2135 //jump to phase 2 if not above 5000 healthjump @ALPHAOMEGA_THREAD_2106 //jumps to time code if still above 5000 health :ALPHAOMEGA_THREAD_2106wait 50000BF: $PHASE21 = current_time_hours, $PHASE22 = current_time_minutesif andnot $PHASE21 = 21not $PHASE22 = 6else_jump @ALPHAOMEGA_THREAD_2100 //loop back to health checkwait 200000C0: set_current_time 21 8jump @ALPHAOMEGA_THREAD_2100 //loop back to health check:ALPHAOMEGA_THREAD_2135//This is where phase 2 coding goes for what you want to doEdit: Fixed the code. It should work now when he gets below the stated value. Edited March 24, 2018 by Recommended deleted account 1 Link to comment Share on other sites More sharing options...
Sanmodder Posted March 24, 2018 Share Posted March 24, 2018 1 change to local variables$ PHASE11$ PHASE122 errornot $ PHASE11 = 12not $ PHASE12 = 0so it has to be$ PHASE11> = 12$ PHASE12> 0= ---> you set the value== ---> you check the value3 tipif not actor.Dead (6 @)then11 @ = Actor.Health (6 @)if not 11 @> = 500thenendend deleted account 1 Link to comment Share on other sites More sharing options...
deleted account Posted March 24, 2018 Author Share Posted March 24, 2018 I'm assuming the phase 2 thing is when he gets to a certain amount of health? Forgive me if I'm not understanding this right (A bit vague on exactly what you're trying to do here). But if you want the phase thing to work depending on his health (When it drops to a certain point), use this: Thank you, but THREAD_2096 was the Phase 2 code Sanmodder 1 Link to comment Share on other sites More sharing options...
GuruGuru Posted March 24, 2018 Share Posted March 24, 2018 (edited) Dude ,you don't have to lock the clock using a sh*tty loop.You can easily enable and disable at anytime using this. :disableClockUpdate 0A8C: write_memory 0x53BFBD size 5 value 0x90 virtual_protect 1 return:enableClockUpdate 0A8C: write_memory 0x53BFBD size 4 value 0xFF0F4EE8 virtual_protect 1 // 4 bytes 0A8C: write_memory 0x53BFC1 size 1 value 0xFF virtual_protect 1 // 5th bytereturnJust add this at the end of your code. To give the feeling of freezing time... 00BF: @31 = current_time_hours, @30 = current_time_minutesgosub @disableClockUpdate// Do sh*tgosub @enableClockUpdate00C0: set_current_time @31 @30 Edited March 24, 2018 by guru_guru Link to comment Share on other sites More sharing options...
deleted account Posted March 25, 2018 Author Share Posted March 25, 2018 Well believe it or not the loop works just fine and I prefer it over messing with the memory. Either way I have a new problem, I have got Phase 1 to work and Alpha Omega enters Phase 2 without any problems, but for some reason right after the game is done with the Phase 2 script the script thats supposed to happen when Alpha Omega is DEAD happens, why? :ALPHAOMEGA_THREAD_2096 PHASE 2 SCRIPT wait 0 Actor.Health([email protected]) = 10000 00C0: set_current_time 21 5 Actor.StorePos([email protected], [email protected], [email protected], [email protected]) 020C: create_explosion_with_radius 0 at [email protected] [email protected] [email protected] 0812: AS_actor [email protected] perform_animation "BBALL_DEF_LOOP" IFP "BSKTBALL" framedelta 4.0 loopA 1 lockX 0 lockY 0 lockF 1 time -1 // versionB 00BB: show_text_lowpriority GXT 'TYR4' time 3000 flag 1 Actor.SetImmunities([email protected], 0, 1, 1, 1, 1) wait 3000 05E2: AS_actor [email protected] kill_actor $PLAYER_ACTOR jump @ALPHAOMEGA_THREAD_3534 :ALPHAOMEGA_THREAD_3534 CHECKING IF ALPHA OMEGA IS DEAD wait 0 if Actor.Dead([email protected]) else_jump @ALPHAOMEGA_THREAD_469 //DO jump @ALPHAOMEGA_THREAD_2106 //DO NOT :ALPHAOMEGA_THREAD_2106 TIME LOOP wait 500 00BF: $PHASE21 = current_time_hours, $PHASE22 = current_time_minutes if and not $PHASE21 = 21 not $PHASE22 = 6 wait 2000 00C0: set_current_time 21 8 jump @ALPHAOMEGA_THREAD_3534 :ALPHAOMEGA_THREAD_469 DEATH 00BB: show_text_lowpriority GXT 'TYR5' time 3000 flag 1 [email protected] = Audiostream.Load("CLEO\cleo_audio\omega death.MP3") Audiostream.PerformAction([email protected], PLAY) set_weather 8 01B7: release_weather wait 5000 020C: create_explosion_with_radius 900 at [email protected] [email protected] [email protected] Link to comment Share on other sites More sharing options...
Another GTA Fan Posted March 25, 2018 Share Posted March 25, 2018 (edited) hmmm, could you post the entire script (In spoiler tag), and explain a bit more indepth what you're trying to do, or where you want the script to go? oh, I re-read. I believe these jumps are mixed up. Just swap their jump labels around: else_jump @ALPHAOMEGA_THREAD_469 //DOjump @ALPHAOMEGA_THREAD_2106 //DO NOT Edited March 25, 2018 by Recommended Link to comment Share on other sites More sharing options...
Sanmodder Posted March 25, 2018 Share Posted March 25, 2018 Well believe it or not the loop works just fine and I prefer it over messing with the memory. Either way I have a new problem, I have got Phase 1 to work and Alpha Omega enters Phase 2 without any problems, but for some reason right after the game is done with the Phase 2 script the script thats supposed to happen when Alpha Omega is DEAD happens, why? :ALPHAOMEGA_THREAD_2096 PHASE 2 SCRIPT wait 0 Actor.Health([email protected]) = 10000 00C0: set_current_time 21 5 Actor.StorePos([email protected], [email protected], [email protected], [email protected]) 020C: create_explosion_with_radius 0 at [email protected] [email protected] [email protected] 0812: AS_actor [email protected] perform_animation "BBALL_DEF_LOOP" IFP "BSKTBALL" framedelta 4.0 loopA 1 lockX 0 lockY 0 lockF 1 time -1 // versionB 00BB: show_text_lowpriority GXT 'TYR4' time 3000 flag 1 Actor.SetImmunities([email protected], 0, 1, 1, 1, 1) wait 3000 05E2: AS_actor [email protected] kill_actor $PLAYER_ACTOR jump @ALPHAOMEGA_THREAD_3534 :ALPHAOMEGA_THREAD_3534 CHECKING IF ALPHA OMEGA IS DEAD wait 0 if Actor.Dead([email protected]) else_jump @ALPHAOMEGA_THREAD_469 //DO jump @ALPHAOMEGA_THREAD_2106 //DO NOT :ALPHAOMEGA_THREAD_2106 TIME LOOP wait 500 00BF: $PHASE21 = current_time_hours, $PHASE22 = current_time_minutes if and not $PHASE21 = 21 not $PHASE22 = 6 wait 2000 00C0: set_current_time 21 8 jump @ALPHAOMEGA_THREAD_3534 :ALPHAOMEGA_THREAD_469 DEATH 00BB: show_text_lowpriority GXT 'TYR5' time 3000 flag 1 [email protected] = Audiostream.Load("CLEO\cleo_audio\omega death.MP3") Audiostream.PerformAction([email protected], PLAY) set_weather 8 01B7: release_weather wait 5000 020C: create_explosion_with_radius 900 at [email protected] [email protected] [email protected] :ALPHAOMEGA_THREAD_2096 //PHASE 2 SCRIPTwait 0 Actor.Health([email protected]) = 1000000C0: set_current_time 21 5Actor.StorePos([email protected], [email protected], [email protected], [email protected])020C: create_explosion_with_radius 0 at [email protected] [email protected] [email protected]: AS_actor [email protected] perform_animation "BBALL_DEF_LOOP" IFP "BSKTBALL" framedelta 4.0 loopA 1 lockX 0 lockY 0 lockF 1 time -1 // versionB 00BB: show_text_lowpriority GXT 'TYR4' time 3000 flag 1Actor.SetImmunities([email protected], 0, 1, 1, 1, 1) wait 300005E2: AS_actor [email protected] kill_actor $PLAYER_ACTOR :loop wait 0if Actor.Dead([email protected])else_jump @nextjump @actor_dead:next00BF: $PHASE21 = current_time_hours, $PHASE22 = current_time_minutesif and $PHASE21 >= 21 $PHASE22 > 6jf @next_200C0: set_current_time 21 8:next_2jump @loop :actor_dead00BB: show_text_lowpriority GXT 'TYR5' time 3000 flag [email protected] = Audiostream.Load("CLEO\cleo_audio\omega death.MP3")Audiostream.PerformAction([email protected], PLAY) set_weather 801B7: release_weather wait 5000 020C: create_explosion_with_radius 900 at [email protected] [email protected] [email protected] deleted account 1 Link to comment Share on other sites More sharing options...
deleted account Posted March 25, 2018 Author Share Posted March 25, 2018 I'd like to give a big thanks to everyone that helped me with the mod. Alpha Omega and its cultists all work perfectly https://imgur.com/a/eEJCU Now that all of the mods planned for the Cleo Myths series are fully implemented I can soon get to work on it, so stay tuned for that I guess. Sanmodder 1 Link to comment Share on other sites More sharing options...
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