Делаем гоночную миссию ( SARMC v0.9 )|Всем привет! Сегодня мы будем играть в гонки! А точнее делать гонку для GTA San Andreas!|wmysterio|wmysterio||||Первый шаг - сделать копию нашего main.scm, так как программа, которой мы будем делать нашу гонку может перезаписать наши данные, что нам естественно не нужно.
Воспользуемся программой SARMC v0.9, что бы быстро сделать код скрипта. Для этого запустим нашу Саню и определим точку, где будет иконка стартера, а затем программу:
Нажимаем кнопку xyz, что бы получить координаты ( выделена красным ). Должны появиться координаты игрока в полях X Y Z. Если этого не произошло, то воспользуйтесь Sanny Builder, что бы их определить и скопируйте в нужные поля.
Тип гонки пусть будет - Спринт. Имя миссии - это название потока. Укажем TEST_RA. Так, как мы будем делать миссию для Cleo, то Номер миссии в мэйне указывать не нужно. Перейдём во вкладку "Параметры машин". Здесь мы будем добавлять наш транспорт. Для этого нужно в игре сесть в какую-то машину и занять позицию, где должна она находится при старте и определим её координаты и модель, нажав на кнопку "Добавить машину":
Проделайте эту процедуру раза 3. Дальше устанавливаем значение "Улучшенное управление машин..." на 1.75, как показано на рисунке выше ( оранжевая линия ). Поставим галочку на чекбокс "Все машины пуле-непробиваемы". Таким образом в машин появятся иммунитеты.
Следующий шаг - установка Чекпоинтов. Это сферы, к которым нужно ехать. Делается это таким-же способом, что и машины.
Для примера, три достаточно три точки. Скорость уже нужно определять на глаз. Если гонка идёт по трассе, то 100 будет нормально. Если же гонка будет содержать множество поворотов, то оптимально ставить значение на 40. Иначе противники не смогут вписаться в поворот.
"Тип езды" ставим "По обычным транспортным путям", в этом случае противники более-менее адекватно будут ехать по дороге. Ни и вкладка "Прочие параметры" ставим галочку в чекбоксе "восстанавливать машины противников...", задаём призовые и время проведения гонки.
В меню выбираем: "Скрипт->Построить". Перед нами код, построенный программой. Первый поток является стартером. В Sanny Builder создадим два новых файла, в первый кинем верхнюю часть, во второй - код миссии.
Сам стартер, как по мне не очень, и я решил переделать его на более удобный. Получилось следующее:
{$cleo}
0000:
:STARTER
thread 'STARTER'
wait 0
if
Player.Defined($PLAYER_CHAR)
jf @STARTER_END
0@ = Marker.CreateIconAndSphere(53, -2239.009, -206.6812, 35.4655)
while true
if AND
00EC: actor $PLAYER_ACTOR 0 near_point -2239.009 -206.6812 radius 2.0 2.0
$ONMISSION == 0
not actor.Driving($PLAYER_ACTOR)
then
break
end
wait 0
end
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: text_styled 'RACES_0' 1500 ms 2 // Races
00BE: text_clear_all
03E6: remove_text_box
0A94: start_custom_mission "TEST_RC"
wait 1000
jump @STARTER
:STARTER_END
wait 0
0A93: end_custom_thread
Код миссии копируем во второй файл. У меня вышел следующий код:
Здесь я отредактировал только следующее:
Переместил перед ближайшим "fade 1", что бы камера следовала за игроком перед осветлением екрана. Убрал:
Так как мы запретили игроку двигаться в стартере и нам не нужно делать переход к этому стартеру, так как он находится в другом файле. И добавил опкод:
Так как он отсутствовал в коде. Дальше уже нужно просто скомпилировать этот код. Программа SARMC прекрасно сгенерировала код, чем мы воспользовались.
Осталось проверить, работает ли наш скрипт ( советую сначала закрыть программу-генератор и GTA SA, так как могут возникнуть проблемы как у меня ).
Результат:
Отлично! На этой программе я делал мод NFS GTA RACE, можете и вы сделать что-то подобное. Всем пока!|1081|1|0|90127376png600337400224``\|43126613png649466400287\|92736430`png`649`466`400`287|65734758png649466400`287``||delaem_gonochnuju_missiju|1504502393