Многоуважаемые гуру! К вам вопит многострадальный нуб, возжелавший снова поиграть в Фол, и дерзнувший замахнуться на святое - на ГЕКК... Ну, замахнуться я замахнулся... однако по отсутствию большого количества свободного времени могу пока немногое... ну там, меши подменить, статы брони и оружия... по мелочи. Но это всё не совсем то... Извините за многословное предисловие... наболело просто... У меня следующий вопрос: можно ли сделать что-то в плане физики взаимодействия, а именно, останавливающее действие оружия (или боеприпаса???) Я всаживаю ферал гулю очередь из автоматического дробовика прямо в ноздри - но проклятая нежить, похрюкивая от вожделения, не меняя скорости передвижения достигает моего перса и приступает к своему грязному делу... Я знаю, что у некоторых стволов, как винтовка Гаусса, имеется эффект отталкивания. Меня интересует именно эффект отталкивания, а не тупой нокдаун (чтоб Бегемоты не выходили на высокую околоземную орбиту от единственного попадания 10мм пистолета...) Другими словами, есть ли возможность сделать так, чтобы непись от попадании в него пули получал ощутимый толчок, тормозящий передвижение? При попадании, скажем, очереди из 4-х пуль калибра 7,62 три пули по очереди отталкивали/тормозили бы непися (гуманоида), а четвёртая почти гарантированно причиняла бы либо нокдаун, либо контузию? Кстати, подобные эффекты иногда можно увидеть в режиме ВАТС - голову непися или туловище сильно "дёргало" от попадания пуль... Знаю, что движок у Фола сродни песне "унылое г-но", и тем не менее, привнести в геймплей хотя бы часть реализма очччень хоццца... С нетерпением жду ответа.
У этой винтовки, если не ошибаюсь, в проджектале установлен эффект explosion, с небольшим радиусом. Вот он и создает иллюзию отталкивания. Но очень многие проджектали его не имеют. Менять проджектали (или вручную через ГЕКК, или скриптом через функции экстендера) - это море конфликтов будет с оружейными модами, ребалансами и т.д. То же самое, если как-то по-хитрому заскриптовать само оружие, или base-эффекты ставить на него, чтобы при попадании рандомно "отодвигало" цель, но опять же конфликты, да и не будет оно работать с оружием из модов...
Спасибо за ответ! Дело в том, что я применял многие Base Effects к оружию, вроде нокдауна Виктории, или нокдаун DLC 02 Gauss... Но всё это не то, хотя, например, если убрать Base Effects и поставить Crit Effect какой-нибудь нокдаун, затем поставить в Crit/Dmg Mult число больше 10, то в этом случае оружие рандомно будет опрокидывать супостата, иногда после первого попадания, иногда после короткой очереди. И всё же наблюдается огромная диспропорция в соотношении типа "сила воздействия-объект воздействия". Я ещё допускаю, что пуля калибра 12,7 или 14,5 мм способна кувыркнуть оземь супермутанта или Когтя... Но уж никак не Бегемота... Возможно, есть способ поставить зависимость от массы непися??? Все оружейные моды, что я установил, перебираю сам "вручную" - выставляю прицелы, скорострельность, типы боеприпасов... Это не проблема, проблема в том, что я не знаю, где копать... Например, на форумах мне советовали изменять в Projectiles такой параметр, как Force, дескать, это увеличит силу столкновения с поверхностью... Ну да, ну да... Сила столкновения действительно изменилась - от короткой очереди из Винтореза обломки зданий начинали сдвигаться и отлетать... а неписям хоть бы хны!!!! Видимо, там какой-то тип коллизии, который по-разному рассчитывается для Objects и Creatures/NPC`s. По логике вещей, так и должно быть, хотя и не столь примитивно.
Ipatow, благодарю за исчерпывающее объяснение. Я и в самом деле не представлял, на что замахнулся... Похоже, упомянутые тобой взаимоотношения двух движков это тот самый случай, когда доблестные беседковые программисты описали неописуемое, предварительно впихнув это в невпихуемое... Поскольку я когда-то профессионально владел буржуазным английским языком, я не поленился полазить по буржуазному сайту Nexus... Могу совершенно ответственно заявить - проблемами анимации вообще мало кто занимается. Так что я от этой идеи сразу открещиваюсь... мне вот что непонятно: неужели на неписей не действуют никакие штрафы типа crippled effect - кританули ножку - прихрамывать извольте, обе кританули - очень медленно прихрамывать извольте??? Если гг навернётся с большой высоты и не убьётся сразу, то конечности обязательно повреждаются - со всеми вытекающими, хромотой, слепотой, блевотой... Это первая моя непонятка... Вторая непонятка: те же гули не только носятся, как сволочи, а ещё и довольно медленно ходят - и вот тут как бы есть какой-то триггер (или как это там называется) переводящий их из режима Run в режим Walk. Возможно, тут что-то можно сделать? Хапнул пару порций дроби - всё милай, не беги... У ГГ, насколько мне известно, есть значение базовой скорости передвижения fMoveRunMult... А у неписей??? Какой параметр определяет скорость передвижения у неписей??? И можно ли каким либо образом привязывать скорость передвижения к критам-нокдаунам???
Изменение репутации для пользователя 4STOP97
4STOP97Offline
Сообщение №4
| Тема: Помощь по G.E.C.K.
написано: 6 декабря 2014, 02:45
| Отредактировано: 4STOP97 - 6 декабря 2014, 17:14
Ipatow, благодарю за исчерпывающее объяснение. Я и в самом деле не представлял, на что замахнулся... Похоже, упомянутые тобой взаимоотношения двух движков это тот самый случай, когда доблестные беседковые программисты описали неописуемое, предварительно впихнув это в невпихуемое... Поскольку я когда-то профессионально владел буржуазным английским языком, я не поленился полазить по буржуазному сайту Nexus... Могу совершенно ответственно заявить - проблемами анимации вообще мало кто занимается. Так что я от этой идеи сразу открещиваюсь... мне вот что непонятно: неужели на неписей не действуют никакие штрафы типа crippled effect - кританули ножку - прихрамывать извольте, обе кританули - очень медленно прихрамывать извольте??? Если гг навернётся с большой высоты и не убьётся сразу, то конечности обязательно повреждаются - со всеми вытекающими, хромотой, слепотой, блевотой... Это первая моя непонятка... Вторая непонятка: те же гули не только носятся, как сволочи, а ещё и довольно медленно ходят - и вот тут как бы есть какой-то триггер (или как это там называется) переводящий их из режима Run в режим Walk. Возможно, тут что-то можно сделать? Хапнул пару порций дроби - всё милай, не беги... У ГГ, насколько мне известно, есть значение базовой скорости передвижения fMoveRunMult... А у неписей??? Какой параметр определяет скорость передвижения у неписей??? И можно ли каким либо образом привязывать скорость передвижения к критам-нокдаунам???
Добавлено (06 Декабря 2014, 03:31)
Изменение репутации для пользователя 4STOP97
4STOP97Offline
Сообщение №5
| Тема: Помощь по G.E.C.K.
написано: 6 декабря 2014, 18:25
| Отредактировано: 4STOP97 - 6 декабря 2014, 18:24
BigBadBoss, я понял твою идею, и мне она кажется очень правильной. Я вот только не знаю, как это отразится на общем балансе. То есть, не станут ли неписи слишком уж уязвимыми??? Не хотелось бы, чтобы супермутанты умирали от попадания сопли в коленную чашечку... Или, к примеру, попал разок гулю в ноготь мизинца левой ноги - и тут же полный крит, фулл дамаг, глаза вылазят, морда трескается, волосы секутся, мозги в одну сторону, очки и задница в другую, вставная челюсть в третью... Моя цель - сделать так, чтобы непись, получая попадания в ноги, стабильно лишался возможности быстро нападать, не лишаясь при этом слишком большого количества хп за выстрел. Ну, естественно, голова должна быть особенно уязвимой, ведь там даже мозг иногда встречается...
Добавлено (06 Декабря 2014, 21:25) ---------------------------------------------
Цитата QuazarX
Ты специально мультипостишь что-ли? Тут за такое могут и наказать..
Чес слово, сам не понял, как это произошло... Муть какая-то...
BigBadBoss, Ну да, вот что я имел в виду!!! Я же полный нуб в редакторах, поэтому не знаком с механикой взаимодействия между дамагом и критами. И, эээ... когда ты говорил о множителе дамага, ты какой множитель имел в виду: множитель в свойствах оружия? А если да, то который? Тот, что crit/dmg mult %??? Или есть множитель крита/дамага где-нибудь в Body Part??? И не может ли быть так, что одно будет накладываться на другое???
Если ты поставишь гулю у ноги здоровье в 5%, а множительно повреждений в 0.5, то картина будет следуищей. Допустим гуль этот с 100 очками жизней (Когда полностью здоров). Стреляем из винтовки с дамагом в 50 гулю в ногу. Гуль получает от множителя повреждений в 0.5 всего 50% от урона винтовки т.е. -25 жизней от общего запаса хп гуля. Осталось у гуля 75 хп. Так как здоровье ноги составляет 5% от максимального здоровья, а 5% из 100 очков жизней гуля -это будет 5, то достаточно нанести по ноге всего 5 очков повреждений чтобы нога сломалась. Мы нанесли ноге гуля 25 очков повреждений так что гуль теперь не только ранился на 25 очков жизней, но и будет хромать, проиграв до этого анимацию попадания по ноге
Не получается, брателло... Не знаю, правильно ли я сделал, и как именно сделал ты, однако... у меня установлен Mart`s Mutant Mod последней закваски, показатели Body Part я менял в нём (чтобы не лезть в Fallout3.esm и не создавать дополнительный esp. Так, вроде бы, должно быть лучше для системы... Я сделал гулям такой апдейт: конечности - 5% хп, множитель 0,5. Hit Chance на 50... И отправился в депо Уоррингтон, где эти твари тусуются. Знаешь, что там получилось? Никакой джиги. Дрыги тоже не вышло. Ферал гули, те самые, по которым нужно было два рожка выпускать, начали дохнуть от 2-х выстрелов в ногу... Не понимаю, в чём тут дело, оружие было не очень мощным...
Изменение репутации для пользователя 4STOP97
4STOP97Offline
Сообщение №8
| Тема: Помощь по G.E.C.K.
написано: 8 декабря 2014, 09:03
| Отредактировано: 4STOP97 - 8 декабря 2014, 15:41
BigBadBoss, в первый раз я использовал против гулей M16A4 из Xzasz Armory, она мощнее ванильных винтовок - при 100% умения "Лёгкое Оружие" она выдаёт 125. Но все параметры CritChance, Crit/Dmg Multiplier и Limb Crit у неё стандартные. Потом я попробовал ХК 416 от Манкинатса, параметры такие же, а дамаг ваще никакой, всего 25. и тем не менее, ферал гули дохли, хоть и не с двух выстрелов по шнуркам, но эдак с пяти-шести. Что ненормально, ибо до изменений в параметрах ферал гули не особо страдали даже от ВСС Винторез АР, а у него дамаг где-то 300, притом полный автомат... Вообще, по моим ощущениям, всё выглядит так, словно уменьшив % хп на каждую конечность, я уменьшил не общий дамаг за попадание в каждую конечность, а уменьшил, если можно так выразиться, "собственную прочность конечностей", потому что ноги стали не просто критоваться, а или "высасывать" общий хп за каждый крит, либо просто отрываться нахрен. А ведь раньше даже прямое попадание из снайперки "Палец Бога", у которой разовый урон за 450, очень редко отрывало что-либо сразу, за исключением головы...
О вы, великие и всемогущие гуру ГЕККа..! (как многие уже догадались, это снова я)
Срочно нид хелп... Пытаюсь создать (или, вернее, состряпать из разных кусков) специальный скрипт для оружия и оружейных модов. Дело в том, что в Сети достаточно много прекрасных модов и всяких армори. Есть даже оружие со спец функциями, вроде переключения на подствольный гранатомёт... И вот тут напарываемся на жирную и противную бяку - все скрипты переключения режимов оружия, как правило, работают в FOSE, и, на мой взгляд (и не только мой, поверьте), реализованы крайне мерзко, если не сказать, издевательски. То есть, хотишь включить подствольник - так надо пип-бой врубать, находить в инвентаре тот самый переключаемый ствол, нажать и вызвать менюшку, отжать строчку с нужной модификацией ствола, выйти из режима пип-боя... И пусть весь мир подождёт... Это, как сказали бы Гейне и Гёте, абсолютная хрень. " -Так как же Ивану убить Кащея Бессмертного, где его смерть..? -Нуууу... Есть метод...В сундуке заяц, в зайце - утка, в утке яйцо... -А-а-а, понял, в яйце иголка??? -Ты больной, что ли??? Иголка в яйце - это больно, и это садомазохизм..! Не наш метод..!" В общем, это садомазохизм... Не наш метод. Нашим методом должен стать скрипт, который можно навесить на оружие, имеющие различные режимы. Скрипт, который позволит назначать клавиши переключения, и переключать режимы сразу нажатием соответствующей клавиши, без заигрывания с пип-боем. Я сформулировал основные, так сказать, требования, но не могу найти ответы. Вот пример:
Оружие: LR300/М203 с подствольным гранатомётом Режимы оружия: 1. Полный автомат - наибольшая скорострельность, наибольший разброс, наименьший урон за выстрел; экипируется клавишей H; 2. "Вспышка", или burst fire, три пули одним нажатием - средний разброс, средний урон за выстрел, относительно высокий шанс крита; повторное нажатие клавиши H; 3. Полуавтомат, режим снайперской стрельбы - наименьшая скорострельность, высокая кучность боя, относительно высокий урон; третье нажатие нажатие клавиши H; 4. Подствольный гранатомёт с четырьмя режимами/боеприпасами: осколочный, зажигательный, плазма и EMP; экипируется и переключается клавишей K.
В принципе, я уже позаимствовал всё, что нужно, из других модов, но скрипт... Вот в чём беда: необходимо, чтобы клавиши работали ИСКЛЮЧИТЕЛЬНО с ЭКИПИРОВАННЫМ ОРУЖИЕМ, а не экипировали бы из инвентаря. Экипировать можно и стандартными клавишами. Я пытался переделать скрипт переключения режима, выдранный из xMunitions. Там есть неплохой скрипт для FN-SCAR/M203. Да вот незадача - скрипт назначения привязывается к оружию каким-то триггером - после покупки ствола можно попросить продавца назначить режим переключения карабин-гранатомёт на клавишу G. Кроме того, этой же клавишей оружие и экипируется, и это плохо, ведь подобный скрипт, даже сумей я его сляпать, был бы применим только к одному стволу, а это никуда не годится. В общем, такая моя "бида-пичаль". Перелопатил кучу материала, выпил горы обезболивающих, на спазмалгон уже перешёл, а результатов - кот наплакал. Пожалуйста, спасите... ну хоть кто-нибудь...
КсюXa, О`кеюшки, без фоси нам не обойтись, во многом согласен. Но даже если так, это никак не отменяет того факта, что режимы переключения через пип-бой - садомазохизм в самой запущенной форме.
Изменение репутации для пользователя 4STOP97
4STOP97Offline
Сообщение №11
| Тема: Помощь по G.E.C.K.
написано: 19 декабря 2014, 12:00
| Отредактировано: 4STOP97 - 19 декабря 2014, 12:05
Ipatow, это безусловно верно, QuazarX, ты тоже прав. Но именно так это и работает - в ГЕКК создаются столько моделей оружия, сколько режимов предполагается использовать. Я и сам так делаю. Да и в подавляющей части оружейных модов именно так всё и реализовано. Единственное различие между модами, которое я знаю, это использование разных текстур и мешей для разных режимов, как в Armory of Xzax - в режиме стрельбы стандартными патронами есть и прицел, и лазерный целеуказатель, и подствольник, а в режиме гранатомёта модель без прицела и лц, только подствольник, экипируется всё через пип-бой... Но суть моей беды не в том, я так или иначе намерен использовать одну и ту же модель, благо такая модель и анимация уже есть. Моя задача состоит в том, чтобы заставить "переключаться" между этими разными/одинаковыми оружьями определённой клавишей/клавишами.
Предлагаю вашему вниманию фрагмент FOSE скрипта из оружейной xMunition, над которым я чахну, и который я привожу в качестве примера. Речь тут идёт о карабине FNSCAR/M203 "Курильщик", (в скрипте - "Smoke") c подствольником. Оружие экипируется и переключается в режим подствольника одной и той же клавишей, для обоих режимов/оружий использованы одинаковые модели. Итак:
scn xCalFoseScript
Short Setup Short Scan Short SetScope (не уверен насчёт этой строки... дело в том, что это лишь фрагмент скрипта, а полностью скрипт контролировал несколько типов оружия, у Курильщика же оптический прицел предусмотрен изначально) Short Grenadekey Short SelectKey Short M203Toggle
BEGIN Gamemode
; Initialization
IF Setup == 0
Set GrenadeKey to 34 ; 34 for [G]renade Launcher (вот тот самый момент назначения "Курильщика" на клавишу [G]) Set Setup to 1 EndIF
con_SetINISetting "fScopeScissorAmount:Display" 0.000 ; set up reflex sights (что-то про прицел, но полностью я не понял, это вроде бы как в Follaut.INI, где обозначена область затемнения/обзора для прицела... вроде... однако я не совсем уверен в том, что эта строка именно к "Курильщику относится... )
; SmokeMonster inventory control IF Player.GetItemCount xCalFNSCARsmoke > 0 && Player.GetItemCount xCalFNSCARsmokeG > 0 IF Player.GetItemCount xCalFNSCARsmokeG == 0 IF xCALsmokeHealth > 0 Player.AddItemHealthPercent xCalFNSCARsmokeG 1 xCALsmokeHealth 1 ELSE Player.AddItem xCalFNSCARsmokeG 1 EndIF EndIF Player.removeitem xCalFNSCARsmoke 1 1 EndIF
; GrenadeLauncher Toggle
IF M203Toggle != IsKeyPressed Grenadekey Set M203Toggle to M203Toggle == 0 IF M203Toggle IF Player.getEquipped xCalFNSCARsmoke == 1 Set xCALsmokeHealth to (Player.GetWeaponHealthPerc / 100) player.AddItemHealthPercent xCalFNSCARsmokeG 1 xCALsmokeHealth 1 player.equipitem xCalFNSCARsmokeG 0 1 Player.removeitem xCalFNSCARsmoke 1 1 ElseIF player.getEquipped xCalFNSCARsmokeG == 1 Set xCALsmokeHealth to (Player.GetWeaponHealthPerc / 100) player.AddItemHealthPercent xCalFNSCARsmoke 1 xCALsmokeHealth 1 player.equipitem xCalFNSCARsmoke 0 1 player.RemoveItem xCalFNSCARsmokeG 1 1 ElseIF IsKeyPressed Grenadekey IF Player.GetItemCount xCalFNSCARsmoke > 0 Player.removeitem xCalFNSCARsmoke 1 1 Player.AddItemHealthPercent xCalFNSCARsmokeG 1 xCALsmokeHealth 1 EndIF player.equipitem xCalFNSCARsmokeG 0 1 EndIF ENDIF EndIF
END ;GameMode Block
Собственно, помимо непонятных мне моментов, у данного скрипта есть серьёзный недостаток. Во-первых, он работает только с каким-то одним оружием, и не совместим с другими модами, где используется подобный же скрипт. К примеру, один из пистолетов из этой оружейни назначен на ту же клавишу, что и эффект стелс поля для брони из мода Reinforced Chinese Stealth Armor, и как результат, нажатие клавиши С приводит к одновременному экипированию пистолета и включению стелс поля брони. Взял пушку в руки - и исчез... Второй недостаток - нажатие на клавишу G не только "переключает", но и экипирует, то есть, какой бы ствол или дубинка не был бы в руках, нажатие на G "одевает" Курильщика. А это не то, что мне нужно. Я добиваюсь того, чтобы переключение режимов применялось ИСКЛЮЧИТЕЛЬНО к УЖЕ ЭКИПИРОВАННОМУ мной оружию, причём к ЛЮБОМУ, к которому прицеплен скрипт. Не экипировало. Только переключало. Не знаю, с того ли я конца за шар берусь, но поскольку за весь последний месяц я так и не нашёл ничего, что называлось бы примерно как "Сойти с ума за пять минут, или написание скриптов полными чайниками", то ситуация с модопеределыванием у меня крайне плачевная...
Изменение репутации для пользователя 4STOP97
4STOP97Offline
Сообщение №12
| Тема: Помощь по G.E.C.K.
написано: 19 декабря 2014, 14:09
| Отредактировано: 4STOP97 - 19 декабря 2014, 14:11
Ну а по другому ты никак не сделаешь, если ты хочешь чтобы у тебя изменялись не только характеристики оружия, но и внешний вид, т.е. модели, текстуры, звуки...Экстендер может изменить некоторые характеристики оружия, но не модели или текстуры.
Да нет же, ты не понял, никакого изменения текстур и мешей как раз и не нужно, используется ОДНА И ТА ЖЕ МОДЕЛЬ. И в приведённом мной примере скрипт применяется к оружию, состоящему из двух совершенно одинаковых моделей: FNSCARSmoke и FNSCARSmokeG (гранатомёт). Просто под каждую модель привязаны свои звуки, боеприпасы, скопы и так далее, но с этим даже такой тугодум, как я, справляется. А по поводу функции GetEquippedObject 5 - это крайне интересно. Мне всегда казалось, что если FOSE скрипт, привязанный к оружию, "распознаёт" указанное в нём оружие, то... Что касается большого количества стволов... Нет, речь идёт о том, чтобы изменить таким образом максимум 5 или 6 стволов. Вот, кстати, приведённый мной фрагмент выдран из xMunition, в полном виде этот скрипт управляет функциями ещё нескольких стволов. Выглядит это так:
scn xCalFoseScript
Short Setup Short Scan Short SetScope Short Grenadekey Short TacLightKey Short SelectKey Short LightSwitch Short M203Toggle Short ReCalibrate Short Number9 Short M99bind Short EagleBind Short EagleKey Float Timer Float ScissorAmt
BEGIN Gamemode
; Initialization
IF Setup == 0
Set TacLightKey to -1 ; disabled by default, 38 for
ight Set GrenadeKey to 34 ; 34 for [G]renade Launcher Set SelectKey to 45 ; 45 for e[X]calibr SeleXtor Set EagleKey to 46 ; 46 for
ustom Eagle Set Setup to 1 EndIF
con_SetINISetting "fScopeScissorAmount:Display" 0.000 ; set up reflex sights
; SmokeMonster inventory control IF Player.GetItemCount xCalFNSCARsmoke > 0 && Player.GetItemCount xCalFNSCARsmokeG > 0 IF Player.GetItemCount xCalFNSCARsmokeG == 0 IF xCALsmokeHealth > 0 Player.AddItemHealthPercent xCalFNSCARsmokeG 1 xCALsmokeHealth 1 ELSE Player.AddItem xCalFNSCARsmokeG 1 EndIF EndIF Player.removeitem xCalFNSCARsmoke 1 1 EndIF ; Custom Eagle inventory control IF Player.GetItemCount xCalEagleon > 0 && Player.GetItemCount xCalEagleoff > 0 IF Player.GetItemCount xCalEagleon == 0 IF xCalEagleHealth> 0 Player.AddItemHealthPercent xCalEagleon 1 xCalEagleHealth 1 ELSE Player.AddItem xCalEagleon 1 EndIF EndIF Player.removeitem xCalEagleoff 1 1 EndIF
; GrenadeLauncher Toggle
IF M203Toggle != IsKeyPressed Grenadekey Set M203Toggle to M203Toggle == 0 IF M203Toggle IF Player.getEquipped xCalFNSCARsmoke == 1 Set xCALsmokeHealth to (Player.GetWeaponHealthPerc / 100) player.AddItemHealthPercent xCalFNSCARsmokeG 1 xCALsmokeHealth 1 player.equipitem xCalFNSCARsmokeG 0 1 Player.removeitem xCalFNSCARsmoke 1 1 ElseIF player.getEquipped xCalFNSCARsmokeG == 1 Set xCALsmokeHealth to (Player.GetWeaponHealthPerc / 100) player.AddItemHealthPercent xCalFNSCARsmoke 1 xCALsmokeHealth 1 player.equipitem xCalFNSCARsmoke 0 1 player.RemoveItem xCalFNSCARsmokeG 1 1 ElseIF IsKeyPressed Grenadekey IF Player.GetItemCount xCalFNSCARsmoke > 0 Player.removeitem xCalFNSCARsmoke 1 1 Player.AddItemHealthPercent xCalFNSCARsmokeG 1 xCALsmokeHealth 1 EndIF player.equipitem xCalFNSCARsmokeG 0 1 EndIF ENDIF EndIF
; Custom EagleToggle
IF EagleBind != IsKeyPressed Eaglekey Set EagleBind to EagleBind == 0 IF EagleBind IF Player.getEquipped xCaleagleOn == 1 Set xCALeagleHealth to (Player.GetWeaponHealthPerc / 100) player.AddItemHealthPercent xCaleagleOff 1 xCALeagleHealth 1 player.equipitem xCaleagleOff 0 1 playsound UIpipboyLightoff ; Buzz Player.removeitem xCaleagleOn 1 1 ElseIF player.getEquipped xCaleagleOff == 1 Set xCALeagleHealth to (Player.GetWeaponHealthPerc / 100) player.AddItemHealthPercent xCaleagleOn 1 xCALeagleHealth 1 player.equipitem xCaleagleOn 0 1 playsound UIpipboyLighton ; Buzz player.RemoveItem xCaleagleOff 1 1 ElseIF IsKeyPressed Eaglekey IF Player.getItemCount xCaleagleOff > 0 Player.removeitem xCaleagleOff 1 1 Player.AddItemHealthPercent xCaleagleOn 1 xCALeagleHealth 1 EndIF player.equipitem xCaleagleOn 0 1 EndIF ENDIF EndIF
; Slot 9 for M99
IF M99bind ==1 && Number9 != IsKeyPressed 10 Set Number9 to Number9 == 0 IF Number9 IF Player.getEquipped xCalM99 == 1 player.equipitem xCalM99sup 0 1 ElseIF player.getEquipped xCalM99sup == 1 player.equipitem xCalM99 0 1 ElseIF IsKeyPressed 10 player.equipitem xCalM99 0 1 EndIF ENDIF EndIF
; TacLight Toggle
IF LightSwitch != IsKeyPressed TacLightKey Set LightSwitch to LightSwitch == 0 IF LightSwitch IF ((Player.getEquipped xCalM1014 == 1)&&(Player.IsWeaponOut)) || ((Player.getEquipped xCalM1014ns == 1)&&(Player.IsWeaponOut)) || ((Player.getEquipped xCalAR57Pistol == 1)&&(Player.IsWeaponOut)) IF TacLightOn == 0 SetQuestDelay xCalTLQ .001 TacLightREF.Enable Set TacLightOn to 1 Playsound UIpipboyLightOn Else SetQuestDelay xCalTLQ .1 TacLightREF.Disable Set TacLightOn to 0 Playsound UIpipboyLightOff EndIF EndIF ENDIF EndIF
; TacLight disable on weapon switch
IF (Player.getEquipped xCalM1014 == 1) || (Player.getEquipped xCalM1014ns == 1) || (Player.getEquipped xCalAR57Pistol == 1) ELSEIF (Player.IsWeaponOut)&&(TacLightOn == 1) SetQuestDelay xCalTLQ .1 TacLightREF.Disable Set TacLightOn to 0 Playsound UIpipboyLightOff EndIF
END ;GameMode Block
В написании участвовал сам Erache42. Даже такой олух, как я знает, что это автор XCalibr. Так что уровень, есссно... Но скрипт работает безотказно. Если тебе интересно, можешь сам попробовать, мод xMunition действительно хорош, хотя бы с этй точки зрения... Но в любом случае, хотелось бы знать твою точку зрения касательно моих потуг, в свете всего вышесказанного...
Ipatow, именно такую пренеприятную шнягу в фолле и я предполагал, об этом же меня предупреждали на Нексусе. Говорили, что каждое последующее нажатие горячей клавиши для экипирования оружия с режимами будет сбрасывать назначение клавиши по каждому стволу/режиму. А без горячих клавиш 1-8 всё равно придётся лезть в пип-бой, в таком случае игра вообще не стоит свеч... ОДНАКО!!!! Вот какой эксперимент я провёл: скачал и установил плагин Extended Hotkeys, главная фишка которого в том, что на каждую из восьми горячих клавиш можно байндить по 8 едениц оружия. Далее: затарился тремя многорежимными стволами (тот самый LR300 c подствольником трёх видов. К одному стволу применил режим автомата, к двум другим осколочного и зажигательного гранатомётов, а затем по очереди назначил все три ствола на клавишу 3. Вуаля!!! Каждое нажатие клавиши 3 экипирует по очереди карабин LR300, LR300-гарантомёт с осколочными гранатами, затем с зажигательными. И ничего не сбрасывается, FOSE скрипт плагина никак не затрагивает собственный скрипт оружия... И честное слово, даже не знаю, как это всё понимать: с одной стороны, вроде бы нужный мне скрипт создать невозможно, а с другой стороны, вот сторонний плагин, который худо-бедно делает что-то отдалённо похожее... Не знаю, в тему ли я это сказал, однако ж любопытно, как это всё делается...
Добавлено (20 Декабря 2014, 23:28) --------------------------------------------- Ipatow, помимо описанных мной ранее претензий к фоллу, я задумался вот о чём: существует ли возможность создать вменяемый ребаланс брони для игры??? Странно наблюдать, как трое рейдеров с кусками трубы наперевес забивают насмерть высшего паладина Братства в силовой броне... И вот о чём я подумал:
- предположим, на ГГ надета какая-то броня с СУ равным, скажем, 100; - если броня принимает выстрел с дамагом <=25 (до 25% от текущего СУ брони), то никакого урона ГГ он не наносит (непробитие), броня теряет прочность (износ) втрое меньше от обычного; - если броня принимает выстрел с дамагом от 25 до 50 (25-50% от текущего СУ брони), то никакого урона ГГ он не наносит (непробитие), броня теряет прочность вдвое меньше, чем обычно; - если броня принимает выстрел с дамагом от 40-50 (40-50% от текущего СУ брони), но данное оружие является автоматическим (более 1 выстрела в секунду) то никакого непосредственного урона ГГ он не наносит (непробитие), однако же ГГ получает незначительный "побочный" дамаг "от непогашенного удара", равный, скажем, 0,5 или 1% от общего урона данного оружия (рандомно); - если броня принимает выстрел с дамагом от 50 до 75 ( 50-75% от текущего СУ брони), то ГГ получает незначительный "побочный" дамаг "от непогашенного удара"(непробитие), равный, скажем, 1 или 2% от общего урона данного оружия (к своему стыду должен признаться, что не знаю, по какой формуле рассчитывается урон персу от взаимодействия пуля/броня в фолле); - если броня принимает выстрел с дамагом от 75-100 (75-100% от текущего СУ брони, но не более 100), то никакого непосредственного урона ГГ он не наносит (непробитие), однако же ГГ получает незначительный "побочный" дамаг "от непогашенного удара", равный, скажем, 2 или 4% от общего урона данного оружия (рандомно); - если броня принимает выстрел с дамагом >100 (от текущего СУ брони), то имеет место пробитие, однако же ГГ получает дамаг, равный, скажем, урон-текущий СУ брони-дамадж резист перса(включая перки вроде "алмазный скелет")+ дамаг от "непогашенного удара"+50% от разницы между уроном от выстрела и СУ брони. То есть, если на ГГ броня с СУ 100, а в него хлопнулась убер-пуля, выпущенная из слонобойной вундер-вафли с прописанным уроном в 200, то ГГ должен от первого выстрела хапнуть горя где-то на 25% от прописанного урона оружия; прочность и СУ брони, есссно, сильно понизятся, и уже второй поцелуй нашей убер-пули вполне обоснованно нанесёт 50 или даже более процентов от прописанного урона оружия. Третий, разумеется, выписывает справку в морг.
Это, конечно, весьма примитивная схема, в которой логично смотрятся только процентные соотношения. И тем не менее, такая схема мне кажется более приемлемой для интересного геймплея.
Изменение репутации для пользователя 4STOP97
4STOP97Offline
Сообщение №15
| Тема: Помощь по G.E.C.K.
написано: 21 декабря 2014, 18:46
| Отредактировано: 4STOP97 - 21 декабря 2014, 18:47
Ipatow, я почитал тут кое-что... Мдеее, о чём только беседковые думали... вернее, чем... Но вот что мне посоветовали на нексусе: найти в гекк значения fMaxArmorRatingи fMaxPlayerResistance в GameSettings, и установить выше стандартных значений, затем для брони присваивать энчаты с добавленными эффектами на сопротивление урону или огню... Также, чтобы не увеличивать значения СУ у брони, можно поколдовать с параметрами оружия, например, Weapon Damage Resist. Я и сам как-то заметил, что с установленным Weapon Damage Resist броня неписей реально демпфирует урон. Правда, на ГГ, кажется, этот положительный эффект никак не сказывается...
QuazarX, а у тебя чистый фолл??? У меня тоже чё-то вылетало... А может, у тебя конфиг не поставлен на multiple plugins? Или вот ещё момент - отключить DEP для ГЕКК, потом открыть его экзешник с CFF Explorer и в File Header поставить app can handle > than 2 gb. Не знаю, тот ли это случай, но у меня ГЕКК вылетать перестал. Капризничать капризничает периодически (или это я косячу..?), но уже второй месяц без вылетов.
QuazarX, да брось ты нафиг пока эти топики... У меня вот какая идея появилась - как бы нам, посонам, изменить визуальные эффекты, а? Картина маслом - стоит такой себе мужчинка в силовой броне, жена на него матом орёт и скалкой для теста колотит, зарплату всю до копейки вымогает... И что интересно - лупит деревяшкой по металлу, а из металла кровь фонтанами брызжет... Тупо??? Тупо. А не подскажешь ли мне, как (или где, или чем...) поменять... блин, как это называется... Impact LOD... Impact Data Set... блин, моск наизнанку... Короче - ежели по кожаной броне пулька попадает - то можно бы, скажем, сделать эффект как от попадания по пивной бутылке, такое маленькое облачко... совсем как в жизни - ежели пуля лупит в тело, из одежды выбивает частицы. Ежели по металлической броне - то чтоб как по машинам - искры, скрежет, мать-перемать... Честно, я совершенно не в курсах, с какого конца за шар браться... Одни кричат, что в прожектилях есть add destruction data ( ну, оно то есть, а вот что дальше..?), другие вопят, что где то в ГЕКК (где-то, мля, какая полезная информация...) есть те самые Impact для разного типа поверхностей и структур: для дерева, металла... мяса... В общем, хочу знать твоё просвещённое мнение по поводу моего безумия...
Пишет что что-то не так с системным файлом ntdll.dll Нашел более новую версию, но заменить его не так-то просто, через него работает множество процессов. Да и не знаю стоит ли, сомневаюсь что причина в нем, даже если его побил какой-то вирус ГЕКК крашился на диалогах даже будучи установленным на свежую систему.
Не буду утверждать априори, однако на скрине видно, что в данных об ошибке есть код исключения с0000005... Знаешь, обычно этот код означает какой-нибудь косяк с чтением данных из оперативной памяти, либо ошибку работы памяти... Попробуй продиагностировать память традиционными средствами, также не поленись проверить том на наличие ошибок, возможно, есть проблемы в разделе диска.
Изменение репутации для пользователя 4STOP97
4STOP97Offline
Сообщение №19
| Тема: Помощь по G.E.C.K.
написано: 23 декабря 2014, 18:21
| Отредактировано: 4STOP97 - 23 декабря 2014, 19:27
материал ушибаемого предмета, прописанный в его модели. Вторая - тот самый набор impact-эффектов, назначенный оружию
Ipatow, я не совсем понимаю, где это... или как это... Может, не там смотрю??? Вот я залез в статы оружия и вижу в разделе Impact Data Set значение BallisticImpactDataSet (ну, раз оружие у нас с баллистическим боеприпасом, то всё ок). Потратив ещё пару часов и разжевав упаковку обезболивающего, нахожу (ура, ура!!!!) раздел Impact Data, а в нём - ImpactDataSet. Там, к ещё большей своей радости, нахожу требуемый набор BallisticImpactDataSet. Открываем, смотрим: ага, вот есть земля, трава, дерево, металл, вода, стекло... вот органика жуков, а вот органика коров... нет только для одежды (почему???). В общем, в наборе BallisticImpactDataSet как бы всё необходимое есть... В таком случае, что мешает, скажем, пуле, попав в броню "из металла" вести себя как с металлом, используя прописанный в BallisticImpactDataSet тип BallisticMetalmpact или BallisticMetalHollowImpact??? В разделе Armor нет ни слова о том, из какого материала состоит броня, и потому, видимо, прожектиль и "не знает" во что втыкается - попадает в силовую броню из металла, но в результате брызжет кровь, как из мяса... Но тогда какой вообще смысл во всех этих импактах, если прожектиль их не использует? Или броня не определяется как "объект"???
Ipatow, если я правильно понял, то моя затея с импактами для брони смахивает на ту же затею с останавливающим действием пуль... Окей, суть проблемы и масштабы бедствия я представил (но всё равно подскажи, как найти этот BSFadeNode, ума не приложу, где это, и чем открывается). Тем не менее, есть примеры, когда движки действуют слаженно - например, при стрельбе по роботам - де-юре все роботы являются неписями, а де-факто прожектили всё-таки распознают их как объект и используют нужный тип импакта. Возможно, я слишком наивен в вопросах модостроения (а скорее всего, так и есть, блин...), и пример мой неудачен, однако же такое явление в игре наблюдается. Или дело тут не в материале, а в типе непися, и роботам, как и муравьям, положен именно тот самый импакт... не знаю... К тому же, не нужно отслеживать пряжки и ремешки - достаточно того, каков основной материал брони: кожа или металл, ещё-что-нибудь...
Добавлено (25 Декабря 2014, 00:41) ---------------------------------------------
Цитата КсюXa
У губ твоих конфетный, конфетный вкус. Твой шёпот нежный-нежный разгонит грусть... (эта песня реально зомбирует)
КсюXa, если не секрет, что за произведение??? Наводит странные ощущения... словно уже где-то слышал подобное... Сам по молодости песни писал когда-то... Жене хочу чего-нибудь пикантного состряпать на праздники, а в голову ничего не приходит...
Это не так чтобы необходимо, но для неодушевлённых объектов оно просто уже сделано и работает. Вот висит на стене лопата, предмет самостоятельный, но составной, в модели два блока разного материала: ручка деревянная, совок металлический. Стреляешь в ручку - летят щепки, стреляешь в совок - летят искры.
...и только несчастный Буратино, тщетно отбивающийся от дятлов, при попаданиях в самые различные части тела издавал однообразный глухой стук, и скупо ронял на пол опилки...
Неееет, мне вполне хватило бы и самого простого варианта. Сделать хотя бы так, а уж потом скакать от результата...
Добавлено (27 Декабря 2014, 23:13) --------------------------------------------- Братцы, караул, спасите... Открыл туториал Nifscope, по ссылке... а тама половина скринов уже недоступна, нихрена не понятно, на какие педали давить... Если у кого-ндь завалялся туториал для чайников, плиииззззз... И ребята, простой вопрос в лоб: можно ли в Гекк изменить Animation type для холодного оружия??? сделал двуручный меч как одноручный... а правая рука, зараза, держит рукоять в том месте, где была левая, то есть не у самой гарды, а практически за конец рукояти... полный облом... и за спину повесить, как двуручный, тож не можна...
Galko, солнышко ты наше ясное, на тя уповаю... Я вполне серьёзно... С ужасом обнаружил, что ГЕКК совершенно не воспринимает мои попытки редактировать скрипты - любая попытка изменить в действующих скриптах хотя бы цифру (IsKeyPressed 44 вместо IsKeyPressed 46) приводит к отказу редактора сохранять вообще что бы то ни было, выдавая каждый раз Syntax Error: Unknown Command "IsKeyPressed". Но никакой ошибки ведь нет!!! Гугл говорит, что ГЕКК просто не работает в одной упряжке с FOSE и потому тупо не понимает, что такое IsKeyPressed. Как же заставить эту сволочь работать?????? Через командную строку не выходит - то ли я что-то упускаю, то ли по причине 64-разрядной системы. Прописал в ярлыке фоськи "...fose_loader.exe" "-GECK.exe" - настройки ярлыка сохраняются, но ничего не запускает, кроме очередного облома под названием Couldn`t Read Arguments... Я читал о твоём монументальном труде для для модостроителей... потому на тя и уповаю...
Римайер, даже не знаю, с чего начать... Когда обнаружил, что ГЕКК не редактирует скрипты, и не узнаёт их, погуглил и на оф. сайте FOSE прочитал, что обычно редактор с экстендером просто не пашут - нужно либо через командную строку знакомить, либо лепить ярлык фоськи и писать в нём "...fose_loader.exe" "-GECK.exe". Вот тогда, мол, и будет щастье... Облом - либо командная строка пишет "Couldn`t inject dll", либо, ежели через ярлык, "Сouldn`t read arguments". Попробовал через Исправление неполадок Совместимости - вылетало окно командной строки и писало, что не может найти файл C:\Windows\System 32\fallout3ng.exe, а вслед выпрыгивает месседж бокс с другой новостью: дескать, тоже не могёт найти файл C:\Windows\System 32\fallout3ng.exe и я должен убедиться, что запускаю прогу именно из той же директории, что содержит игру... Потом как-то выскочило ещё окошко, типа, fallout3ng.exe должон быть исчо и в папке С:\Program Files x86\Bethesda Softworks бла бла бла... Но я никогда не ставлю игрушки на системный диск, это закон. В общем, фолл я переустановил. И опять же, никакого fallout3ng.exe я нигде не нашёл. Какого хрена от меня хочет эта дрянь, я не понимаю. Игра идёт. моды работают, а script editor в ГЕКК - нет. И снова те же шишки: не может найти файл C:\Windows\System 32\fallout3ng.exe, "Couldn`t inject dll" и "Сouldn`t read arguments". Я в тихом отчаянии... Где мне взять этот поганый fallout3ng.exe, если нет его, и скачать неоткуда... Что делать, в кого стрелять... У кого попросить этот поганый fallout3ng.exe... если он вообще у кого-то есть...
Изменение репутации для пользователя 4STOP97
4STOP97Offline
Сообщение №24
| Тема: Помощь по моддингу
написано: 6 января 2015, 21:24
| Отредактировано: 4STOP97 - 6 января 2015, 21:05
Добавлено (07 Января 2015, 00:05) --------------------------------------------- QuazarX, спасибо за поддержку... Кажись, решил я проблему... Не совсем уверен, что понял, в чём была заковыка... В общем, моё мнение таково, что многое зависит не от системы и железа, а от версии игры и/или сборки. Одинаковых даже дисков нет - я купил диск ещё в 2011-ом на распродаже, причём не уверен, что диск лицензионный. Скорее всего, половина из нас гоняет перетасканные с лицензии пиратки. Опытным путём установил, что для GOTY лучше всего подходит именно скачанная мной последняя версия FOSE с пропатченным для совместимости лоудером, а не скомпилированная под NVSE (именно я её гонял раньше, так как стандартная 1 бета 2 не совместима с GOTY. Это первое. Второе - ГЕКК лучше всего устанавливать, а не копировать, я скачал с Нексуса, сам пропатчил, несмотря на якобы версию 1.5... Третье - ГЕКК должен называться GECK.exe, а не как-то иначе, как иногда бывает с некоторыми его версиями, скачанными чёрти знает откуда. И ещё - сам ГЕКК, фоська, фолловский екзешник - должны быть включены с список исключений для DEP и правил брандмауэра.
Добавлено (07 Января 2015, 00:24) ---------------------------------------------
Цитата QuazarX
4STOP97, а до этого ты ГЕКК+ФОСЕ когда-нибудь запускал, или это у тебя первый пробный запуск?
Нет, ГЕКК я начал пробовать буквально полтора месяц ил два назад, многое из элементарного не понимаю... Не знаю даже, например, логической структуры. Например, если я залез в Fallout3.esm, и подкрутил, скажем, OneCrippledLegMult, сохранил новый плагин, подключил... и чё, теперь созданный мной плагин с новым значением OneCrippledLegMult будет "override" значение OneCrippledLegMult в мастер-плагине? Теперь в игре будет тот OneCrippledLegMult, которій я накорябал??? Или, к примеру, если в MMM RC 6 для гулей и мутов значения Body Part несколько иные, чем в Fallout3.esm, то будет актуальным который? оригинальный, или же MMM RC 6 перепишет новые значения???? В общем, тихо шифером шурша...
QuazarX, у меня такой вопрос... в общем, до самостоятельного ваяния модов мне как на садовой скамейке до Луны лететь... Пока ковыряю чужие шедевры, принюхиваюсь... Вот что любопытно: отчего некоторые esp после совершенно незначительных изменений не позволяют игре загружаться??? Просто я хочу знать, что делать можно, а чего делать не рекомендуется... Пример: оружейный мод xMunitions Shop. Состоит из двух плагинов - xCalibrMunitions и xCalibrMunitions_Fose Enhancements, работают только при наличии xCalibr, и скорее всего, завязаны на xCalibr.esm. Редактировать данный мод можно лишь частично - загружать в ГЕКК и работать можно только с xCalibrMunitions.esp, а попытка изменить что-либо в xCalibrMunitions_Fose Enhancements.esp приводит к тому, что после сохранения изменений фолл даже меню игры не выводит, нет и курсора... Что любопытно: в обоих esp есть и одинаковые модели оружия, и связанные с ними скрипты. Но в xCalibrMunitions_Fose Enhancements.esp имеются такие скрипты, которых нет в первом esp. И если не трогать скрипты, а просто как-то изменить в xCalibrMunitions_Fose Enhancements.esp статы оружия, например, навесить эффект какой, или вес поправить, разброс - да неважно что - и потом сохранить, то, как я уже говорил, фолл просто застынет не дойдя до меню. Если что-то менять только в xCalibrMunitions.esp, то вот как происходит: несмотря на то, что изменяю статы всего оружия и предметов, в игре эти новые статы появляются лишь у части оружия и предметов. И это очень неудобно, поскольку во избежание конфликтов с назначением горячих клавиш в других модах нужно немного подправлять скрипты. И, если можно, второй вопрос: хочу всё-таки состряпать своё блюдо, пусть даже из чужих кусков... Тема: есть мод Reinforced Chinese Stealth Armor, автор, кажется, Gaijune aka Shake... Модец и сейчас на Нексусе есть... Выглядит бронька отлично, четыре варианта, два варианта шлемов, армор аддоны привешиваются: силовой барьер, накопитель, пнв. Есть интересные эффекты: жмёшь на С - стелс режим врубается, жмёшь на N - пнв режим... Но мне этого мало. Хочу замутить в скрипте дополнительные фичи... Во-первых, не знаю,как это называется... когда в инвентаре появляется какой-ндь конфигуратор, жмёшь - и вылетает менюшка назначения горячих клавиш для включения эффектов и всё такое. Далее: изменение скрипта для добавления таких режимов, как ускоренный бег, увеличенная сопротивляемость урону, увеличение крит.шанса... Позаимствовать хочу часть скрипта из мода Reflex Power Armor. Но, допустим, провожусь я полгода и скрипт таки сваляю... Как делать менюшки конфигуратора???
Изменение репутации для пользователя 4STOP97
4STOP97Offline
Сообщение №26
| Тема: Помощь по моддингу
написано: 8 января 2015, 15:52
| Отредактировано: 4STOP97 - 8 января 2015, 17:18
QuazarX, спасибо, обязательно изучу. А пока, если можешь, покажи один фокус. Вот скрипт из мода Coyote Reflex Power Armor. Фишка ту в чём: апгрейдишь броню нужными запчастями, и можно разные дополнительные режимы врубать. Например, невидимость. Но стелс-поле включить можно только через пип-бой, потом отжать строку меню в конфигураторе... Не поможешь ли изменить??? Допустим, сделать стелс-режим на клавишу =. Проблема ещё в том, что я не знаю таблицу символов в экстендере (знаю лишь, что 44 - это Z, 45 - это Х, а 46 - C...). Для информации: если надеть эту броньку и шелом, нажать 0 (ноль), то включится режим ночного зрения, а если нажать - (тире/минус), то скорость бега удвоится. Вот и для стелса хаааааачу, не мааагу... Ну, примерно так чтоб: If IsKeyPressed = (равно) set что-то там... и бах - я невидим... и чтоб action points не жралло... Зацени скрипт:
ScriptName NAPASuit
short SuitActive short Key
short item1 short item2 short item3 short item4
float Health short menuLevel short button1 short button2 short button3 short button4 short button5
Begin OnEquip Player player.UnequipItem PipBoyGlove 0 1 player.AddItem ArmorNAPAToggle 1 1 тут, видимо, всё же не IsKeyPressed, другое- нажал - (минус) и меняется fJumpFallHeightMin и проч. в GameSetting... con_SetGameSetting fJumpFallHeightMin 8000 но что это за значения - 8000??? по стандарту вроде 64... или это минимальная высота, с которой можно навернуться без con_SetGameSetting fJumpHeightMin 110 потери страховки? или... блин...
if ( player.gethasnote NAPArmorNoteCloak == 1 ) и вот смотри: вроде как обращение то ли к эффету, то ли к предмету - а в ГЕКК в разделе Armor мне показыват, что player.AddItem ArmorNAPACloak 1 1 есть такой предмет NAPACloak... может, это больше к нему??? имеются в инвентаре нужные запчасти, указанные в player.EquipItem ArmorNAPACloak 0 1 заметке - нажал upgrade в конфигураторе, и на тебе тот самый девайс который тебя будет Cloak по полной программе... endif только не понятно, в чём смысл ArmorNAPACloak 1 1 и ArmorNAPACloak 0 1 ?
con_SetGameSetting fJumpFallHeightMin 600 con_SetGameSetting fJumpHeightMin 64 End
Begin GameMode set Health to player.GetEquippedCurrentHealth 2
if player.HasMagicEffect NAPAOverdriveEffect == 0 и вот типа мы наш овердрайвовый девайс надыбали, он на нас наделся (а не мы на него), то... то у нас овердрайвовый if ( Player.GetEquipped ArmorNAPA == 1 ) эффект, да? а почему тогда ноль? if (IsKeyPressed 12 != Key) а это как понимать? если нажать клавишу 12, set Key to IsKeyPressed 12 то установить, что на клавишу 12 нажали? масло масляное? if (Key) else и исчо if (SuitActive == 0) ежели костюмчик в пассиве (0) set SuitActive to 1 то взбодрить его и сделать активным (1)? или это означает нажать клавишу 0, и тогда уж из пассивных в активные? else set SuitActive to 0 и таким же макаром из активных в пассив списывают? endif endif endif endif endif
if (SuitActive) && (NAPASuitEffect == 0) шо то непонятное... как будто это не броня ускоряет меня, а я player.AddItem ArmorNAPASpeed 1 1 1) добавил себе ускоренную броню, player.EquipItem ArmorNAPASpeed 0 1 2) потом надел ускоренную броню, playsound WPNMineArm 3) оркестр, тушь!!! set NAPASuitEffect to 1 4) и охренел с того, какой я теперь шустрый парень... endif Неужели вся эта муть таак необходима??? или там, вначале, con_SetGameSetting был для того, чтобы описать, как именно if (NAPASuitEffect) работает NAPASuitEffect??? if (SuitActive == 0) player.UnEquipItem ArmorNAPASpeed 0 1 player.RemoveItem ArmorNAPASpeed 1 1 playsound WPNMineDisarm set NAPASuitEffect to 0 endif endif End
Begin MenuMode if NAPAConfiguration == 1 ; Checks to see whether the program is activated Я БАЛДЕЮ... if menuLevel == 0 ; Main menu, like it says above ShowMessage NAPAMainMenu set menuLevel to 1 set button1 to -1 endif endif
if menuLevel == 1
if button1 == -1 set button1 to GetButtonPressed endif
if button1 == -1 return elseif button1 == 0 ShowMessage NAPA1 set menuLevel to 2 set button2 to -1 elseif button1 == 1 ShowMessage NAPA2 set menuLevel to 3 set button3 to -1 elseif button1 == 2 ShowMessage NAPA3 set menuLevel to 5 set button5 to -1 set NAPAConfiguration to 0 elseif button1 == 3 set menuLevel to 0 set NAPAConfiguration to 0 endif
endif
if menuLevel == 2
if button2 == -1 set button2 to GetButtonPressed endif
if button2 == -1 return elseif button2 == 0 ShowMessage NAPA1A1 player.AddItem ArmorNAPAHelmNV 1 1 player.EquipItem ArmorNAPAHelmNV 0 1 set menuLevel to 0 set button1 to -1 set NAPAConfiguration to 0 elseif button2 == 1 ShowMessage NAPA1A2 player.UnEquipItem ArmorNAPAHelmNV 0 1 player.RemoveItem ArmorNAPAHelmNV 1 1 set menuLevel to 0 set button1 to -1 set NAPAConfiguration to 0 elseif button2 == 2 ShowMessage NAPAMainMenu set menuLevel to 1 set button1 to -1 elseif button2 == 3 set menuLevel to 0 set button1 to -1 set NAPAConfiguration to 0 return endif endif
if menuLevel == 3
if button3 == -1 set button3 to GetButtonPressed endif
if button3 == -1 return elseif button3 == 0 ShowMessage NAPA2A1 player.AddItem ArmorNAPASpeed 1 1 player.EquipItem ArmorNAPASpeed 0 1 set menuLevel to 0 set button1 to -1 set NAPAConfiguration to 0 elseif button3 == 1 ShowMessage NAPA2A2 player.UnEquipItem ArmorNAPASpeed 0 1 player.RemoveItem ArmorNAPASpeed 1 1 set menuLevel to 0 set button1 to -1 set NAPAConfiguration to 0 elseif button3 == 2 ShowMessage NAPA2B1 player.addspell NAPACloak playsound OBJStealthBoyActivate playsound UIHackingPassGood set menuLevel to 0 set button1 to -1 set NAPAConfiguration to 0 elseif button3 == 3 ShowMessage NAPA2B2 player.removespell NAPACloak playsound QSTRelayFix playsound UIHackingPassGood con_SetGameSetting FSneakBaseValue -25 con_SetGameSetting fActionPointsRestoreRate, 4 con_SetGameSetting FSneakLostMin -20 con_SetGameSetting fSneakUnseenMin 0 con_SetGameSetting fSneakSeenMin 0 con_SetGameSetting FSneakSoundsMult 1.6 con_SetGameSetting FSneakLightMult 1.4 con_SetGameSetting FSneakRunningMult 1.5
set menuLevel to 0 set button1 to -1 set NAPAConfiguration to 0 elseif button3 == 4 ShowMessage NAPA4 set menuLevel to 4 set button4 to -1 set NAPAConfiguration to 0 elseif button3 == 5 ShowMessage NAPAMainMenu set menuLevel to 1 set button1 to -1 elseif button3 == 6 set menuLevel to 0 set button1 to -1 set NAPAConfiguration to 0 return endif endif
if menuLevel == 4
if button4 == -1 set button4 to GetButtonPressed endif
if button4 == -1 return elseif button4 == 0 set menuLevel to 4 set button4 to -1 if player.HasPerk MS08RewardPerk == 0 if ( player.GetItemCount Jet > 1 ) && ( player.GetItemCount Psycho > 0 ) && ( player.GetItemCount Morphine > 2 ) && ( player.GetItemCount FissionBattery > 0 ) player.RemoveItem Jet 2 1 player.RemoveItem Psycho 1 1 player.RemoveItem Morphine 3 1 player.RemoveItem FissionBattery 1 1 player.AddItem NAPAODCharge 1 0 ShowMessage NAPA4 set menuLevel to 4 set button4 to -1 else set item1 to player.GetItemCount Jet set item2 to player.GetItemCount Psycho set item3 to player.GetItemCount Morphine set item4 to player.GetItemCount FissionBattery showMessage NAPAODChargeFail, item1, item2, item3, item4 set menuLevel to 0 set button1 to -1 set NAPAConfiguration to 0 endif else if ( player.GetItemCount Morphine > 1 ) && ( player.GetItemCount FissionBattery > 0 ) player.RemoveItem Morphine 2 1 player.RemoveItem FissionBattery 1 1 player.AddItem NAPAODCharge 1 0 ShowMessage NAPA4 set menuLevel to 4 set button4 to -1 else set item1 to player.GetItemCount Morphine set item2 to player.GetItemCount FissionBattery showMessage NAPAODChargeFailB, item1, item2 set menuLevel to 0 set button1 to -1 set NAPAConfiguration to 0 endif endif
elseif button4 == 1 set menuLevel to 0 set button1 to -1 set NAPAConfiguration to 0 if (Health > 200) if ( Player.GetEquipped ArmorNAPA == 1 ) && ( Player.GetEquipped ArmorNAPAHelm == 1 ) if ( player.GetItemCount NAPAODCharge> 0 ) player.RemoveItem NAPAODCharge 1 1 ShowMessage NAPA2C player.removespell NAPAOverdrive player.addspell NAPAOverdrive playsound OBJMainframeBoot
elseif button4 == 2 ShowMessage NAPAMainMenu set menuLevel to 1 set button1 to -1 elseif button4 == 3 set menuLevel to 0 set button1 to -1 set NAPAConfiguration to 0 return endif endif
if menuLevel == 5
if button5 == -1 set button5 to GetButtonPressed endif
if button5 == -1 return elseif button5 == 0 if ( player.GetItemCount StealthBoy > 3 ) && ( player.GetItemCount Conductor > 0 ) && ( player.GetItemCount SensorModule> 1 ) && ( player.GetItemCount AmmoElectronChargePack > 29 ) player.RemoveItem StealthBoy 4 1 player.RemoveItem Conductor 1 1 player.RemoveItem SensorModule 2 1 player.RemoveItem AmmoElectronChargePack 30 1 player.AddItem NAPArmorNoteCloak 1 0 player.AddItem ArmorNAPACloak 1 1 player.EquipItem ArmorNAPACloak 0 1 playsound OBJPlanetariumProjectorPitch set NAPAUpgradeCount to NAPAUpgradeCount + 1 set menuLevel to 0 set button1 to -1 set NAPAConfiguration to 0 else set item1 to player.GetItemCount StealthBoy set item2 to player.GetItemCount Conductor set item3 to player.GetItemCount SensorModule set item4 to player.GetItemCount AmmoElectronChargePack showMessage NAPACloakFail, item1, item2, item3, item4 set menuLevel to 0 set button1 to -1 set NAPAConfiguration to 0 endif elseif button5 == 1 if ( player.GetItemCount MS08AndroidComponent > 0 ) && ( player.GetItemCount ArmorRecon > 0 ) && ( player.GetItemCount Conductor > 3 ) player.RemoveItem MS08AndroidComponent 1 1 player.RemoveItem ArmorRecon 1 1 player.RemoveItem Conductor 4 1 player.AddItem NAPArmorNoteOverdrive 1 0 player.AddItem ArmorNAPAOD 1 1 player.EquipItem ArmorNAPAOD 0 1 playsound OBJPlanetariumProjectorYaw set NAPAUpgradeCount to NAPAUpgradeCount + 1 set menuLevel to 0 set button1 to -1 set NAPAConfiguration to 0 else set item1 to player.GetItemCount MS08AndroidComponent set item2 to player.GetItemCount ArmorRecon set item3 to player.GetItemCount Conductor showMessage NAPAOverdriveFail, item1, item2, item3 set menuLevel to 0 set button1 to -1 set NAPAConfiguration to 0 endif elseif button5 == 2 ShowMessage NAPAMainMenu set menuLevel to 1 set button1 to -1 elseif button5 == 3 set menuLevel to 0 set button1 to -1 set NAPAConfiguration to 0 return endif endif
End
В принципе, тут главное, чтоб назначить режиму невидимости включение/выключение через клавишу, а не через всю эту байду с пип-боем, потом с меню конфигуратора... Ну, как-то так... Блин, снова башка разболелась, довёл меня этот скрипт до белого каления, а я ещё даже не начал... гадство...
Изменение репутации для пользователя 4STOP97
4STOP97Offline
Сообщение №27
| Тема: Помощь по моддингу
написано: 8 января 2015, 17:16
| Отредактировано: 4STOP97 - 8 января 2015, 17:22
Добавлено (08 Января 2015, 20:16) --------------------------------------------- BigBadBoss, а как? Кого убить? АААААА... Вот оно чё... смотри-ка, кнопочка... Спасибо, мужики...
Изменение репутации для пользователя 4STOP97
4STOP97Offline
Сообщение №28
| Тема: Помощь по моддингу
написано: 8 января 2015, 20:11
| Отредактировано: 4STOP97 - 8 января 2015, 20:22
Ipatow, ты всё правильно сказал... это я смотрел не тем местом... Приведённый выше скрипт навешен на саму только броню в "основном варианте", и насколько я могу судить, является как бы общим управляющим элементом. В разделе Armor вся броня состоит из нескольких элементов: шлем, шлем-визор ПНВ (при активации пнв текстуры шлема слегка изменяются), сама броня, генератор стелса, вид брони с активацией и вид без активации овердрайва, вид брони с активированным ускорением бега. Мне трудно судить заранее, в чём тут суть, однако же в исполнении видна... небрежность, что ли... Например у элементов брони, как генератор стелса, есть свой скрипт:
СпойлерScriptName NAPACloakScript Float timerFloat Health а причём тут здоровье? Begin ScriptEffectUpdate if (player.getav ActionPoints >= 0) && player.HasMagicEffect NAPAOverdriveEffect == 0 if (timer >=1) if player.IsSneaking == 1 && player.isMoving == 1 player.damageav ActionPoints 1 elseif player.isMoving == 1 && player.isRunning == 0 player.damageav ActionPoints 2 elseif player.IsRunning ==1 player.damageav ActionPoints 4 else player.damageav ActionPoints 0.5тут, оно, видимо, определяет, сколько ОД сожрать... при прочих
endif con_SetGameSetting FSneakBaseValue -500тут вообще непонятно... con_SetGameSetting fActionPointsRestoreRate, 0 con_SetGameSetting FSneakLostMin -500 con_SetGameSetting fSneakUnseenMin 500 con_SetGameSetting fSneakSeenMin 500 con_SetGameSetting FSneakSoundsMult 0.2 con_SetGameSetting FSneakLightMult 0.3 con_SetGameSetting FSneakRunningMult 0 set Timer to 0 else set timer to timer + GetSecondsPassedкакой-то будильник, но зачем, если продолжительность стелса зависит от количества ОД???
endifelse player.removespell NAPACloakтут вроде бы описаны эффекты моего чувства глубокого разочарования, когда стелс сожрёт все ОД... player.PMS pulseDisableFXShaderбез этих гнусных подробностей никак не обойтись??? playsound FXExplosionRobotBuzz con_SetGameSetting FSneakBaseValue -25 con_SetGameSetting fActionPointsRestoreRate,4 con_SetGameSetting FSneakLostMin -20 con_SetGameSetting fSneakUnseenMin 0 con_SetGameSetting fSneakSeenMin 0 con_SetGameSetting FSneakSoundsMult 1.6 con_SetGameSetting FSneakLightMult 1.4 con_SetGameSetting FSneakRunningMult 1.5 player.SMS pulseDisableFXShader
endif
End
Но вот что странно - скрипт не прикреплён к устройству - в разделе Armor я открыл свойства Клоаки и обнаружил окошки Script и Object Effect пустыми... На мой взгляд, это не совсем нормально... Тем паче, что Object Effect у устройства отсутствует, а вот Base Effect имеется... Но стелс работает. Страшное неудобство в том, что мгновенно съедает ОД и включается через Пип-Бой и менюшку конфигуратора (причём не выключается, пока не сожрёт все ОД). Нелепость ситуации ещё в том, что для пнв и ускоренного бега есть клавиши включения/выключения, 0 и -, а вот за стелсом и овердрайвом нужно лезть в пип-бой... Чего хотелось бы мне? Что-нибудь дёшево и сердито, как в Reinforced Chinese Stealth Armor:
Спойлерscn aa3EFdrgsscript
float timer; short refresh;
begin GameMode if refresh == 0 if timer < .5 set timer to timer + GetSecondsPassed; else set timer to 0; set refresh to 1; endif else if IsKeyPressed 44 попал пальнем по клавише Z - и уррраааа!!! if aadrgplatesf == 0 set aadrgplatesf to 1; но вот что это такое - даже с бутылкой не смог разобрать... else set aadrgplatesf to 0; endif set refresh to 0; endif endif
end
Но у этой брони, вернее, у этого стелса есть срьёзная вава - неписи не видят перса только если он стоит или передвигается в десятке метров поодаль. Это либо недостаток скрипта, описывающего сам эффект стелса, либо что-то не учтено. Однако удобство применения налицо.
господа, проявите минутку терпения, плиз... я почему-то не могу вспомнить, как выполнить квест на станции Сатком... не выходит никак попасть в нужную башню, что только не перепробовал... консоль не хочу трогать принципиально...
На самый верх, и дальше по деревянному мостику с антенны на антенну. И заметьте, это не я его туда поставил, он там всегда был.
Спасибо, что напомнили, но проблема не в мостике... моя идиотская привычка устанавливать моды через FOMM... которая частенько приводит к повреждению архивов текстур и многим другим неприятным вещам... в общем мостика не оказалось, но после ремонта он там появился... Гм... если позволите, хотел бы задать вопрос, который, возможно, покажется несколько (или совсем) не в тему... Вы ещё обращаете внимание на аддон "Северные Территории"?