:
Destination Time
:
Present Time
:
Last Time Departed
Sign in to follow this  
bluespace88

SA BTTF Mod 0.1.X Development

Recommended Posts

besides, it wouldn't have worked anyway even if the custom_thread was made.

you're using the old timers from vc, which is 16@. SA has double the local variables, so its timers start at 32@, not 16@.

Btw, I'm not sure if the for loop is inclusive or not, so if you get an extra dong, change

for 15@ = 0 to 3@ step 1
to
for 15@ = 1 to 3@ step 1

Share this post


Link to post
Share on other sites

and if you want it to be localized. Add

if

00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 300.5628 2563.654 88.85578 radius 85.0 85.0 85.0

jf @Clock
before
if

  4@ == 0

jf @ClockQuarterAfter

Share this post


Link to post
Share on other sites

its easy to do. Better then figuring out multiple threads.

I think I have to move the flying code BACK into the time travel thread....

Since I started.....the flying code was in another file

then integrated into timetravel

then seperated into fly

and now its being integrated back into timetravel

Share this post


Link to post
Share on other sites

Like now. it works but I'll have to change that part of the code you said to if the dongs didn't stop playing.

So change 15@ = 0 to 15@ =1?

Share this post


Link to post
Share on other sites

if that still doesn't work, then theres this

while 3@ > 0

  0AAD: set_mp3 20@ perform_action 0 

  0AAD: set_mp3 20@ perform_action 1

  wait 3000

  3@ -= 1

end

Share this post


Link to post
Share on other sites

and if that still doesn't work, theres this

:ClockDongLoop

if

  3@ > 0

jf @Clock

0AAD: set_mp3 20@ perform_action 0

0AAD: set_mp3 20@ perform_action 1

wait 3000

3@ -= 1

jump @ClockDongLoop

Share this post


Link to post
Share on other sites

nope doesn't work. I just hope I'm replacing it right

03A4: name_thread 'CLOCK'  

029B: 10@ = init_object 18697 at 304.348 2563.7 103.656

0382: set_object 10@ collision_detection 0

0392: make_object 10@ moveable 0

01C7: remove_object_from_mission_cleanup_list 10@

029B: 9@ = init_object 18698 at 304.318 2563.7 103.656

0382: set_object 9@ collision_detection 0

0392: make_object 9@ moveable 0

01C7: remove_object_from_mission_cleanup_list 9@

029B: 8@ = init_object 18694 at 304.663 2563.7 103.656

01C7: remove_object_from_mission_cleanup_list 8@

029B: 1@ = init_object 18695 at 304.663 2563.7 103.656

01C7: remove_object_from_mission_cleanup_list 1@

029B: 2@ = init_object 18690 at 304.547 2563.7 106.652

01C7: remove_object_from_mission_cleanup_list 2@

0AAC: 20@ = load_mp3 "CLEO\AUDIO\DONG.MP3"

0AAC: 21@ = load_mp3 "CLEO\AUDIO\HOURLY_CHIME.MP3"

0AAC: 22@ = load_mp3 "CLEO\AUDIO\QUARTER_AFTER_CHIME.MP3"

0AAC: 23@ = load_mp3 "CLEO\AUDIO\HALF_PAST_CHIME.MP3"

0AAC: 24@ = load_mp3 "CLEO\AUDIO\QUARTER_2_CHIME.MP3"

5@ = -1

6@ = -1



:Clock

wait 100

00BF: 3@ = current_time_hours, 4@ = current_time_minutes

008D: 3@ = integer 3@ to_float

008D: 4@ = integer 4@ to_float

0013: 3@ *= 30.0

0013: 4@ *= 6.0

0017: 4@ /= 12.0

005B: 3@ += 4@ // (float)

0013: 4@ *= 12.0

0453: set_object 10@ XY_rotation 3@ 0.0 angle 0.0

0453: set_object 9@ XY_rotation 4@ 0.0 angle 0.0

if or

803B:   not 3@ == 5@ // (int)

803B:   not 4@ == 6@ // (int)

jf @Clock  

0085: 5@ = 3@ // (int)

0085: 6@ = 4@ // (int)

if

00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 300.5628 2563.654 88.85578 radius 85.0 85.0 85.0

jf @Clock

if

  4@ == 0

jf @ClockQuarterAfter

if

  3@ > 12

then

  3@ -= 12

end

0AAD: set_mp3 21@ perform_action 0

0AAD: set_mp3 21@ perform_action 1

0AB9: get_mp3 21@ state_to 15@

while not 15@ == -1

  wait 0

  0AB9: get_mp3 21@ state_to 15@

end

wait 1000

for 15@ = 1 to 3@ step 1



:ClockDongLoop

if

  3@ > 0

jf @Clock

0AAD: set_mp3 20@ perform_action 0

0AAD: set_mp3 20@ perform_action 1

wait 3000

3@ -= 1

jump @ClockDongLoop



:ClockQuarterAfter

if

  4@ == 15

jf @ClockHalf

0AAD: set_mp3 22@ perform_action 0

0AAD: set_mp3 22@ perform_action 1

jump @Clock



:ClockHalf

if

  4@ == 30

jf @clockQuarterBefore

0AAD: set_mp3 23@ perform_action 0

0AAD: set_mp3 23@ perform_action 1

jump @Clock



:ClockQuarterBefore

if

  4@ == 45

jf @Clock

0AAD: set_mp3 24@ perform_action 0

0AAD: set_mp3 24@ perform_action 1

jump @Clock

Share this post


Link to post
Share on other sites

oh and every time I start a saved game another set of the Clock hands and weather vane AND clock are placed. so right now I'm at 3 sets

Share this post


Link to post
Share on other sites
03A4: name_thread 'CLOCK'  

029B: 10@ = init_object 18697 at 304.348 2563.7 103.656

0382: set_object 10@ collision_detection 0

0392: make_object 10@ moveable 0

01C7: remove_object_from_mission_cleanup_list 10@

029B: 9@ = init_object 18698 at 304.318 2563.7 103.656

0382: set_object 9@ collision_detection 0

0392: make_object 9@ moveable 0

01C7: remove_object_from_mission_cleanup_list 9@

029B: 8@ = init_object 18694 at 304.663 2563.7 103.656

01C7: remove_object_from_mission_cleanup_list 8@

029B: 1@ = init_object 18695 at 304.663 2563.7 103.656

01C7: remove_object_from_mission_cleanup_list 1@

029B: 2@ = init_object 18690 at 304.547 2563.7 106.652

01C7: remove_object_from_mission_cleanup_list 2@

0AAC: 20@ = load_mp3 "CLEO\AUDIO\DONG.MP3"

0AAC: 21@ = load_mp3 "CLEO\AUDIO\HOURLY_CHIME.MP3"

0AAC: 22@ = load_mp3 "CLEO\AUDIO\QUARTER_AFTER_CHIME.MP3"

0AAC: 23@ = load_mp3 "CLEO\AUDIO\HALF_PAST_CHIME.MP3"

0AAC: 24@ = load_mp3 "CLEO\AUDIO\QUARTER_2_CHIME.MP3"

5@ = -1

6@ = -1



:Clock

wait 100

00BF: 3@ = current_time_hours, 4@ = current_time_minutes

008D: 3@ = integer 3@ to_float

008D: 4@ = integer 4@ to_float

0013: 3@ *= 30.0

0013: 4@ *= 6.0

0017: 4@ /= 12.0

005B: 3@ += 4@ // (float)

0013: 4@ *= 12.0

0453: set_object 10@ XY_rotation 3@ 0.0 angle 0.0

0453: set_object 9@ XY_rotation 4@ 0.0 angle 0.0

00BF: 3@ = current_time_hours, 4@ = current_time_minutes

if or

803B:   not 3@ == 5@ // (int)

803B:   not 4@ == 6@ // (int)

jf @Clock  

0085: 5@ = 3@ // (int)

0085: 6@ = 4@ // (int)

if

00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 300.5628 2563.654 88.85578 radius 85.0 85.0 85.0

jf @Clock

if

  4@ == 0

jf @ClockQuarterAfter

if

  3@ > 12

then

  3@ -= 12

end

0AAD: set_mp3 21@ perform_action 0

0AAD: set_mp3 21@ perform_action 1

0AB9: get_mp3 21@ state_to 15@

while not 15@ == -1

  wait 0

  0AB9: get_mp3 21@ state_to 15@

end

wait 1000

while 3@ > 0

  0AAD: set_mp3 20@ perform_action 0

  0AAD: set_mp3 20@ perform_action 1

  wait 3000

  3@ -= 1

end

jump @clock



:ClockQuarterAfter

if

  4@ == 15

jf @ClockHalf

0AAD: set_mp3 22@ perform_action 0

0AAD: set_mp3 22@ perform_action 1

jump @Clock



:ClockHalf

if

  4@ == 30

jf @clockQuarterBefore

0AAD: set_mp3 23@ perform_action 0

0AAD: set_mp3 23@ perform_action 1

jump @Clock



:ClockQuarterBefore

if

  4@ == 45

jf @Clock

0AAD: set_mp3 24@ perform_action 0

0AAD: set_mp3 24@ perform_action 1

jump @Clock

Share this post


Link to post
Share on other sites
oh and every time I start a saved game another set of the Clock hands and weather vane AND clock are placed. so right now I'm at 3 sets

enable thread saving.

Share this post


Link to post
Share on other sites
Sign in to follow this