You are not logged in.
Pages: 1
Sw[ee]t,~AquaZ~,спасибо за помощь.Я много чего пробовал, и расскажу,как я всё таки решил проблему:
вместо camera.setatpos(1,2,3)
использовал Camera.SetPosition(2467.4216 -1684.4646 13.5184, 0.0, 0.0,0.0) ,
затем- camera.pointat, который заработал нормально,а после анимации поставил Camera.Restore_WithJumpCut - кстати, если последнюю команду не ставить, камера остаётся на месте, при этом игрок может быть контролируем.
Cпасибо, что ответили, но больше хотелось бы учлышать про создание линейки миссий.
Так же возникло ещё 2 вопроса(это пока=)):
1) как актёру запретить вылазить из машины, даже если она загорелась?(и как при необходимости снова дать ему эту возможность)
2)непонятно с камерой: команда Camera.SetAtPos, независимо от того, куда бы я камеру не ставил, показывает игрока.
при использовании команд Camera.pointat или camera.onvehicle (возможно и при исп других тоже, не пробовал) независимо от того, какие я ставлю координаты, показывается одно и то же место, даже ставил через некторое время set.behindplayer,- камера на игрока не переходит, так и продолжает висеть непонятно где,при этом игрок контролируем(судя по радару). что я делаю не так?
камера:
Всем доброго дня/ночи, прошу помощи, долго уже мучаюс=)
(лирическое отступление:сразу скажу,что я далеко не гений програмирования, да и мой вопрос уровня новичка)
никак не могу понять как запускать возможность взятия 2ой мисси после выполнения 1ой.Что у меня получается: 1ямиссия запускается, я её прохожу, появляется маркер и метка на радаре, где нужно брать миссию 2, но когда я становлюсь на него ничего не происходит(учился по хелпу санни билдера)
так же хотелось бы узнать, что означает
fading
00BE: text_clear_all
03E6: remove_text_box
(в особенност fading), а так же, если можно, поподробнее узнать(в мануале я чёто недопонял=)), как собственно делать эти блоки миссий(т.е. сюжетную линию, можно сказать)
вот код(на основе stripped.txt):
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 23.02.2007
DEFINE OBJECTS 1
DEFINE OBJECT SANNY BUILDER v. 2.99f
DEFINE MISSIONS 2
DEFINE MISSION 0 AT @MISSION // Initial 1
DEFINE MISSION 1 AT @MISSION2
DEFINE EXTERNAL_SCRIPTS 0 // Use -1 in order not to compile AAA script
DEFINE UNKNOWN_EMPTY_SEGMENT 0
DEFINE UNKNOWN_THREADS_MEMORY 0
{$VERSION 3.1.0020}
//-------------MAIN---------------
thread 'MAIN'
fade 0 0
01F0: set_max_wanted_level_to 6
030D: set_total_mission_points_to 187
set_wb_check_to 0
00C0: set_current_time_hours_to 8 minutes_to 0
04E4: unknown_refresh_game_renderer_at 2488.56 -1666.84
Camera.SetAtPos(2488.56, -1666.84, 13.38)
$PLAYER_CHAR = Player.Create(#NULL, 2473.376, -1669.84, 13.38)
$PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)
07AF: $PLAYER_GROUP = player $PLAYER_CHAR group
Camera.SetBehindPlayer
set_weather 0
09BA: show_entered_zone_name 0
wait 0
Player.SetClothes($PLAYER_CHAR, "PLAYER_FACE", "HEAD", Head)
Player.SetClothes($PLAYER_CHAR, "JEANSDENIM", "JEANS", Legs)
Player.SetClothes($PLAYER_CHAR, "SNEAKERBINCBLK", "SNEAKER", Shoes)
Player.SetClothes($PLAYER_CHAR, "VEST", "VEST", Torso)
Player.Build($PLAYER_CHAR)
Player.CanMove($PLAYER_CHAR) = True
$NEW_TOTAL_PASSED_MISSIONS = 0
fade 1 0
select_interior 0
0629: change_integer_stat 181 to 4
016C: restart_if_wasted_at 2027.77 -1420.52 15.99 angle 137.0 town_number 0
016D: restart_if_busted_at 1550.68 -1675.49 14.51 angle 90.0 town_number 0
0180: set_on_mission_flag_to $ONMISSION // Note: your missions have to use the variable defined here
03E6: remove_text_box
//create_thread @START
:MAIN_49 //297
if
fading
jf @MAIN_50
wait 0 ms
00BE: text_clear_all
03E6: remove_text_box
jump @MAIN_49
:MAIN_50
wait 0 ms
start_mission MISSION //Старт миссии
///end_thread
end_thread
:STARTER
thread 'STARTER'
// :STARTER
//thread 'STARTER'
:STARTER_11
wait 250
if
$NEW_TOTAL_PASSED_MISSIONS == 2
// Количество сюжетных миссий у нас равно 2
// если $NEW_TOTAL_PASSED_MISSIONS == 2, то закрываем поток
jf @STARTER_219POSLE1
end_thread
:STARTER_219POSLE1
if
$NEW_TOTAL_PASSED_MISSIONS == 1
jf @STARTER_352na_nachalo
if
00FF: actor $PLAYER_ACTOR sphere 0 in_sphere 2468.632 -1650.888 13.4716 radius 1.2 1.2 2.0 on_foot
jf @STARTER_352na_nachalo
Marker.Disable($Marker_Sweet_House)
$ONMISSION = 1
00BA: show_text_styled GXT 'SWEET1B' time 1000 style 2 // Cleaning the Hood
fade 0 500
// :STARTER_320DUNNO ///?????????????????
//if
//fading
//jf @STARTERMIS2
//wait 0
//00BE: text_clear_all
//03E6: remove_text_box
//jump @STARTER_320DUNNO
:STARTERMIS2 //NA 2U MISSIU
start_mission MISSION2
:STARTER_352na_nachalo
jump @STARTER_11
:START ///T_START priprovale 1 missii
thread 'START'
wait 0
1@ = Marker.CreateIconAndSphere(36, 2462.1006, -1716.0439, 13.5187)
:START_1 ///t_START
wait 250
if and
Player.Defined($PLAYER_CHAR)
0102: actor $PLAYER_ACTOR in_sphere 2462.1006 -1716.0439 13.5187 radius 2.0 2.0 1.0 sphere 1 stopped_on_foot
jf @START_1
Marker.Disable(1@)
00BA: show_text_styled GXT 'STAD_04' time 1000 style 2 //
//fade 0 500
wait 500
start_mission MISSION // Initial 1
end_thread
:MISSION
thread "MISSION"
gosub @Misstart
if
wasted_or_busted
jf @Misclean
gosub @Missfail
:Misclean
$ONMISSION = 0
mission_cleanup
end_thread
:Misstart
increment_mission_attempts
$ONMISSION = 1
model.load(#SAWNOFF)
model.load(#MP5LNG)
model.load(#BALLAS3) ///2462.1006 -1716.0439 13.5187 2455.2815 -1708.8257 13.6096 2328.4453 -1680.6447 14.8334
038B: load_reqested_models
:Misstart1
wait 0
if and
model.Available(#SAWNOFF)
model.Available(#MP5LNG)
model.Available(#BALLAS3)
jf @Misstart1
02A3: toggle_widescreen 1
Player.CanMove($PLAYER_CHAR) = False
:MissionStart_37
054C: use_GXT_table 'GARAGE1'
00BC: show_text_highpriority GXT 'GAR1_22' time 3000 flag 1 // ~s~Get inside the ~b~car~s~.
wait 5000
03D5: remove_text 'GAR1_22'
Player.CanMove($PLAYER_CHAR) = True
02A3: toggle_widescreen 0
032B: 3@ = create_weapon_pickup #SAWNOFF type 3 ammo 10 at 2455.2815 -1708.8257 13.6096
actor.create(2@,20,#BALLAS3,2328.4453, -1680.6447, 14.8334)
01B2: give_actor 2@ weapon 29 ammo 999999
wait 100
05E2: AS_actor 2@ kill_actor $PLAYER_ACTOR
:LabelMis1_3
wait 0
if
wasted_or_busted
jf @LabelMis1_4
jump @Missfail
:LabelMis1_4
wait 0
if and
//actor.Dead(1@)
actor.Dead(2@)
//actor.Dead(3@)
jf @LabelMis1_3
:Misspass
wait 200
0318: set_latest_mission_passed 'MISSION'
01E3: show_text_1number_styled GXT 'M_PASSS' number 200 time 5000 style 1 // MISSION PASSED!~n~~w~$~1~~n~~w~RESPECT +
//0998: add_respect 3
Player.Money($PLAYER_CHAR) += 200
Player.ClearWantedLevel($PLAYER_CHAR)
0394: play_music 1
$NEW_TOTAL_PASSED_MISSIONS += 1
$Marker_Sweet_Hous = Marker.CreateIconAndSphere(16, 2498.228, -1647.457, 13.5479)
// создаем маркер миссии FIRST
return
:Missfail
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1
create_thread @START
return
/// 2477.2854 -1668.6162 13.3271
:MISSION2
thread "MISSION2"
gosub @Misstart2
if
wasted_or_busted
jf @Misclean2
gosub @Missfail2
:Misclean2
$ONMISSION = 0
mission_cleanup
end_thread
:Misstart2
increment_mission_attempts
$ONMISSION = 1
//model.load(#SAWNOFF)
model.load(#GUN_VIBE1) //323
model.load(#BALLAS2) ///2462.1006 -1716.0439 13.5187 2455.2815 -1708.8257 13.6096 2328.4453 -1680.6447 14.8334
038B: load_reqested_models
:Misstart12
wait 0
if and
///model.Available(#SAWNOFF)
model.Available(#GUN_VIBE1)
model.Available(#BALLAS2)
jf @Misstart12
//02A3: toggle_widescreen 1
//Player.CanMove($PLAYER_CHAR) = False
actor.create(2@,20,#BALLAS2,2469.7808, -1650.4218, 13.4718)
01B2: give_actor 2@ weapon 323 ammo 999999
wait 100
05E2: AS_actor 2@ kill_actor $PLAYER_ACTOR
:LabelMis1_32
wait 0
if
wasted_or_busted
jf @LabelMis1_42
jump @Missfail2
:LabelMis1_42
wait 0
if and
//actor.Dead(1@)
actor.Dead(2@)
//actor.Dead(3@)
jf @LabelMis1_32
:Misspass2
wait 200
0318: set_latest_mission_passed 'MISSION2'
01E3: show_text_1number_styled GXT 'M_PASSS' number 200 time 5000 style 1 // MISSION PASSED!~n~~w~$~1~~n~~w~RESPECT +
//0998: add_respect 3
Player.Money($PLAYER_CHAR) += 200
Player.ClearWantedLevel($PLAYER_CHAR)
0394: play_music 1
$NEW_TOTAL_PASSED_MISSIONS += 1
return
:Missfail2
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1
//create_thread @START
return
Pages: 1