[ Новые сообщения · Участники · Правила форума · Поиск · 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)

Slivkin-Sergey
Модераторы
08.08.13 14:03
Offline
Цитата (wmysterio)
// Машина врезалась
Вот эту проверку я и хочу узнать, потому что если я поставлю проверку car 5@ damaged то надписи выводятся бесконечно после повреждения. А мне надо чтобы при каждом повреждении была только одна надпись.

SSS
Пользователи
08.08.13 14:06
Offline
Как сделать так чтобы при вводе чита "SCAR" все машины у которого id 522 отображались на радаре синим цветом, выключить скрипт так же по вводе 'SCAR'
Пример: я ввожу SCAR и все машины у которого id 522 (NRG-500) будут отображаться на карте и радаре синем квадратиком

wmysterio
Администраторы
Скриптер
08.08.13 15:32
Offline
Цитата (Slivkin-Sergey)
Вот эту проверку я и хочу узнать, потому что если я поставлю проверку car 5@ damaged то надписи выводятся бесконечно после повреждения. А мне надо чтобы при каждом повреждении была только одна надпись.
Такой проверки я не знаю. Можно попробовать проверить на соприкасаемость машины с игровыми субъектами, но вряд-ли это подойдёт

Slivkin-Sergey
Модераторы
08.08.13 15:50
Offline
wmysterio, ладно, фиг с ними, с такими деталями. Но игра уже тупо издевается, так как
Код
:STEVEN1_8
wait 0
0164: disable_marker 7@
Marker.Disable(7@)
03BD: destroy_sphere 8@  
Player.CanMove(0, 0)
fade 0 500
wait 500
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)
Actor.Angle(19@) = 213.6544
20@ = Actor.Create(Mission1, #LAEMT1, 2005.8107, -1440.6849, 13.5635)
Actor.Angle(19@) = 40.4028
0A1D: AS_actor 20@ rotate_to_and_look_at_actor 19@
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  
0460: set_camera_transverse_delay 0.0 time 4500
Camera.SetPosition(1998.7036, -1449.1287, 13.5597, 0.0, 0.0, 0.0)
Camera.PointAt(2025.8408, -1420.2466, 30.4282, 1)    
wait 100
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
Marker.Disable(7@)
fade 1 500
wait 500
Player.CanMove(0, 1)
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  
018A: 10@ = create_checkpoint_at 1994.4166 -1463.0018 13.3906
wait 500
fade 1 500
wait 500
return

после этого ролика машина игрока валится под землю без какой-либо причины... И там же игрок погибает (с полными жизнями)...

SSS
Пользователи
08.08.13 16:42
Offline
ответьте на мое сообщеие:

Как сделать так чтобы при вводе чита "SCAR" все машины у которого id 522 отображались на радаре синим цветом, выключить скрипт так же по вводе 'SCAR' 
Пример: я ввожу SCAR и все машины у которого id 522 (NRG-500) будут отображаться на карте и радаре синем квадратиком

(простите за флуд)

Slivkin-Sergey
Модераторы
08.08.13 17:33
Offline
SSS, сделай проверку на введение чита SCAR, и если он введён, записывай в переменные все машины с моделью NRG500 в сфере вокруг игрока с радиусом, например, 40. Чтобы были видны моцыки по всему штату - нельзя, игра выгружает территорию из памяти при отдалении.
Цитата (Slivkin-Sergey)
после этого ролика машина игрока валится под землю без какой-либо причины... И там же игрок погибает (с полными жизнями)...

Оказывется, это было из-за того, что после ролика был return на cleanup миссии, а в cleanup'е я удалял машину игрока smile

Добавлено (08.08.13, 16:33)
---------------------------------------------
wmysterio, подскажи, почему после ролика не появляется следующий маркер с чекпоинтом, а появляется предыдущая сфера (которая не хотела прорисовываться до ролика)?

Код
: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  
0460: set_camera_transverse_delay 0.0 time 4500
Camera.SetPosition(1998.7036, -1449.1287, 13.5597, 0.0, 0.0, 0.0)
Camera.PointAt(2025.8408, -1420.2466, 30.4282, 1)    
wait 100
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
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

:STEVEN1_10
wait 1000  
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
gosub @STEVEN1_GETIN1
else
0164: disable_marker 6@
end
if and
Actor.InCar($PLAYER_ACTOR, 5@)
not Actor.Dead(1@)
82BF:   not car 5@ sunk
not Car.Wrecked(5@)
875C:   not marker 10@ enabled  
875C:   not marker 11@ enabled  
then
018A: 10@ = create_checkpoint_at 1994.4166 -1463.0018 13.3906  
03BC: 11@ = create_sphere_at 1994.4166 -1463.0018 13.3906 radius 1.0  
end
if and
Actor.InCar($PLAYER_ACTOR, 5@)
00EC:   actor $PLAYER_ACTOR 0 near_point 1994.4166 -1463.0018 13.3906 radius 1.0 1.0  
Actor.InCar(1@, 5@)
not Actor.Dead($PLAYER_ACTOR)
then
jump @STEVEN1_11
end
if
$181 > 4
then
jump @STEVEN1_10
end
Отредактировал Slivkin-Sergey - Четверг, 08.08.13, 17:00

SSS
Пользователи
08.08.13 17:46
Offline
Цитата (Slivkin-Sergey)
SSS, сделай проверку на введение чита SCAR, и если он введён, записывай в переменные все машины с моделью NRG500 в сфере вокруг игрока с радиусом, например, 40. Чтобы были видны моцыки по всему штату - нельзя, игра выгружает территорию из памяти при отдалении.
 
МОжно код готовый, а то я новичек, очень нужно

Slivkin-Sergey
Модераторы
08.08.13 17:58
Offline
SSS, готовый нельзя, в скриптинге нужен мозг, учись думать. Не научишься думать - не быть тебе скриптёром. Подскажу лишь нужные тебе опкоды:
Код
0ADC: test_cheat "ЧИТ"

Вместо "ЧИТ" вписываешь свой чит (обязательно на английском!).

Код
Actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@)

Вписываешь координаты игрока в переменную.
Код
073E: get_car_in_sphere 1@ 2@ 3@ radius 100.0 model #NRG500 handle_as 284@

Ищешь в радиусе 100 от игрока NRG500 и заносишь в переменную 284@.
Код
0161: 341@ = create_marker_above_car 340@ unknown 0 radar_mode 1
Создаёшь маркер над мотиком и присваиваешь ему тип 1 (дружественный - синий).
Код
0164: disable_marker 341@
Убрать маркер.

Пользуйся этими опкодами чтобы написать скрипт.

SSS
Пользователи
08.08.13 18:06
Offline
Slivkin-Sergey, а если в радиусе будет много мотоциклов, он каждый помечен синем маркером будет?

wmysterio
Администраторы
Скриптер
08.08.13 18:14
Offline
Цитата (Slivkin-Sergey)
Не научишься думать - не быть тебе скриптёром.
Бред, ИМХО. Как раз нужно меньше думать, тогда всё получится. Когда не думаешь - значит уже делаешь всё на автомате.
Цитата (SSS)
а если в радиусе будет много мотоциклов, он каждый помечен синем маркером будет?
Максимально можно пометить ~175 мотоциклов - это скриптовый лимит на маркеры.

Slivkin-Sergey
Модераторы
08.08.13 18:22
Offline
Цитата (wmysterio)
Бред, ИМХО. Как раз нужно меньше думать, тогда всё получится. Когда не думаешь - значит уже делаешь всё на автомате.
Не спорю. Но а начале-то всё равно нужно думать, не так ли?

SSS
Пользователи
08.08.13 18:29
Offline
Ничего не работает, умоляю скиньте код
P.S. С самым большим радиусом разрешающим

Как сделать так чтобы при вводе чита "SCAR" все машины у которого id 522 отображались на радаре синим цветом, выключить скрипт так же по вводе 'SCAR'  
Пример: я ввожу SCAR и все машины у которого id 522 (NRG-500) будут отображаться на карте и радаре синем квадратиком 

(простите за флуд)

wmysterio
Администраторы
Скриптер
08.08.13 18:46
Offline
Цитата (Slivkin-Sergey)
Но а начале-то всё равно нужно думать, не так ли?
В начале можно что угодно делать - всё равно истина сходится в одно.
Цитата (SSS)
скиньте код
Как вариант - этот:
Код
{$CLEO}
0000:

while true
     if  
     0ADC:   test_cheat "SCAR"
     then
     0ACE: show_formatted_text_box "Start"
     wait 1000
         while true
             if
             0AE2: 3@ = random_vehicle_near_point 0.0 0.0 0.0 in_radius 10000.0 find_next 0 pass_wrecked 1 //IF and SET
             then
                 repeat
                     if
                     0137:   car 3@ model == #NRG500
                     then
                     marker.CreateAboveCar(1@, 3@)
                     07E0: set_marker 1@ type_to 1
                     end
                 wait 0
                 until  8AE2: not 3@ = random_vehicle_near_point 0.0 0.0 0.0 in_radius 10000.0 find_next 1 pass_wrecked 1 //IF and SET
             end
             if
             0ADC:   test_cheat "SCAR"
             then
             0ACE: show_formatted_text_box "Finish"
             wait 1000
             end
         wait 0
         end
     end    
wait 0
end

Slivkin-Sergey
Модераторы
08.08.13 18:49
Offline
Цитата (wmysterio)
В начале можно что угодно делать - всё равно истина сходится в одно.
Ну почти. По крайней мере я, какой бы фигнёй не маялся, понял принцип работы скриптов только когда вдумчиво прочитал справку СБ.

Кстати, не подскажешь, почему не выводится текст во время поездки?
Код
:STEVEN1_10
wait 1000  
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
gosub @STEVEN1_GETIN1
else
0164: disable_marker 6@
end
if and
875C:   not marker 10@ enabled  
875C:   not marker 11@ enabled  
then
018A: 10@ = create_checkpoint_at 2171.583 -1343.8385 23.8281
03BC: 11@ = create_sphere_at 2171.583 -1343.8385 23.8281 radius 3.0  
end
if and
Actor.InCar($PLAYER_ACTOR, 5@)
00EC:   actor $PLAYER_ACTOR 0 near_point 1994.4166 -1463.0018 13.3906 radius 1.0 1.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 >= 35.0
then
00BC: show_text_highpriority GXT 'M2S14' time 3000 flag 1
$181 += 1
$182 = 0.0
end
if and
$181 == 2
$182 >= 25.0                             
then
00BC: show_text_highpriority GXT 'M2R6' time 3000 flag 1
$181 += 1
$182 = 0.0
end
if and
$181 == 3
$182 >= 25.0
then
00BC: show_text_highpriority GXT 'M2S15' time 4500 flag 1
$181 += 1
$182 = 0.0
end
if and
$181 == 4
$182 >= 40.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 10000
return

wmysterio
Администраторы
Скриптер
08.08.13 19:03
Offline
Цитата (Slivkin-Sergey)
почему не выводится текст во время поездки?
Вот ты кидаешь только куски кода а вы, Василий, думайте happy
Цитата (Slivkin-Sergey)
По крайней мере я, какой бы фигнёй не маялся, понял принцип работы скриптов только когда вдумчиво прочитал справку СБ.
Это произошло ещё на уровне подсознания, спустя 6 секунд у тебя появилась мысль о том, что ты понял прочитанное. Если конечно верить нашим сумасшедшим учёным writers , которые это доказали

Slivkin-Sergey
Модераторы
08.08.13 19:08
Offline
Цитата (wmysterio)
Вот ты кидаешь только куски кода а вы, Василий, думайте
А что ещё нужно, Василий?

wmysterio
Администраторы
Скриптер
08.08.13 19:10
Offline
Slivkin-Sergey,  что-бы познать мозаику, нужно собрать все её части. Имею ввиду весь код миссии

Slivkin-Sergey
Модераторы
08.08.13 19:22
Offline
wmysterio, боюсь это ничего не даст:
Код
//-------------Mission 1---------------

: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
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 1000  
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
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  
0460: set_camera_transverse_delay 0.0 time 4500
Camera.SetPosition(1998.7036, -1449.1287, 13.5597, 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
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

:STEVEN1_10
wait 1000  
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
gosub @STEVEN1_GETIN1
else
0164: disable_marker 6@
end
if and
875C:   not marker 10@ enabled  
875C:   not marker 11@ enabled  
then
018A: 10@ = create_checkpoint_at 2171.583 -1343.8385 23.8281
03BC: 11@ = create_sphere_at 2171.583 -1343.8385 23.8281 radius 3.0  
end
if and
Actor.InCar($PLAYER_ACTOR, 5@)
00EC:   actor $PLAYER_ACTOR 0 near_point 1994.4166 -1463.0018 13.3906 radius 1.0 1.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 >= 35.0
then
00BC: show_text_highpriority GXT 'M2S14' time 3000 flag 1
$181 += 1
$182 = 0.0
end
if and
$181 == 2
$182 >= 25.0                             
then
00BC: show_text_highpriority GXT 'M2R6' time 3000 flag 1
$181 += 1
$182 = 0.0
end
if and
$181 == 3
$182 >= 25.0
then
00BC: show_text_highpriority GXT 'M2S15' time 4500 flag 1
$181 += 1
$182 = 0.0
end
if and
$181 == 4
$182 >= 40.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 10000
return

:STEVEN1_GETIN1
wait 0
if
45@ == 0
then
0164: disable_marker 7@
0164: disable_marker 8@
end
if
45@ == 1
then
0164: disable_marker 10@
0164: disable_marker 11@
end  
0186: 6@ = create_marker_above_car 5@
07E0: set_marker 6@ type_to 1
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
0164: disable_marker 6@
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
if and
45@ == 1
Actor.InCar($PLAYER_ACTOR, 5@)
then
0164: disable_marker 6@
018A: 10@ = create_checkpoint_at 2171.583 -1343.8385 23.8281
03BC: 11@ = create_sphere_at 2171.583 -1343.8385 23.8281 radius 3.0  
00BE: text_clear_all  
return
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 6@
0164: disable_marker 7@
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 6@
0164: disable_marker 7@
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 6@
0164: disable_marker 7@
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@
0164: disable_marker 7@
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)
Car.Destroy(5@)
04EF: release_animation "SMOKING"  
mission_cleanup  
return

SSS
Пользователи
08.08.13 19:51
Offline
они отображаются если я к ним подойду, а как сделать так что бы даже если я далеко - то на карте видно будет.
Пример: как в мисии: тебе дают задание приехать там например к определенной точке, и на карте ставиться квадратик, вот мне так же нужно(что бы квадратиками машины отображались даже если я далеко от них)

wmysterio
Администраторы
Скриптер
08.08.13 19:59
Offline
Slivkin-Sergey, может что-то и даст. Предлагаю сделать следующее:
Код
:STEVEN1_9
wait 0
0701: end_scene_skip
02A3: enable_widescreen 0
$181 = 0

$182 = 0 // поставить 0.0, скорее всего игра понимает его как целое, а ты ведь используешь его как дробное
Дальше предлагаю сделать это:
Код
:STEVEN1_5

wait 1000  // поменять на 0, иначе переменная $182 будет выполнять += 0.25 каждую     
           // секунду, следовательно пройдёт 40.0/0.25 = 160 секунд, а уж потом выведется     
           // текст нужно что бы прибавлялось каждую итерацию с нулевой задержкой

if
Аналогично тоже сделать для
Код
:STEVEN1_10

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