[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Игры серии GTA » GTA San Andreas » Вопросы по скриптингу Sanny Builder (Вы можете получить ответы на вопросы по SB)
Вопросы по скриптингу Sanny Builder
wmysterio
Администраторы
Скриптер
22.11.11 21:52
Offline
Если у вас возник вопрос по скриптингу Sanny Builder, обращайтесь! Мы постараемся решить вашу проблему wink Это ещё не значит, что все прям бросятся решать во чтобы то не стало, но ответ вы сможете вы получить как вариант решения или как невозможность или сложность решения.
УВАЖАЕМЫЕ ПОЛЬЗОВАТЕЛИ! ПРОСЬБА КОД СКРИПТОВ ПОМЕЩАТЬ В КОНСТРУКЦИЮ КОДА:

или

Также указывайте полный код скрипта, иначе причина ошибок может быть и не выявлена.
Прикрепления: 0248203.png(0.9 Kb) · 9085525.png(0.2 Kb)

wmysterio
Администраторы
Скриптер
09.08.13 17:55
Offline
Цитата (Slivkin-Sergey)
А что за
Я не ходящий справочник. На это у меня ответа нет
Цитата (Slivkin-Sergey)
Actor.LockInCurrentPosition
этой командой мы закрепим актёра на месте, но он может приседать/вставить

Slivkin-Sergey
Модераторы
09.08.13 18:01
Offline
Цитата (wmysterio)
Я не ходящий справочник. На это у меня ответа нет

После слова NOP обычно в кавычках фразы всякие, можешь глянуть в :TAXIODD

Кстати, когда я пользуюсь Camera.SetAtPos(1772.2089, -1948.3976, 14.1096), то камера появляется в каких-то бараках (в деревне на координатах 0.0 0.0 0.0), почему?

wmysterio
Администраторы
Скриптер
09.08.13 18:12
Offline
Цитата (Slivkin-Sergey)
почему?
потому, что эта команда задаёт позицию для того, что-бы прогрузить местность для камеры(если верить написанному в справке SB), но не устанавливает её позицию. Если использовать код:
Код
Camera.SetAtPos(1772.2089, -1948.3976, 14.1096)
Camera.PointAt(1772.2089, -1958.3976, 14.1096, 2)
то поинт то будет смотреть куда нужно, но без самой позиции, что по-умолчанию равно координатам 0.0 0.0 0.0. Что бы камера адекватно себя вела нужно так ставить:
Код
Camera.SetPosition(1772.2089, -1948.3976, 14.1096, 0.0, 0.0, 0.0)
Camera.PointAt(1772.2089, -1958.3976, 14.1096, 2)
Цитата (Slivkin-Sergey)
После слова NOP обычно в кавычках фразы всякие, можешь глянуть в :TAXIODD
Я видел это и в других местах, но сути это не меняет - я не в курсе для чего они нужны.

Slivkin-Sergey
Модераторы
09.08.13 18:43
Offline
Цитата (wmysterio)
этой командой мы закрепим актёра на месте, но он может приседать/вставить

Блин, а как их заставить сидеть? В GTC Джаник как-то заставил во второй миссии (даже хедшотнул опкодом гроувца). У меня все трое стабильно разбегаются к одним и тем же местам и стреляют в стены...

Добавлено (09.08.13, 17:43)
---------------------------------------------

Код
88@ = Actor.Create(8, #FAM1, 2145.9595, -1200.3522, 23.8902)
Actor.Angle(88@) = 359.5543
0223: set_actor 88@ health_to 500  
01B2: give_actor 88@ weapon 30 ammo 9999
0615: define_AS_pack_begin 183@
0638: AS_actor -1 stay_put 1
05E2: AS_actor -1 kill_actor 91@
04EB: AS_actor -1 crouch 1
0616: define_AS_pack_end 183@  
0618: assign_actor 88@ to_AS_pack 183@  
061B: remove_references_to_AS_pack 183@  
0350: set_actor 88@ maintain_position_when_attacked 1  
060B: set_actor 88@ decision_maker_to 60@
89@ = Actor.Create(8, #FAM2, 2150.5044, -1200.3363, 23.8994)
Actor.Angle(89@) = 359.5543
0223: set_actor 89@ health_to 500  
01B2: give_actor 89@ weapon 30 ammo 9999
0350: set_actor 89@ maintain_position_when_attacked 1  
0615: define_AS_pack_begin 184@
0638: AS_actor -1 stay_put 1
05E2: AS_actor -1 kill_actor 92@
04EB: AS_actor -1 crouch 1
0616: define_AS_pack_end 184@  
0618: assign_actor 89@ to_AS_pack 184@  
061B: remove_references_to_AS_pack 184@  
060B: set_actor 89@ decision_maker_to 60@
90@ = Actor.Create(8, #FAM3, 2154.7434, -1200.2214, 23.898)
Actor.Angle(90@) = 359.5543
0223: set_actor 90@ health_to 500  
01B2: give_actor 90@ weapon 30 ammo 9999
0615: define_AS_pack_begin 185@
0638: AS_actor -1 stay_put 1
05E2: AS_actor -1 kill_actor 91@
04EB: AS_actor -1 crouch 1
0616: define_AS_pack_end 185@  
0618: assign_actor 89@ to_AS_pack 185@  
061B: remove_references_to_AS_pack 185@  
0350: set_actor 90@ maintain_position_when_attacked 1  
060B: set_actor 90@ decision_maker_to 60@
91@ = Actor.Create(7, #BALLAS3, 2152.6816, -1173.1128, 23.824)      
Actor.Angle(91@) = 179.4093
01B2: give_actor 91@ weapon 28 ammo 9999         
0615: define_AS_pack_begin 186@
0638: AS_actor -1 stay_put 1
05E2: AS_actor -1 kill_actor 89@
04EB: AS_actor -1 crouch 1
0616: define_AS_pack_end 186@  
0618: assign_actor 91@ to_AS_pack 186@  
061B: remove_references_to_AS_pack 186@     
0350: set_actor 91@ maintain_position_when_attacked 1   
060B: set_actor 91@ decision_maker_to 60@
92@ = Actor.Create(7, #BALLAS1, 2156.675, -1176.55, 23.8191)
Actor.Angle(92@) = 179.4093
01B2: give_actor 92@ weapon 28 ammo 9999
0615: define_AS_pack_begin 187@
0638: AS_actor -1 stay_put 1
05E2: AS_actor -1 kill_actor 90@
04EB: AS_actor -1 crouch 1
0616: define_AS_pack_end 187@  
0618: assign_actor 92@ to_AS_pack 187@  
061B: remove_references_to_AS_pack 187@  
0350: set_actor 92@ maintain_position_when_attacked 1  
060B: set_actor 92@ decision_maker_to 60@

Гроувцы убегают от балласов...

wmysterio
Администраторы
Скриптер
09.08.13 18:43
Offline
Цитата (Slivkin-Sergey)
Блин, а как их заставить сидеть? В GTC Джаник как-то заставил во второй миссии (даже хедшотнул опкодом гроувца). У меня все трое стабильно разбегаются к одним и тем же местам и стреляют в стены...
Тот фрагмент кода, которого я тебе кинул полностью работает - актёр и сидит, и не двигается и стреляет. Вот мой пример:
Код
{$CLEO}
04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset -4.0 0.0 0.0
0376: 0@ = create_random_actor_at 1@ 2@ 3@
model.Load(#AK47)
038B: load_requested_models
actor.GiveWeaponAndAmmo(0@, AK47, 300)
model.Destroy(#AK47)
04EB: AS_actor 0@ crouch 1

repeat
wait 0
until 0597:   actor 0@ crouching

074D: AS_actor 0@ turns_to_and_look_at_actor $PLAYER_ACTOR timelimit -1
0A93: end_custom_thread
Единственное, что я добавил, так это цикл на то, что актёр действительно присел.
Прикрепления: 1907275.png(312.2 Kb)

Slivkin-Sergey
Модераторы
09.08.13 18:50
Offline
wmysterio, это да, но когда я заставляю одного актёра атаковать другого, то они начинают бегать.

Добавлено (09.08.13, 17:48)
---------------------------------------------
Нашёл в коде Johnix'а:

Код
530@ = Actor.Create(Mission1, #FAM1, 2522.673, -1682.674, 15.497)
Actor.Angle(530@) = 80.0
01B2: give_actor 530@ weapon 22 ammo 60000 // Load the weapon model before using this  
01B9: set_actor 530@ armed_weapon_to 22  
Actor.WeaponAccuracy(530@) = 15
0638: AS_actor 530@ stay_put 1  
04EB: AS_actor 530@ crouch 1  
0350: set_actor 530@ maintain_position_when_attacked 1  
0568: set_actor 530@ targetable 1  
060B: set_actor 530@ decision_maker_to 300@

И работает ведь! У него...

Добавлено (09.08.13, 17:50)
---------------------------------------------
А потом:

Код
05E2: AS_actor 530@ kill_actor 557@

И всё равно работает...

wmysterio
Администраторы
Скриптер
09.08.13 19:08
Offline
Slivkin-Sergey, так почему у всех работает, а у тебя нет?

Slivkin-Sergey
Модераторы
09.08.13 19:18
Offline
wmysterio, может быть поставить им педтайп 24 вместо 8 и 7?

Добавлено (09.08.13, 18:18)
---------------------------------------------
Ура! Проблема решилась вышеописанным способом. Но теперь новый вопрос: почему миссия не проваливается, когда игрок умирает?


wmysterio
Администраторы
Скриптер
09.08.13 19:21
Offline
Цитата (Slivkin-Sergey)
Ура! Проблема решилась вышеописанным способом. Но теперь новый вопрос: почему миссия не проваливается, когда игрок умирает?
кусок кода мне ничего не скажет

Slivkin-Sergey
Модераторы
10.08.13 17:26
Offline
wmysterio, код миссии нужен?

Добавлено (10.08.13, 16:26)
---------------------------------------------
UP


wmysterio
Администраторы
Скриптер
10.08.13 17:32
Offline
Цитата (Slivkin-Sergey)
код миссии нужен?
Это же очевидно smile

Slivkin-Sergey
Модераторы
10.08.13 20:51
Offline
Цитата (wmysterio)
кусок кода мне ничего не скажет

Так миссия и есть кусок кода smile
Код
:STEVEN1
thread "STEVEN1"  
gosub @STEVEN1_2
if  
   wasted_or_busted  
  then  
   gosub @STEVEN1_FAILED_PD  
end  
gosub @STEVEN1_CLEANUP  
end_thread  

:STEVEN1_2
wait 0   
increment_mission_attempts  
054C: use_GXT_table 'STEVEN1'
$181 = 0
$182 = 0.0
45@ = 0
Player.CanMove($PLAYER_CHAR) = False
02A3: enable_widescreen 1
Model.Load(#WBDYG1)
Model.Load(#PEREN)
Model.Load(#CELLPHONE)
Model.Load(#LAEMT1)
Model.Load(#AMBULAN)
Model.Load(#BMYDRUG)
04ED: load_animation "SMOKING"
038B: load_requested_models

:STEVEN1_3
wait 0
if and
Model.Available(#WBDYG1)
Model.Available(#PEREN)
Model.Available(#CELLPHONE)
Model.Available(#LAEMT1)
Model.Available(#AMBULAN)
Model.Available(#BMYDRUG)
04EE: animation "SMOKING" loaded
jf @STEVEN1_3
03DE: set_pedestrians_density_multiplier_to 0.0
0395: clear_area 1 at 1776.9897 -1374.6147 15.7578 radius 20.0
Actor.PutAt($PLAYER_ACTOR, 1805.2566, -1350.6976, 15.2154)
Actor.Angle($PLAYER_ACTOR) = 87.5168
wait 0
if
Actor.Defined(1@)
then
Actor.DestroyInstantly(1@)
end
1@ = Actor.Create(4, #WBDYG1, 1784.2153, -1356.4464, 15.7578)
Actor.Angle(1@) = 304.0088
05D6: clear_scmpath
05D7: add_point_to_scmpath 1793.1633 -1349.9979 15.6473
0729: AS_actor 1@ hold_cellphone 1
wait 2000
05D8: AS_assign_scmpath to_actor $PLAYER_ACTOR flags 4 0
032A: set_behind_camera_mode_to 0
Camera.SetPosition(1799.3411 -1353.2939 15.4098, 0.0, 0.0, 0.0)        
Camera.OnPed($PLAYER_ACTOR, 15, 2)
0001: wait 1000
fade 1 500
0001: wait 500
0707: start_scene_skip_to @STEVEN1_4
00BB: show_text_lowpriority GXT 'M2S1' time 5500 flag 1  
0001: wait 2500
0967: actor $PLAYER_ACTOR move_mouth 2000 ms  
0001: wait 3000
repeat
0001: wait 1
until 04EE: animation "PED" loaded
repeat
wait 0
until 02A0: actor $PLAYER_ACTOR stopped  
0605: actor $PLAYER_ACTOR perform_animation_sequence "FUCKU" from_file "PED" 4.0 loop 0 0 0 1 -1 ms    
00BB: show_text_lowpriority GXT 'M2R1' time 1300 flag 1
0001: wait 1300  
05B9: AS_actor $PLAYER_ACTOR stay_idle -1 ms   
0729: AS_actor 1@ hold_cellphone 1
00BB: show_text_lowpriority GXT 'M2S2' time 4500 flag 1
0001: wait 4500
0729: AS_actor 1@ hold_cellphone 1  
wait 2000
00BB: show_text_lowpriority GXT 'M2S3' time 3000 flag 1
0001: wait 3000
0729: AS_actor 1@ hold_cellphone 0
0460: set_camera_pointing_time 0.0 3000
00BB: show_text_lowpriority GXT 'M2S4' time 3000 flag 1
04C4: store_coords_to 2@ 3@ 4@ from_actor $PLAYER_ACTOR with_offset 0.0 1.5 0.0
05D6: clear_scmpath
05D7: add_point_to_scmpath 2@ 3@ 4@
05D8: AS_assign_scmpath to_actor 1@ flags 4 0
Camera.SetPosition(1795.3135, -1343.9062, 15.5702, 0.0, 0.0, 0.0)
Camera.OnPed(1@, 15, 1)
0001: wait 3000
Model.Destroy(#WBDYG1)
0605: actor $PLAYER_ACTOR perform_animation_sequence "IDLE_CHAT" from_file "PED" 4.0 loop 0 0 0 1 2000 ms     
00BB: show_text_lowpriority GXT 'M2R2' time 2000 flag 1
0967: actor $PLAYER_ACTOR move_mouth 2000 ms  
0001: wait 2000
repeat
0001: wait 1
until 00ED: actor 1@ 0 near_point 2@ 3@ 4@ radius 0.5 0.5 on_foot  
0A1D: AS_actor 1@ rotate_to_and_look_at_actor $PLAYER_ACTOR  
0605: actor 1@ perform_animation_sequence "IDLE_CHAT" from_file "PED" 4.0 loop 0 0 0 1 5000 ms     
00BB: show_text_lowpriority GXT 'M2S5' time 5000 flag 1
0967: actor 1@ move_mouth 5000 ms  
0001: wait 5000
05B9: AS_actor 1@ stay_idle -1 ms   
0605: actor $PLAYER_ACTOR perform_animation_sequence "IDLE_CHAT" from_file "PED" 4.0 loop 0 0 0 1 4400 ms     
00BB: show_text_lowpriority GXT 'M2R3' time 4400 flag 1
0967: actor $PLAYER_ACTOR move_mouth 4400 ms  
0001: wait 4400
05B9: AS_actor $PLAYER_ACTOR stay_idle -1 ms
0605: actor 1@ perform_animation_sequence "IDLE_CHAT" from_file "PED" 4.0 loop 0 0 0 1 4500 ms     
00BB: show_text_lowpriority GXT 'M2S6' time 4500 flag 1
0967: actor 1@ move_mouth 4500 ms  
0001: wait 4500
05B9: AS_actor 1@ stay_idle -1 ms  
0605: actor $PLAYER_ACTOR perform_animation_sequence "IDLE_CHAT" from_file "PED" 4.0 loop 0 0 0 1 5000 ms     
00BB: show_text_lowpriority GXT 'M2R4' time 4400 flag 1
0967: actor $PLAYER_ACTOR move_mouth 5000 ms  
0001: wait 4400
05B9: AS_actor $PLAYER_ACTOR stay_idle -1 ms
0605: actor 1@ perform_animation_sequence "IDLE_CHAT" from_file "PED" 4.0 loop 0 0 0 1 2500 ms     
00BB: show_text_lowpriority GXT 'M2S7' time 2500 flag 1
0967: actor 1@ move_mouth 2500 ms  
0001: wait 2500
05B9: AS_actor 1@ stay_idle -1 ms   
03CF: load_wav 20804 as 1
repeat
wait 1
until 03D0: wav 1 loaded  
00BB: show_text_lowpriority GXT 'PHONER' time 2000 flag 1
03D1: play_wav 1  
0729: AS_actor 1@ hold_cellphone 1  
0001: wait 2000
00BB: show_text_lowpriority GXT 'M2S8' time 1000 flag 1
0001: wait 4000
00BB: show_text_lowpriority GXT 'M2S9' time 4000 flag 1
0001: wait 4000
0729: AS_actor 1@ hold_cellphone 0
wait 2000
05D6: clear_scmpath
05D7: add_point_to_scmpath 1785.7278 -1350.3771 15.7507
05D7: add_point_to_scmpath 1779.4559 -1362.7238 15.7578
05D8: AS_assign_scmpath to_actor 1@ flags 4 0
00BB: show_text_lowpriority GXT 'M2S10' time 3000 flag 1
0001: wait 1500
0850: AS_actor $PLAYER_ACTOR follow_actor 1@
0001: wait 1500
00BB: show_text_lowpriority GXT 'M2R5' time 2000 flag 1
0001: wait 2000

:STEVEN1_4
wait 0
0701: end_scene_skip
00BE: text_clear_all  
fade 0 500
wait 500
repeat
0164: disable_marker 6@
until 875C: not marker 6@ enabled  
060A: create_decision_maker_type 3 store_to 60@
0708: reset_decision_maker 60@ event 76  
if
Car.Defined(5@)
then
Car.Destroy(5@)
end
5@ = Car.Create(#PEREN, 1772.7936, -1375.1516, 15.7578)
Car.Angle(5@) = 179.7363
Model.Load(#BALLAS1)
038B: load_requested_models
repeat
0001: wait 0 ms
until Model.Available(#BALLAS1)
Car.Health(5@) = 1000
0430: put_actor 1@ into_car 5@ passenger_seat 0
Camera.Restore_WithJumpCut()
Actor.PutAt($PLAYER_ACTOR, 1776.2982, -1369.6877, 15.7578)
Actor.Angle($PLAYER_ACTOR) = 168.4793
wait 1000
fade 1 1000
02A3: enable_widescreen 0             
Player.CanMove($PLAYER_CHAR) = True

:STEVEN1_5
wait 0  
if
not Car.Wrecked(5@)
jf @STEVEN1_FAILED_CW
if
82BF:   not car 5@ sunk
jf @STEVEN1_FAILED_CD
if
not Actor.Dead(1@)
jf @STEVEN1_FAILED_SD
if
not Actor.Dead($PLAYER_ACTOR)
jf @STEVEN1_FAILED_PD
if
not Actor.InCar($PLAYER_ACTOR, 5@)
then
gosub @STEVEN1_GETIN1
else
0164: disable_marker 6@
end
if and
Actor.InCar($PLAYER_ACTOR, 5@)
00EC:   actor $PLAYER_ACTOR 0 near_point 2002.6569 -1462.4677 13.3906 radius 4.0 4.0  
Actor.InCar(1@, 5@)
not Actor.Dead($PLAYER_ACTOR)
then
jump @STEVEN1_8
end
if
$181 > 0
then
jump @STEVEN1_5
end
if and
$181 == 0
$182 >= 0.0
then
00BB: show_text_lowpriority GXT 'M2S11' time 5000 flag 1
$181 += 1
$182 = 0.0
end
$182 += 0.25
jump @STEVEN1_5

:STEVEN1_8
wait 0
0164: disable_marker 7@
Marker.Disable(7@)
03BD: destroy_sphere 8@  
Player.CanMove(0, 0)
fade 0 500
wait 500
Car.LockInCurrentPosition(5@, 1)
022B: create_forbidden_for_peds_cube_cornerA 1996.7976 -1451.1376 13.5547 cornerB 2082.5613 -1355.6012 78.472
0395: clear_area 1 at 2025.6244 -1423.1025 16.9922 radius 10.0  
18@ = Car.Create(#AMBULAN, 2033.4674, -1427.9889, 16.9922)
Car.Angle(18@) = 182.6341
19@ = Actor.Create(Mission1, #LAEMT1, 2003.6526, -1438.0737, 13.7182)
20@ = Actor.Create(Mission1, #LAEMT1, 2005.8107, -1440.6849, 13.5635)
0A1D: AS_actor 20@ rotate_to_and_look_at_actor 19@
0A1D: AS_actor 19@ rotate_to_and_look_at_actor 20@
0605: actor 19@ perform_animation_sequence "IDLE_CHAT" from_file "PED" 4.0 loop 0 0 0 1 3000 ms  
02A3: enable_widescreen 1
Camera.SetPosition(1994.0697, -1453.6781, 13.5547, 0.0, 0.0, 0.0)
Camera.PointAt(2025.8408, -1420.2466, 30.4282, 2)   
wait 200                        
Camera.SetPosition(2012.9207 -1434.9855 13.5547, 0.0, 0.0, 0.0)
Camera.PointAt(2025.8408, -1420.2466, 30.4282, 1)   
wait 100
45@ = 1
fade 1 500
wait 500
0707: start_scene_skip_to @STEVEN1_9
00BC: show_text_highpriority GXT 'M2S12' time 5000 flag 0
wait 3000
05B9: AS_actor 19@ stay_idle -1 ms   
0605: actor 20@ perform_animation_sequence "IDLE_CHAT" from_file "PED" 4.0 loop 0 0 0 1 2000 ms  
wait 2000

:STEVEN1_9
wait 0
0701: end_scene_skip
00BE: text_clear_all
fade 0 500
wait 500
02A3: enable_widescreen 0
$181 = 0
$182 = 0
Marker.Disable(7@)
Camera.Restore_WithJumpCut()
fade 1 500
wait 500
Player.CanMove(0, 1)
Car.LockInCurrentPosition(5@, 0)
8@ = Actor.Create(Mission1, #BALLAS1, 2180.8892, -1338.4486, 23.9844)
Actor.Angle(8@) = 177.0174
0605: actor 8@ perform_animation_sequence "M_SMKLEAN_LOOP" from_file "SMOKING" 4.0 loop 0 0 0 1 -1 ms  
9@ = Actor.Create(Mission1, #BMYDRUG, 2180.9292, -1340.9161, 23.9844)
0A1D: AS_actor 9@ rotate_to_and_look_at_actor 8@
0605: actor 9@ perform_animation_sequence "IDLE_CHAT" from_file "PED" 4.0 loop 0 0 0 1 120000 ms  
wait 500
fade 1 500
wait 500
Model.Load(#FAM1)
repeat
wait 0
until Model.Available(#FAM1)
Model.Load(#FAM2)
repeat
wait 0
until Model.Available(#FAM2)
Model.Load(#FAM3)
repeat
wait 0
until Model.Available(#FAM3)
Model.Load(#BALLAS3)
repeat
wait 0
until Model.Available(#BALLAS3)
Model.Destroy(#BMYDRUG)
Model.Load(#AK47)
repeat
wait 0
until Model.Available(#AK47)
Model.Load(#MICRO_UZI)
repeat
wait 0
until Model.Available(#MICRO_UZI)
88@ = Actor.Create(Mission1, #FAM1, 2145.9595, -1200.3522, 23.8902)
Actor.Angle(88@) = 359.5543
0223: set_actor 88@ health_to 500  
04EB: AS_actor 88@ crouch 1  
01B2: give_actor 88@ weapon 30 ammo 9999
0638: AS_actor 88@ stay_put 1    
0350: set_actor 88@ maintain_position_when_attacked 1  
060B: set_actor 88@ decision_maker_to 60@
074D: AS_actor 88@ turns_to_and_look_at_actor 91@ timelimit -1
89@ = Actor.Create(Mission1, #FAM2, 2150.5044, -1200.3363, 23.8994)
Actor.Angle(89@) = 359.5543
Actor.WeaponAccuracy(89@) = 25
0223: set_actor 89@ health_to 500  
04EB: AS_actor 89@ crouch 1  
01B2: give_actor 89@ weapon 30 ammo 9999
0350: set_actor 89@ maintain_position_when_attacked 1  
0638: AS_actor 89@ stay_put 1
04EB: AS_actor 89@ crouch 1  
060B: set_actor 89@ decision_maker_to 60@
074D: AS_actor 89@ turns_to_and_look_at_actor 92@ timelimit -1
90@ = Actor.Create(Mission1, #FAM3, 2154.7434, -1200.2214, 23.898)
Actor.Angle(90@) = 359.5543
0223: set_actor 90@ health_to 500  
04EB: AS_actor 90@ crouch 1  
01B2: give_actor 90@ weapon 30 ammo 9999
0638: AS_actor 90@ stay_put 1
0350: set_actor 90@ maintain_position_when_attacked 1  
060B: set_actor 90@ decision_maker_to 60@
074D: AS_actor 90@ turns_to_and_look_at_actor 91@ timelimit -1
91@ = Actor.Create(Mission1, #BALLAS3, 2152.6816, -1173.1128, 23.824)      
Actor.Angle(91@) = 179.4093
Actor.LockInCurrentPosition(91@, 1)
04EB: AS_actor 91@ crouch 1  
074D: AS_actor 91@ turns_to_and_look_at_actor 89@ timelimit -1
01B2: give_actor 91@ weapon 28 ammo 9999            
0350: set_actor 91@ maintain_position_when_attacked 1   
0638: AS_actor 91@ stay_put 1
060B: set_actor 91@ decision_maker_to 60@
92@ = Actor.Create(Mission1, #BALLAS1, 2156.675, -1176.55, 23.8191)
Actor.Angle(92@) = 179.4093
04EB: 92@ 1
Actor.LockInCurrentPosition(92@, 1)
01B2: give_actor 92@ weapon 28 ammo 9999        
0350: set_actor 92@ maintain_position_when_attacked 1  
074D: AS_actor 92@ turns_to_and_look_at_actor 90@ timelimit -1
0638: AS_actor 92@ stay_put 1
060B: set_actor 92@ decision_maker_to 60@
05E2: AS_actor 88@ kill_actor 91@
05E2: AS_actor 89@ kill_actor 92@
05E2: AS_actor 90@ kill_actor 91@
    
:STEVEN1_10
wait 0  
if
not Car.Wrecked(5@)
jf @STEVEN1_FAILED_CW
if
82BF:   not car 5@ sunk
jf @STEVEN1_FAILED_CD
if
not Actor.Dead(1@)
jf @STEVEN1_FAILED_SD
if
not Actor.InCar($PLAYER_ACTOR, 5@)
then
0164: disable_marker 10@
0164: disable_marker 11@
gosub @STEVEN1_GETIN1
else
repeat
0164: disable_marker 6@
until 875C: not marker 6@ enabled
end
if and
875C:   not marker 10@ enabled  
875C:   not marker 11@ enabled  
then
018A: 10@ = create_checkpoint_at 2171.9585 -1206.5764 23.8743
03BC: 11@ = create_sphere_at 2171.9585 -1206.5764 23.8743 radius 3.0
end
if and
Actor.InCar($PLAYER_ACTOR, 5@)
00EC:   actor $PLAYER_ACTOR 0 near_point 2171.9585 -1206.5764 23.8743 radius 3.0 3.0  
Actor.InCar(1@, 5@)
not Actor.Dead($PLAYER_ACTOR)
then
jump @STEVEN1_11
end
if
$181 > 4
then
jump @STEVEN1_10
end
if and
$181 == 0
$182 >= 0.0
then
00BC: show_text_highpriority GXT 'M2S13' time 4000 flag 1
$181 += 1
$182 = 0.0
end
if and
$181 == 1
$182 >= 50.0
then
00BC: show_text_highpriority GXT 'M2S14' time 3000 flag 1
$181 += 1
$182 = 0.0
end
if and
$181 == 2
$182 >= 40.0                             
then
00BC: show_text_highpriority GXT 'M2R6' time 3000 flag 1
$181 += 1
$182 = 0.0
end
if and
$181 == 3
$182 >= 40.0
then
00BC: show_text_highpriority GXT 'M2S15' time 4500 flag 1
$181 += 1
$182 = 0.0
end
if and
$181 == 4
$182 >= 50.0
then
00BC: show_text_highpriority GXT 'M2R7' time 4500 flag 1
$181 += 1
$182 = 0.0
end
$182 += 0.25
jump @STEVEN1_10

:STEVEN1_11
wait 0
0164: disable_marker 10@
03BD: destroy_sphere 11@
Player.CanMove(0, 0)
Car.LockInCurrentPosition(5@, 1)
fade 0 500
wait 500
Camera.SetPosition(2179.5486, -1210.8467, 23.8045, 0.0, 0.0, 0.0)
Camera.OnPed(90@, 15, 2)
01E8: create_forbidden_for_cars_cube_cornerA 2184.8088 -1226.7924 23.9766 cornerB 2057.304 -1074.2145 67.3214
03BA: clear_cars_from_cube_cornerA 2184.8088 -1226.7924 23.9766 cornerB 2057.304 -1074.2145 67.3214
022B: create_forbidden_for_peds_cube_cornerA 2184.8088 -1226.7924 23.9766 cornerB 2057.304 -1074.2145 67.3214
042B: clear_peds_from_cube_cornerA 2184.8088 -1226.7924 23.9766 cornerB 2057.304 -1074.2145 67.3214
Car.PutAt(5@, 2173.6899, -1220.1725, 23.8305)
Car.Angle(5@) = 359.531
Player.CanMove(0, 1)
fade 1 500
wait 500
wait 10000
return

:STEVEN1_GETIN1
wait 0
if
45@ == 0
then
0164: disable_marker 7@
03BD: destroy_sphere 8@  
end
if
45@ == 1
then
0164: disable_marker 10@
03BD: destroy_sphere 11@
end  
if
875C: not marker 6@ enabled  
then
0186: 6@ = create_marker_above_car 5@
07E0: set_marker 6@ type_to 1
end
00BE: text_clear_all
00BB: show_text_lowpriority GXT 'M2T1' time 5000 flag 1

:STEVEN1_GETIN1_2
wait 0
if and
45@ == 0
Actor.InCar($PLAYER_ACTOR, 5@)
then
repeat
0164: disable_marker 6@
until 875C: not marker 6@ enabled  
if and
875C:   not marker 7@ enabled  
875C:   not marker 8@ enabled  
then
018A: 7@ = create_checkpoint_at 1995.0599 -1459.7649 13.3906  
03BC: 8@ = create_sphere_at 1995.0599 -1459.7649 13.3906 radius 8.0
00BE: text_clear_all  
return
end
end
if and
45@ == 1
Actor.InCar($PLAYER_ACTOR, 5@)
then
repeat
0164: disable_marker 6@
until 875C: not marker 6@ enabled  
if and
875C:   not marker 10@ enabled  
875C:   not marker 11@ enabled  
then
018A: 10@ = create_checkpoint_at 2171.9585 -1206.5764 23.8743
03BC: 11@ = create_sphere_at 2171.9585 -1206.5764 23.8743 radius 3.0
00BE: text_clear_all  
return
end                    
end
if
not Car.Wrecked(5@)
jf @STEVEN1_FAILED_CW
if
82BF:   not car 5@ sunk
jf @STEVEN1_FAILED_CD
if
not Actor.Dead(1@)
jf @STEVEN1_FAILED_SD
wait 0
jump @STEVEN1_GETIN1_2

:STEVEN1_FAILED_CW
wait 0
0164: disable_marker 7@
03BD: destroy_sphere 8@  
0164: disable_marker 10@
03BD: destroy_sphere 11@
00BA: text_styled 'M_FAIL' 5000 ms 1
00BC: show_text_highpriority GXT 'M2F_CW' time 5000 flag 0
create_thread @STEVEN1_START
return

:STEVEN1_FAILED_CD
wait 0
0164: disable_marker 7@
03BD: destroy_sphere 8@  
0164: disable_marker 10@
03BD: destroy_sphere 11@
00BA: text_styled 'M_FAIL' 5000 ms 1
00BB: show_text_lowpriority GXT 'M2F_CD' time 5000 flag 1
create_thread @STEVEN1_START
return

:STEVEN1_FAILED_SD  
wait 0
0164: disable_marker 7@
03BD: destroy_sphere 8@  
0164: disable_marker 10@
03BD: destroy_sphere 11@
00BA: text_styled 'M_FAIL' 5000 ms 1
00BB: show_text_lowpriority GXT 'M2F_SD' time 5000 flag 1
create_thread @STEVEN1_START
return  

:STEVEN1_FAILED_PD
wait 0
0164: disable_marker 6@
03BD: destroy_sphere 7@  
0164: disable_marker 10@
03BD: destroy_sphere 11@
00BA: text_styled 'M_FAIL' 5000 ms 1
create_thread @STEVEN1_START
return  

:STEVEN1_CLEANUP
$ONMISSION = 0
Model.Destroy(#CELLPHONE)
Model.Destroy(#BALLAS1)
Model.Destroy(#LAEMT1)
Model.Destroy(#PEREN) // don't forget to use 0318: set_latest_mission_passed 'GROVE_2'
Car.Destroy(5@)            
repeat
0164: disable_marker 6@
until 875C: not marker 6@ enabled  
04EF: release_animation "SMOKING"  
mission_cleanup  
return

Добавлено (10.08.13, 18:48)
---------------------------------------------
Никто не поможет нубу?

Добавлено (10.08.13, 19:51)
---------------------------------------------
Совсем никто?


SSS
Пользователи
10.08.13 21:30
Offline
Если игрок в машине и не мертв, то по нажатию Shift+Spase машина ставиться паралельно земле, как это сделать? можно код... Спасибо!

БольшойДым
Пользователи
10.08.13 21:37
Offline
Цитата (БольшойДым)
1. Deagle195. 2. Перенос трупов.
3. На клавишу E мертвый актер выполнит анимацию - тонущий в воде. После этого CJ будет держать актера как RPG, а сам актер root'ом прицепится к плечу героя. На эту же E трупа класть.

4. Может-ли выполнить заказ Wmysteriо?

Slivkin-Sergey
Модераторы
10.08.13 21:48
Offline
SSS, почему бы тебе не написать в тему "Заказ скриптов"?

SSS
Пользователи
10.08.13 22:07
Offline
Код
{$CLEO}

0000:

:Gbot
wait 0
if
player.Defined(0)
jf @Gbot
if and
not actor.Dead($PLAYER_ACTOR)
not actor.Driving($PLAYER_ACTOR)
0ADC: test_cheat "GBOT"
jf @Gbot
while true
  if or
actor.Dead($PLAYER_ACTOR)
actor.Driving($PLAYER_ACTOR)
00E1: player 0 key_pressed 13
  then
break
  else
actor.PutAt($PLAYER_ACTOR ,2172.5957, -2255.0344, 13.3040)
actor.Angle($PLAYER_ACTOR) = 245.6656
wait 2500
04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset 0.0 5.0 0.0  
Actor.PutAt($PLAYER_ACTOR, 1@, 2@, 3@)
actor.Angle($PLAYER_ACTOR) = 72.0772
wait 2500
04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset 0.0 75.0 0.0  
Actor.PutAt($PLAYER_ACTOR, 1@, 2@, 3@)
  end
end
wait 2500
jump @Gbot


Почему цикл не останавливается по нажатию Enter

DK22Pac
Модераторы
TOP Скриптер
10.08.13 22:40
Offline
SSS, потому что у тебя задержки в цикле.

SSS
Пользователи
10.08.13 22:42
Offline
Цитата (DK22Pac)
SSS, потому что у тебя задержки в цикле.

а что мне делать, если они мне там нужны?

wmysterio
Администраторы
Скриптер
10.08.13 23:39
Offline
Цитата (Slivkin-Sergey)
почему бы тебе не написать в тему "Заказ скриптов"
Как-то громко сказано...
Цитата (SSS)
а что мне делать, если они мне там нужны?
искусственно делать задержку

SSS
Пользователи
10.08.13 23:56
Offline
Помогите пожалуйста, как сделать так: что бы предмет из рук не вывалился. Т.е. например если у СЖ в руках есть какой то предмет (ящик, мешок, телевизор, и т.д. и т.п.), то если СЖ спрыгнет с высоты с предметом в руках, чтобы оно не пропало(что бы он его не выронил). как так сделать?

Форум » Игры серии GTA » GTA San Andreas » Вопросы по скриптингу Sanny Builder (Вы можете получить ответы на вопросы по SB)
Поиск: