Прежде чем задавать вопрос - посмотрите в >> КАРТОТЕКЕ << Возможно, там уже есть готовый ответ.
Тема предназначена для общих вопросов. Прежде, чем тут что-то написать, посмотрите другие темы этого раздела. Вполне возможно, что они больше соответствуют тематике вашего вопроса.
Приветствую! Можете подсказать, в каких случаях у кричера может быть здоровья больше, чем у подобного кричера, с еще большим параметром Health? Пример - есть 2 гуля (бродяга и светящийся), у одного Health = 400, у другого 440. Level у первого 15, у второго 18. Флаги стоят только Walks, Respawn, No Low Level Processing, у обоих одинаковые. А в игре получается, что у светящегося 440 HP (или около того), а у бродяги - превышает 3000. Собственно вопрос - куда глядеть и что крутить в редакторе? Спасибо.
Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
YikxX, ну не зная всех подробностей, могу для начала в целом обрисовать
1. у кричеров может стоять отмеченным разное тут: "умножать на уровень игрока", т.о. встретив в разное в ремя и с разным уровнем одного кричера имееем разный нр.
2. Зона столкновений имеет для 1 пункта определяющее значение, зона может быть присвоена к той локе где были встречи. В зоне выставляется пороги с каким уровнем родится кричер.
3. В мире ты мог столкнуться, с кричером который был основан на базовом шаблонном кричере, но иметь другие установки(НР, ефекты и др.), нужно в Гекке смотреть где столкнулся с каким кричером и проследить "родословную".
есть 2 гуля (бродяга и светящийся), у одного Health = 400, у другого 440. Level у первого 15, у второго 18. Флаги стоят только Walks, Respawn, No Low Level Processing, у обоих одинаковые. А в игре получается, что у светящегося 440 HP (или около того), а у бродяги - превышает 3000.
Мне кажется, описаны не совсем стандартные существа из игры, и параметры указаны приблизительные... А детали там бывают важны. Было бы намного определённее, если бы ты показал что-нибудь наподобие...
(серое это мне было лень отключать лишние моды, к делу не относится) SetConsoleOutputFilename >> 'Ghoul.txt' PlaceAtMe 9FAFB Дикий гуль - бродяга radiation level is 0.00 Дикий гуль - бродяга radiation level is 0.00 PRID FF0012E0 SetUnconscious 1 [GUN] Дикий гуль - бродяга [FF0012E0] got effect GetAVInfo Health GetActorValueInfo: Health on Дикий гуль - бродяга ...Current Value: 80.00 Computed Base: 80.00 ...Base Value components: ......Reference Base Value: 80.00 (creature) ......Derived Value: 0.00 (Ignored) ...Modifiers: Temp: 0.00 Perm: 0.00 Damage: 0.00 PlaceAtMe 1CF7B Светящийся гуль radiation level is 0.00 Светящийся гуль radiation level is 0.00 [GUN] Светящийся гуль [FF0012E4] got effect [GUN] Финн [09000802] change: [00000000] -> Пневматическое ружье [00004323] [GUN] Финн [09000802] shoots Пневматическое ружье [00004323], has 34 ammo and 4 clips [GUN] Финн [09000802] got clip for Пневматическое ружье [00004323]; ammo: 134, spare clips: 3 [Waifs] Алиша [09000801] OnStartCombat, leash 0 [Waifs] Алиша [09000801] leash set, calling SetStage QJ13WaifsQuest 1 [Waifs] SetStage 1 (count 0) PRID FF0012E4 SetUnconscious 1 GetAVInfo Health GetActorValueInfo: Health on Светящийся гуль ...Current Value: 234.88 Computed Base: 240.00 ...Base Value components: ......Reference Base Value: 240.00 (creature) ......Derived Value: 0.00 (Ignored) ...Modifiers: Temp: 0.00 Perm: 0.00 Damage: -5.12 qqq Bye.
Рабочая версия решения твоей загадки - мобы переменного левела начиная с некоторого прекрасного момента жизнь на уровень стали умножать, вот и получаются толстые тысячи.
описаны не совсем стандартные существа из игры, и параметры указаны приблизительные...
Да, нестандартные, но параметры указаны из редактора 1 в 1. Успел сделать только такой скрин, ибо после этого команда PlaceAtMe напрочь перестала работать, требуя референс. Перезагрузка игры не помогла
Shtuka, не используется там Level Mult, я же все флаги перечислил в первом своем посте. По пункту 2 и 3 вообще не понял, что ты имеешь в виду и где это смотреть Что моды? Кричер сам из мода, думаешь еще какой-то мод ему HP мультит? А почему другим не мультит, тому же светящемуся, например?
Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
Про п.2, я просто хотел выяснить твои существа абсолютно везде имеют неправильный НР, или в определенной локе. Зона столкновений. Про п.3, рефы существ расположенные в мире, могут базироваться на существе, оно на другом и т.д. Хотел выяснить что реф существо основанно без "посредников", вот и все .
А моды могут разное творить, с существами из других модов, специально или зацепом, потому и спрашиваю, на "чистую" игру твое существо проверялось?
Короче, я слепошарый склеротик, забыл, что у мода 2 файла. Во 2-м как раз прописан Level Mult этому бродяге. Но вот откуда 4800 я так и не понял
Добавлено (24 Марта 2018, 15:30) --------------------------------------------- Есть ли какая-нибудь формула для вычисления этого мульта и какие поля на скриншоте в этом задействованы?
Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
Успел сделать только такой скрин, ибо после этого команда PlaceAtMe напрочь перестала работать, требуя референс.
Включение журнала в игре вредное, поскольку запускается функция только по короткому имени (SCOF), а в сам лог пишет длинное имя. Для функций с синтаксисом как у PlaceAtMe нужно или явно указывать референс (e.g. Player.PlaceAtMe FormID [number etc.]), или выбирать текущий референс функцией PickRefByID/PRID, или хоть мышкой в какой-то референс ткнуть...
По крайней мере стало видно, что столько жизни это базовое, а не результат ModAV... Но явно ведь умножение сработало. Если невооружённым глазом фраг PC Level Mult не виден, надо искать, кто и когда его включает.
формула получается "Уровень игрока * поле Level Mult * базовое HP кричера"?
Когда у моба переменный уровень, получается "УровеньМоба * БазовоеЗдоровьеМоба", а уровень моба при этом получается вообще-то из уровня ГГ, но с поправкой на Calc Min и Calc Max.
Добавлено (24 Марта 2018, 15:48) --------------------------------------------- ApeX, чё? У меня всегда с математикой плохо было. Я же не виноват, что 30 * 0.4 * 400 = 4800
Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
Те, что зелененькие справа, перезаписывают левые значения и левые ставновятся желтенькими или красненькими, в зависимости от тяжести последствий и оно го.
Изменение репутации для пользователя YikxX
YikxXOffline
Сообщение №5808
написано: 24 марта 2018, 13:08
| Отредактировано: YikxX - 24 марта 2018, 13:10
ApeX, Не, ну серьезно, как сделать, чтобы было фиксированно (хотя бы примерно, плюс-минус), скажем у гуля обычного HP игрока * 1,25, у бродяги * 1,5 у светящегося * 2. Или это в принципе невозможно?
Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
как сделать, чтобы было фиксированно (хотя бы примерно, плюс-минус), скажем у гуля обычного HP игрока * 1,25, у бродяги * 1,5 у светящегося * 2. Или это в принципе невозможно?
Если мы хотим, чтобы у кричи уровень был переменный (мало ли зачем), но количество жизни у её экземпляров было A + (B * уровень), то в качестве номинальной жизни мы дадим криче только B, а основное A выдадим в виде способности с AV-эффектом "плюсжизнь".
Ipatow, то есть берем эффект "плюсжизнь" (какой у него FormID, кстати) и вешаем на кричера с кондишенами, проверяющими уровень игрока, так? Например, уровень > 10 - +200 к базовой жизни, > 20 - +400 к базовой жизни. Значения после плюса варьируются, в зависимости от НР подобных существ в оригинале, т.е. у обычного гуля плюсы будут совсем небольшие, а вот у светящегося - уже намного весомее. Но писать подобные эффекты под всех сильных и страшных по ЛОРу существ в моде (а их там с десяток наберется, а то и больше) - ну такое себе. Поэтому я и спросил, как это реализовать через "процедуру" Level Mult и связанные с ней поля, ибо это в разы проще. Я, конечно, сейчас полезу проверять выведенную мною формулу, что-то мне подсказывает, что именно так HP кричера и считается (ну не бывает таких совпадений ), но просто хотелось бы на это времени потратить поменьше. Но, видимо не судьба - моддинг такой моддинг.
Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
то есть берем эффект "плюсжизнь" (какой у него FormID, кстати) и вешаем на кричера с кондишенами, проверяющими уровень игрока, так? Например, уровень > 10 - +200 к базовой жизни, > 20 - +400 к базовой жизни. Значения после плюса варьируются, в зависимости от НР подобных существ в оригинале, т.е. у обычного гуля плюсы будут совсем небольшие, а вот у светящегося - уже намного весомее. Но писать подобные эффекты под всех сильных и страшных по ЛОРу существ в моде (а их там с десяток наберется, а то и больше) - ну такое себе. Поэтому я и спросил, как это реализовать через "процедуру" Level Mult и связанные с ней поля, ибо это в разы проще.
Не особенно важно, какой там у стандартного маг.эффекта повышения здоровья FormID, да их может быть и несколько стандартных. Никто не мешает сделать собственный эффект по образцу всех этих стандартных плюс-что-то и минус-что-то - их на всякий случай куча там прописана ради алхимии (кулинарии, допингов т.п.) и энчантов, даже не все используются. Всё равно способность делать, почему бы и эффект рядом не изготовить. Эффекты с архетипом Actor Value простейшие, а поскольку размер поправки указывается при вписывании эффекта в способность, эффект тебе нужен ровно один.
Стандартная механика игры допускает только один вид переменного здоровья, и оно привязано к переменному уровню существа. Если тебе надо точно привязаться к уровню ГГ - ставишь флаг PC Level Mult, множитель левела устанавливаешь в единицу, не ставишь верхний-нижний предел, и получаешь моба, уровень которого равен уровню ГГ. Номинальное здоровье существ всегда прямо пропорционально их уровню. Если тебя устраивает, что твой гуль при 20 уровне ГГ ровно в два раза толще твоего гуля при ГГ 10 уровня и в 10 раз толше твоего гуля у ГГ 2 уровня, то именно это и делает стандартный механизм.
Я предложил менее радикальный вариант, в котором толщина гуля с уровнем растёт, но не в десятки раз. Если способностью дать гулю, допустим, 400 ОЗ, одновременно прописав номинальное умножающееся здоровье в 5 ОЗ, на первом уровне ГГ это будет гуль толщиной 400+(1*5)=405 ОЗ, на 15 уровне ГГ станет 400+(15*5)=475 ОЗ, на 45 уровне ГГ всё ещё 400+(45*5)=625 ОЗ. То есть рост наблюдается, но сумасшедшие тысячи не образуются. От способности не требуется что-то проверять, она всегда даёт ровно 400.
Если использовать только стандартную механику, но уменьшить множитель уровня, то уровень существа будет отставать от уровня ГГ, и, соответственно, ступенчатое увеличение здоровья будет случаться реже. Скажем, при коэффициенте 0.3 и номинальном здоровье 400 ОЗ существо будет иметь 1200 ОЗ для ГГ 10 уровня (поскольку уровень существа станет 3) и 6000 ОЗ для ГГ 50 уровня (означающем 15 уровень существа). Даже если уровень существа повышается медленно, мне всё равно нелепо, что на 15 уровне оно впятеро толще себя же 3 уровня...
Если к предыдущему примеру кроме уровневого множителя 0.3 добавить пределы - например, минимум 2 и максимум 8 - то сначала здоровье существа будет зафиксировано на 800, пока вычисленный уровень не превысит двойку (это случится на 10 уровне ГГ) и значение не подскочит до 1200 ОЗ, а дальше оно будет ступенчато расти, пока уровень ГГ не достигнет 27 (когда уровень существа упрётся в 8), и с этого момента выше 8 уровня, то есть 3200 ОЗ, существо толстеть не будет. Это, собственно, штатный подход авторов игры, и сумасшедшее утолщение он предотвращает (не давая существам бесконечно повышать уровень), но меня морщит даже разброс толщины всего в два-три раза...
Ipatow, а если в качестве минимума и максимума пределов указать, скажем, 1 и 30 при мульте 0,1 и базовом здоровье в 270, как это будет расти и какой уровень HP и уровень кричера будут, когда у ГГ будет уровень 30? Простите, совсем плохо с математикой у меня
Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
если в качестве минимума и максимума пределов указать, скажем, 1 и 30 при мульте 0,1 и базовом здоровье в 270, как это будет расти и какой уровень HP и уровень кричера будут, когда у ГГ будет уровень 30?
Единица в минимуме эквивалентна отсутствию минимума, меньше первого уровень быть и так не может.
Пределы 1 и 30 означают разницу между минимальной толщиной и максимальной в 30 раз (здоровье существ пропорционально уровню).
Верхний предел уровня в 30 при множителе одна десятая означает, что до максимума существо дорастёт на 300 уровне ГГ. Не уверен, что даже при сорванном ограничителе уровень ГГ можно поднять выше 255... Трёхзначный уровень мне представляется несусветным.
При множителе одна десятая на тридцатом уровне ГГ уровень существа будет 0.1*30=3. На третьем уровне при номинальном здоровье 270 существо будет иметь 3*270=810 ОЗ.
Ipatow, т.е. спокойно можно выставить пределы 1 и 3 и этого будет достаточно для получения на 30 уровне ГГ уровня здоровья кричера в 810? Потому что больше мне не надо, при Выносливости 10 у моего ГГ всего 530 HP
Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
Изменение репутации для пользователя Ipatow
IpatowOffline
Сообщение №5816
написано: 25 марта 2018, 14:52
| Отредактировано: Ipatow - 25 марта 2018, 14:54
спокойно можно выставить пределы 1 и 3 и этого будет достаточно для получения на 30 уровне ГГ уровня здоровья кричера в 810?
Я бы сказал, что спокойно можно убрать к чертям переменный уровень вместе с переменным здоровьем, просто снять галку PC Level Mult и не заморачиваться. Ну плохо сделали беседковцы, когда устроили эту пропорциональность. Редиски. У них же у самих же практически везде используется формула "база плюс уровень с множителем", у тех же басурманов гуманоидов NPC здоровье по такой схеме вычисляется, какого лешего существам навесили ущербную систему?! Лучше отключить её под корень. А если зачем-то всё-таки некоторый рост параметра желателен, то стоит исполнить его с использованием правильной формулы - и я уже писал, как это сделать...
Привет, это опять я. Вопрос такой - почему при общении 2-х неписей типа Conversation могут не показываться субтитры? Строчка имеется, текст ее имеется, озвучена, непись ее говорит, но субтитров нет, только озвучка. Процесс говорения строчки реализован через Package типа Dialogue. Пробовал и на себя фразу перетягивать, типа он мне говорит, а не другому неписю - говорит, но сабов опять нет. Крутил всякие радиусы, флаги и т.п. - эффекта ноль. Сижу в задумчивости, чешу репу...
Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
Здравствуйте, хотел бы обратиться к вам с просьбой найти решение одной проблемы. Какой именно? В общем, я захотел сделать перк aka в "4 фоле" на выпадение крышек при убийстве, но чуть более требовательное. Собственно, вот сам скрипт, который, по логике, должен работать:
scn 00Headcapsscript
Begin OnHit
Ref aim Set aim to GetOwnerLastTarget
end
Begin OnDeath aim
int iCaps let iCaps := 0 int iRand set iRand to Rand 1, 5
if aim.IsLimbGone 1; здесь, наверное, можно было бы сделать по-другому, но смысл, если сам скрипт не работает :c while iCaps <= irand*10 let iCaps +=1 aim.placeatme 0000000f loop EndIf
End
Естественно, он не работает, поэтому я решил обратиться к вам с таким вопросом: "Как сделать "взрыв" из крышек, при убийстве в голову?