Скрипт Аптечки - lukyanov.zz.mu

Title
Перейти к контенту
После того, как вы вставили дом (как Building) его следует наполнить смыслом. И теперь самое интересное Скрипты. Пожалуй лучше о скриптинге кроме Mike Mouse никто не сможет сказать, так, что предоставим слово ему.
[[ https://www.mafia-forever.ru/The_greatest_Script.html ]]
Но скрипт нужно куда то вставлять. На первых порах может возникнуть вопрос куда? Вот на него сейчас и ответим. На следующих примерах.

Делаем аптечку. Сначала скачайте модельки для аптечки и текстурку к ней. Скачать [[ ... ]].
#Данные файлы утеряны и не созданы вновь.
#Необходимо создать модель корпуса аптечки, модель двери аптечки
#И тестуры для них

Установите модель Aptechka как Building. По тем же координатам вставьте дверь aptechkadver. Вставьте объект Aptechkamest как Other. Вставьте объект Aptechkaisp как other по координатам на 1,5 выше модели аптечки.
В объект Aptechkaisp вставьте следующий скрипт.

dim_act 4
///Укажем ОЗУ четырёх актёров
///При моддинге лучше указать количество
///акторов большее, чем потребуется
dim_frm 4
///Укажем фреймы. Например, если мы хотим указать
///точки в которых должно что-то появиться, точки,
///куда должен идти персонаж и т.д.
dim_flt 1
///Указываем переменные. В них нет ничего сложного
///Они нужны для решения логических задач
///В основном это переход к определённой строке,
///если условие выполнено или не выполнено
///Например, если у вас хватает денег, то вы можете сохраниться
///или купить что-то и т.п.

findactor 0, "Tommy"
///На всякий случай укажем Томми
///Нумерация начинается с нуля
///Здесь нужно быть внимательным
///В основном скрипт может не работать из-за одной маленькой ошибки
findactor 1, "Aptechkaisp"
///Этот объект мы будем использовать (в игре правой кнопкой мыши)
findactor 2, "aptechkadver"
///Тоже на всякий случай укажем дверь
findactor 3, "Aptechkamest"
///А это место, куда должен становиться Томми, при использовании аптечки.
///Для того, чтобы это выглядело красиво и естественно

///Далее указываем фреймы
findframe 0, "Tommy"
findframe 1, "Aptechkaisp"
findframe 2, "aptechkadver"
findframe 3, "Aptechkamest"

///Так называемые копирайты:
///Для себя указывайте, что это за скрипт
///И, если вы его сами придумали
///или, если Вы скрипт модифицировали
///Так же укажите автора скрипта
///Михаил Лукьянов http://Lukyanov.in
///http://Lukyanov.okis.ru
///на основе аптечки из MAFIA LOST HEAVEN
///2014 год
///Этот скрипт я взял из самой игры
///Из аптечки, которая находиться в госпитале во Фрирайде:)

label 101 ///Это ярлык
door_enableus 2,0 ///Назначим возможность использовать дверь "aptechkadver"
detector_waitforuse 08970005 ///Детектор "Aptechkaisp" ждёт юзания,
///то есть нажатия правой кнопки мыши рядом с собой
///Цифры означают номер текста. Текст будет отображаться при юзании только
///если в одном месте от двух и более детекторов.
actor_setplacement 0,3 ///После юзания поставим актёра 0 (Томми)
///во фрейм 3 (Aptechkamest)
PLAYER_LOCKCONTROLS 1
///Заблокируем управление над Томми
setnoanimhit 0,1
///Эта команда даёт бессмертие Томми Скрипт чит :)
///Для того, чтобы Томми мог вылечиться
door_setopenpose 2,10 ///Открываем дверь 2 (aptechkadver) на 10 процентов
door_setopenpose 2,20 ///На 20 процентов
door_setopenpose 2,30
door_setopenpose 2,40
door_setopenpose 2,50
door_setopenpose 2,60
door_setopenpose 2,70
door_setopenpose 2,80
door_setopenpose 2,90
door_setopenpose 2,100
actor_setplacement 0,0
///Я зачем то поставил Томми на место Томми :)
person_playanim 0,  "sbirani zvrchu.i3d", 0, simple
///Заставляем играть
///анимацию использования аптечки

///Далее кусок из оригинального скрипта
///знаете, я это не совсем понял, но оно работает и мне этого достаточно :)

let flt[0] = flt[0] - 323
wait flt[0]
human_getproperty 0,0,Energy
let flt[0]=flt[0]+2000
if flt[0]>2000,-1,SKIP01
let flt[0]=2000
label SKIP01
human_setproperty 0,flt[0],Energy

///Здесь происходило вычисление и давание 2000 единиц здоровья
person_stopanim 0 ///Завершаем проигрывание анимации взятия здоровья
setnoanimhit 0,0
///Снова разрешаем Томми терять хит пойнты
///Отключаем скрипт чит бессмертия
wait 1000
///Ждём 1000 миллисекунд, короче говоря 1 секунду
door_setopenpose 2,100
door_setopenpose 2,90
door_setopenpose 2,80
door_setopenpose 2,70
door_setopenpose 2,60
door_setopenpose 2,50
door_setopenpose 2,40
door_setopenpose 2,30
door_setopenpose 2,20
door_setopenpose 2,10
door_setopenpose 2,1
///Закрываем дверь
PLAYER_LOCKCONTROLS 0
/// Возвращаем управление над Томми игроку
goto 101                
///Направляем к лейблу 101 (писать label нет необходимости)
///Вы можете указать имя лейбла любое, хоть aktadar и тогда,
///чтобы вернуться к нему следует написать goto aktadar
///:)
Назад к содержимому