Перейти к содержимому


Фотография

Немного новых багов


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1 AO

AO

    Главтех Анклава

  • Пользователи
  • PipPipPip
  • 345 сообщений

Отправлено 18 Январь 2003 - 17:39

Обнаружил пару багов (Fallout2 1.02d, english):

1. По идее, некоторые НПС-партийцы (Сулик, Вик, Горис, Догмит, может еще кого забыл?) должны повышать уровень 6 раз. Но, на самом деле, они повышают его только 5! раз. Похоже, это ограничение зашито в движке :(

2. Снимание брони НПС-партийцами. При попытке снять броню с партийца ("сними свой защитный костюм") и при наличии n-го кол-ва точно таких же броников в инвентаре партийца, одетый броник снимается с n-го раза. Баг, конечно, не страшный, но все ж. Исправлению, похоже не подлежит (копался в скриптах) :(, т.к. возникает другой баг, гораздо хуже данного: при повышении уровня НПС-партийца и всех перечисленных выше условий, общее чило броников при снимании увеличивается на 1. :( . Это, похоже, движок :(

Если кто-нибудь знает, как, обойти 1-й баг (или у кого происходило 6-тикратное повышение уровня НПСями), пишите.


#2 Chatrion

Chatrion

    The Timeless One

  • Пользователи
  • PipPipPip
  • 312 сообщений

Отправлено 18 Январь 2003 - 19:37

Разберемся в первом вопросе, т.к. меня он тоже интересует. Копался как-то в файле party.txt, а именно там написано кто, когда и сколько уровней получает.

Рассмотрим Сулика в этом файле:
цитата:
[Party Member 4] ; pMSulik_PID
party_member_pid=16777313
area_attack_mode=always, sometimes, be_careful
attack_who=whomever_attacking_me, strongest, whomever, closest
best_weapon=melee, melee_over_ranged, ranged_over_melee, unarmed
chem_use=clean, stims_when_hurt_little, stims_when_hurt_lots, sometimes, anytime, always
distance=stay_close, charge, snipe, on_your_own, stay
run_away_mode=none, tourniquet, never
disposition=none, custom, defensive, aggressive, berserk
level_minimum=6
level_up_every=1
level_pids=16777526,16777527,16777528,16777529,16777530,16777531


ВНИМАНИЕ: Приведенный файл уже изменен мной.

Рассмотрим: все, что касается вопроса заключено в трех последних строчках: level_minimum (с какого уровня НПС начинает ???)
level_up_every (при каком уровне Избранного неписяй стопроцентно повысит свой. В этой то строчке, как видно, я и покопался)
level_pids (а вот здесь ИМХО зашито количество поднимаемых уровней, как видно их 6)

Посмотрим других НПСяев и выясним сколько раз, судя по этому файлу, они поднимают свои уровни: Мирон - 4 раза; Маркус - 5 раз; Кэссиди (написан как MacRae)- 4 раза; Ленни - 3 раза; Киберпес - 4 раза; Горис - 6 раз; Вик - 6 раз; Робомозг (скайнет???) - 5 раз; Догмит - 6 раз; пес К9 - 4 раза. Ну а также n-ное количество неписяев со значением -1 в строке level_pids.

Таким образом мы выяснили кто сколько уровней получает. AO, в принципе party.txt не врет, значит глюк где-то в стороне. С другой стороны, когда я поставил свой мод (там вместе с тобой уровень неписи получают) все было ОК: Сулика я взял на 6 уровне, а на 12 - он получил последний свой уровень, т.е. 6 своих левелов он свободно поднял, может раз на раз не приходится?


#3 AO

AO

    Главтех Анклава

  • Пользователи
  • PipPipPip
  • 345 сообщений

Отправлено 21 Январь 2003 - 14:55

Странно, странно :(
Никогда у меня никто из партийцев не получал 6-й уровень, чтоб я не делал :(. И давал чузену сразу столько опыта, чтоб сразу достиг 99 уровня (скриптом) и менял party.txt.

А сколько ХР было у Сулика на 6-м уровне?
Должно быть (ЕМНИП) 146. (протофайл №315, он же левел_пид=16777531).


#4 Chatrion

Chatrion

    The Timeless One

  • Пользователи
  • PipPipPip
  • 312 сообщений

Отправлено 23 Январь 2003 - 20:15

Хмм... Извини, AO, ИМХО, я обсчитался, Сулик получил у меня 5 уровней. Но и Маркус получил всего 4. Может они все получают на уровень меньше, чем показано в party.txt, т.к. один левел_пид привязан к прото файлу.
А протофайла № 315 в сейвах почему-то нет, хотя Сулик есть, начинается с № 324.


#5 AO

AO

    Главтех Анклава

  • Пользователи
  • PipPipPip
  • 345 сообщений

Отправлено 24 Январь 2003 - 12:31

Хм ... глянуть надо Маркуса

А протофайла 315 в сейвах и не будет :)
Он должен быть в master.datprotocritters (ЕМНИП). А в сейвах протофайлы запакованы (gzip`ом вроде), внутри архива и содержится протофайл, соответсятвующий уровню НПС.

ЗЫ: объяни, что ты имел в виду, говоря о парти.тхт. Я не совсем понял :)


#6 Chatrion

Chatrion

    The Timeless One

  • Пользователи
  • PipPipPip
  • 312 сообщений

Отправлено 25 Январь 2003 - 12:13

Насколько я вообще врубился в party.txt, то кол-во уровней зашито в этой строчке:

цитата:
level_pids=16777526,16777527,16777528,16777529,16777530,16777531


Как видно левел пидсов 6, значит и уровней 6. Но, т.к. последний пид 166777531 связан с протофайлом, то остается всего 5 уровней. Вот.

Если я не так "срубил фишку" в парти.тхт, поправь меня, я ж в принцепе ламер програмерский.


#7 AO

AO

    Главтех Анклава

  • Пользователи
  • PipPipPip
  • 345 сообщений

Отправлено 27 Январь 2003 - 15:44

Не совсем так:

Все эти левел-пиды, а так же party_member_pid=16777313 (он-то и используется для идентификации персонажа)являются протофайлами.

16777313=1000061h. 1 означает принадлежность к криттерам. 61h=97 (глянь, кому это соответствует в pro_crit.msg)


#8 YikxX

YikxX

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 812 сообщений

Отправлено 02 Август 2005 - 08:20

Насколько мне известно, level_pids = номер прошника + 16777216
Так что, прошник Сулика после первого левелапа № 310, второго - № 311 и т.д. А шестого - № 315, что и соответствует записи из pro_crit.msg "Сулик - стадия 6".


#9 Гость_Zerosaiko_*

Гость_Zerosaiko_*
  • Гости

Отправлено 19 Июль 2007 - 18:41

По-моему всё правильно: всего уровней 6, а 1 уровень тоже считается.
Так что если бы уровень повышался бы 6 раз, то получилось бы 7 уровней.




Похожие темы Свернуть

  Название темы Форум Автор Статистика Последнее сообщение


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Рейтинг@Mail.ru