#1 Re: Вопросы по скриптингу » Один вопрос » 20-07-2013 11:08

Portal25 wrote:

sanby как-то давно один из скриптеров сказал, что вроде бы писать миссии для GTA 3/VC на CLEO невозможно, так как опкодов мало..

Хм.. Ну я же простенькую миссию написал. Все  опкоды оригинальные используются.
Или просто не все из этих опкодов поддерживаются CLEO?
Ну, ладно. Пропишу миссию в оригинальный маин и проверю снова.

#2 Re: Вопросы по скриптингу » Один вопрос » 19-07-2013 21:54

Помогите разобраться что в коде неправильно:
Написал миссию на CLEO для GTA 3. В игре появляются маркер на радаре и сфера, но при заходе в нее ничего не происходит.



{$CLEO}
0000:

:STARTER
thread 'STARTER'
wait 0
if
$ONMISSION == 0
jf @STARTER
02A7: $mis = create_icon_marker_and_sphere 19 at 852.026 -475.984 14.5177
 
:STARTER_1
wait 0
if
$ONMISSION ==1
then
0164: disable_marker $mis
jump @STARTER 
end

if AND
8118:   not actor $PLAYER_ACTOR dead
80E0:   not player $PLAYER_CHAR driving
then
if
00E6:   player $PLAYER_CHAR stopped 852.026 -475.984 14.5177 radius 1.0 2.0 
then
jump @STARTER_2
end
end
jump @STARTER_1

:STARTER_2
wait 0
02AB: set_actor $PLAYER_ACTOR immunities 1 1 1 1 1 
0164: disable_marker $mis
00BE: text_clear_all 
03E6: remove_text_box 
00BA: text_styled 'MISS_1' 1000 ms 2
fade 0 1000
wait 2000
004F: create_thread @MISSION
jump @STARTER 



//-------------Mission-----------------

:MISSION
gosub @MISSION_29_57
if
wasted_or_busted
jf @MISSION_29_46
gosub @MISSION_29_144

:MISSION_29_46
$ONMISSION = 0
mission_cleanup
end_thread


:MISSION_29_57
increment_mission_attempts
$ONMISSION = 1
0247:request model #GANG03
0247:request model #GANG04
0247:request model #BAT
0247:request model #COLT45
038B: load_requested_models

:MISSION_1
wait 100
if 
0248: model #GANG03 available
0248: model #GANG04 available
0248: model #BAT available
0248: model #COLT45 available
jf @MISSION_1 
0395: clear_area 1 at 856.941 -479.756 range 4.0 1.0 
00A1: put_actor $PLAYER_ACTOR at 856.941 -479.756 14.6154
0171: set_actor $PLAYER_ACTOR z_angle_to 180
009A: $0 = create_actor 8 #GANG03 at 888.323 -515.284 16.1154
0173: set_actor $0 z_angle_to 360 
009A: $1 = create_actor 8 #GANG04 at 890.493 -547.317 14.5154 
0173: set_actor $1 z_angle_to 270
009A: $2 = create_actor 8 #GANG03 at 876.434 -538.549 14.5154
0173: set_actor $2 z_angle_to 90
032B: $pp = create_weapon_pickup #COLT45 3 ammo 25 at 859.41 -482.802 14.9782
01B2: give_actor $1 weapon 2 ammo 100
01B2: give_actor $0 weapon 1 ammo 999
01B2: give_actor $2 weapon 1 ammo 999
02EB: restore_camera_with_jumpcut 
wait 2000
fade 1 1000
wait 1000
01CB: actor $0 kill_actor $PLAYER_ACTOR 
01CB: actor $1 kill_actor $PLAYER_ACTOR
01CB: actor $2 kill_actor $PLAYER_ACTOR
02AB: set_actor $PLAYER_ACTOR immunities 0 0 0 0 0 
0187: $m0 = create_marker_above_actor $0
0187: $m1 = create_marker_above_actor $1
0187: $m2 = create_marker_above_actor $2

:MISSION_2
wait 100
if
0118:   actor $0 dead
then 
0164: disable_marker $m0
end
if
0118:   actor $1 dead 
then 
0164: disable_marker $m1
end
if
0118:   actor $2 dead 
then 
0164: disable_marker $m2
end
if AND
0118:   actor $0 dead 
0118:   actor $1 dead 
0118:   actor $2 dead 
then
jump @MISSION_3
end
jump @MISSION_2

:MISSION_3
wait 100
gosub @MISSION_END
01E3: text_1number_styled GXT 'M_PASS' 1000 6000 ms 6
0109: player $PLAYER_CHAR money += 1000
return 


:MISSION_29_144
wait 0
gosub @MISSION_END
00BA: text_styled 'M_FAIL' time 5000 ms 2
return

:MISSION_END
wait 100
01C2: remove_references_to_actor $0
01C2: remove_references_to_actor $1
01C2: remove_references_to_actor $2
009B: destroy_actor_instantly $0
009B: destroy_actor_instantly $1
009B: destroy_actor_instantly $2
0164: disable_marker $m0 
0164: disable_marker $m1 
0164: disable_marker $m2
return

Board footer

Powered by FluxBB