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


Форум TeamX » Тех. поддержка » ФИДы невидимых криттеров.

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

 
binyan
Пользователь

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

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

Тему в исследованиях побоялся создавать, опасаясь что опять не туды попаду. ИМХО, тема все же должна быть в исследованиях =)

Итак, все прекрасно знают, что если например всучить (скриптово разумеется, так как через нынешний геймплей нельзя) дикарю например огнемет, то криттер просто исчезнет, потому что не нарисована анимация для дикаря с огнеметом =)
Итак, разбираясь с этой проблемой у партийцев (ведь не всё оружие при выборе из диалога Вик, например, сможет взять), я наткнулся на такую фишку, как свой собственный ФИД у исчезнувшего криттера. Собственно тема в том, что ФИД Вика , и Ленни, в тот момент когда они не отображаются на карте(т.е. когда я им сую оружие с ненарисованной для него анимацией) различается.
Так, у Вика он 16810075, а у Ленни 16810063.
Если сравнить их оригинальные ФИДы(Вик 1677707 по моему, а Ленни 1677795), то можно проследить закономерность.
107-32 = 75
95-32 = 63
Впрочем последнее, я думаю, уже моя переразвитая фантазия.
А вы об этом знали?

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

Отправлено: 21:47 - 11 Апр., 2006 | ИСПРАВЛЕНО: binyan - 21:47 - 11 Апр., 2006
Wasteland Ghost
Маленькое Злое Привидение

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

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

Ясен пень, что разный . Базовая FRM у них разная . Опять же, проги на сайте есть всякие. Вэ тэ чэ frmid.

frmPID = 0x100805b
Index = 0x5b
ID3 = 0x0
ID2 = 0x0
ID1 = 0x8
Suffix1 = k
Suffix2 = a
FRM file name is nmfattka.frm
Attempt to analyse file name:
N: Non-hero character
M: Male
FATT: Fat
K: action with Big Gun

frmPID = 0x100804f
Index = 0x4f
ID3 = 0x0
ID2 = 0x0
ID1 = 0x8
Suffix1 = k
Suffix2 = a
FRM file name is navgulka.frm
Attempt to analyse file name:
N: Non-hero character
A: Any person
VGUL: Ghoul #2
K: action with Big Gun

Т.е. двиг FID честно вычисляет, а файла с таким именем не находит. В результате - глюк.

ЗЫ Ещё советую почитать это.

Отправлено: 13:00 - 12 Апр., 2006
binyan
Пользователь

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

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

Госспади...это чтож получается, для каждого оружия этот ФИД разный? Час от часу нелегче... Ладно, спасибо за раъяснения

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

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

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

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

Ща-ас точно кто-то пойдёт доки читать .

Форматы идентификаторов в Fallout
Содержимое файла critter.dat
Доступные анимации у существ

Отправлено: 9:38 - 13 Апр., 2006
binyan
Пользователь

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

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

Хмм...прочитал внимательно, но видимо не сообразил главного...Как из скрипта проверить существует ли анимация? Существует ли файл с нужным именем.  Как мне получить из скрипта ID1,2,3? Ок, допустим ФИД - 1677795.
Выдержка из доки:
В общем случае FID представляет собой число следующего вида:

Код:
 
+--|--------|-----------|-----------------------|-----------|-----------------------------------+
|31|30|29|28|27|26|25|24|23|22|21|20|19|18|17|16|15|14|13|12|11|10|09|08|07|06|05|04|03|02|01|00|
+--|--------|-----------|-----------------------|-----------|-----------------------------------+
|      |         |                 |                 |                       |
|      |         |                 |                 |                       ------------------- Индекс в LST-файл
|      |         |                 |                 ------------------------------------------- ID1
|      |         |                 ------------------------------------------------------------- ID2
|      |         ------------------------------------------------------------------------------- Тип объекта (ObjType)
|      ----------------------------------------------------------------------------------------- ID3
------------------------------------------------------------------------------------------------ Не используется


Сколько ни стараюсь, но никак не могу связать 1677795 с ID1, ID2, ID3.
Как мне его разбить на ID, и самое главное, как проверить есть ли фрм с таким ID?


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

Отправлено: 0:16 - 14 Апр., 2006
Anchorite
Пользователь

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

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

Если 1677795 задано в шестнацетиричном формате, то  0x01677795 (0.1.67.7.795)

Отсюда следует:
Index = 0x795 = 1941
ID1 = 0x7 = 7 (Rifle)
ID2 = 0x67 = 103 ( ТАКОГО не может быть!!!)
ObjectType = 0x1 (Critter)
ID3 = 0x0 = 0 (Северо восток)

А 1677795 это десятичное число, то это FID предмета а не существа.

Отправлено: 6:20 - 14 Апр., 2006 | ИСПРАВЛЕНО: Anchorite - 6:45 - 14 Апр., 2006
Wasteland Ghost
Маленькое Злое Привидение

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

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

Critter FRM ID

Отправлено: 8:53 - 14 Апр., 2006
binyan
Пользователь

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

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

Цитата:
Quote: from Anchorite on 6:20 - 14 Апр., 2006
Если 1677795 задано в шестнацетиричном формате, то  0x01677795 (0.1.67.7.795)

Отсюда следует:
Index = 0x795 = 1941
ID1 = 0x7 = 7 (Rifle)
ID2 = 0x67 = 103 ( ТАКОГО не может быть!!!)
ObjectType = 0x1 (Critter)
ID3 = 0x0 = 0 (Северо восток)

А 1677795 это десятичное число, то это FID предмета а не существа.



А разве ФИД в шеснадцатиричном формате даётся? Кстати, это ФИД Ленни без оружия.
Как могло получиться что это предмет?


(Добавление от 23:31 - 14 Апр., 2006.)


Цитата:
Quote: from Wasteland Ghost on 8:53 - 14 Апр., 2006
Critter FRM ID


Спасибо за программу, но насколько я знаю из скриптов к программам обращаться нельзя Проблема в следующем...Мне нужно поставить проверку В СКРИПТЕ, существует ли такая ФРМ-ка. Так вот как это сделать? Есть идеи?

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

Отправлено: 23:28 - 14 Апр., 2006
Alan Killenger
Пользователь

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

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

Создать хэадер, в котором тупо перечислить все существующие FRM'ки. Файлик с подобной таблицей Perceptron кажется давал.

1677795 - а это, случаем не PID? Одного нолика справа нехватает.
Код:
 
#define FID_HAROBE (16777247)
|          |                                  |              |
| 16777247 | 00000001000000000000000000011111 | FID          |
|        0 | 0                                | не исп.      |
|        0 |  000                             | ID3          |
|        1 |     0001                         | ObjectType   |
|        0 |         00000000                 | ID2          |
|        0 |                 0000             | ID1          |
|       31 |                     000000011111 | *.LST Number |



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

Отправлено: 0:42 - 15 Апр., 2006 | ИСПРАВЛЕНО: Alan Killenger - 1:59 - 15 Апр., 2006
binyan
Пользователь

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

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

Все существующие ФИДы ты имел ввиду? Потому что из скрипта мы не можем получить имя файла =) Только если ты мне скажешь как выражать имя файла, зная только ФИД
А вообще, сделаю я header, в нем перечислю все FID-ы под именами ФИД1, ФИД2 и т.д., а потом просто поставить оператор цикла типа:
while((i<=amount_of_FIDs)AND(check!=1) do begin
if(obj_art_fid(self_obj)==("FID"+i) then
check:=1;
end
if check==0 then begin
то что мне нужно
end
Скрипт на деле не проверял, так что скажите мне, будет ли вот это - ("FID"+i) работать? И если нет, то как будет?


(Добавление от 1:06 - 15 Апр., 2006.)


Цитата:
Quote: from Alan Killenger on 0:42 - 15 Апр., 2006


1677795 - а это, случаем не PID? Одного нолика справа нехватает.



Неа, не ПИД. Посмотри ARTFID.h ,там этого ФИДа нет(я его сам в свой добавлял) , но все остальные начинаются так же.

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

Отправлено: 1:02 - 15 Апр., 2006
 

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


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