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

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



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




valambar  Offline  Сообщение №1651 написано: 29 мая 2018, 09:35



513
Цитата Joopeeter

и дуковское питьё из горла.

Есть мод Animationproject, там питье из горла от первого лица есть. И кстати там вообще все анимации только от первого лица.

JupiterJour  Offline  Сообщение №1652 написано: 29 мая 2018, 13:46


_


Значит, эти анимации сделаны для первого лица и неправильно работают от третьего. Насколько я понимаю, у разных лиц разные скелеты.

Bulbyan  Offline  Сообщение №1653 написано: 2 июня 2018, 19:23



Я в скриптах не шарю поэтому у меня вопрос: Вот тaкой скрипт стандартный или расширенный, нужен ли для него NVSE?

scn PowerArmorTrainingManualScript

Begin OnAdd player

if player.hasPerk PowerArmorTraining == 0
player.addPerk PowerArmorTraining
endif

removeMe

End

YikxX  Offline  Сообщение №1654 написано: 3 июня 2018, 02:26


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


bulbyan1986, стандартный. Нет.

Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
Bulbyan  Offline  Сообщение №1655 написано: 3 июня 2018, 06:01



YikxX, спасибо.

sabardfix  Offline  Сообщение №1656 написано: 27 июля 2018, 17:20



11
Здравствуйте, прочитал такую вот штуку про айдл анимации и не понял, это получается можно сделать так, что я набираю команду и персонаж проигрывает анимацию нпс? Я знаю что можно персонажа заставить делать анимацию с помощью tfc, но это неудобно. А так, играя от третьего лица, врубать анимации, было бы здорово. Особенно было бы здорово такие скрипты поместить в инвентарь в виде предметов, чтобы на хоткеи нужные анимации цеплять. Это вообще реально? Сложно?

ApeX  Offline  Сообщение №1657 написано: 27 июля 2018, 17:35



sabardfix, Уже.

Yaroslav2018  Offline  Сообщение №1658 написано: 23 августа 2018, 20:19 | Отредактировано: ApeX - 23 августа 2018, 21:19



9
Подскажите скрипт для создания своего собственного верстака/плитки (я вообще хочу кофе машинку рабочую сделать), со своими собственными рецептами. Или если есть на эту тему туториал, дайте ссылку. Я просто в скриптах полный ноль.
Примечание модератора:
... ... ... ... ... ... ... ... dash
Сообщение перенесено в соответствующую тему. ЛС автору выслано.
ApeX

ApeX  Offline  Сообщение №1659 написано: 25 августа 2018, 18:53 | Отредактировано: ApeX - 25 августа 2018, 18:55



Yaroslav2018, если для кофе-машины, то проще добавить свой рецепт для костра. А в роли активатора(костра) выбрать другую модель. Рецепты находятся в Miscellaneous>Recipes, активаторы костра или верстака в World Objects>Activator. Открываешь ванильный костер, меняешь ID, модель, название и удаляешь амбиентный звук. И создаешь свой рецепт. Так же и для тех активаторов, которые работают как верстак и используют его скрипт, например WorkBench. Только в этом случае в рецепте надо указать не лагерный костер, а верстак.
P.S. А кофе ведь добавляется одной из DLC.
 

Добавлено (26 Августа 2018, 16:29)
---------------------------------------------
А ведь было подобное.


КсюXa  Offline  Сообщение №1660 написано: 26 августа 2018, 15:44 | Отредактировано: КсюXa - 26 августа 2018, 16:25


Гид по Мастерской


Цитата ApeX

А ведь было подобное.


И даже еще подобнее, но только для Ф3

Ой, всё...
Vicson  Offline  Сообщение №1661 написано: 5 декабря 2018, 17:27



10
Приветствую! Надеюсь тема еще жива...Прежде чем спросить о том, что мне надо, я поинтересуюсь, можно ли здесь размещать вопросы по скриптам
Fallout 3? Просто на форуме третьего фолыча не нашел тему со скриптами.

ApeX  Offline  Сообщение №1662 написано: 5 декабря 2018, 17:41



А она там нужна, отдельная тема? Есть Помощь по моддингу и Помощь по G.E.C.K.
А так... Почему бы и не задать тут. Разницы почти и нет.

Vicson  Offline  Сообщение №1663 написано: 5 декабря 2018, 18:47



10
Оке! Есть мод, который может спавнить активатор (лампу). К активатору привязан скрипт, на вкл/выкл при обычной активации, и настройка цвета "лампочки" при активации из скрытности. Сразу скажу, что со скриптингом (если так можно назвать то, что я ваяю) знаком я чуть больше года, из этого времени "занимаюсь" им я дней 5. Ближе к телу! Сваял я скрипт, вышеупомянутый, и свет горит, и менюшка настройки есть, но сами "лампочки" не меняются...тыкался сам, по форумам лазил, даже по забугорским, но ни чего проясняющего для себя не нашел (может и плохо искал, но это не точно). И вот пришел к тому, что бы умные люди лично ткнули (лицом в какахи) пальцем туда, куда надо...
Ну, и сам скрипт!

P.S. Пометки на русском делал для себя...скрипт был раза в три длиннее, я начал путаться. ПРОШУ! Помогите мне, пожалуйста!

JupiterJour  Offline  Сообщение №1664 написано: 5 декабря 2018, 21:47 | Отредактировано: Joopeeter - 5 декабря 2018, 21:49


_


Пока кнопка не нажата, функция GetButtonPressed возвращает -1. Потом, после того как кнопка была нажата, функция один раз возвращает номер кнопки и опять сбрасывается на -1. Во время работы блока OnActivate ни одна кнопка ещё не нажата. То есть в этом блоке надо оставить только проверку на скрытный режим, сам показ сообщения и выключение и удаление. Всё остальное делается в гейммоде. Активировали лампу, сработал OnActivate, показалось сообщение (игра в это время в менюмоде), нажали кнопку, игра вернулась в гейммодд (а функция помнит кнопку), в гейммоде спросили функцию и запомнили ответ в переменной, ну и так далее.

Добавлено (06 Декабря 2018, 00:48)
---------------------------------------------
GetButtonPressed

Ipatow  Offline  Сообщение №1665 написано: 6 декабря 2018, 06:04



Цитата Joopeeter

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

Я бы ещё предложил не задавать вопрос про цвет, если лампе надо выключаться.

К размышлению: сама идея "активации вприсядку", то есть изменения режима активации при помощи скрытности, происходит из обливионной древности, когда не было возможности предложить на выбор несколько способов активации. В первых версиях движка третьего фолаута была проблема с деактивацией перков при отключении модов, и это замедлило распространение толкового подхода (activation choice добавляются через entry point перков)... Сегодня (да уж лет десять) всё там работает правильно, и кошерно бы прекратить приседания unsure

Vicson  Offline  Сообщение №1666 написано: 6 декабря 2018, 15:49



10
Joopeeter, Огромное спасибо, все заработало! Просто про GetButtonPressed вскользь читал, вот и выросло непонимание...Я же говорю, надо было, что бы кто-то ткнул пальцем :)

Ipatow,
Цитата Ipatow

кошерно бы прекратить приседания

Как это можно сделать в моем случае? Надо что бы активация была отдельно, смена цвета отдельно. Я насоображал только такой вариант. Напоминаю, что опыт скриптинга 5 дней.

Ipatow  Offline  Сообщение №1667 написано: 6 декабря 2018, 19:56



Цитата Князь_Далик

Как это можно сделать в моем случае? Надо что бы активация была отдельно, смена цвета отдельно.

В предъявленном скрипте смена цвета исполняется внутри блока OnActivate, так что она никак не отдельно от активации.

Для элегантного управления лампой через один активатор следует создать перк и использовать первую строчку в таблице Entry Point. В условиях появления вариантов активации кроме очевидного GetIsID уместно использовать GetScriptVariable.

Vicson  Offline  Сообщение №1668 написано: 6 декабря 2018, 20:56



10
Ipatow,
Цитата Ipatow

следует создать перк

Подумаю об этом, но пока для меня это сложновато...Спасибо за совет!

Blacksun  Offline  Сообщение №1669 написано: 22 марта 2019, 13:52 | Отредактировано: Blacksun - 22 марта 2019, 15:04



7
В соседней теме уже задавал вопрос о весе химии и проч.,


в общем цель задать вес всем невесомым предметам в игре, но только при режиме "Хардкор". Опыта 0. Скажите ход мыслей ниже правильный не? Пока не могу попробовать сам.

1) Запуск nvse_loader.exe с параметром -editor (Так с помощью скрипт. расширения получим доступ к функции SetWeight)
2) С помощью функции IsHardcore и SetWeight установить вес невесомым предметам

Если верно, то можно пример для одного предмета?

OtecZoper  Offline  Сообщение №1670 написано: 6 мая 2019, 18:17



17
Здравствуйте, господа! Хочу вот написать скрипт, который бы после убийства непися призывал на его место на N - количество секунд союзное существо, которое по истечении времени умирало бы ( что-то вроде заклинания призыва из TES), а в нем ( скрипте), как я понимаю, не обойтись без переменной timer ( это же переменная, да?). Кто-то может объяснить как этот timer работает?

Ipatow  Offline  Сообщение №1671 написано: 6 мая 2019, 22:46



Цитата OtecZoper

существо, которое по истечении времени умирало бы ( что-то вроде заклинания призыва из TES), а в нем ( скрипте), как я понимаю, не обойтись без переменной timer ( это же переменная, да?). Кто-то может объяснить как этот timer работает?

Наверное, удобнее всего, поскольку это существо, дать ему врождённую способность со скриптованным эффектом (говорили, что это нестабильно... но я бы попробовал). Причём там весь скрипт будет по сути

SCRIPTNAME SuicideIn60Seconds
FLOAT TimeLived
BEGIN ScriptEffectUpdate
SET TimeLived TO TimeLived + ScriptEffectElapsedSeconds
IF TimeLived > 60
Kill
ENDIF
END

OtecZoper  Offline  Сообщение №1672 написано: 11 мая 2019, 12:47



17
Привязал скриптовый эффект к существу, но ничего не сработало. Проблема в самом скрипте или я что-то не то делаю?

Veldion  Offline  Сообщение №1673 написано: 12 мая 2019, 04:27



268
Цитата OtecZoper

Привязал скриптовый эффект к существу, но ничего не сработало. Проблема в самом скрипте или я что-то не то делаю?



Рискну предположить что дело именно в скрипте:  существо согласно скрипта должно умереть через 60 секунд,  но при этом не заданы условия начала отсчета времени.  Часики просто не начинают тикать...

OtecZoper  Offline  Сообщение №1674 написано: 12 мая 2019, 17:03



17
А какого рода условие должно быть и куда его вписать? Я просто в таймерах не сильно разбираюсь. Вообще не разбираюсь точнее.

Ipatow  Offline  Сообщение №1675 написано: 13 мая 2019, 13:41



Цитата Veldion

не заданы условия начала отсчета времени. Часики просто не начинают тикать...

Отсчёт от запуска скрипта... Можно то же самое изобразить, заменив ScriptEffectUpdate на GameMode, а ScriptEffectElapsedSeconds на GetSecondsPassed... Может быть, тут найдутся грабли, если за минуту существо не успело сотвориться или если оно умирает так медленно, что KIll его раз за разом бьёт по голове издыхающего... Проверять, как именно оно там косячит, можно добавив отладочные сообщения в скрипт - хотя я бы начал с того, что... оно ведь как спелл оформлено? вот взять и AddSpell его на кого попало - помрёт или нет?

OtecZoper  Offline  Сообщение №1676 написано: 13 мая 2019, 18:42



17
Переделал скрипт вот таким образом:
scn aaaSuicideIn60Seconds

float TimeLived

begin gamemode
if TimeLived < 60
set TimeLived TO TimeLived + GetSecondsPassed
else
Kill
endif
end

 Привязал его напрямую к существу и все заработало. Благодарю всех за помощь.

Ipatow  Offline  Сообщение №1677 написано: 23 мая 2019, 11:49 | Отредактировано: Ipatow - 23 мая 2019, 11:51



Цитата OtecZoper

begin ScriptEffectStart
if GetLastHitCritical && GetDead == 1


Во-первых, если это эффект, стоит обратить внимание, чтобы он не рассеивался в момент смерти - иначе что-то сделать в память о покойном скрипт не сможет... Это вообще, не в связи с неработоспособностью данного скрипта.

Теперь что не так со скриптом. Функция GetLastHitCritical может выдать единичку только в блоках OnHit и OnHitWith. Но в этих блоках GetDead никогда не даст единицы (а GetCauseofDeath не скажет причину), потому что во время работы этих блоков пациент ещё жив.

Напрашивается выход - передать критовость из блока в блок через переменную:

SHORT LuckyShot
SHORT DiedOnce
BEGIN OnHit
SET LuckyShot TO GetLastHitCritical
END
BEGIN GameMode
IF DiedOnce
RETURN
ENDIF
IF GetDead
SET DiedOnce TO 1
IF LuckyShot
PlaceAtMe кого следует
ENDIF
Disable
ENDIF
END

OtecZoper  Offline  Сообщение №1678 написано: 27 мая 2019, 19:23 | Отредактировано: OtecZoper - 27 мая 2019, 19:29



17
Всех приветствую, появилось еще 2 вопроса. Первый - возможно ли внутри одного скрипта вызывать другой скрипт? Второй - как можно написать скрипт, который будет проверять кем является NPC (гулем, животным, человеком и т. д.)?

Ipatow  Offline  Сообщение №1679 написано: 28 мая 2019, 02:56



Цитата OtecZoper

как можно написать скрипт, который будет проверять кем является NPC (гулем, животным, человеком и т. д.)?

Сначала GetIsCreature, а дальнейшее различение существ при помощи GetIsCreatureType, неписей при помощи GetIsRace и GetIsSex.

OtecZoper  Offline  Сообщение №1680 написано: 29 мая 2019, 09:31



17
Сначала GetIsCreature, а дальнейшее различение существ при помощи GetIsCreatureType, неписей при помощи GetIsRace и GetIsSex.


С командами-то все ясно. Мой косяк, не так проблему описал. Нужно чтобы скрипт проверял каждое убитое существо или непися из определенного оружия. То есть, убиваешь какого-то рейдера, скрипт определяет его как нпц и что-то делает, а если убиваешь кротокрыса, то скрипт определяет его как животное и ничего не делает. Как-то так.

Добавлено (31 Мая 2019, 19:59)
---------------------------------------------
Все хорошо, удалось все решить самому.


Форум » Fallout: New Vegas » Мастерская » Скрипты (Вопросы и ответы)
Поиск:





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