Найти в Дзене
EDBR-0127G

Как создать точку сохранения в ГТА СА

(я не буду делать километровое вступление)
точка сохранения - это типа дискетка которая есть в доме Сиджея (Карла Джонсона), встав на которую можно сохраниться. Скрипт будем создавать в MAIN.SCM - для его открытия понадобится Sanny Builder Начнем с того, что нам надо определить модель дискеты из архивов. Добавьте строчку "DEFINE OBJECT PICKUPSAVE" В моем случае очищенная ГТА СА, если вы захотели добавить точку сохранения в оригинал то вам этот пункт не нужен (это уже ввели за вас). нужно создать отдельный поток под алгоритм сохранения:
пишем "create_thread @your_name_maker" например так: Или для оригинала так: теперь в самом конце добавляем это (будет прикреплен файл): //----------------SAVEGAME_1-----------------------
:SAVEGAME_1 //тут загружаем дискету и проверяем что она доступна
wait 100
Model.Load(#PICKUPSAVE)
if and
Model.Available(#PICKUPSAVE)
0256: player $PLAYER_CHAR defined
else_jump @SAVEGAME_1
0213: $SAVE0 = create_pickup #PICKUPSAVE type 15 at -2444.42 -

(я не буду делать километровое вступление)

точка сохранения - это типа дискетка которая есть в доме Сиджея (Карла Джонсона), встав на которую можно сохраниться.

Скрипт будем создавать в MAIN.SCM - для его открытия понадобится Sanny Builder

Начнем с того, что нам надо определить модель дискеты из архивов. Добавьте строчку "DEFINE OBJECT PICKUPSAVE"

В моем случае очищенная ГТА СА, если вы захотели добавить точку сохранения в оригинал то вам этот пункт не нужен (это уже ввели за вас).

нужно создать отдельный поток под алгоритм сохранения:
пишем "create_thread @your_name_maker"

например так:

поток создается после всего майна
поток создается после всего майна

Или для оригинала так:

ваш новый поток должен быть перед строчками "create_thread_wb - ..........."
ваш новый поток должен быть перед строчками "create_thread_wb - ..........."

теперь в самом конце добавляем это (будет прикреплен файл):

//----------------SAVEGAME_1-----------------------
:SAVEGAME_1 //тут загружаем дискету и проверяем что она доступна
wait 100
Model.Load(#PICKUPSAVE)
if and
Model.Available(#PICKUPSAVE)
0256: player $PLAYER_CHAR defined
else_jump @SAVEGAME_1

0213: $SAVE0 = create_pickup #PICKUPSAVE type 15 at -2444.42 -1311.92 999.164// координаты пикапа после at
04CE: $SAVEM0 = create icon marker without sphere 35 at -2441.67 -1306.31 5.3// маркер на радаре (укажи координаты ENEX входа)

:SAVEGAME_2 // проверяем подобрал ли игрок дискету
wait 100
if
0214: pickup $SAVE0 picked_up
else_jump @SAVEGAME_2
00A1: put_actor $PLAYER_ACTOR at -2441.12 -1311.92 998.863 // телепортировать игрока после подбора. координаты после at

:SAVEGAME_3 //показ экрана сохранения
03D8: show_save_screen
Model.Destroy(#PICKUPSAVE)
0215: destroy_pickup $SAVE
jump @SAVEGAME_1 //после экрана алгоритм начнется сначала.



Координаты вы можете узнать например в mapEditor по типу выставления ENEX.

(У KEYSREC был туториал по созданию ENEX в интерьере)

Если вам нужно несколько точек то создай следующий поток и скопируй скрипт, тогда это будет так:

квадратные скобки необращайте внимания. типа $SAVE0 может быть любым - тобишь мы задали типа ссылку. главное проверь чтобы в проерке на поднятие ссылка совпала с нужным "пикапом"
квадратные скобки необращайте внимания. типа $SAVE0 может быть любым - тобишь мы задали типа ссылку. главное проверь чтобы в проерке на поднятие ссылка совпала с нужным "пикапом"

скрипт готов.
ссылка на образец:
https://disk.yandex.ru/d/7JNREwVemrIB9Q