You are not logged in.
Pages: 1
есть код скрипта. в самом начале появляется маркер мисии. но при становлении на маркер миссия не запускается, и создается дубль актера . помогите плиз.
DEFINE OBJECTS 0
DEFINE MISSIONS 0
DEFINE EXTERNAL_SCRIPTS -1 // Use -1 to not write AAA script
DEFINE UNKNOWN_EMPTY_SEGMENT 0
DEFINE UNKNOWN_THREADS_MEMORY 0
thread 'MAIN'
var
$PLAYER_CHAR : Player
end
01F0: set_max_wanted_level_to 6
set_wb_check_to 0
00C0: set_current_time 8 0
04E4: unknown_refresh_game_renderer_at 2488.5601 -1666.84
Camera.SetAtPos(2488.5601, -1666.84, 13.38)
$PLAYER_CHAR = Player.Create(#NULL, 2488.5601, -1666.84, 13.38)
Player.Money($10) += 333
$PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)
Camera.SetBehindPlayer
set_weather 0
wait 0
$PLAYER_CHAR.SetClothes("PLAYER_FACE", "HEAD", Head)
$PLAYER_CHAR.SetClothes("JEANSDENIM", "JEANS", Legs)
$PLAYER_CHAR.SetClothes("SNEAKERBINCBLK", "SNEAKER", Shoes)
$PLAYER_CHAR.SetClothes("VEST", "VEST", Torso)
$PLAYER_CHAR.Build
$PLAYER_CHAR.CanMove = True
fade 1 (out) 0 ms
select_interior 0
016C: restart_if_wasted at 2027.77 -1420.52 15.99 angle 137.0 unknown 0
016D: restart_if_busted at 1550.68 -1675.49 14.51 angle 90.0 unknown 0
create_thread @StartMissii1
end_thread
:StartMissii1
wait 100
Marker.CreateIconAndSphere(1@,36, 2490.7676, -1669.8162, 13.3359)
:StartMissii1_2
0001: wait 250 ms
00D6: if 0
0256: player $PLAYER_CHAR defined
004D: jump_if_false @StartMissii1
00D6: if 0
00FF: actor $PLAYER_ACTOR 0 ()near point on foot 2490.7676 -1669.8162 13.3359 radius 1.0 1.0 2.0
004D: jump_if_false @StartMissii1
00D6: if 0
0038: $ON_MISSION == 0 ;; integer values
004D: jump_if_false @StartMissii1
0164: disable_marker $marker_miss
03BD: destroy sphere $sphere_miss
0417: start_mission 135
004E: end_thread
:MIS1
gosub @KOD_MISSII
if
wasted_or_busted
Jf @PROPUSK_KODA
gosub @KOD_PROVALA
:PROPUSK_KODA
gosub @UDALENIE_KODA
end_thread
:KOD_MISSII
increment_mission_attempts
$ONMISSION = 1
0110: clear_player $PLAYER_CHAR wanted_level
:LabelMis1_1
wait 0
fade 0 500
model.Load(#BALLAS1)
model.Load(#BALLAS2)
model.Load(#BALLAS3)
model.Load(#M4)
038B: load_requested_models
:LabelMis1_2
wait 0
if and
model.Available(#BALLAS1)
model.Available(#BALLAS2)
model.Available(#BALLAS3)
model.Available(#M4)
Jf @LabelMis1_2
fade 1 500
actor.Create(1@,4,#BALLAS1,2517.8367, -1664.6057, 14.0369)
actor.Create(2@,4,#BALLAS2,2517.1902, -1667.9568, 14.028)
actor.Create(3@,4,#BALLAS3,2516.353, -1671.1974, 13.8478)
01B2: give_actor 1@ weapon 31 ammo 999999
01B2: give_actor 2@ weapon 31 ammo 999999
01B2: give_actor 3@ weapon 31 ammo 999999
wait 500
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 2@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 3@ kill_actor $PLAYER_ACTOR
:LabelMis1_3
wait 0
if
wasted_or_busted
jf @LabelMis1_4
jump @KOD_PROVALA
:LabelMis1_4
wait 0
if and
actor.Dead(1@)
actor.Dead(2@)
actor.Dead(3@)
jf @LabelMis1_3
:UDACHNO // ------- Сюда надо делать переход(Jump) , если миссия удалась --------
wait 0
01E3: text_1number_styled 'M_PASS' 25000 5000 ms 4
Player.Money($PLAYER_CHAR) += 25000
0110: clear_player $PLAYER_CHAR wanted_level
0394: play_music 1
gosub @PROPUSK_KODA
return
:KOD_PROVALA // ------- Сюда надо делать переход(Jump) , если миссия провалена --------
00BA: text_styled 'M_FAIL' 5000 ms 1
$ONMISSION = 0
mission_cleanup
model.destroy(#BALLAS1)
model.destroy(#BALLAS2)
model.destroy(#BALLAS3)
model.destroy(#M4)
create_thread @StartMissii1
return
:UDALENIE_KODA
$ONMISSION = 0
mission_cleanup
return
Offline

видно что из мануала , но там ведь всё описано ...
у тебя написно mission 135 , откуда эта миссия может взяться , если она даже не прописана ? 
в сегменте DEFINE MISSIONS напиши define mission 0 at @метка_миссии
start_mission 135 на start_mission 0
Offline
вот новый код, все равно не работет
((((
DEFINE OBJECTS 0
DEFINE MISSIONS 0 at @StartMissii1
DEFINE EXTERNAL_SCRIPTS -1 // Use -1 to not write AAA script
DEFINE UNKNOWN_EMPTY_SEGMENT 0
DEFINE UNKNOWN_THREADS_MEMORY 0
thread 'MAIN'
var
$PLAYER_CHAR : Player
end
01F0: set_max_wanted_level_to 6
set_wb_check_to 0
00C0: set_current_time 8 0
04E4: unknown_refresh_game_renderer_at 2488.5601 -1666.84
Camera.SetAtPos(2488.5601, -1666.84, 13.38)
$PLAYER_CHAR = Player.Create(#NULL, 2488.5601, -1666.84, 13.38)
Player.Money($10) += 333
$PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)
Camera.SetBehindPlayer
set_weather 0
wait 0
$PLAYER_CHAR.SetClothes("PLAYER_FACE", "HEAD", Head)
$PLAYER_CHAR.SetClothes("JEANSDENIM", "JEANS", Legs)
$PLAYER_CHAR.SetClothes("SNEAKERBINCBLK", "SNEAKER", Shoes)
$PLAYER_CHAR.SetClothes("VEST", "VEST", Torso)
$PLAYER_CHAR.Build
$PLAYER_CHAR.CanMove = True
fade 1 (out) 0 ms
select_interior 0
016C: restart_if_wasted at 2027.77 -1420.52 15.99 angle 137.0 unknown 0
016D: restart_if_busted at 1550.68 -1675.49 14.51 angle 90.0 unknown 0
create_thread @StartMissii1
end_thread
:StartMissii1
wait 100
Marker.CreateIconAndSphere(1@,36, 2490.7676, -1669.8162, 13.3359)
gosub @StartMissii1_2
end_thread
:StartMissii1_2
0001: wait 250 ms
00D6: if 0
0256: player $PLAYER_CHAR defined
004D: jump_if_false @StartMissii1
00D6: if 0
00FF: actor $PLAYER_ACTOR 0 ()near point on foot 2490.7676 -1669.8162 13.3359 radius 1.0 1.0 2.0
004D: jump_if_false @StartMissii1
00D6: if 0
0038: $ON_MISSION == 0 ;; integer values
004D: jump_if_false @StartMissii1
0164: disable_marker $marker_miss
03BD: destroy sphere $sphere_miss
0417: start_mission 0
004E: end_thread
:MIS1
gosub @KOD_MISSII
if
wasted_or_busted
Jf @PROPUSK_KODA
gosub @KOD_PROVALA
:PROPUSK_KODA
gosub @UDALENIE_KODA
end_thread
:KOD_MISSII
increment_mission_attempts
$ONMISSION = 1
0110: clear_player $PLAYER_CHAR wanted_level
:LabelMis1_1
wait 0
fade 0 500
model.Load(#BALLAS1)
model.Load(#BALLAS2)
model.Load(#BALLAS3)
model.Load(#M4)
038B: load_requested_models
:LabelMis1_2
wait 0
if and
model.Available(#BALLAS1)
model.Available(#BALLAS2)
model.Available(#BALLAS3)
model.Available(#M4)
Jf @LabelMis1_2
fade 1 500
actor.Create(1@,4,#BALLAS1,2517.8367, -1664.6057, 14.0369)
actor.Create(2@,4,#BALLAS2,2517.1902, -1667.9568, 14.028)
actor.Create(3@,4,#BALLAS3,2516.353, -1671.1974, 13.8478)
01B2: give_actor 1@ weapon 31 ammo 999999
01B2: give_actor 2@ weapon 31 ammo 999999
01B2: give_actor 3@ weapon 31 ammo 999999
wait 500
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 2@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 3@ kill_actor $PLAYER_ACTOR
:LabelMis1_3
wait 0
if
wasted_or_busted
jf @LabelMis1_4
jump @KOD_PROVALA
:LabelMis1_4
wait 0
if and
actor.Dead(1@)
actor.Dead(2@)
actor.Dead(3@)
jf @LabelMis1_3
:UDACHNO // ------- Сюда надо делать переход(Jump) , если миссия удалась --------
wait 0
01E3: text_1number_styled 'M_PASS' 25000 5000 ms 4
Player.Money($PLAYER_CHAR) += 25000
0110: clear_player $PLAYER_CHAR wanted_level
0394: play_music 1
gosub @PROPUSK_KODA
return
:KOD_PROVALA // ------- Сюда надо делать переход(Jump) , если миссия провалена --------
00BA: text_styled 'M_FAIL' 5000 ms 1
$ONMISSION = 0
mission_cleanup
model.destroy(#BALLAS1)
model.destroy(#BALLAS2)
model.destroy(#BALLAS3)
model.destroy(#M4)
create_thread @StartMissii1
return
:UDALENIE_KODA
$ONMISSION = 0
mission_cleanup
return
Offline
Читаем в хелпе (кнопка F12 в SB), как правильно прописывать миссии:
- Создание миссии (роман в 4 частях, искать в Статьях)
- Структура файла (в разделе Документации).
Player.Money($10) += 333
вот эта строка была взята из файла alloc.txt. В данном случае она лишняя и даже вредная.
В триггере миссии (прочитаешь статьи, поймешь что это) переменная $ONMISSION неправильно названа ($ON_MISSION).
Автору мануала незачет.
Offline
спасибо за помощь и указание на статьи.
Offline
Pages: 1