» TeamX (Архив Форума)«


Форум TeamX » Тех. поддержка » слоты брони и оружия (Где?!?)

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 1 2 ] Все собщения

 
Alan Killenger
Пользователь

Откуда: Россия, Ижевск
Регистрация: Июль 2004

Всего: 404 сообщения

В прошнике нету. Вроде и не может быть. Попытался почитать описание *.map формата - там тоже нету, для криттеров определены только CurrentHP, CurrentRL, CurrentPL плюс несколько неизвестных флагов. Так вот, subj, где?

-----
hit me, nail me, make me god

Отправлено: 0:13 - 22 Марта, 2006
Anchorite
Пользователь

Откуда: Не здесь
Регистрация: Янв. 2003

Всего: 283 сообщения

В флаге предмета выставляется специальные флажки, определющие положение этого предмета в инвентаре криттера.

Отправлено: 5:59 - 22 Марта, 2006 | ИСПРАВЛЕНО: Anchorite - 6:01 - 22 Марта, 2006
Alan Killenger
Пользователь

Откуда: Россия, Ижевск
Регистрация: Июль 2004

Всего: 404 сообщения

Имеется в виду эти флаги зашиты внутри *.map файла?

5.3. Дополнительные поля для оружия (Weapon)
Смещение Размер Описание
0x0054 4 Некие дополнительные флаги (в движке: updated_flags).
0x0058 4 Количество заряженных патронов.
0x005C 4 PID (Proto ID) патронов.


То есть броню "по-челоечески" может носить только сам чузен?

-----
hit me, nail me, make me god

Отправлено: 17:31 - 22 Марта, 2006 | ИСПРАВЛЕНО: Alan Killenger - 18:33 - 22 Марта, 2006
Anchorite
Пользователь

Откуда: Не здесь
Регистрация: Янв. 2003

Всего: 283 сообщения

Ну не "зашиты", а скорее выставлены.
А надеть броню и вложить в руки оружие ты можешь для в принципе для любого криттера. Во всякм случае для большинства гуманоидов.

Отправлено: 22:12 - 22 Марта, 2006
Alan Killenger
Пользователь

Откуда: Россия, Ижевск
Регистрация: Июль 2004

Всего: 404 сообщения

Цитата:
А надеть броню и вложить в руки оружие ты можешь для в принципе для любого криттера. Во всякм случае для большинства гуманоидов.

Хм... в том то и дело, разве можно?
Код:
 
5. Область объектов

     5.1. Размер объектов
     5.2. Общая для всех объектов часть
     5.3. Дополнительные поля для оружия (Weapon)
     5.4. Дополнительные поля для патронов (Ammo)
     5.5. Дополнительные поля для прочих предметов (Misc)
     5.6. Дополнительные поля для ключей (Key)
     5.7. Дополнительные поля для существ (Critters)
     5.8. Дополнительные поля для порталов (Portal)
     5.9. Дополнительные поля для лестниц (Stairs)
     5.10. Дополнительные поля для лифтов (Elevators)
     5.11. Дополнительные поля основания лестницы (Ladder Bottom)
     5.12. Дополнительные поля вершины лестницы (Ladder Top)
     5.13. Дополнительные поля для зон выхода (Exit Grids)


О броне тут ни слова, хотя есть и об оружии, и о патронах. Да... я конечно назойлив, но все-таки:

1. Как мне надеть броню на одного конкретного криттера?

2. Какой скриптовой функцией мне можно нормально надеть броню на криттера или вложить ему в руки оружие?

Причем нужно, чтобы это оружие и броня вроде как действительно были (после смерти криттера они оставались). Я сызнова прошелся по этой доке о функциях... не нашел.

-----
hit me, nail me, make me god

Отправлено: 0:54 - 23 Марта, 2006 | ИСПРАВЛЕНО: Alan Killenger - 1:55 - 23 Марта, 2006
Wasteland Ghost
Маленькое Злое Привидение

Откуда: Россия, Самара
Регистрация: Дек. 2002

Всего: 2251 сообщение

1. Только подменой прошника. "Одеть" броню на криттера нельзя.
2. void wield_obj_critter(ObjectPtr who, ObjectPtr obj) - "дать в руки" оружие.

ЗЫ Вообще-то я никогда не пробовала "подсунуть" функции wield_obj_critter указатель на броник. Однако, сильно сомневаюсь, что криттер в этом случае оденет броню. Скорее просто возьмёт её "в руку" (активный слот).

Отправлено: 9:21 - 23 Марта, 2006
Alan Killenger
Пользователь

Откуда: Россия, Ижевск
Регистрация: Июль 2004

Всего: 404 сообщения

Собственно, почему я и сказал что ничего подходящего не нашел:

void wield_obj_critter(pointer soldier, pointer equpment)

Часть 1. equpment - указатель на броню. Функция соответствующим броне образом изменяет данные всех криттеров на карте, имеющих PID такой же, как и у soldier и только у них. Причем эти изменения нигде не фиксируются. Если мы уйдем с карты и вернемся на нее или сохранимся и загрузимся, то прошники вернутся в нормальное состояние (т.е. каким они были до вызова этой функции). Тестировалось в самой игре.

Часть 2. equipment - указатель на оружие (я брал копье). Функция дает в ркуи soldier и только ему одному виртуальное копье. Мы его видим, но когда мы убиваем soldier и обыскиваем его труп - копья нету.

Еще раз протестировал. Брал SMG 10 mm (AI NCR Rangers).
Цитата:
wield_obj_critter(self_obj, create_object_sid(PID_10MM_SMG, 0, 0, -1));

Функция дает в ркуи soldier и только ему одному (т.е. не всем криттерам с тем же прошником) виртуальную пушку (криттер выглядит как криттер с пушкой, и думает он так же, но никакой пушки нет). При выходе с карты эффект сохранялся. Пушкой этой он воспользоваться не может. Во время боя soldier просто нервно проигрывает, анимацию вытаскивания ствола. Начинаются глюки когда пытаешься в него (soldier) целиться. Если посмотреть на него с "осведомленностью",   то будет выдана инфоа, как будто бы он без ствола.

ИМХО, функция к использованию непригодна. Помимо этой функции, никак иначе нельзя вложить оружие в руки криттеру? Не считая варианта засунуть в маппере или засунуть в инвентарь и надеятся, что криттер догадается вытащить пушку.

-----
hit me, nail me, make me god

Отправлено: 11:12 - 23 Марта, 2006 | ИСПРАВЛЕНО: Alan Killenger - 13:15 - 23 Марта, 2006
Anchorite
Пользователь

Откуда: Не здесь
Регистрация: Янв. 2003

Всего: 283 сообщения

Надеть броню на криттера однозначно можно.
Вопрос только в том найдет ли движок нужный ФРМ для того чтобы его нарисать.

В BIS-овом маппере я благополучно надел обычный Pоwer Armor на Enclave Patrol. Но картинка криттера как была с APA, так в ней и осталась.

Если попробовать пошмонать у такого криттера в корманах, то брони вы там не найдете. А сняв ее - она появится.

Отправлено: 12:54 - 23 Марта, 2006
Wasteland Ghost
Маленькое Злое Привидение

Откуда: Россия, Самара
Регистрация: Дек. 2002

Всего: 2251 сообщение

Анхорит, я немного не о том . Одеть броньку в маппере можно. Только ФРМ не изменится. Кстати, на всех криттерах в Ф1 броня "одета" именно этим способом. На ФРМ и характеристики не влияет, зато после смерти остаётся. А вот скриптово её одеть нельзя.

wield_obj_critter - штука полезная. Я ей пользовалась и глюков не замечала, если сначала оружие создавать, а потом "давать в руки". А броня на игроке и НПС, скорее всего, обрабатывается движком "узкоспециально", так что облачение криттера в броню динамически тебе всё равно ничего не даст.

Отправлено: 13:10 - 23 Марта, 2006
binyan
Пользователь

Откуда: Israel
Регистрация: Март 2005

Всего: 292 сообщения

Цитата:
Quote: from Wasteland Ghost on 9:21 - 23 Марта, 2006
1. Только подменой прошника. "Одеть" броню на криттера нельзя.
2. void wield_obj_critter(ObjectPtr who, ObjectPtr obj) - "дать в руки" оружие.

ЗЫ Вообще-то я никогда не пробовала "подсунуть" функции wield_obj_critter указатель на броник. Однако, сильно сомневаюсь, что криттер в этом случае оденет броню. Скорее просто возьмёт её "в руку" (активный слот).



Вообще то, при скриптовой замене брони на партийцах, я использовал именно wield_obj и всё замечательно работало.
Так что подтверждаю - да, если wield_obj(ARMOR_PID), то криттер оденет броню.

-----
...выражая озадаченность, граничащую с озабоченностью..

Отправлено: 14:20 - 23 Марта, 2006
 

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 1 2 ] Все собщения


Powered by Ikonboard 2.1.9 RUS
Modified by RU.Board Team
© 2000 Ikonboard.com