Napisano dnia: 2011-01-17 11:46:04
No wiec tak. W swoim skrypcie mam pętle, która jednocześnie sprawdza czy aktor zginą, czy wyszedł poza wyznaczony obszar i czy bot, a raczej kilka botów zostało zabitych. Jednak nie bardzo wiem jak do tego dorobić że kiedy właśnie wszystkie boty zostają zabite to zostaje przerwana pętla która sprawdza czy aktor jest poza wyznaczonym obszarem i żeby po zabiciu owych botów np. pojawił się marker dokąd ma jechać. Mój scrypt wygląda tak:
No to ktoś wie jak takie coś dorobić?
Kod:
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
0000: NOP
:a1
wait 0
if
Player.Defined($PLAYER_CHAR)
jf @a1
select_interior 0
0860: link_actor $PLAYER_ACTOR to_interior 0
Actor.PutAt($PLAYER_ACTOR, -1634.0796, -2239.4126, 31.4766)
Actor.Angle($PLAYER_ACTOR) = 124.261
Camera.Restore_WithJumpCut
0247: request_model #omoboat //
0247: request_model #vwmotr2 //
0247: request_model #shovel //
038B: load_requested_models
0A8C: write_memory 0x969168 size 1 value 1 virtual_protect 0
00C0: set_current_time_hours_to 24 minutes_to 0
01F0: set_max_wanted_level_to 0
048F: actor $PLAYER_ACTOR remove_weapons
009A: 0@ = create_actor_pedtype 20 model #omoboat at -1650.568 -2227.9307 30.3806
Actor.Angle(0@) = 271.2157
009A: 1@ = create_actor_pedtype 20 model #omoboat at -1680.4268 -2251.8127 37.306
Actor.Angle(1@) = 271.2157
009A: 2@ = create_actor_pedtype 20 model #omoboat at -1673.5835 -2257.2236 35.6804
Actor.Angle(2@) = 286.2559
009A: 3@ = create_actor_pedtype 20 model #omoboat at -1666.0017 -2264.4062 36.001 //4
Actor.Angle(3@) = 297.8494
009A: 4@ = create_actor_pedtype 20 model #omoboat at -1661.2551 -2272.2173 36.9355
Actor.Angle(4@) = 312.2629
009A: 5@ = create_actor_pedtype 20 model #omoboat at -1644.0833 -2276.6489 36.3203
Actor.Angle(5@) = 335.4497
009A: 6@ = create_actor_pedtype 20 model #omoboat at -1631.8732 -2273.9736 36.2709
Actor.Angle(6@) = 13.3634
009A: 7@ = create_actor_pedtype 20 model #omoboat at -1616.2202 -2266.498 32.8979
Actor.Angle(7@) = 33.7303
009A: 8@ = create_actor_pedtype 20 model #vwmotr2 at -1680.3988 -2222.7253 35.7876
Actor.Angle(8@) = 255.5489
009A: 9@ = create_actor_pedtype 20 model #vwmotr2 at -1674.3435 -2215.3003 34.5911
Actor.Angle(9@) = 227.9752
009A: 10@ = create_actor_pedtype 20 model #vwmotr2 at -1666.947 -2211.2874 33.9541
Actor.Angle(10@) = 221.3952
009A: 11@ = create_actor_pedtype 20 model #vwmotr2 at -1657.8258 -2207.5681 33.4044
Actor.Angle(11@) = 189.1215
009A: 12@ = create_actor_pedtype 20 model #vwmotr2 at -1685.6385 -2240.7654 38.3798
Actor.Angle(12@) = 273.4091
009A: 13@ = create_actor_pedtype 20 model #vwmotr2 at -1647.5753 -2208.0215 33.8816
Actor.Angle(13@) = 202.2816
060B: set_actor 0@ decision_maker_to 32
060B: set_actor 1@ decision_maker_to 32
060B: set_actor 2@ decision_maker_to 32
060B: set_actor 3@ decision_maker_to 32
060B: set_actor 4@ decision_maker_to 32
060B: set_actor 5@ decision_maker_to 32
060B: set_actor 6@ decision_maker_to 32
060B: set_actor 7@ decision_maker_to 32
060B: set_actor 8@ decision_maker_to 32
060B: set_actor 9@ decision_maker_to 32
060B: set_actor 10@ decision_maker_to 32
060B: set_actor 11@ decision_maker_to 32
060B: set_actor 12@ decision_maker_to 32
060B: set_actor 13@ decision_maker_to 32
0187: $marker0 = create_marker_above_actor 0@
0187: $marker1 = create_marker_above_actor 1@
0187: $marker2 = create_marker_above_actor 2@
0187: $marker3 = create_marker_above_actor 3@
0187: $marker4 = create_marker_above_actor 4@
0187: $marker5 = create_marker_above_actor 5@
0187: $marker6 = create_marker_above_actor 6@
0187: $marker7 = create_marker_above_actor 7@
0187: $marker8 = create_marker_above_actor 8@
0187: $marker9 = create_marker_above_actor 9@
0187: $marker10 = create_marker_above_actor 10@
0187: $marker11 = create_marker_above_actor 11@
0187: $marker12 = create_marker_above_actor 12@
0187: $marker13 = create_marker_above_actor 13@
018A: $P1 = create_checkpoint_at -1640.2131 -2239.2747 31.4766
03BC: $K1 = create_sphere_at -1640.2131 -2239.2747 31.4766 radius 1.9
:mnz1
wait 0
if
00ED: actor $PLAYER_ACTOR 0 near_point -1640.2131 -2239.2747 radius 1.5 1.5 on_foot
jf @mnz1
Marker.Disable($P1)
03BD: destroy_sphere $K1
032B: $lop1 = create_weapon_pickup #shovel group 5 ammo 50 at -1630.5049 -2245.2964 31.4766
05E2: AS_actor 0@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 2@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 3@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 4@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 5@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 6@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 7@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 8@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 9@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 10@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 11@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 12@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 13@ kill_actor $PLAYER_ACTOR
:z0
wait 0
if
0118: actor 0@ dead
jf @z1
Marker.Disable($marker0)
:z1
wait 0
if
0118: actor 1@ dead
jf @z2
Marker.Disable($marker1)
:z2
wait 0
if
0118: actor 2@ dead
jf @z3
Marker.Disable($marker2)
:z3
wait 0
if
0118: actor 3@ dead
jf @z4
Marker.Disable($marker3)
:z4
wait 0
if
0118: actor 4@ dead
jf @z5
Marker.Disable($marker4)
:z5
wait 0
if
0118: actor 5@ dead
jf @z6
Marker.Disable($marker5)
:z6
wait 0
if
0118: actor 6@ dead
jf @z7
Marker.Disable($marker6)
:z7
wait 0
if
0118: actor 7@ dead
jf @z8
Marker.Disable($marker7)
:z8
wait 0
if
0118: actor 8@ dead
jf @z9
Marker.Disable($marker8)
:z9
wait 0
if
0118: actor 9@ dead
jf @z10
Marker.Disable($marker9)
:z10
wait 0
if
0118: actor 10@ dead
jf @z11
Marker.Disable($marker10)
:z11
wait 0
if
0118: actor 11@ dead
jf @z12
Marker.Disable($marker11)
:z12
wait 0
if
0118: actor 12@ dead
jf @z13
Marker.Disable($marker12)
:z13
wait 0
if
0118: actor 13@ dead
jf @z14
Marker.Disable($marker13)
//czy aktor zginol
:z14
wait 0
if
0118: actor $PLAYER_ACTOR dead
jf @z15
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1
jump @exit1
:z15
wait 0
if
80ED: not actor $PLAYER_ACTOR 0 near_point -1636.3079 -2239.2231 radius 20.0 20.0 on_foot
jf @z0
fade 0 1500
0169: set_fade_color_RGB 255 0 0
wait 1700
0321: kill_actor $PLAYER_ACTOR
wait 1700
fade 1 1500
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1
jump @exit1
jump @z0
:exit1
0A93: end_custom_thread
{$CLEO .cs}
//-------------MAIN---------------
0000: NOP
:a1
wait 0
if
Player.Defined($PLAYER_CHAR)
jf @a1
select_interior 0
0860: link_actor $PLAYER_ACTOR to_interior 0
Actor.PutAt($PLAYER_ACTOR, -1634.0796, -2239.4126, 31.4766)
Actor.Angle($PLAYER_ACTOR) = 124.261
Camera.Restore_WithJumpCut
0247: request_model #omoboat //
0247: request_model #vwmotr2 //
0247: request_model #shovel //
038B: load_requested_models
0A8C: write_memory 0x969168 size 1 value 1 virtual_protect 0
00C0: set_current_time_hours_to 24 minutes_to 0
01F0: set_max_wanted_level_to 0
048F: actor $PLAYER_ACTOR remove_weapons
009A: 0@ = create_actor_pedtype 20 model #omoboat at -1650.568 -2227.9307 30.3806
Actor.Angle(0@) = 271.2157
009A: 1@ = create_actor_pedtype 20 model #omoboat at -1680.4268 -2251.8127 37.306
Actor.Angle(1@) = 271.2157
009A: 2@ = create_actor_pedtype 20 model #omoboat at -1673.5835 -2257.2236 35.6804
Actor.Angle(2@) = 286.2559
009A: 3@ = create_actor_pedtype 20 model #omoboat at -1666.0017 -2264.4062 36.001 //4
Actor.Angle(3@) = 297.8494
009A: 4@ = create_actor_pedtype 20 model #omoboat at -1661.2551 -2272.2173 36.9355
Actor.Angle(4@) = 312.2629
009A: 5@ = create_actor_pedtype 20 model #omoboat at -1644.0833 -2276.6489 36.3203
Actor.Angle(5@) = 335.4497
009A: 6@ = create_actor_pedtype 20 model #omoboat at -1631.8732 -2273.9736 36.2709
Actor.Angle(6@) = 13.3634
009A: 7@ = create_actor_pedtype 20 model #omoboat at -1616.2202 -2266.498 32.8979
Actor.Angle(7@) = 33.7303
009A: 8@ = create_actor_pedtype 20 model #vwmotr2 at -1680.3988 -2222.7253 35.7876
Actor.Angle(8@) = 255.5489
009A: 9@ = create_actor_pedtype 20 model #vwmotr2 at -1674.3435 -2215.3003 34.5911
Actor.Angle(9@) = 227.9752
009A: 10@ = create_actor_pedtype 20 model #vwmotr2 at -1666.947 -2211.2874 33.9541
Actor.Angle(10@) = 221.3952
009A: 11@ = create_actor_pedtype 20 model #vwmotr2 at -1657.8258 -2207.5681 33.4044
Actor.Angle(11@) = 189.1215
009A: 12@ = create_actor_pedtype 20 model #vwmotr2 at -1685.6385 -2240.7654 38.3798
Actor.Angle(12@) = 273.4091
009A: 13@ = create_actor_pedtype 20 model #vwmotr2 at -1647.5753 -2208.0215 33.8816
Actor.Angle(13@) = 202.2816
060B: set_actor 0@ decision_maker_to 32
060B: set_actor 1@ decision_maker_to 32
060B: set_actor 2@ decision_maker_to 32
060B: set_actor 3@ decision_maker_to 32
060B: set_actor 4@ decision_maker_to 32
060B: set_actor 5@ decision_maker_to 32
060B: set_actor 6@ decision_maker_to 32
060B: set_actor 7@ decision_maker_to 32
060B: set_actor 8@ decision_maker_to 32
060B: set_actor 9@ decision_maker_to 32
060B: set_actor 10@ decision_maker_to 32
060B: set_actor 11@ decision_maker_to 32
060B: set_actor 12@ decision_maker_to 32
060B: set_actor 13@ decision_maker_to 32
0187: $marker0 = create_marker_above_actor 0@
0187: $marker1 = create_marker_above_actor 1@
0187: $marker2 = create_marker_above_actor 2@
0187: $marker3 = create_marker_above_actor 3@
0187: $marker4 = create_marker_above_actor 4@
0187: $marker5 = create_marker_above_actor 5@
0187: $marker6 = create_marker_above_actor 6@
0187: $marker7 = create_marker_above_actor 7@
0187: $marker8 = create_marker_above_actor 8@
0187: $marker9 = create_marker_above_actor 9@
0187: $marker10 = create_marker_above_actor 10@
0187: $marker11 = create_marker_above_actor 11@
0187: $marker12 = create_marker_above_actor 12@
0187: $marker13 = create_marker_above_actor 13@
018A: $P1 = create_checkpoint_at -1640.2131 -2239.2747 31.4766
03BC: $K1 = create_sphere_at -1640.2131 -2239.2747 31.4766 radius 1.9
:mnz1
wait 0
if
00ED: actor $PLAYER_ACTOR 0 near_point -1640.2131 -2239.2747 radius 1.5 1.5 on_foot
jf @mnz1
Marker.Disable($P1)
03BD: destroy_sphere $K1
032B: $lop1 = create_weapon_pickup #shovel group 5 ammo 50 at -1630.5049 -2245.2964 31.4766
05E2: AS_actor 0@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 2@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 3@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 4@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 5@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 6@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 7@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 8@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 9@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 10@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 11@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 12@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 13@ kill_actor $PLAYER_ACTOR
:z0
wait 0
if
0118: actor 0@ dead
jf @z1
Marker.Disable($marker0)
:z1
wait 0
if
0118: actor 1@ dead
jf @z2
Marker.Disable($marker1)
:z2
wait 0
if
0118: actor 2@ dead
jf @z3
Marker.Disable($marker2)
:z3
wait 0
if
0118: actor 3@ dead
jf @z4
Marker.Disable($marker3)
:z4
wait 0
if
0118: actor 4@ dead
jf @z5
Marker.Disable($marker4)
:z5
wait 0
if
0118: actor 5@ dead
jf @z6
Marker.Disable($marker5)
:z6
wait 0
if
0118: actor 6@ dead
jf @z7
Marker.Disable($marker6)
:z7
wait 0
if
0118: actor 7@ dead
jf @z8
Marker.Disable($marker7)
:z8
wait 0
if
0118: actor 8@ dead
jf @z9
Marker.Disable($marker8)
:z9
wait 0
if
0118: actor 9@ dead
jf @z10
Marker.Disable($marker9)
:z10
wait 0
if
0118: actor 10@ dead
jf @z11
Marker.Disable($marker10)
:z11
wait 0
if
0118: actor 11@ dead
jf @z12
Marker.Disable($marker11)
:z12
wait 0
if
0118: actor 12@ dead
jf @z13
Marker.Disable($marker12)
:z13
wait 0
if
0118: actor 13@ dead
jf @z14
Marker.Disable($marker13)
//czy aktor zginol
:z14
wait 0
if
0118: actor $PLAYER_ACTOR dead
jf @z15
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1
jump @exit1
:z15
wait 0
if
80ED: not actor $PLAYER_ACTOR 0 near_point -1636.3079 -2239.2231 radius 20.0 20.0 on_foot
jf @z0
fade 0 1500
0169: set_fade_color_RGB 255 0 0
wait 1700
0321: kill_actor $PLAYER_ACTOR
wait 1700
fade 1 1500
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1
jump @exit1
jump @z0
:exit1
0A93: end_custom_thread
No to ktoś wie jak takie coś dorobić?