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

blackful
Пользователи
05.10.13 17:02
Offline
wmysterio, спасибо, а вот как на карту поставить? вот пример, написал :

Код
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP

0ACE: show_formatted_text_box "This is opcode"

(и 497.58 -76.03 998.76- координата на карте)

вот как сделать? ну оформить правильно, координаты есть, опкод на выбор каторый написал есть, а после как сделать чтобы работал?
Евгений_Сергеевич

SSS
Пользователи
05.10.13 19:28
Offline
Почему у меня вторая часть скрипта :CORDB не работает, только :CORDA работает
Вот скрипт:

Код
// $PLAYER_ACTOR $PLAYER_GROUP $ONMISSION
{$CLEO}
0000:

:CORDA
wait 0  
if  
    Player.Defined(0)
jf @CORDA  
if and
    not actor.Dead($PLAYER_ACTOR)
0ADC: test_cheat "CORDA"  
jf @CORDA   
Actor.PutAt($PLAYER_ACTOR,1262.072, -1532.9138, 61.8965)
wait 1000
jump @CORDA
end_thread

:CORDB
wait 0
if  
    Player.Defined(0)
jf @CORDB  
if and
    not actor.Dead($PLAYER_ACTOR)
0ADC: test_cheat "CORDB"  
jf @CORDB  
Actor.PutAt($PLAYER_ACTOR,1263.6578, -1555.6439, 61.8887)
wait 1000
jump @CORDB
end_thread  
//=================================

Vital
Модераторы
Скриптер
05.10.13 19:34
Offline
SSS, у тебя нету перехода ко второй метке, это во-первых.
Во-вторых, в cleo скрипте не нужен end_thread, там используется другой опкод - 0A93. Но в твоём случае скрипт повторяется бесконечно, потому завершение скрипта не нужно ставить, в отличие от .scm файлов, где end_thread есть даже в бесконечно повторяющихся скриптах.
В-третьих, по-видимому, ты хотел сделать так, чтобы работало две возможности (телепорт), но работать в одном файле может лишь один скрипт (поток), поэтому надо организовать скрипт по-другому. Я бы сделал так, не прибегая к меткам:

Код
{$CLEO}
while true
wait 0
     if
     player.defined(0)
     then
         if
         0ADC: test_cheat "CORDA"
          then
         Actor.PutAt($PLAYER_ACTOR,1262.072, -1532.9138, 61.8965)
         wait 1000
         else
             if
             0ADC: test_cheat "CORDB"   
             then
             Actor.PutAt($PLAYER_ACTOR,1263.6578, -1555.6439, 61.8887)
             wait 1000
             end
         end  
     end
end
Должно работать, проверь. Пробуй уже использовать циклы вместо меток, это гораздо удобнее. Посмотри мои видео на эту тему, там я попробовал всё объяснить про удобство циклов.
2109: create_special_actor $VITAL in_front_of_computer

SSS
Пользователи
05.10.13 19:43
Offline
Vital, нет не работает, игра не запускается.

P.S убрал один end

Vital
Модераторы
Скриптер
05.10.13 21:39
Offline
SSS, забыл, после {$CLEO} поставь 0000: и не убирай никакие end. Попробуй так.
2109: create_special_actor $VITAL in_front_of_computer

Slivkin-Sergey
Модераторы
06.10.13 14:08
Offline
Как проверить, есть ли в радиусе 10.0 от игрока актёр с моделью #LAPD1?

SSS
Пользователи
06.10.13 15:25
Offline
как заморозить игрока, так что бы, даже если он в воздухе, то его заморозило и он не падал, а завис в воздухе?

И еще: как поставить проверку: если актер стоит в радиусе 5 метров от определенных координат, то "делать действие"

Добавлено (06.10.13, 14:25)
---------------------------------------------
Я делаю небольшую сис-му на cleo. Пока что у меня есть пункт FakeKill, так вот: в игре он изначально False, если я введу "FK", то он станет true, дальше у меня идет проверка: если нажать F3 и если FakeKill равен true, то игрок умирает.

Я вхожу в игру ввожу "FK", жму F3 но игрок не умирает. В чём проблема? Вот код:


Код
{$CLEO}
0000:

$FakeKill = False
while true
wait 0
if
player.defined(0)
then
      if
          0ADC: test_cheat "FK"
      then
          $FakeKill == true
      wait 1000
      else
      if
          0ADC: test_cheat "FKO"     
      then
          $FakeKill == false
      wait 1000
      else
      if
          if   
          0AB0:   key_pressed 114
          $FakeKill == true
      then
            actor.Health($PLAYER_ACTOR) = 0
      wait 1000
      end
      end
end    
end
end
Отредактировал Slivkin-Sergey - Воскресенье, 06.10.13, 15:27

Slivkin-Sergey
Модераторы
06.10.13 15:30
Offline
Цитата (SSS)
как заморозить игрока, так что бы, даже если он в воздухе, то его заморозило и он не падал, а завис в воздухе?

Actor.LockInCurrentPosition($PLAYER_ACTOR) = True
Цитата (SSS)
И еще: как поставить проверку: если актер стоит в радиусе 5 метров от определенных координат, то "делать действие"

Код
if
00F0: actor $PLAYER_ACTOR 0 near_point 2175.29 -2259.22 13.0 radius 5.0 5.0 stopped_on_foot
then
...
end

Цитата (SSS)
Я вхожу в игру ввожу "FK", жму F3 но игрок не умирает. В чём проблема? Вот код:

При чём тут Витал? В санни нельзя присваивать переменным тип boolean, поэтому используй в качестве флага 0 и 1.

SSS
Пользователи
06.10.13 16:36
Offline
Slivkin-Sergey, а теперь игрок умиает,не тогда когда я нажимаю F3, а всегда осле возождения. WTF? Как исправить?

Slivkin-Sergey
Модераторы
07.10.13 17:25
Offline
У меня такой вопрос: я создал MPACK по всем правилам, всё работает, но... не отображается текст. Точнее, нет именно субтитров в миссиях, всё остальное в порядке.
Код
054C: use_GXT_table 'STEVEN1'

В файле text.gxt эта таблица есть.

wmysterio
Администраторы
Скриптер
08.10.13 13:09
Offline
Slivkin-Sergey, лучше юзать FXT для таких проектов. Я с GXT уже давно не работал. Не могу сказать причины "не вывода" текста

SSS
Пользователи
10.10.13 12:38
Offline
Привет, Форумчане!

Скиньте пожалуйста скрипт:

Если игрок не мертв
Если ввести чит 'SPW', то
Отправить все машины в радиусе 50 метров на respawn...
а те машины в которых есть водители, сначало водителей выбросить а потом уже respawn'уть
Спасибо
Отредактировал SSS - Четверг, 10.10.13, 15:20

Slivkin-Sergey
Модераторы
10.10.13 16:38
Offline
Почему trip_skip сам через некоторое время отключается (т.е. становится невозможно пропустить поездку), вне зависимости от условий?
Код
repeat
wait 0
until not Actor.InCar($PLAYER_ACTOR, $STEVENSONS_CAR)
wait 1000
09B9: show_entered_car_name 0
0676: AS_actor $ACTOR_STEVENSON in_car $STEVENSONS_CAR move_from_passengerseat_to_driverseat
repeat
wait 0
until Actor.InCar($PLAYER_ACTOR, $STEVENSONS_CAR)
093D: lock_camera_on_cinematic_view 1
Car.DriveTo($STEVENSONS_CAR, 1362.1324, -1282.189, 13.3828)
Car.SetDriverBehaviour($STEVENSONS_CAR, FollowRoad)
Car.SetMaxSpeed($STEVENSONS_CAR, 15.0)
0950: set_trip_skip 1362.5455 -1289.385 13.005 angle 0.2399
00BC: show_text_highpriority GXT 'M4S18' time 5000 flag 1

:STEVEN3_4
wait 0
if
not Car.Wrecked($STEVENSONS_CAR)
jf @STEVEN3_FAILED
if
82BF: not car $STEVENSONS_CAR sunk
jf @STEVEN3_FAILED
if
not Actor.Dead($ACTOR_STEVENSON)
jf @STEVEN3_FAILED
if
01AD: car $STEVENSONS_CAR sphere 0 near_point 1362.5455 -1289.385 13.005 radius 2.0 2.0
then
0687: clear_actor $ACTOR_STEVENSON task
Car.SetMaxSpeed($STEVENSONS_CAR, 0.0)
0951: disable_trip_skip
else
jump @STEVEN3_4
end
wait 5000

SSS, есть отдельная тема для заказа скриптов!

blackful
Пользователи
15.10.13 18:17
Offline
народ, кто может скинуть стартёр? как из этого видео (http://www.youtube.com/watch?v=LKsinV6QytM) пожалуйста)
Евгений_Сергеевич

wmysterio
Администраторы
Скриптер
15.10.13 18:46
Offline
blackfulссылка

blackful
Пользователи
15.10.13 19:59
Offline
wmysterio, спасибо!

Добавлено (15.10.13, 18:58)
---------------------------------------------
помогите,  вот такая ошибка у меня появилась, написал скрипт "гонка" (кольцо) всё работает нормально, но когда начинается отсчёт старта: 3..,2..,1.., и вылет, вот опкод:  (да,, и ещё, когда компилирую то пишет "Метка "TEST_RR" не найдена." я поставил ":TEST_RR " и он заработал, может кто нибудь  скажет, почему он выдаёт ошибку мол "не найден"?)

Код
{$cleo .cm}
0000:

//-------------Mission 0---------------

:TEST_RR
var
$money : integer = 20000
$traff : float = 1.0
$a : integer = 4
$ak : integer = 1
$b : integer = 17
$d : integer = 0
end

var
$nar : integer
$tar : integer
$time : float = 0.0
$dist : float
$dist2 : float
$pos : integer = 1
$pos2 : integer = 1
$stage : array 8 of integer
$car : array 8 of car
$model : array 8 of integer
$act : array 8 of actor
$mark : array 8 of marker
$carx : array 8 of float
$cary : array 8 of float
$carz : array 8 of float
$angle : array 8 of float
$pointx : array 25 of float
$pointy : array 25 of float
$pointz : array 25 of float
$speed : array 25 of float
$type : array 25 of integer
$Lap : array 11 of integer
$TotalLaps : integer = 3
$CurrentLap : integer
end

:TEST_RR_000
thread 'TEST_RR'
gosub @TEST_RR_47
if
wasted_or_busted
jf @TEST_RR_38
gosub @TEST_RR_2497

:TEST_RR_38
gosub @TEST_RR_2762
end_thread

:TEST_RR_47
increment_mission_attempts
$ONMISSION = 1 // integer values
Player.ClearWantedLevel($PLAYER_CHAR)
00BE: text_clear_all
$a0 = 0 // integer values
$a1 = 1 // integer values
$a2 = 2 // integer values
$a3 = 3 // integer values
$a4 = 4 // integer values
$a5 = 5 // integer values
$a6 = 6 // integer values
$a7 = 7 // integer values
$a8 = 8 // integer values
$a9 = 9 // integer values
$a10 = 10 // integer values
$a11 = 11 // integer values
$a12 = 12 // integer values
$a13 = 13 // integer values
$a14 = 14 // integer values
$a15 = 15 // integer values
$a16 = 16 // integer values
$a17 = 17 // integer values
$a18 = 18 // integer values
$a19 = 19 // integer values
$a20 = 20 // integer values
$a21 = 21 // integer values
$a22 = 22 // integer values
$a23 = 23 // integer values
$a24 = 24 // integer values
$a25 = 25 // integer values

for $par = 1 to $a
$stage[$par] = 1
$Lap[$par] = 1
end

$pointx[$a1] = 1880.69 // floating-point values
$pointy[$a1] = -1050.09 // floating-point values
$pointz[$a1] = 23.35 // floating-point values
$speed[$a1] = 45.0 // floating-point values
$type[$a1] = 1 // integer values
$pointx[$a2] = 1868.24 // floating-point values
$pointy[$a2] = -1147.78 // floating-point values
$pointz[$a2] = 23.40 // floating-point values
$speed[$a2] = 100.0 // floating-point values
$type[$a2] = 1 // integer values
$pointx[$a3] = 1846.51 // floating-point values
$pointy[$a3] = -1200.36 // floating-point values
$pointz[$a3] = 21.93 // floating-point values
$speed[$a3] = 100.0 // floating-point values
$type[$a3] = 1 // integer values
$pointx[$a4] = 1847.30 // floating-point values
$pointy[$a4] = -1371.10 // floating-point values
$pointz[$a4] = 13.06 // floating-point values
$speed[$a4] = 100.0 // floating-point values
$type[$a4] = 1 // integer values
$pointx[$a5] = 1841.53 // floating-point values
$pointy[$a5] = -1516.42 // floating-point values
$pointz[$a5] = 13.04 // floating-point values
$speed[$a5] = 100.0 // floating-point values
$type[$a5] = 1 // integer values
$pointx[$a6] = 1820.26 // floating-point values
$pointy[$a6] = -1650.35 // floating-point values
$pointz[$a6] = 13.05 // floating-point values
$speed[$a6] = 100.0 // floating-point values
$type[$a6] = 1 // integer values
$pointx[$a7] = 1819.15 // floating-point values
$pointy[$a7] = -1884.47 // floating-point values
$pointz[$a7] = 13.06 // floating-point values
$speed[$a7] = 40.0 // floating-point values
$type[$a7] = 1 // integer values
$pointx[$a8] = 1929.18 // floating-point values
$pointy[$a8] = -1933.30 // floating-point values
$pointz[$a8] = 13.05 // floating-point values
$speed[$a8] = 100.0 // floating-point values
$type[$a8] = 1 // integer values
$pointx[$a9] = 2039.67 // floating-point values
$pointy[$a9] = -1935.20 // floating-point values
$pointz[$a9] = 12.99 // floating-point values
$speed[$a9] = 100.0 // floating-point values
$type[$a9] = 1 // integer values
$pointx[$a10] = 2083.30 // floating-point values
$pointy[$a10] = -1898.36 // floating-point values
$pointz[$a10] = 13.06 // floating-point values
$speed[$a10] = 49.0 // floating-point values
$type[$a10] = 1 // integer values
$pointx[$a11] = 2083.15 // floating-point values
$pointy[$a11] = -1807.31 // floating-point values
$pointz[$a11] = 13.05 // floating-point values
$speed[$a11] = 100.0 // floating-point values
$type[$a11] = 1 // integer values
$pointx[$a12] = 2110.65 // floating-point values
$pointy[$a12] = -1697.45 // floating-point values
$pointz[$a12] = 13.05 // floating-point values
$speed[$a12] = 95.0 // floating-point values
$type[$a12] = 1 // integer values
$pointx[$a13] = 2113.79 // floating-point values
$pointy[$a13] = -1577.07 // floating-point values
$pointz[$a13] = 25.65 // floating-point values
$speed[$a13] = 100.0 // floating-point values
$type[$a13] = 1 // integer values
$pointx[$a14] = 2114.05 // floating-point values
$pointy[$a14] = -1415.40 // floating-point values
$pointz[$a14] = 23.50 // floating-point values
$speed[$a14] = 67.0 // floating-point values
$type[$a14] = 1 // integer values
$pointx[$a15] = 2090.08 // floating-point values
$pointy[$a15] = -1382.66 // floating-point values
$pointz[$a15] = 23.50 // floating-point values
$speed[$a15] = 40.0 // floating-point values
$type[$a15] = 1 // integer values
$pointx[$a16] = 2069.56 // floating-point values
$pointy[$a16] = -1331.41 // floating-point values
$pointz[$a16] = 23.49 // floating-point values
$speed[$a16] = 100.0 // floating-point values
$type[$a16] = 1 // integer values
$pointx[$a17] = 2017.39 // floating-point values
$pointy[$a17] = -1066.50 // floating-point values
$pointz[$a17] = 24.15 // floating-point values
$speed[$a17] = 100.0 // floating-point values
$type[$a17] = 1 // integer values
$carx[$a1] = 2072.52 // floating-point values
$cary[$a1] = -1355.03 // floating-point values
$carz[$a1] = 23.50 // floating-point values
$angle[$a1] = 359.57 // floating-point values
$carx[$a2] = 2072.54 // floating-point values
$cary[$a2] = -1341.07 // floating-point values
$carz[$a2] = 23.49 // floating-point values
$angle[$a2] = 359.78 // floating-point values
$carx[$a3] = 2065.96 // floating-point values
$cary[$a3] = -1342.90 // floating-point values
$carz[$a3] = 23.49 // floating-point values
$angle[$a3] = 1.37 // floating-point values
$carx[$a4] = 2066.26 // floating-point values
$cary[$a4] = -1355.66 // floating-point values
$carz[$a4] = 23.49 // floating-point values
$angle[$a4] = 1.34 // floating-point values
$model[$a1] = #COMET
$model[$a2] = #BULLET
$model[$a3] = #INFERNUS
$model[$a4] = #TURISMO
054C: use_GXT_table 'RACETOR'

for $par = 1 to $a
Model.Load($model[$par])
end
038B: load_requeasted_models

:TEST_RR_111
wait 0 ms
for $par = 1 to $a
if
Model.Available($model[$par])
jf @TEST_RR_111
end
01EB: set_traffic_density_to 0.0
0395: clear_area 0 at $carx[$ak] $cary[$ak] $carz[$ak] range 300.0
for $par = 1 to $a
$car[$par] = Car.Create($model[$par], $carx[$par], $cary[$par], $carz[$par])
Car.Angle($car[$par]) = $angle[$par]
Car.SetImmunities($car[$par], 1, 1, 1, 1, 1)
07EE: car $car[$par] enable_tire_marks 1
Car.DoorStatus($car[$par]) = 2
if
$par <> $ak
then
0560: $car[$par] = create_random_driver_in_vehicle $act[$par]
0423: vehicle $car[$par] improve_handling 5.0
end
end

036A: put_actor $PLAYER_ACTOR in_vehicle $car[$ak]
03BF: set_player $PLAYER_CHAR ignored_by_everyone_to 1
03F4: set_all_vehicles_apply_damage_rules 0
wait 2500 ms
Camera.SetBehindPlayer
Camera.Restore
fade 1 1000
wait 1000 ms
00BA: text_styled 'RACES_4' 1100 ms 4 // 3
097A: at 0.0 0.0 0.0 play_sound 1056
wait 1100 ms
00BA: text_styled 'RACES_5' 1100 ms 4 // 2
097A: at 0.0 0.0 0.0 play_sound 1056
wait 1100 ms
00BA: text_styled 'RACES_6' 1100 ms 4 // 1
097A: at 0.0 0.0 0.0 play_sound 1056
wait 1100 ms
00BA: text_styled 'RACES_7' 800 ms 4 // GO!
097A: at 0.0 0.0 0.0 play_sound 1057
01BD: 11@ = current_time_in_ms
Player.CanMove($PLAYER_CHAR) = True
03BF: set_player $PLAYER_CHAR ignored_by_everyone_to 0
03F4: set_all_vehicles_apply_damage_rules 1
01EB: set_traffic_density_to $traff

for $par = 1 to $a
if
$par <> $ak
then
05D1: AS_actor $act[$par] drive_vehicle -1 to $pointx[$a1] $pointy[$a1] $pointz[$a1] speed $speed[$a1] $type[$a1] 0 2
$mark[$par] = Marker.CreateAboveCar($car[$par])
Marker.SetColor($mark[$par], 2)
Marker.SetIconSize($mark[$par], 2)
end
end

03C3: set_timer_with_text_to $time type 0 text 'TIMER' // TIME
for $CurrentLap = 1 to $TotalLaps
for $kar = 1 to $b
$nar = $kar // integer values
$nar += 1 // integer values
if and
$nar > $b
$CurrentLap <> $TotalLaps
then
$nar = 1
end
018A: $chekp = create_checkpoint_at $pointx[$kar] $pointy[$kar] $pointz[$kar]
0168: show_on_radar $chekp 4
if and
$kar == $b // integer values
$CurrentLap == $TotalLaps
then
Marker.SetColor($chekp, 0)
$a0 = 1 // integer values
end
06D5: $rchekp = create_racing_checkpoint_at $pointx[$kar] $pointy[$kar] $pointz[$kar] point_to $pointx[$nar] $pointy[$nar] $pointz[$nar] type $a0 radius 6.0
while 8100: not actor $PLAYER_ACTOR near_point_in_vehicle $pointx[$kar] $pointy[$kar] $pointz[$kar] radius 12.0 12.0 12.0 sphere 0
gosub @TEST_RR_211
03F0: toggle_text_draw 0
$pos2 = $pos // integer values
0340: set_text_draw_color 134 155 184 255
0349: text_draw_style = 1
033F: set_text_draw_letter_width_height 1.0 3.6
0341: unknown_text_stuff 3
0342: set_text_draw_centered 1
0343: set_text_linewidth 640.0
060D: draw_text_shadow 2 color 0 0 0 alpha 180
038E: draw_box_position 570.7242 356.2812 size 68.2072 74.2072 RGBA 0 0 0 255
038E: draw_box_position 570.7242 356.2812 size 66.2072 72.2072 RGBA 134 155 184 255
038E: draw_box_position 570.7242 356.2812 size 62.2072 70.2072 RGBA 0 0 0 255
045A: draw_text_1number 570.0 357.0 GXT 'RACES44' number $pos2  // ~1~TH
033F: set_text_draw_letter_size 0.7 2.0
0340: set_text_draw_RGBA 134 155 184 255
045B: draw_text_2numbers 543.0 322.0 GXT 'RACES32' numbers $CurrentLap $TotalLaps  // LAP ~1~/~1~
$pos = 1 // integer values
if
not Actor.InCar($PLAYER_ACTOR, $car[$ak])
then
jump @TEST_RR_2497
end
if or
Car.Wrecked($car[$ak])
02BF: car $car[$ak] sunk
then
jump @TEST_RR_2497
end
wait 0 ms
end
Marker.Disable($chekp)
06D6: delete_racing_checkpoint $rchekp
097A: at 0.0 0.0 0.0 play_sound 1058
end
end
jump @TEST_RR_2491

:TEST_RR_211
for $ind = 1 to $a
if
$ind <> $ak // integer values
then
if
$car[$ind] <> -1
then
if and
$stage[$ind] <= $b
$Lap[$ind] <= $TotalLaps
then
$tar = $stage[$ind]
if
0100: actor $act[$ind] near_point_in_vehicle $pointx[$tar] $pointy[$tar] $pointz[$tar] radius 12.0 12.0 12.0 sphere 0
then
$stage[$ind] += 1
if
$stage[$ind] <= $b
then
$tar = $stage[$ind]
05D1: AS_actor $act[$ind] drive_vehicle $car[$ind] to $pointx[$tar] $pointy[$tar] $pointz[$tar] speed $speed[$tar] $type[$tar] 0 2
else
if
$Lap[$ind] < $TotalLaps
then
$Lap[$ind] += 1
$stage[$ind] = 1
$tar = 1
05D1: AS_actor $act[$ind] drive_vehicle $car[$ind] to $pointx[$tar] $pointy[$tar] $pointz[$tar] speed $speed[$tar] $type[$tar] 0 2
end
end
end
if
$CurrentLap == $Lap[$ind]
then
if
$kar == $stage[$ind]
then
Car.StorePos($car[$ak], $xpos, $ypos, $zpos)
0509: $dist = distance between point $xpos $ypos and point $pointx[$kar] $pointy[$kar]
Car.StorePos($car[$ind], $xpos2, $ypos2, $zpos2)
0509: $dist2 = distance between point $xpos2 $ypos2 and point $pointx[$kar] $pointy[$kar]
if
$dist > $dist2
then
$pos += 1
end
else
if
$stage[$ind] > $kar
then
$pos += 1
end
end
else
if
$Lap[$ind] > $CurrentLap
then
$pos += 1
end
end
else
$pos += 1
end
if or
Car.Wrecked($car[$ind])
02BF: car $car[$ind] sunk
not Actor.Driving($act[$ind])
then
Actor.RemoveReferences($act[$ind])
$car[$ind] = -1
Car.RemoveReferences($car[$ind])
Marker.Disable($mark[$ind])
end
end
end
end
return

:TEST_RR_2491
gosub @TEST_RR_REMOVE
if
$pos2 == 1
then
00BA: text_styled 'RACES18' 3000 ms 1 // Winner!
wait 3000 ms
01E3: text_1number_styled 'M_PASS' $money 4000 ms 1 // MISSION PASSED!~n~~w~$~1~
Player.Money($PLAYER_CHAR) += $money
01BD: 12@ = current_time_in_ms
0085: 13@ = 12@ // integer values and handles
0062: 13@ -= 11@ // integer values
13@ /= 1000.0 // floating-point values
0085: 452@ = 13@ // integer values and handles
452@ /= 60 // integer values
0085: 36@ = 452@ // integer values and handles
36@ *= 60 // integer values
0085: 453@ = 13@ // integer values and handles
0062: 453@ -= 36@ // integer values
0394: play_music 1
02FD: text_2numbers_lowpriority 'TIME' 452@ 453@ 8000 ms 1 // ~1~:~1~
else
01E3: text_1number_styled 'RACES_8' 200 5000 ms 1
01BD: 12@ = current_time_in_ms
0085: 13@ = 12@ // integer values and handles
0062: 13@ -= 11@ // integer values
13@ /= 1000.0 // floating-point values
0085: 452@ = 13@ // integer values and handles
452@ /= 60 // integer values
0085: 36@ = 452@ // integer values and handles
36@ *= 60 // integer values
0085: 453@ = 13@ // integer values and handles
0062: 453@ -= 36@ // integer values
02FD: text_2numbers_lowpriority 'TIME' 452@ 453@ 8000 ms 1 // ~1~:~1~
end
0318: set_latest_mission_passed_to 'RACES_0' // Races
Player.ClearWantedLevel($PLAYER_CHAR)
create_thread @TEST_RR
gosub @TEST_RR_38
return

:TEST_RR_2497
gosub @TEST_RR_REMOVE
00BA: text_styled 'RACES_8' 5000 ms 1 // Loser!
return

:TEST_RR_REMOVE
01EB: set_traffic_density_to 1.0
Car.DoorStatus($car[$ak]) = 0
for $par = 1 to $a
if
$car[$par] <> -1
then
Car.SetImmunities($car[$par], 0, 0, 0, 0, 0)
Model.Destroy($model[$par])
Car.RemoveReferences($car[$par])
if
$par <> $ak
then
Marker.Disable($mark[$par])
Actor.RemoveReferences($act[$par])
end
end
end
Marker.Disable($chekp)
06D6: delete_racing_checkpoint $rchekp
03F0: toggle_text_draw 0
014F: delete_timer $time
01B7: release_weather
return

:TEST_RR_2762
$ONMISSION = 0 // integer values
mission_cleanup
return
Добавлено (15.10.13, 18:59)
---------------------------------------------
стартёр:

Код
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP

:STARTER_2
thread 'STARTER'
wait 0
if
Player.Defined($PLAYER_CHAR)
jf @STARTER_247
0@ = Marker.CreateIconAndSphere(53, 2084.16, -1370.54, 23.98)
$POS_X = 2084.16
$POS_Y = -1370.54
$POS_Z = 23.98

:STARTER_85
if and
00EC:   actor $PLAYER_ACTOR 0 near_point 2084.16 -1370.54 radius 2.0 2.0
$ONMISSION == 0
not Actor.Driving($PLAYER_ACTOR)
jf @STARTER_142
jump @STARTER_153

:STARTER_142
wait 0
jump @STARTER_85

:STARTER_153
Player.CanMove($PLAYER_CHAR) = False
Actor.SetImmunities($PLAYER_ACTOR, 1, 1, 1, 1, 1)
fade 0 1000
wait 1000
Marker.Disable(0@)
054C: use_GXT_table 'RACETOR'
00BA: show_text_styled GXT 'RACES_0' time 1500 style 2  // FOHKN
00BE: text_clear_all
03E6: remove_text_box
0A94: start_custom_mission "TEST_RR"
wait 1000
jump @STARTER_2

:STARTER_247
wait 0
0A93: end_custom_thread
Евгений_Сергеевич

wmysterio
Администраторы
Скриптер
16.10.13 02:44
Offline
Цитата blackful ()
и ещё, когда компилирую то пишет "Метка "TEST_RR" не найдена."
У клео-миссий нельзя создавать потоки, по-этому нужно убрать строки
Код
create_thread @TEST_RR
в коде миссии

Slivkin-Sergey
Модераторы
16.10.13 11:34
Offline
Блин, ну нельзя что ли написать "не знаю"? Зачем томить человека?

---

И да: как заставить актёра спринтовать?

wmysterio
Администраторы
Скриптер
16.10.13 21:20
Offline
Цитата Slivkin-Sergey ()
Блин, ну нельзя что ли написать "не знаю"? Зачем томить человека?---

И да: как заставить актёра спринтовать?
Если бы я знал, то сразу ответил. Я так поступаю в 90% случаев.

SSS
Пользователи
20.10.13 13:33
Offline
Как при нажатии S+P, все машины в радиусе прорисовки телепортировать перед собой?

P.S. Дайте ссылку на сайт, где написанны все id клавишь от Sanny Builder

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