|
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
|
|
|
|