Форум TeamX
   Home   Members  
Pages: [1] |   Go Down
 
Author Topic: Броневые перки  (Read 1045 times)
Alexandr
Пользователь
Posts: 18


Броневые перки
« on: 07 May 2010, 13:17:44 »

День добрый, модеры!

Идея: Вот такую идею хочу реализовать в своей игре "Fallout of Nevada": броня, которую можно собрать из различных кусков и в последствии апрейдить. В итоге в зависимости от апгрейда и составных частей она имела бы разные характеристики, как положительные, так и отрицательные.

Проблема: Делать несколько разных предметов (как в случае с магнумом и перезарядкой в оригинале) не рационально  - пролучается много комбинаций, да и в прототипе можно обозначить только броневые качества, например, нельзя менять основные характеристики чузена, антирад- и противояд- защиту. В оригинале это делается через броневые перки, но мне нужны *другие*.

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

Заранее спасибо!
« Last Edit: 07 May 2010, 13:20:44 by Alexandr »
Wasteland Ghost
Администратор
Posts: 869

Маленькое Злое Привидение


Re: Броневые перки
« Reply #1 on: 07 May 2010, 20:26:43 »

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

PS Я не в курсе последних достижений sfall, возможно, там есть какие-то лазейки в этом плане.
Alexandr
Пользователь
Posts: 18


Re: Броневые перки
« Reply #2 on: 11 May 2010, 08:50:28 »

Плотно посидел над этой задачей на выходных. С предметом что-то получилось, но одна проблема, забавная. В общем сделал два предмета - misc и armor. Первый надо поюзать. В момент юзанья он создает броню, размещает в слот, меняет характеристики чузена, затем самоликвидируется. В скрипте брони и в скрипте чузена обозначил, чтобы ее нельзя было выбросить или снять - ее опять надо "юзать". В момент юзанья происходит аналогичное и в инвентарь кладется "сложенная" броня. Проблем две: 1) крайне не логично "юзать" брони вместо того, чтобы ее снимать/одевать. 2) находясь в окне инвентаря, броня как бы одевается (есть функция экипировки криттера) - действительно меняются характеристики чузена, но сам предмет *остается* в левой части окна до выхода из инвентаря. Нужно выйти, войти вновь - и тогда чузен уже меняет свой FID и броня находится в своем месте. FID, конечно, можно исправить через скрипт чузена, но...

Потом сделал по-другому через скрипт чузена, в critter_p_proc: проверки на расположение брони в слоте + отдельная GVAR для фиксации изменений (чтобы изменились только раз до следующего снятия/одевания). Прекрасно работает, кроме одного важного замечания: игрок размещая броню в слот увидит в окне лишь изменения, вносимые прототипом, т.е. основные характеристики и др. бонусы поменяются лишь при выходе из окна. Т.е. игрок может иметь неверное представление о текущих характеристиках брони. Т.Е. У МЕНЯ ПОЧТИ ПОЛУЧИЛОСЬ!!!  Веселый

А потому возникли еще вопросы:
1) что *конкретно* делает перк "Боевая броня", привязанный к броням этого типа?
2) решил внести отдельную переменную для фиксации степени изношенности брони (она меняется через скрипт чузена при проверке типа и силы урона, нанесенного чузену). И даже уже сделал панельку на окне с индикатором. Но какую лучше переменную - GVAR или LVAR у чузена? Про гвары я в каком-то из документов читал, что они не превышают значения 32, но в оригинальных скриптах я встречал и другое (например, репутация в городах -1000). А мне бы хотелось проценты 0-100 (ну или от -50 до 50).
« Last Edit: 11 May 2010, 09:26:38 by Alexandr »
Wasteland Ghost
Администратор
Posts: 869

Маленькое Злое Привидение


Re: Броневые перки
« Reply #3 on: 11 May 2010, 09:16:12 »

Проблема обновления окна инвентаря была, есть и будет есть, здесь ничего не попишешь. А вообще... делать броню посредством прямого изменения характеристик Чузвана... не кошерно.

1) Конкретно лезешь в двиг и конкретно выкапываешь оттуда список перков.
{163}{}{Powered Armor}
offset: 0x109634
ID (Appears to be ID in PERK.MSG - 29): 134
Number of Ranks available: -1
Required Level: 1
Stat Modified (entry in STAT.msg - 100): 31
Amount Stat Modified: 30
Skill1 (SKILL.MSG - 100): -1
Amount for (in % points) Skill1: 0
Type: 0
Skill2 (SKILL.MSG - 100): -1
Amount (in % points) for Skill2: 0
Req. STR: 3
Req. PER: 0
Req. END: 0
Req. CHA: 0
Req. INT: 0
Req. AGI: 0
Req. LUC: 0
{164}{}{Combat Armor}
offset: 0x109680
ID (Appears to be ID in PERK.MSG - 29): 135
Number of Ranks available: -1
Required Level: 1
Stat Modified (entry in STAT.msg - 100): 31
Amount Stat Modified: 20
Skill1 (SKILL.MSG - 100): -1
Amount for (in % points) Skill1: 0
Type: 0
Skill2 (SKILL.MSG - 100): -1
Amount (in % points) for Skill2: 0
Req. STR: 0
Req. PER: 0
Req. END: 0
Req. CHA: 0
Req. INT: 0
Req. AGI: 0
Req. LUC: 0
{169}{}{Armor Advanced I}
offset: 0x1097fc
ID (Appears to be ID in PERK.MSG - 29): 140
Number of Ranks available: -1
Required Level: 1
Stat Modified (entry in STAT.msg - 100): 31
Amount Stat Modified: 60
Skill1 (SKILL.MSG - 100): -1
Amount for (in % points) Skill1: 0
Type: 0
Skill2 (SKILL.MSG - 100): -1
Amount (in % points) for Skill2: 0
Req. STR: 4
Req. PER: 0
Req. END: 0
Req. CHA: 0
Req. INT: 0
Req. AGI: 0
Req. LUC: 0
{170}{}{Armor Advanced II}
offset: 0x109848
ID (Appears to be ID in PERK.MSG - 29): 141
Number of Ranks available: -1
Required Level: 1
Stat Modified (entry in STAT.msg - 100): 31
Amount Stat Modified: 75
Skill1 (SKILL.MSG - 100): -1
Amount for (in % points) Skill1: 0
Type: 0
Skill2 (SKILL.MSG - 100): -1
Amount (in % points) for Skill2: 0
Req. STR: 4
Req. PER: 0
Req. END: 0
Req. CHA: 0
Req. INT: 0
Req. AGI: 0
Req. LUC: 0
{173}{}{Armor Charisma}
{175}{}{Dermal Impact Armor}
{176}{}{Dermal Impact Asslt. Enhance.}
{177}{}{Phoenix Armor Implants}
{178}{}{Phoenix Assault Enhancement}

на первый взгляд в списке отсутствуют. Но, учитывая уровень сведений...
2)
Quote
Про гвары я в каком-то из документов читал, что они не превышают значения 36
Хреновый был документ, значит. Больше не читай его.
Alexandr
Пользователь
Posts: 18


Re: Броневые перки
« Reply #4 on: 11 May 2010, 09:37:33 »

Quote from: Wasteland Ghost on 11 May 2010, 09:16:12
Конкретно лезешь в двиг и конкретно выкапываешь оттуда список перков.

Вот это спасибо! Я не программист, в движке копатся не умею, но скриптинг дался очень легко (как дизайнер уже владел ActionScripts, HTML и CSS).

Quote from: Wasteland Ghost on 11 May 2010, 09:16:12
А вообще... делать броню посредством прямого изменения характеристик Чузвана... не кошерно.

Мне главное - что бы работало, остальное не важно.
« Last Edit: 11 May 2010, 10:38:51 by Alexandr »
Wasteland Ghost
Администратор
Posts: 869

Маленькое Злое Привидение


Re: Броневые перки
« Reply #5 on: 11 May 2010, 13:34:16 »

Quote
Мне главное - что бы работало, остальное не важно.
Так потому и не кошерно, что неизвестно как это работать будет. Кстати, предметы с привязанными к ним скриптами не складываются в инвентаре "в стопку".
Alexandr
Пользователь
Posts: 18


Re: Броневые перки
« Reply #6 on: 11 May 2010, 14:28:50 »

Quote from: Wasteland Ghost on 11 May 2010, 13:34:16
Так потому и не кошерно, что неизвестно как это работать будет. Кстати, предметы с привязанными к ним скриптами не складываются в инвентаре "в стопку".

Меня пока смущает только момент с предельными значениями. Например, если у чуза уже сила =10. Можно потерять одно очко, если не ввести условие и переменную для хранения информации о том, изменен ли данный параметр и как. В общем, переменных много расходуется.

Ну а "нескладываемость" для меня не проблема - у меня только одна такая броня...
« Last Edit: 11 May 2010, 14:33:23 by Alexandr »
Wasteland Ghost
Администратор
Posts: 869

Маленькое Злое Привидение


Re: Броневые перки
« Reply #7 on: 12 May 2010, 10:11:50 »

Quote
Ну а "нескладываемость" для меня не проблема - у меня только одна такая броня...
Однако... ты всё ещё рассматриваешь вариант одевания через юзание? А если игрок ещё одну бронь законным образом в инвентаре напялит?
Alexandr
Пользователь
Posts: 18


Re: Броневые перки
« Reply #8 on: 13 May 2010, 14:53:47 »

Но тут вот и возникла проблема с тем, что броня физически не размещается в слот при "юзании" пока игрок находится в окне инвентаря, хотя все значения из прототипа предмета чузен преобретает. В этот момент можно одеть другую броню, да, но в скрипте чуза можно задать условия на невыбрасываемость "одетой" брони (как в случае с ГЕККОм) и на постоянное ее одевание пока та расположена в инвентаре. Чтобы снять нужно опять же юзать, тогда создается иной предмет с другим прототипом, это как бы "сложенная броня", одеть ее нельзя (misc).

В общем сделал через скрипт чузена. Пока работает, только условий на апгрейд не задал.

P.S. Тут еще такая мысль было - менять прототип криттера самого чузена, как в случае с напарниками. Боюсь, багов станет еще больше. Вот пока три варианта и придумал.
Wasteland Ghost
Администратор
Posts: 869

Маленькое Злое Привидение


Re: Броневые перки
« Reply #9 on: 14 May 2010, 09:55:25 »

Дак проблема с инвентарём всё равно останется...
Alexandr
Пользователь
Posts: 18


Re: Броневые перки
« Reply #10 on: 14 May 2010, 13:38:11 »

Придумал тут идейку: изменение параметров сделал через таймер, а для игрока выдаю сообщение - типа, броне надо время, чтобы "запуститься". А снятие действует без таймера - сразу. Конечно, багов может ожидаться не мало, но, думаю, дальше разберусь, если других возможностей не будет.
Ray
Глобальный модератор
Posts: 220

336150559
Re: Броневые перки
« Reply #11 on: 23 May 2010, 10:54:16 »

Quote
PS Я не в курсе последних достижений sfall, возможно, там есть какие-то лазейки в этом плане.

Ещё давным давно я написал патч, который стал частью sfall - этот патч исправлял одну ошибку, а именно в версии v1.20 появился - combat_p_proc fix. Раньше не срабатывало событие, когда происходил промах. Лишь при успешных попаданиях. Я это починил. Только я не помню, распространяестя ли это на случай, когда весь урон гасится бронёй или нет... Надо посмотреть.

Wasteland Ghost
Администратор
Posts: 869

Маленькое Злое Привидение


Re: Броневые перки
« Reply #12 on: 23 May 2010, 18:49:33 »

Скорее всего нет, потому что поглощение урона бронёй это явно не промах. По-логике. Улыбка Уж если ломать двиг в этом направлении, то делать так, чтобы дамаг срабатывал и при нулевом значении...
Ray
Глобальный модератор
Posts: 220

336150559
Re: Броневые перки
« Reply #13 on: 23 May 2010, 19:01:35 »

Сорри, криво выразился. Я это и имел в виду. Промах промахом, это отдельное событие. Я вот в упор не помню, правил ли я срабатывание при попадании, но поглощении урона. Помню что копал что-то в этом направлении, а что конкретно...
Pages: [1] |   Go Up