Модератор форума: КсюXa, ApeX  
Форум » Fallout: New Vegas » Мастерская » Скрипты (Вопросы и ответы)

Скрипты
a3apbi4  Offline  Сообщение №1 написано: 7 декабря 2010, 18:01



11
Скрипты - неотъемлемая часть GECK. При написании возникает очень много казусов. Данная тема должна помочь не наступать на "грабли" новичкам и делиться опытом с другими более продвинутых мододелов.




Wulf  Offline  Сообщение №931 написано: 1 апреля 2013, 20:36



276
Цитата Joopeeter

Ага, значит игре не нравится не только когда меньше, но и любое несоответствие базового значения и фактического. Впрочем, оно и понятно: книжка-то показывается младенцу, который ещё без каких-либо эффектов на нём. Тогда, боюсь, и GetBaseAV может не помочь.


А не пробовали с ГГ перед книжкой всё нафиг снимать и наложенные эффекты удалять? Не забывая запомнить чего там сняли и удалили, чтобы восстановить потом. :)
Заодно и блокируем ему вид от 3-го лица и доступ к Пип-Бою.

За сим прощаюсь, Олег.

Мне бы хоть ненадолго, в любое время, кроме 90-х. Чтобы конфета была с ладошку, чтобы, упав с велосипеда, коленку разбить, чтобы на первое свидание сходить...
JupiterJour  Offline  Сообщение №932 написано: 2 апреля 2013, 07:02


_


Всё снять и удалить не сложно, сложно запомнить и вернуть. Если одежду можно просто удалить и вернуть (а обратно наденет и сам игрок, ничего, щёлкнет мышкой пару раз), то с эффектами химии, радиации и т.п. такое не прокатит. Можно, конечно, долго и нудно проверять игрока, перебирая все эффекты по очереди и запоминая, а в конце выдавать весь букет обратно, но как-то это криво и некрасиво выглядит. Да ещё эффекты с длительностью. Как определить и запомнить сколько какому осталось действовать и восстановить это после всего? Стандартными средствами точно никак. Да ещё эффекты из модов. Да ещё перки, дающие плюсы-минусы к SPECIAL в разное время суток, например. Не знаю, может в FOSE и есть что-нибудь типа GetВсеЭффектыНаИгрокеИRemoveИхВОтдельныйЯщичек, но я бы на это особо не рассчитывал. :)
Всё-таки мне кажется, что вариант с AddSPECIALPoints был бы самым правильным. Это то меню, что показывают нам при "Интенсивной тренировке". Оно как раз предназначено для использования в любой произвольный момент игры, показывает и меняет базовые значения и нечувствительно к каким бы то ни было эффектам.

Добавлено (02.04.2013, 10:46)
---------------------------------------------
Поправка. Самым правильным было бы использовать SetSPECIALPoints - меню, позволяющее изменить параметры SPECIAL по окончании обучения, перед выходом в большой мир. Тогда не потребуется сбрасывать до единицы - это меню позволяет снижать параметры ниже имеющихся на тот момент базовых.

Добавлено (02.04.2013, 10:56)
---------------------------------------------
И про одежду я таки наврал. Сейчас только вспомнил, что при принудительном снятии одежды эффект от неё как раз остаётся и надо его удалять отдельно.

Добавлено (02.04.2013, 11:02)
---------------------------------------------
Так что к прочтению спешл-бук допускать героя придётся только после тщательного медосмотра - трезвым как стёклышко и с добровольно снятыми штанами. :D


RustWays  Offline  Сообщение №933 написано: 9 апреля 2013, 15:45



Помогите создать подобный скрипт, чтобы при нажатии "новая игра" можно было выбрать, какой квест начать?

RustWays  Offline  Сообщение №934 написано: 11 апреля 2013, 19:32



Нет, я видел что за мод и как запускается.

Graf  Offline  Сообщение №935 написано: 11 апреля 2013, 19:42



179
RustWays, так а в чем проблема посмотреть, и сделать так же?

...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
RustWays  Offline  Сообщение №936 написано: 12 апреля 2013, 06:49



Проблема в том, что я так и не нашел бета релиз этого мода. До выхода же еще год

RustWays  Offline  Сообщение №937 написано: 12 апреля 2013, 18:37



Цитата ValLео

Значит мод где-то есть

У них ресы хранятся на нексе, но их закрыли =( Плага со скриптом вроде как нет...

vitallik  Offline  Сообщение №938 написано: 29 апреля 2013, 16:57



8
Здравствуйте,помогите написать скрипт.
Нужно следующее.
Что бы оружие экипировалось на ГГ только в том случае,если есть у него определенный перк.В случае того,если перка нет - снять с ГГ оружие.
Пробовал написать но ГЕКК не сохраняет. :(

qwerty
ITU  Offline  Сообщение №939 написано: 29 апреля 2013, 17:06 | Отредактировано: ITU - 29 апреля 2013, 17:12



995
vitallik,  оружие любое?
тогда определить какое оружие можно только с помощью nvse и соответственно гекк по другому запускать
проще запретить игроку использовать оружие с помощью DisablePlayerControls 0 0 1 0 0 0 0
если же все таки через nvse, то могу написать

vitallik  Offline  Сообщение №940 написано: 29 апреля 2013, 17:32



8
ITU, Да с поддержкой NVSE,допустим ID оружия - WeaponTest

qwerty
ITU  Offline  Сообщение №941 написано: 29 апреля 2013, 17:53 | Отредактировано: ITU - 30 апреля 2013, 07:23



995
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

vitallik  Offline  Сообщение №942 написано: 29 апреля 2013, 19:39



8
ITU, Спасибо,сейчас обдумаем и сделаем ^_^

qwerty
ITU  Offline  Сообщение №943 написано: 30 апреля 2013, 08:24



995
а у мну вот тоже вопросик.
Не могу что-то получить refID в кого ГГ стреляет.

Graf  Offline  Сообщение №944 написано: 30 апреля 2013, 09:30



179
ITU
ref myTarget 
set myTarget to getcombattarget

С кем гг ведет бой. Наверно почти одно и тоже.

...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
ITU  Offline  Сообщение №945 написано: 30 апреля 2013, 10:32 | Отредактировано: ITU - 30 апреля 2013, 10:39



995
Graf, Пробовал...
Если боя нету, то любо нуль возвращает, либо какой ИД с словом бегемот почему-то...
Я хотел оружие типа гипнотрона сделать...

я посмотрел как сделано в моде например HTS
там через эффект у оружие, и GetSelf
тут тоже как странно, я сделал так же, оно работало, но когда я вставил скрипт менюшку, перестало работать

djsave  Offline  Сообщение №946 написано: 13 мая 2013, 20:35


=TMG= TeamModingGames


505
Цитата RustWays

Помогите создать подобный скрипт, чтобы при нажатии "новая игра" можно было выбрать, какой квест начать?

Поскольку сделать можешь и сам то начеркаю лишь саму мысль.
В момент когда идет начало новой игры стартует квест СГ00, нужно там в стартовую стадию прописать скрипт, который выведет окно с сообщением. и если надо начать оригинальную игру то идет выполнение квеста дальше а если свою то там смотри уже что тебе надо, запустить другой квест или чего еще.

=TMG= Team Moding Games
Graf  Offline  Сообщение №947 написано: 15 мая 2013, 04:41



179
Привет всем! Есть такой скрипт:
Float YAngle
Float YAchseMoved

Float myxxx
Float myyyy
Float myzzz

short DoOnce

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, как это сделать? Сам поворот вертибирда не проблема, но именно поворот гг с вертибирдом уже вызвал проблему, гг остается на том же месте а вертибирд нет, он становится повернут в другую сторону.

...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
ITU  Offline  Сообщение №948 написано: 15 мая 2013, 07:01



995
Graf, игроку там походу disableplayercontrols делать... я не пробовал, точно сказать не могу что это решит проблему... но так обычно во всех модах где ГГ двигают

Graf  Offline  Сообщение №949 написано: 15 мая 2013, 09:16



179
ITU, дисаблеконтроль стоит, имелось ввиду подвинуть сс вместе с вертибердом во время передвижения вертиберда через getangle.

...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
YikxX  Offline  Сообщение №950 написано: 27 мая 2013, 21:28


Местный Дон Кихот Ламанчский


А можно ли сделать так, чтобы надетый головной убор проверялся по Biped-флагу(ам) и снимался, если он имеет определенный(е) Bided-флаг(и)? Если да - то как?
Спасибо.

Добавлено (28.05.2013, 01:28)
---------------------------------------------
Видимо ответ на предыдущий вопрос - нельзя. :)

Тогда другой вопрос: Нет ли такой фишки, которая отслеживает, был ли определенный предмет когда-нибудь в инвентаре ГГ или нет? Ну, в смысле, "держал он его в руках когда-нибудь" или нет.


Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
Spalny_Vagon  Offline  Сообщение №951 написано: 28 мая 2013, 06:55


Мастер


Цитата YikxX

Тогда другой вопрос: Нет ли такой фишки, которая отслеживает, был ли определенный предмет когда-нибудь в инвентаре ГГ или нет? Ну, в смысле, "держал он его в руках когда-нибудь" или нет.


В руках можно держать только оружие. Лопата или сигарета во время анимации или предметы по клавише 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
YikxX  Offline  Сообщение №952 написано: 28 мая 2013, 08:17


Местный Дон Кихот Ламанчский


Цитата Spalny_Vagon

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

В моем случае - это одно и то же. Ну, не с точки зрения игровой механики, конечно, а с точки зрения меня, как игрока, управляющего моим ГГ. Если мой ГГ положил что-то в свой инвентарь - значит он этот предмет видел.
Объясню, зачем это мне нужно. Хотелось добавить реализЬма в мод крафтинга оружейных модификаций. Чтобы рецепт не появлялся в списке, пока мой ГГ не подержит эту модификацию в руках. Ведь откуда ГГ знает, как скрафтить ту или иную модификацию, если он ее в глаза не видел или ее схемы?
Но сильно подозреваю, что простым финтом типа "если такая то переменная.реф модификация == 1, то рецепт доступен" тут не обойдешься. :(

Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
Spalny_Vagon  Offline  Сообщение №953 написано: 28 мая 2013, 13:37


Мастер


Цитата YikxX

о сильно подозреваю, что простым финтом типа "если такая то переменная.реф модификация == 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
YikxX  Offline  Сообщение №954 написано: 28 мая 2013, 13:58


Местный Дон Кихот Ламанчский


Цитата Spalny_Vagon

можно всунуть и какое-нибудь дополнительное условие

Условие то всунуть можно и даже не одно. Только вот что в этом условии проверять? :)

Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
Spalny_Vagon  Offline  Сообщение №955 написано: 28 мая 2013, 19:23


Мастер


Цитата YikxX

Условие то всунуть можно и даже не одно. Только вот что в этом условии проверять?


В том условии проверяется значение той переменной, которая в квестовом скрипте меняется, если у игрока в инвентаре был тот предмет. С "налета" такие вещи не делаются. Надо уметь создавать квесты, надо уметь писать квестовые скрипты и т.д.

======================
Мод "Нью-Йорк" на русском: 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
YikxX  Offline  Сообщение №956 написано: 28 мая 2013, 20:17


Местный Дон Кихот Ламанчский


Spalny_Vagon, да умею я это все - нет ничего сложного. Те же визоры "Невады" к какому-нибудь шлемаку прикрутить - квест + скрипт к нему. Я думал, как-то проще можно это сделать - не проверяя каждые несколько секунд попадание в инвентарь около сотни модификаций и обработки около сотни переменных. Не стоит это "очучение реальности" такого гемора.

Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
Spalny_Vagon  Offline  Сообщение №957 написано: 29 мая 2013, 05:22


Мастер


Цитата YikxX

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  Offline  Сообщение №958 написано: 20 июня 2013, 09:31 | Отредактировано: ANDRKNAZ - 20 июня 2013, 10:20



8
Народ, выручайте, может кто знает как в моде Driveable motorcycle для F:NV отключить наклоны при повороте ? Знаю что где-то в скриптах надо искать, но я не очень силён в этом деле.
Нашел текст который отвечает за наклоны, удаляю его, но сохранить не получается(

Паха007  Offline  Сообщение №959 написано: 20 июня 2013, 13:17


Страж времени


857
Товарищи, подскажите скрипт, скорее даже не скрипт, а условие - главный герой мужчина/женщина. Пример: if... и т. д. :D

Я есмь Альфа и Омега, начало и конец. Жаждущему дам даром от источника воды живой.
Spalny_Vagon  Offline  Сообщение №960 написано: 20 июня 2013, 14:17


Мастер


Цитата Паха007

Товарищи, подскажите скрипт, скорее даже не скрипт, а условие - главный герой мужчина/женщина


if player.getisSex male (или if player.getisSex female).

======================
Мод "Нью-Йорк" на русском: 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
Форум » Fallout: New Vegas » Мастерская » Скрипты (Вопросы и ответы)
Поиск:





Ответ на жалобу смотрите в разделе жалоб