Вверх Вниз


Модератор форума: Ipatow, КсюXa, ApeX  
Форум » Fallout: New Vegas » Мастерская » Скрипты (Вопросы и ответы)
Скрипты
a3apbi4  Offline Сообщение №1 написано: 07 Декабря 2010 в 21:01


Странник


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




JupiterJour  Offline Сообщение №1441 написано: 21 Марта 2015 в 00:28


_


1037
Цитата Филя12 ()
GetDeadCount

Я тут накатал было один способ без этой функции, но потом сообразил, что он имеет тот же недостаток, что и с ней: кто бы ни убил когтя, счётчик увеличивается. Хоть и немногие помимо игрока на это способны, но всё же.

LonelyTraveler  Offline Сообщение №1442 написано: 21 Марта 2015 в 01:05 | Отредактировано: LonelyTraveler - Суббота, 21 Марта 2015, 01:06


Странник


35
Пожалуйста! Помогите склепать такую задачу, по идее не слишком сложна должна быть.

Берется 1 активатор в виде консольной панели, который будет выводить сообщение (разное); 1 активатор рычаг; 5 активаторов переключателей (те, что с красной(выкл) и зелёной(вкл) лампочкой и 1 терминал.

Суть квеста - нужно настроить соотношение давления газа.
Нажав на консольной панели нам показывает сообщение (начальный статус) -  [0:100]

Рядом с терминалом прикреплены 5 переключателей. Каждый из них обозначает свою скрытую цифру.
первый переключатель - это 1; второй - это 2; третий - это 4; четвертый - это 8; пятый - это 16.
В терминале следующее сообщение: [Числовой множитель], открыв его выводятся числа: 1, 2, 3, 4.

Нажав на первый переключатель (1), посмотрим на консоль, оно выдаст сообщение [1:99]
Если нажать на первый(1) переключатель и на третий(4), а потом посмотреть на консоль, она выдаст сообщение [5:95]. (потому что включены переключатели один(1) и три(4): 1+4=5)
Если не меняя включенные переключатели, открыть терминал, можно выбрать множитель - например 3. Теперь сумма всех переключателей умножается на 3. Переключатель один(1) и три(4) будут выводить сообщение у консоли (1+4=5*3=15) - [15:85]
Если включить все переключатели, и выставить множитель 4, то сообщение будет [100:0], (вместо 124:0, так как 100 это максимальное должно быть).

Задача: уравновесить давление - нужно [50:50]. Это переключатель один(1), четыре(8) и 5(16) (1+8+16=25) и в терминале ставим множитель на 2, (25*2=50).
Теперь поворачиваем рычаг, и открывается большая железная дверь.
Ах да, если выставлено любое другое соотношение, кроме как 50:50, то при повороте рычага происходит взрыв с последующей смертью ГГ.

Такая вот идея.
Огромное спасибо, если поможете воплотить её в фоллыч.

Филя12  Offline Сообщение №1443 написано: 21 Марта 2015 в 07:03 | Отредактировано: Филя12 - Суббота, 21 Марта 2015, 07:06


Странник


11
>>кто бы ни убил когтя, счётчик увеличивается.
А увеличивается даже если пишешь плэйера - Player.GetDeadCount ?
А все таки как же можно сделать так чтоб при убийстве 20 разных когтей с разным ИД появлялся мессадж? Есть какие сособы? может какие другие команды есть которые можно прописать?

вам наверное этот вопрос несложный

а в gekk нету готового скрипт где это сделано?

>>"Помирить" ты их никак не сможешь, если функция не работает со списками, то она не работает не чуть-чуть а насовсем..
Спасибо за ответ. Жаль значит нужно другой спосб искать

КсюXa  Offline Сообщение №1444 написано: 21 Марта 2015 в 08:55 | Отредактировано: КсюXa - Суббота, 21 Марта 2015, 21:35


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


1142
Цитата Филя12 ()
а в gekk нету готового скрипт где это сделано?

Цитата Филя12 ()
вам наверное этот вопрос несложный
Беседке тоже вопрос был не сложный...
Для того, чтоб отследить убийство всего лишь 5 кротокрысов пришлось "мутить" целый квест с кучей переменных, делать отдельный базовый и объектный эффект и цеплять этот эффект к одному определенному оружию.
Там правда, упор делался не только на количество, но и на эффект от реппелента : отслеживалось, как убивались крысики - чтоб обязательно со взрывом, но тем не менее...
ЗЫ. Убийства отслеживались не по самим крысам, а по "крысиной" фракции". Может и Когтей так же отслеживать?
Цитата Филя12 ()
А мне для Фоллаута нужно, там нет этих достижений

Потому то и нет, что в Вегасе разрабам пришлось внести В ДВИЖОК новые функции. Которые отслеживают кучу параметров "изнутри", без всяких внешних, гекковских скриптов.

Цитата Joopeeter ()
Хоть и немногие помимо игрока на это способны

Яо-гай, например. У меня вот перк "Друг животных" - так эти мишки гамми мне всегда на помощь приходят.

Я шаурму в ларьках на улице не покупаю. Делаю дома сама. Получается как настоящая. Даже траванулась пару раз.
Ipatow  Offline Сообщение №1445 написано: 21 Марта 2015 в 14:10



2337
Цитата Филя12 ()
А все таки как же можно сделать так чтоб при убийстве 20 разных когтей с разным ИД появлялся мессадж?
Допустим, я сделаю мод, который добавит в игру новый вид существ по имени "Клошка". Совершенно новое существо. Будет водиться повсеместно и питаться кем попало. Для создания этого существа использую модели-текстуры оригинальных когтей, анимации когтей, все параметры сделаю как у когтей. И для оригинальной игры, и для модов - для всех кроме игрока - это новое существо совершенно не коготь и никакого отношения к когтям не имеет, и поэтому, разумеется, никакая считалка когтей ни за что не согласится убийство этих "клошек" считать убийством когтей. А вот игрок с первого взгляда скажет - это ж коготь! Называется не так, но я же вижу!

Поэтому ответ на твой вопрос категорически отрицательный: никакой мод не сможет считать разных когтей.

Теперь вернёмся к твоей идее списка блюдей когтей. Чтобы не портить базовые объекты и не конфликтовать с другими модами, перво-наперво берём AddSpell и прицепляем на каждого базового когтя из списка свой Actor Effect со скриптовым Base Effect внутри. А скрипт этого эффекта висит ждёт пока носитель эффекта не помрёт, после чего смотрит "IsKiller Player", и если смертельный удар был нанесён ГГ - плюсует какую-то там глобальную переменную. Тот же квестовый скрипт, который поначалу развешивал эффекты, в основное время сидит и ждёт, чтобы та глобальная переменная стала кратна 20, а чуть ой выдаёт сообщение "Наш пострел уже мастер маникюра N-го разряда!"

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

JupiterJour  Offline Сообщение №1446 написано: 21 Марта 2015 в 14:30


_


1037
Цитата Ipatow ()
IsKiller

Пора мне возобновить ежедневное перечитывание списка функций. Про IsKiller забыл :(

Ipatow  Offline Сообщение №1447 написано: 21 Марта 2015 в 14:47



2337
Цитата Joopeeter ()
ежедневное перечитывание списка функций
Ещё GetCauseOfDeath есть! Правда, будет трудно доказать, что метнул барана (если причина смерти - попадание бараном по лбу) именно ГГ... Пусть считается самоубийством (cf.: suicide by drawing on a cop :D )

JupiterJour  Offline Сообщение №1448 написано: 21 Марта 2015 в 14:59 | Отредактировано: Joopeeter - Суббота, 21 Марта 2015, 15:01


_


1037
Про GetCauseOfDeath я не забуду, потому что успел хорошенько побиться об неё головой. Потом понял, что она на самом деле толком не работает - то покажет 0 на зашибленном бараном, то -1 на мёртвом, то ещё что-нибудь несуразное...

КсюXa  Offline Сообщение №1449 написано: 21 Марта 2015 в 17:19


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


1142
Цитата Ipatow ()
по имени "Клошка"

ми-ми-ми...
Клошка - это от Claw? Коготочек?

Я шаурму в ларьках на улице не покупаю. Делаю дома сама. Получается как настоящая. Даже траванулась пару раз.
Филя12  Offline Сообщение №1450 написано: 21 Марта 2015 в 20:37 | Отредактировано: Филя12 - Суббота, 21 Марта 2015, 20:53


Странник


11
>>Может и Когтей так же отслеживать?
Спасибо за ответ. Интересно, разбирался - там скрипит сидит на самом репеленте и выходит ты репелентом при убийстве считаешь. Так? а мне надо любым оружием: кулак репелент или гранатомет - неважно.

>>перво-наперво берём AddSpell и прицепляем на каждого базового когтя из списка свой Actor Effect со скриптовым Base Effect внутри.
>>Тот же квестовый скрипт, который поначалу развешивал эффекты,
А как это сделать через скрипт квеста? чего то я не понял - пишу CrDeathClaw.addspell ClawSpell  И ничего опять не сохраняется. пишет invalid reference "CrDeathClaw" (only object reference and reference veriables are allowed in this context) CrDeathClaw это ж ведь же базовый коготь? и писал CrDeathClawList.addspell ClawSpell список тоже не сохраняется.
как цеплять актор эффект скриптом квеста?

>>плюсует какую-то там глобальную переменную
это еще за что такое? unsure как ее делать?

спасибо за ответы!

КсюXa  Offline Сообщение №1451 написано: 21 Марта 2015 в 21:18 | Отредактировано: КсюXa - Воскресенье, 22 Марта 2015, 17:36


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


1142
Цитата Филя12 ()
там скрипт сидит на самом репеленте и выходит ты репелентом при убийстве считаешь

А я так и написала в том сообщении: - цеплять этот эффект к одному определенному оружию.

Цитата Филя12 ()
пишет invalid reference "CrDeathClaw"
А думать? А взять словарик и перевести, что написано в сообщении об ошибке?
invalid reference "CrDeathClaw" (only object reference and reference veriables are allowed in this context) -
неверная ссылка. Только референсный объект и ссылка на переменную допустимы в данном контексте.
Объект в данном случае - это копия базового Когтя, размещенная в локации (хотя, вроде бы базовому тоже можно дать спелл). Значит ошибка в ClawSpell
Цитата Филя12 ()
пишу CrDeathClaw.addspell ClawSpell

А перед этим создал этот самый ClawSpell?

Цитата Филя12 ()
>>плюсует какую-то там глобальную переменную
это еще за что такое?

Ннуууууууу... Глобальная переменная - это такая же переменная, как и в скриптах, только для её объявления в ГЕКК есть отдельный раздел Globals. И к глобальной переменной (variables по-английски, а не veriables) любой скрипт (хоть полный, хоть результ-скрипт стадии квеста или топика) может обратится напрямую. Т.е. - не надо указывать к какому скрипту относится эта переменная, что значительно упрощает жизнь мододелу.

Я шаурму в ларьках на улице не покупаю. Делаю дома сама. Получается как настоящая. Даже траванулась пару раз.
Филя12  Offline Сообщение №1452 написано: 21 Марта 2015 в 22:37


Странник


11
>>Значит ошибка в ClawSpell
>>А перед этим создал этот самый ClawSpell? 
Я пока сделал его как актор эффект у болотника (водяное дыхание) MirklurkWaterBreathing но через addspell он не ставится базовому когтю никак. пробовал еще и прямо его ставить CrDeathClaw.addspell MirklurkWaterBreathing - то же не ставится и ту же ошибку показывает 
а MirklurkWaterBreathing он у блотника стоит значит должен ставится. я только не пойму почему тогда когтю он не ставится скриптово, через addspell? вы же пишите что базовому спелл можно дать?

>>в ГЕКК есть отдельный раздел Globals
Спасибо теперь понял.
Я раньше этот раздел видел только не знал зачем он нужен.

>>(variables по-английски, а не veriables)
А я по памяти с ошибки печатал. сам ошибся blush
не знаю как скрины тут выкладывать.

Ipatow  Offline Сообщение №1453 написано: 21 Марта 2015 в 22:49



2337
Цитата КсюXa ()
Объект в данном случае - это копия базового Когтя, размещенная в локации (хотя, вроде бы базовому тоже можно дать спелл).
Спелл даётся именно базовому объекту (в отличие от CastImmediateOnSelf), но, к сожалению, работать надо через референс. Та же ерунда, что с SetEssential, SetItemValue и другими подобными функциями. У скрипт-экстендера по крайней мере для подобных случаев есть двойной синтаксис (одну и туже функцию можно вызвать через референс с точкой или явно указывая базовый объект в командной строке).

Цитата Филя12 ()
CrDeathClaw это ж ведь же базовый коготь? и писал CrDeathClawList.addspell ClawSpell список тоже не сохраняется.
как цеплять актор эффект скриптом квеста?
Как это сделать. Создаёшь пустой интерьер (Interior Cell), никакие свойства ему задавать ни к чему. В этот интерьер помещаешь по экземпляру когтей для каждого базового объекта; никак их не настраиваешь, только выставляешь экземплярам флаг Persistent и даёшь имена (EditorId). После чего в скрипте дёргаешь каждого из этих висящих где-то там в пустоте когтей по имени, вызывая для каждого из них AddSpell - после чего про бедняг можно забыть, их смысл жизни исполнен: базовые объекты получили спелл.

Можно наплевать на конфликты и отредактировать базовые объекты, прописав им свой спелл явно - в этом случае пустая комната с когтями в вакууме не нужна.

Добавлено (21 Марта 2015, 22:49)
---------------------------------------------

Цитата Филя12 ()
не знаю как скрины тут выкладывать
Рекомендую использовать http://savepic.net/ - шустро, без мусора и даёт готовый BB-код для вставки в форумы...

КсюXa  Offline Сообщение №1454 написано: 22 Марта 2015 в 08:38 | Отредактировано: КсюXa - Воскресенье, 22 Марта 2015, 08:41


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


1142
Цитата Филя12 ()
не знаю как скрины тут выкладывать.

Заходишь на сайт, ссылку на который тебе дал Ипатов, загружаешь туда нужную картинку (там всего две кнопки: Выберите файл и Отправить) После отправки откроется окно, в котором будут даны коды для вставки. Выбираешь код "превью с миниатюрой" (см. скриншот ниже), копируешь код и вставляешь в свое сообщение.


Цитаты здесь, на форуме: выделяешь в тексте пользователя тот фрагмент, который хочешь процитировать и жмешь под сообщением этого же пользователя кнопку "Цитата".

Я шаурму в ларьках на улице не покупаю. Делаю дома сама. Получается как настоящая. Даже траванулась пару раз.
Филя12  Offline Сообщение №1455 написано: 22 Марта 2015 в 12:27 | Отредактировано: Филя12 - Воскресенье, 22 Марта 2015, 12:38


Странник


11
Цитата Ipatow ()
Как это сделать. Создаёшь пустой интерьер (Interior Cell), никакие свойства ему задавать ни к чему. В этот интерьер помещаешь по экземпляру когтей для каждого базового объекта; никак их не настраиваешь, только выставляешь экземплярам флаг Persistent и даёшь имена (EditorId). После чего в скрипте дёргаешь каждого из этих висящих где-то там в пустоте когтей по имени, вызывая для каждого из них AddSpell - после чего про бедняг можно забыть, их смысл жизни исполнен: базовые объекты получили спелл.
Хох!  часа 2 сидел разбирался со всем этим
Ходил читал туторы - не знал ничего ни как Interior создавать ни как экземляры когтей в окне настраивать, еще скриптовые эффекты эти facepalm

Interior сделал, когтей всех выкинул (8 шт разных), назвал их всех, скрипт квеста написал где каждому зверю через addspell добавил актор-эффект. Скрипт сохранился (я рад!).
Потом второй скрипит сделал где Script Type - Effect, в base effect его, а потом этот base effect в актор эффект - это я уже в gekk смотрел, на других эффектах.

И опять ничего не работает! :(

вот такие скрипты написал может что там не так,

скрипт квеста:

scn DeathClawAddSpellScript

short DeathClawAddSpell

Begin GameMode

IF DeathClawAddSpell == 0
SET DeathClawAddSpell TO 1
CrDeathClaw01.addspell ClawSpell
CrDeathClaw02.addspell ClawSpell
CrDeathClaw03.addspell ClawSpell
CrDeathClaw04.addspell ClawSpell
CrDeathClaw05.addspell ClawSpell
CrDeathClaw06.addspell ClawSpell
CrDeathClaw07.addspell ClawSpell
CrDeathClaw08.addspell ClawSpell
SHOWMESSAGE AllClawAddSpell
ENDIF

IF DeathClawCount >= 20
SHOWMESSAGE DeathClawCountMess
ENDIF

END

------

скрипт эффекта:

scn DeathClawCuterScript

Begin GameMode

IF IsKiller Player == 1
SET DeathClawCount TO DeathClawCount+1
ENDIF

END

DeathClawCount - это переменая global
вместо Begin GameMode пробовал Begin OnDeath и все равно не работает.

------
так еще актор-эффект когтям в actor effect list ставил (без скрипта) и все равно ничего. не появляется мессадж. я уже замучался когтей долбать!

Цитата Ipatow ()
Рекомендую использовать http://savepic.net/ - шустро, без мусора и даёт готовый BB-код для вставки в форумы...

Цитата КсюXa ()
Цитаты здесь, на форуме: выделяешь в тексте пользователя тот фрагмент, который хочешь процитировать и жмешь под сообщением этого же пользователя кнопку "Цитата".
Спасибо! Уже попробовал good

Добавлено (22 Марта 2015, 12:27)
---------------------------------------------
Еще забыл что на счет когтей написать: если скрипт-считалку из эффектов поставить на самих базовых когтей с Begin OnDeath, тогда все хорошо считается и все нормально. Но там на некоторых когтях уже другие скрипты стоят, как тогда быть? Не охота чтот лезть туда.

КсюXa  Offline Сообщение №1456 написано: 22 Марта 2015 в 12:40 | Отредактировано: КсюXa - Воскресенье, 22 Марта 2015, 16:38


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


1142
Цитата Филя12 ()
IF DeathClawAddSpell == 0
SET DeathClawAddSpell TO 1

А зачем это?
Переводим на нормальный язык:
Если переменная DeathClawAddSpell равна 0
настраиваем эту переменную как 1.
--------
Для чего настраиваем? Больше нигде в скрипте не упоминается эта переменная и что делать скрипту, когда значение переменной равно 1. Так что это просто лишние строчки
. Затупила, согласна...

Добавлено (22 Марта 2015, 12:40)
---------------------------------------------

Цитата Филя12 ()
скрипт эффекта:

scn DeathClawCuterScript

Begin GameMode

if IsKiller Player == 1
SET DeathClawCount TO DeathClawCount+1
endif

END

Вроде бы у эффектных скриптов надо писать не GameMode а ScriptEffectStart или как-то в этом роде.

Я шаурму в ларьках на улице не покупаю. Делаю дома сама. Получается как настоящая. Даже траванулась пару раз.
Ipatow  Offline Сообщение №1457 написано: 22 Марта 2015 в 12:52



2337
Цитата Филя12 ()
scn DeathClawCuterScript
Извини не смог удержаться... "Cuter" - это не просто "милый", а "ещё более милый"! Воистину,
Цитата КсюXa ()
ми-ми-ми...
:)

Лучше что-нибудь брутальное вписать, типа Exterminator ;)

По делу. В скрипте эффекта надо, наверное, сначала проверять GetDead, и только у мёртвого однократно смотреть на IsKiller. И про это где-то говорилось, но тут вроде не было напоминания - базовый эффект должен быть с флажком No Death Dispel.

Из соображений проверки временно добавь какой-нибудь ещё визуальный эффект - скажем, постоянно в Actor Effect воткни какой-нибудь хамелеон (чтоб по полупрозрачности сразу было видно - висит эффект на когте). А в скриптовый эффект вставь в момент обнаружения "ой я помер" навешивание шейдера - скажем, огнемётного: как труп загорелся и дым пошёл, значит, счётчик обновился. Удобнее так проверять, чем всё время в консоль лазить - да и там иногда тоже до нужного не достать (значения переменных эффектового скрипта, например, никакими силами не узнать).

Добавлено (22 Марта 2015, 12:52)
---------------------------------------------

Цитата КсюXa ()
Больше нигде в скрипте не упоминается эта переменная и что делать скрипту, когда значение переменной равно 1
Проснись! Это же гейммода, повторяющаяся фрейм за фреймом, и одна-проверка/один-переворот - классический DoOnce, просто более содержательно названный...
Цитата КсюXa ()
Вроде бы у эффектных скриптов надо писать не GameMode а ScriptEffectStart или как-то в этом роде.
Ой, что-то и мне проснуться надо. В эффект-скрипте, конечно ScriptEffectUpdate нужен, а не гейммода blush

КсюXa  Offline Сообщение №1458 написано: 22 Марта 2015 в 13:08 | Отредактировано: КсюXa - Воскресенье, 22 Марта 2015, 16:38


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


1142
Цитата Ipatow ()
"Cuter" - это не просто "милый"

Вот что значит одна пропущенная буква :D

Я шаурму в ларьках на улице не покупаю. Делаю дома сама. Получается как настоящая. Даже траванулась пару раз.
JupiterJour  Offline Сообщение №1459 написано: 22 Марта 2015 в 13:24


_


1037
Цитата КсюXa ()
Вроде бы у эффектных скриптов надо писать не GameMode а ScriptEffectStart или как-то в этом роде.

Вроде бы да (точнее, ScriptEffectUpdate), но и гейммод, как это ни странно, работает тоже.

Цитата Ipatow ()
В скрипте эффекта надо, наверное, сначала проверять GetDead, и только у мёртвого однократно смотреть на IsKiller.

А я бы задал условие GetDead в самом актор-эффекте и пусть он сам и проверяет.
А проверку глобальной переменной и показ сообщения всунул бы в актор-эффект в ScriptEffectStart (или Finish, в зависимости от настройки условия GetDead). И тогда квест можно остановить после раздачи эффектов, чтобы не гонять гейммод почём зря.

Цитата КсюXa ()
Для чего объявлена переменная и что она делает?

Одноразовость же!
В отличие от
Код
IF DeathClawCount >= 20  
SHOWMESSAGE DeathClawCountMess  
ENDIF

Чтобы игрок не забыл, какой он замечательный молодец.

КсюXa  Offline Сообщение №1460 написано: 22 Марта 2015 в 13:36 | Отредактировано: КсюXa - Воскресенье, 22 Марта 2015, 16:58


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


1142
Цитата Joopeeter ()
Одноразовость же!

facepalm затупила...

Цитата Joopeeter ()
В отличие от
Код
IF DeathClawCount >= 20
SHOWMESSAGE DeathClawCountMess
ENDIF

Чтобы игрок не забыл, какой он замечательный молодец.


В отличии от...  Классно указал на ошибку, которую все пропустили  ;)
Действительно, тут же нет одноразовости и месседж будет вылезать постоянно.

Я шаурму в ларьках на улице не покупаю. Делаю дома сама. Получается как настоящая. Даже траванулась пару раз.
Филя12  Offline Сообщение №1461 написано: 22 Марта 2015 в 17:35 | Отредактировано: Филя12 - Воскресенье, 22 Марта 2015, 18:45


Странник


11
Цитата Ipatow ()
Лучше что-нибудь брутальное вписать, типа Exterminator
та хоть что впишу лишь бы работал  :)

Цитата Ipatow ()
По делу. В скрипте эффекта надо, наверное, сначала проверять GetDead, и только у мёртвого однократно смотреть на IsKiller. И про это где-то говорилось, но тут вроде не было напоминания - базовый эффект должен быть с флажком No Death Dispel.
 
Цитата Joopeeter ()
А я бы задал условие GetDead в самом актор-эффекте и пусть он сам и проверяет.
Хох!
пока ничего не получается с этим
Если ставлю проверяю GetDead с скрипте-считалке то ничего, а если в актор-эффекте то после того как забью одного зверя сразу получаю мастера. что-то тут не то unsure но я еще покопаюсь в этом

Цитата Joopeeter ()
Чтобы игрок не забыл, какой он замечательный молодец.

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

Я пока этот скрипт сделаю и так уже мастером по подстриганию когтей стану - без всякого мессаджа ok

Ipatow  Offline Сообщение №1462 написано: 22 Марта 2015 в 17:59



2337
Цитата Филя12 ()
если в актор-эффекте то после того как забью одного зверя сразу получаю мастера. что-то тут не то unsure
Однократно проверяй. Заверни с таким же DoOnce, как заворачивал AddSpell, иначе работает: таак... я умер.. меня убил ГГ.. звезду графу Суворову! таак.. я всё ещё мёртв.. убийца всё ещё ГГ.. звезду графу Суворову! таак... я всё ещё мёртв...

JupiterJour  Offline Сообщение №1463 написано: 22 Марта 2015 в 19:03


_


1037
Цитата Филя12 ()
Если ставлю проверяю GetDead с скрипте-считалке то ничего, а если в актор-эффекте то после того как забью одного зверя сразу получаю мастера. что-то тут не то

Я, кажется, путано выразился. Я имел ввиду, что GetDead проверял бы не в скрипте, а поставил бы условие для базового эффекта в поле для условий, в окне актор-эффекта. А скрипт сделал бы срабатывающим однократно при старте или окончании эффекта (в зависимости от настройки условия). А то сейчас на каждом когте крутится ScriptEffectUpdate ради одного единственного срабатывания.

Цитата Филя12 ()
Я пока этот скрипт сделаю и так уже мастером по подстриганию когтей стану

Есть же KillAll...

КсюXa  Offline Сообщение №1464 написано: 22 Марта 2015 в 19:05


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


1142
Цитата Joopeeter ()
Есть же KillAll...

Филя12, это в смысле - грохни всех оптом через консоль и не парься ;)

Я шаурму в ларьках на улице не покупаю. Делаю дома сама. Получается как настоящая. Даже траванулась пару раз.
Филя12  Offline Сообщение №1465 написано: 09 Апреля 2015 в 06:30 | Отредактировано: Филя12 - Воскресенье, 22 Марта 2015, 21:10


Странник


11
Цитата Ipatow ()
Однократно проверяй. Заверни с таким же DoOnce, как заворачивал AddSpell,
 Я уже не буду спрашивать так ли я сделал или нет, но главное что вроде получилось что мне надо.
как я сделал: первое - выбросил из скриптвого эффекта все проверки на смерть оставил только считалку global и добавил простую переменную

scn DeathClawCuterScript

short DeadCr

BEGIN GameMode
IF DeadCr == 0
SET DeadCr TO 1
SET DeathClawCount TO DeathClawCount+1
ENDIF
END

а IsKiller Player поставил в актор-эффект
только я так и не понял Begin GameMode - Begin ScriptEffectUpdate - какая между ними разница в эффекте скрипта? ставил и то и другое - одинаково работает. оставил как было GameMode

второе - в квесте добавил переменную, даже не добавил а продолжил DeathClawAddSpell

IF DeathClawCount >= 20 && DeathClawAddSpell == 1
SET DeathClawAddSpell TO 2
SHOWMESSAGE DeathClawCountMess
ENDIF

может чтото тут не так но в игре вроде все хорошо - мессадж появляется. наконец-то! через сутки борьбы.

вот правда я не пробовал как советовал Joopeeter сделать - добавить результат в эффект скрипта.
но я уже и трогать ничего не хочу - работает и пусть работает себе.

Всем спасибо за советы! Очень помогли! good

Добавлено (22 Марта 2015, 21:03)
---------------------------------------------
Цитата Joopeeter ()
Есть же KillAll...
Ха! Интересная весч - оказалось если писать в консоли KillAll Player то все убийства гг засчитываются. даже нигде не читал об таком, писали просто про чит KillAll и все.

жаль что раньше не знал, а то уже когтей штук 200 перебил пока скрипт проверял. такто дело веселее :)

Добавлено (09 Апреля 2015, 06:30)
---------------------------------------------
Привет! опять борьба! Не знаю даже как быть.

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

для оружия вроде есть ModWeaponHealthPerc, чем дольше эффект, тем сильнее оружие портится. Но как быть с минами и гранатами? чтобы не порились. их же не отремонтировать!

и еще - одетые вещи- бронька, шлемы. для них можно как-то сделать так чтобы постепенно портились от эффекта? вроде того как ModWeaponHealthPerc в эффекте скрипта работает, но для бронек.

На счет горения. Вот не знаю как отключить эффект горения когда гг или нпц в воде. есть Dispel для эффекта но как его так прикрутить чтобы снимался в воде? IsSwimming пробовал но чтото не работает unsure

REF target

Begin ScriptEffectUpdate

SET target TO GetSelf

IF target.IsSwimming
    target.Dispel FireGrenadeEffect
ENDIF

END
---
это мне для мода для Фаллаут 3 надо если что. Можете помочь?


q2werty  Offline Сообщение №1466 написано: 27 Апреля 2015 в 15:01



107
Филя12
А разве getself применима в данном случае? Если, конечно я не ошибаюсь..
http://geck.bethsoft.com/index.php?title=GetSelf

Ipatow  Offline Сообщение №1467 написано: 27 Апреля 2015 в 21:49



2337
Цитата q2werty ()
разве getself применима в данном случае?
Да, она так работает.
На самом деле тут даже не нужен референс - пишем "если неприцельно IsSwimming, то неприцельно Dispel", и оно самонаведётся куда надо. Неловкий момент там в основном в том, что про ГГ IsSwimming не работает...

STELS_BOY  Offline Сообщение №1468 написано: 23 Мая 2015 в 15:26



95
Как на ГГ одеть нужную одежду (которя уже в инветаре) например как в ДЛС Мертвые деньги ГГ появляется в комбинезоне уже одетом - в нашем ПОИСКЕ по форуму и так и сяк писал ни черта он не ищет.

tundruck73  Offline Сообщение №1469 написано: 24 Мая 2015 в 09:15


Мастер


1178
player.equipitem id одежды.

Мосье, же не манж па сис жур...
Умер 23.04.2019
BsX  Offline Сообщение №1470 написано: 29 Июня 2015 в 09:54 | Отредактировано: BsX - Понедельник, 29 Июня 2015, 16:10


Полковник с парада


33
Как сделать лифт, как в убежище 22?

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