[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Игры серии GTA » GTA San Andreas » Скрипт на пикап сохранения
Скрипт на пикап сохранения
GeniusZ
Пользователи
29.06.15 10:17
Offline
Код
:SAVE
wait 0
pickup.Create($SAVED,#PICKUPSAVE,2,2495.8699, -1703.9298, 1018.3437)

:SAVE_1
wait 0
if   
0214: pickup $SAVED picked_up
jf @SAVE_1
03D8: show_save_screen
Actor.putat($PLAYER_ACTOR,2492.8447, -1704.7714, 1017.0)
jump @SAVE

В принципе скрипт рабочий, но как прописать, чтобы игрок поварачивался в определенный угол после сохранения, как в оригинальной игре?
Отредактировал GeniusZ - Понедельник, 29.06.15, 10:18

GoldFish
Пользователи
29.06.15 10:40
Offline

Код
:SAVE
pickup.Create($SAVED,#PICKUPSAVE,2,2495.8699, -1703.9298, 1018.3437)

:SAVE_1
wait 0   
0214: pickup $SAVED picked_up
jf @SAVE_1
03D8: show_save_screen
Actor.putat($PLAYER_ACTOR,2492.8447, -1704.7714, 1017.0)
Actor.Angle($PLAYER_ACTOR) = {ЗДЕСЬ НЕОБХОДИМЫЙ УГОЛ}
jump @SAVE_1

wmysterio
Администраторы
Скриптер
29.06.15 10:55
Offline
Вариант goldfish777 рабочий, в оригинальной игре опкоды поворота и переноса игрока стоят перед опкодом 03D8, а перед ними ещё и 0395: для страховки smile

Нужно ещё удалить пикап $SAVED перед прыжком на первую метку
Код
Pickup.Destroy($SAVED)

Так формально игра считает, что пикап всё ещё создан.

GeniusZ
Пользователи
29.06.15 13:00
Offline
Я использовал Actor.Angle, но игрок всё равно поворачивается обратно.

Добавлено (29.06.15, 12:00)
---------------------------------------------
А я понял. Он поворачивается, потому что я до сохранения зажимал клавишу вперёд


wmysterio
Администраторы
Скриптер
29.06.15 13:03
Offline
Цитата GeniusZ ()
А я понял. Он поворачивается, потому что я до сохранения зажимал клавишу вперёд
К сведению, после загрузки загрузке игры, игра автоматически устанавливает угол игрока на 0.0.

GeniusZ
Пользователи
29.06.15 13:32
Offline
Вот переписал код:

Код
:SAVE  
pickup.Create(0@,#PICKUPSAVE,2,2495.8699, -1703.9298, 1018.3437)  

:SAVE_1  
wait 0    
0214: pickup 0@ picked_up  
jf @SAVE_1  
Actor.putat($PLAYER_ACTOR,2492.8447, -1704.7714, 1017.0)  
Actor.Angle($PLAYER_ACTOR) = 90.0
Player.CanMove($PLAYER_CHAR,False)
camera.SetBehindPlayer($PLAYER_CHAR)  
03D8: show_save_screen

:SAVE_3
wait 0
if
09FA: is_menu_closed
jf @SAVE_3
wait 500
Player.CanMove($PLAYER_CHAR,True)
jump @SAVE

 Pickup.Destroy(0@) я не на писал, потому что я хотел, чтобы пикап возобновлялся после сохранения

wmysterio
Администраторы
Скриптер
29.06.15 13:40
Offline
Цитата GeniusZ ()
я не на писал, потому что я хотел, чтобы пикап возобновлялся после сохранения
Ты делаешь переход на метку SAVE после сохранения, где опять идёт создаётся пикап. Я считаю, что команда Pickup.Destroy(0@) должна быть, чтобы избежать возможные побочные эффекты. Например: дублирование пикапов. Хотя бы для страховки нужно поставить smile

Vital
Друзья
Скриптер
29.06.15 17:58
Offline
Цитата GeniusZ ()
Pickup.Destroy(0@) я не на писал, потому что я хотел, чтобы пикап возобновлялся после сохранения
Как уже заметил wmysterio, ты делаешь возврат на начало, где пикап будет создан заново, в итоге скорее всего игру ждёт вылет из-за создания копий. А создавать их не нужно заново, потому что ты используешь тип 2 ("2 - бесплатно, регенерация за 30 минут игрового времени, надо отойти недалеко"), с ним пикап сам будет появляться по новой. Так что после :SAVE_3 прыгай на :SAVE_1, и всё. Пикап через 30 секунд (или если отойдёшь) восстановится сам, и можно будет опять сохранить игру.

P.S. Для удобства и быстроты: вместо $PLAYER_CHAR можно писать просто 0, так как эта переменная показывает номер игрока, а вместо true/false - соответственно 1/0.

GeniusZ
Пользователи
29.06.15 19:01
Offline
Цитата
Как уже заметил wmysterio, ты делаешь возврат на начало, где пикап будет создан заново, в итоге скорее всего игру ждёт вылет из-за создания копий.
Никаких багов не замечал, и дефектов тоже...

wmysterio
Администраторы
Скриптер
29.06.15 19:50
Offline
Цитата GeniusZ ()
Никаких багов не замечал, и дефектов тоже...
Решать тебе, но всё же рекомендую прислушаться к советам опытных скриптеров smile

Vital
Друзья
Скриптер
29.06.15 20:17
Offline
Цитата GeniusZ ()
Никаких багов не замечал, и дефектов тоже...
Я по своему опыту знаю, что если скрипт "в принципе работает" (таков был мой критерий, когда я только начинал), то это не значит, что будет работать всегда без проблем. А вот со временем могут появиться проблемы. Каждый скрипт нужно полировать до полной гладкости, как я уже сам убедился. Мои первые скрипты, некоторыми из которых и по сей день можно "насладиться", это пример того, как не надо)
Есть хороший принцип: "Не плодите сущности без необходимости". Правда, он философский, но к скриптам тоже подойдёт)

wmysterio
Администраторы
Скриптер
29.06.15 20:30
Offline
Цитата Vital ()
Правда, он философский, но к скриптам тоже подойдёт
У меня по-этому поводу есть своя поговорка: "Если что-то создали, значит нужно это и удалить". Я называю это "чисткой хвостов".

GeniusZ
Пользователи
30.06.15 08:23
Offline
Попробовал туже конструкцию с автотранспортом. Вот что получилось:
https://www.youtube.com/watch?v=P3Z0iyp5OPs
Отредактировал GeniusZ - Вторник, 30.06.15, 08:24

etwnp
Пользователи
01.07.15 12:54
Offline
В клео такие вещи это вообще жесть) Тут уж никак не почистишь, если сохранить и удалить скрипт. Только не допускать.

GeniusZ
Пользователи
01.07.15 17:50
Offline
Цитата etwnp ()
В клео такие вещи это вообще жесть) Тут уж никак не почистишь, если сохранить и удалить скрипт. Только не допускать.
Прости, я тебя не понял...
Отредактировал GeniusZ - Среда, 01.07.15, 17:51

SanKing
Друзья
02.07.15 11:13
Offline
Цитата GeniusZ ()
Прости, я тебя не понял...
Комментатор сверху, вероятно, имел в виду то, что если создать скриптом объект/эффект на карте или маркер на радаре, то они не исчезнут даже после удаления CLEO.

etwnp
Пользователи
02.07.15 14:33
Offline
Цитата SanKing ()
Комментатор сверху, вероятно, имел в виду то, что если создать скриптом объект/эффект на карте или маркер на радаре, то они не исчезнут даже после удаления CLEO.

Именно это и имел ввиду. Парковки еще, ага) Это и так понятно, я просто в общем сказал.

Форум » Игры серии GTA » GTA San Andreas » Скрипт на пикап сохранения
Страница 1 из 11
Поиск: