Скрипты - неотъемлемая часть GECK. При написании возникает очень много казусов. Данная тема должна помочь не наступать на "грабли" новичкам и делиться опытом с другими более продвинутых мододелов.
Ага, значит игре не нравится не только когда меньше, но и любое несоответствие базового значения и фактического. Впрочем, оно и понятно: книжка-то показывается младенцу, который ещё без каких-либо эффектов на нём. Тогда, боюсь, и GetBaseAV может не помочь.
А не пробовали с ГГ перед книжкой всё нафиг снимать и наложенные эффекты удалять? Не забывая запомнить чего там сняли и удалили, чтобы восстановить потом. Заодно и блокируем ему вид от 3-го лица и доступ к Пип-Бою.
За сим прощаюсь, Олег.
Мне бы хоть ненадолго, в любое время, кроме 90-х. Чтобы конфета была с ладошку, чтобы, упав с велосипеда, коленку разбить, чтобы на первое свидание сходить...
Всё снять и удалить не сложно, сложно запомнить и вернуть. Если одежду можно просто удалить и вернуть (а обратно наденет и сам игрок, ничего, щёлкнет мышкой пару раз), то с эффектами химии, радиации и т.п. такое не прокатит. Можно, конечно, долго и нудно проверять игрока, перебирая все эффекты по очереди и запоминая, а в конце выдавать весь букет обратно, но как-то это криво и некрасиво выглядит. Да ещё эффекты с длительностью. Как определить и запомнить сколько какому осталось действовать и восстановить это после всего? Стандартными средствами точно никак. Да ещё эффекты из модов. Да ещё перки, дающие плюсы-минусы к SPECIAL в разное время суток, например. Не знаю, может в FOSE и есть что-нибудь типа GetВсеЭффектыНаИгрокеИRemoveИхВОтдельныйЯщичек, но я бы на это особо не рассчитывал. Всё-таки мне кажется, что вариант с AddSPECIALPoints был бы самым правильным. Это то меню, что показывают нам при "Интенсивной тренировке". Оно как раз предназначено для использования в любой произвольный момент игры, показывает и меняет базовые значения и нечувствительно к каким бы то ни было эффектам.
Добавлено (02.04.2013, 10:46) --------------------------------------------- Поправка. Самым правильным было бы использовать SetSPECIALPoints - меню, позволяющее изменить параметры SPECIAL по окончании обучения, перед выходом в большой мир. Тогда не потребуется сбрасывать до единицы - это меню позволяет снижать параметры ниже имеющихся на тот момент базовых.
Добавлено (02.04.2013, 10:56) --------------------------------------------- И про одежду я таки наврал. Сейчас только вспомнил, что при принудительном снятии одежды эффект от неё как раз остаётся и надо его удалять отдельно.
Добавлено (02.04.2013, 11:02) --------------------------------------------- Так что к прочтению спешл-бук допускать героя придётся только после тщательного медосмотра - трезвым как стёклышко и с добровольно снятыми штанами.
Здравствуйте,помогите написать скрипт. Нужно следующее. Что бы оружие экипировалось на ГГ только в том случае,если есть у него определенный перк.В случае того,если перка нет - снять с ГГ оружие. Пробовал написать но ГЕКК не сохраняет.
qwerty
Изменение репутации для пользователя ITU
ITUOffline
Сообщение №939
написано: 29 апреля 2013, 17:06
| Отредактировано: ITU - 29 апреля 2013, 17:12
vitallik, оружие любое? тогда определить какое оружие можно только с помощью nvse и соответственно гекк по другому запускать проще запретить игроку использовать оружие с помощью DisablePlayerControls 0 0 1 0 0 0 0 если же все таки через nvse, то могу написать
vitallik, делать перк надо через мини квест, иначе скрипт в самом перке не полноценно компилируется если конкретное оружие, то:
Код
begin GameMode
if player.GetEquipped WeaponTest == 1 && player.HasPerk IDperk == 0 ; определяем одето ли оружие (1 - одето), и нету ли перка (0 - нету) player.UnEquipItem WeaponTest ;снимаем пушку endif end
Если же оружие любое, то надо сначала определить что за оружие командой NVSE, а потом снимать это оружие
Код
ref Weapon short init
begin GameMode if player.HasPerk IDperk == 0 ;если перка нету, то set Weapon to player.GetEquippedObject 5 ;определяем что одето на игрока ( 5 - оружие) player.UnEquipItem Weapon ;снимаем оружие endif end
ну вроде так, пробуй =)
еще могу предложить вариант повесить на само оружие скрипт, тоже могу написать, если надо
GECK с поддержкой nvse запускается через: start nvse_loader.exe -editor
Graf, Пробовал... Если боя нету, то любо нуль возвращает, либо какой ИД с словом бегемот почему-то... Я хотел оружие типа гипнотрона сделать...
я посмотрел как сделано в моде например HTS там через эффект у оружие, и GetSelf тут тоже как странно, я сделал так же, оно работало, но когда я вставил скрипт менюшку, перестало работать
Помогите создать подобный скрипт, чтобы при нажатии "новая игра" можно было выбрать, какой квест начать?
Поскольку сделать можешь и сам то начеркаю лишь саму мысль. В момент когда идет начало новой игры стартует квест СГ00, нужно там в стартовую стадию прописать скрипт, который выведет окно с сообщением. и если надо начать оригинальную игру то идет выполнение квеста дальше а если свою то там смотри уже что тебе надо, запустить другой квест или чего еще.
Begin OnTriggerEnter Player if (zzuwglobal == 3) && (DoOnce == 0) player.unequipItem zzuwVertibirdGatlingLaser zzuwvertibirdtriggerMove01Ref.disable Set DoOnce to 1 endif End
Begin GameMode
set myxxx to zzuwvertibirdRef.getpos x -62 set myyyy to zzuwvertibirdRef.getpos y -72 set myzzz to zzuwvertibirdRef.getpos z -14
player.setpos x myxxx player.setpos y myyyy player.setpos z myzzz
if (DoOnce == 1) if YAngle < 270 Set YAngle to zzuwvertibirdRef.GetAngle Y Set YAchseMoved to YAngle +0.8 zzuwvertibirdRef.SetAngle Y YAchseMoved else zzuwvertibirdRef.SetAngle Y 270 zzuwvertibirdtriggerMove03Ref.enable player.equipItem zzuwVertibirdGatlingLaser zzuwvertibirdtriggerMove01Ref.enable Set zzuwglobal to 4 Set DoOnce to 2 endif endif End
Мне нужно чтобы гг поворачивался вместе с zzuwvertibirdRef, как это сделать? Сам поворот вертибирда не проблема, но именно поворот гг с вертибирдом уже вызвал проблему, гг остается на том же месте а вертибирд нет, он становится повернут в другую сторону.
...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
Graf, игроку там походу disableplayercontrols делать... я не пробовал, точно сказать не могу что это решит проблему... но так обычно во всех модах где ГГ двигают
А можно ли сделать так, чтобы надетый головной убор проверялся по Biped-флагу(ам) и снимался, если он имеет определенный(е) Bided-флаг(и)? Если да - то как? Спасибо.
Добавлено (28.05.2013, 01:28) --------------------------------------------- Видимо ответ на предыдущий вопрос - нельзя.
Тогда другой вопрос: Нет ли такой фишки, которая отслеживает, был ли определенный предмет когда-нибудь в инвентаре ГГ или нет? Ну, в смысле, "держал он его в руках когда-нибудь" или нет.
Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
Тогда другой вопрос: Нет ли такой фишки, которая отслеживает, был ли определенный предмет когда-нибудь в инвентаре ГГ или нет? Ну, в смысле, "держал он его в руках когда-нибудь" или нет.
В руках можно держать только оружие. Лопата или сигарета во время анимации или предметы по клавише z не считаются. Если игрок подобрал предмет (любой, в т.ч. и оружие) и положил его в инвентарь, это не значит, что он держал его в руках. Потому что руки, это на самом деле ни что иное, как два оружейных слота. Фишкой, про которую Вы спрашивали, может быть обычный квестовый скрипт. В квестовом скрипте могут храниться переменные, значение которых будет меняться в зависимости от того, что побывало у ГГ в руках.
====================== Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294 Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
Если игрок подобрал предмет (любой, в т.ч. и оружие) и положил его в инвентарь, это не значит, что он держал его в руках.
В моем случае - это одно и то же. Ну, не с точки зрения игровой механики, конечно, а с точки зрения меня, как игрока, управляющего моим ГГ. Если мой ГГ положил что-то в свой инвентарь - значит он этот предмет видел. Объясню, зачем это мне нужно. Хотелось добавить реализЬма в мод крафтинга оружейных модификаций. Чтобы рецепт не появлялся в списке, пока мой ГГ не подержит эту модификацию в руках. Ведь откуда ГГ знает, как скрафтить ту или иную модификацию, если он ее в глаза не видел или ее схемы? Но сильно подозреваю, что простым финтом типа "если такая то переменная.реф модификация == 1, то рецепт доступен" тут не обойдешься.
Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
о сильно подозреваю, что простым финтом типа "если такая то переменная.реф модификация == 1, то рецепт доступен" тут не обойдешься
Значит, Вам нужно освоить не только проверку "побывалости в руках", но и добавление дополнительных запретов на использование рецептов. Я рецептами для Вегаса, к сожалению, никогда не занимался, поэтому квалифицированную помощь оказать не смогу, но думаю, что все это решаемо. Если основным условием для модификации оружия является наличие схемы (рецепта), то туда же, где это проверяется, скорее всего, можно всунуть и какое-нибудь дополнительное условие.
====================== Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294 Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
Условие то всунуть можно и даже не одно. Только вот что в этом условии проверять?
В том условии проверяется значение той переменной, которая в квестовом скрипте меняется, если у игрока в инвентаре был тот предмет. С "налета" такие вещи не делаются. Надо уметь создавать квесты, надо уметь писать квестовые скрипты и т.д.
====================== Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294 Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
Spalny_Vagon, да умею я это все - нет ничего сложного. Те же визоры "Невады" к какому-нибудь шлемаку прикрутить - квест + скрипт к нему. Я думал, как-то проще можно это сделать - не проверяя каждые несколько секунд попадание в инвентарь около сотни модификаций и обработки около сотни переменных. Не стоит это "очучение реальности" такого гемора.
Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
Spalny_Vagon, да умею я это все - нет ничего сложного. Те же визоры "Невады" к какому-нибудь шлемаку прикрутить - квест + скрипт к нему. Я думал, как-то проще можно это сделать - не проверяя каждые несколько секунд попадание в инвентарь около сотни модификаций и обработки около сотни переменных. Не стоит это "очучение реальности" такого гемора.
Зачем же каждые? Достаточно один раз добавить найденное оружие в свой Форм-лист. А дальше, если оружие "этой схемы" есть в нашем форм-листе, модифицируем, если нет - не модифицируем.
====================== Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294 Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
Изменение репутации для пользователя ANDRKNAZ
ANDRKNAZOffline
Сообщение №958
написано: 20 июня 2013, 09:31
| Отредактировано: ANDRKNAZ - 20 июня 2013, 10:20
Народ, выручайте, может кто знает как в моде Driveable motorcycle для F:NV отключить наклоны при повороте ? Знаю что где-то в скриптах надо искать, но я не очень силён в этом деле. Нашел текст который отвечает за наклоны, удаляю его, но сохранить не получается(