|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Вообще, надо сразу сказать, что сейчас смещениями плотно занялся Рейвен. Которого я настоятельно попрошу периодически скидывать инфу в темку . Итак, выкладываю пыльные (и не очень архивы со своего винта. Нумбер ван: древнейший документ неизвестного автора под названием offsets.txt (слегка мною дополненный). ------------------------------------------------------
Код:
Fallout1, Fallout2, Fallout1 demo, Mapper2 Year Version: Hex Offset: Fallout2 (US v1.0) Fallout2 (US v1.02d) 0009376C Fallout2 (UK v1.01) 0009351C Fallout2 (UK v1.02e) 0009391A Fallout2 (GR v1.0) Fallout2 (GR v1.02d) 00093A3C Fallout2 (FR v1.0) Fallout2 (FR v1.02d) 00093A3C Fallout2 (LK v1.02) 0009363C Fallout1 (WIN v1.1) 00081B7C Fallout1 (WIN v1.2) 00081E2C Fallout1 (DOS v1.1) 000C54AC Fallout1 Demo 0005C42C Mapper2 000BD84C ( Fallout1 (2161) 08710000 ) ( Fallout2 (2241) 08C10000 ) 13 Year Limit (Not working totally...) Version: Hex Offset: Fallout2 (US v1.0) Fallout2 (US v1.02d) 000938D8 Fallout2 (UK v1.01) 00093688 Fallout2 (UK v1.02e) 00093A88 Fallout2 (GR v1.0) Fallout2 (GR v1.02d) 00093BA8 Fallout2 (FR v1.0) Fallout2 (FR v1.02d) 00093BA8 ( Fallout2 (315371520) 0003CC12 ) Change to FFFFFFFF (?) Starting Time in ticks (not date) Version: Hex Offset: Fallout2 (US v1.0) Fallout2 (US v1.02d) 00095601 Fallout2 (UK v1.01) 00095375 Fallout2 (UK v1.02e) 000957B1 Fallout2 (GR v1.0) Fallout2 (GR v1.02d) 000958D1 Fallout2 (FR v1.0) Fallout2 (FR v1.02d) 000958D1 Fallout2 (LK v1.02) 000954D1 Fallout1 (WIN v1.1) 00083785 Fallout1 (WIN v1.2) 00083A35 Fallout1 (DOS v1.1) 000C70B5 Fallout1 Demo 0005D70E Mapper2 000BF8BE ( Fallout1 (264600) 98090400 ) ( Fallout2 (302400) 409D0400 ) Starting Month Version: Hex Offset: Fallout2 (US v1.0) Fallout2 (US v1.02d) 00093782 Fallout2 (UK v1.01) Fallout2 (UK v1.02e) 00093532 (?) Fallout2 (GR v1.0) Fallout2 (GR v1.02d) 00093A52 (?) Fallout2 (FR v1.0) Fallout2 (FR v1.02d) 00093A52 (?) Fallout2 (LK v1.02) 00093652 Fallout1 (WIN v1.1) Fallout1 (WIN v1.2) Fallout1 (DOS v1.1) Fallout1 Demo 0005C442 Mapper2 ( Fallout1 (DEC) 0C000000 ) ( Fallout2 (JUL) 07000000 ) Starting day: Fallout2 (US v1.0) Fallout2 (US v1.02d) 00093756 Fallout2 (UK v1.01) Fallout2 (UK v1.02e) Fallout2 (GR v1.0) Fallout2 (GR v1.02d) Fallout2 (FR v1.0) Fallout2 (FR v1.02d) Fallout1 (WIN v1.1) Fallout1 (WIN v1.2) Fallout1 (DOS v1.1) Fallout1 Demo Mapper2 ( Fallout1 ) ( Fallout2 (25) 18 ) Starting map Hex Offset: Fallout2 (US v1.02d) 00107AC8 Fallout2 (LK v1.02) 00107AB8 ( Fallout2 (artemple.map) 617274656D706C652E6D6170 )
(Добавление от 13:21 - 24 Фев., 2005.) Исследования АБеля: ----------------------------------------------------
Код:
Fallout2 Levcorp Edition 1.02 Встреча с Френки происходит не на 35й день, а сразу fallout2.exe 000B09BA: 23 00 Выключить неслучайную встречу с Френки fallout2.exe 000B09A8: 75 EB Пипбой в начале fallout2.exe 000872E1: 75 EB 0008FC7F: 74 90 0008FC80: 05 90 Нет снов fallout2.exe 000939DF: 0F E9 000939E0: 85 95 000939E1: 94 00 000939E4: 00 90 00093A87: 75 EB
----------------------------------------------------
Код:
Fallout2 English 1.02d Встреча с Френки происходит не на 35й день, а сразу fallout2.exe 000B0AEA: 23 00 Выключить неслучайную встречу с Френки fallout2.exe 000B0AD8: 75 EB Пипбой в начале, нет снов, все видео показаны fallout2.exe 0003EF0E: 25 B8 0003EF0F: FF 01 Пипбой в начале fallout2.exe 00087411: 75 EB 0008FDAF: 74 90 0008FDB0: 05 90 Нет снов fallout2.exe 00093B0F: 0F E9 00093B10: 85 95 00093B11: 94 00 00093B14: 00 90 00093BB7: 75 EB
(Добавление от 13:23 - 24 Фев., 2005.) Инфрмация с DAC (автор Andy-Spacetrain) ----------------------------------------------------------
Код:
[US 1.02] Feature Memory Fallout2.exe Number Original Offset File Offset Of Bytes Value Enable Pipboy 497011 085611 1 0x7E Remove City Limit 4BF3BB 0AD9BB 1 0x24 Disable Movies 44E690 03CC90 1 0x89 Male Start Appearance 5002E8 0EE8E8 6 hmwarr Female Start Appearance 5002F0 0EE8F0 6 hfprim Male Default Appearance 5002D8 0EE8E0 6 hfjmps Female Default Appearance 5002E0 0EE8E0 6 hfjmps Starting Map 5194C8 107AC8 12 artemple.map DAT Name 5023C8 0F09C8 13 patch%03d.dat Mod Name (Main Menu) 50EA18 0FD018 19 FALLOUT II %d. %02d Start Year 4A336C 09196C 2 0x84A8 Start Month 4A3382 091982 1 0x00 Start day 4A3356 091956 1 0xF8 World Viewport X 10C42C 091956 2 0x0000 World Viewport Y 51DE30 10C430 2 0x0000
(Добавление от 13:24 - 24 Фев., 2005.) Информация с DAC (автор Temaperacl) --------------------------------------------------------- I believe I've figured out where Perks and Traits are stored, though (I haven't tested these in-game, so it might all be an elaborate mistake, but..): Fallout2.exe Traits: 0x10c184 (Just the location- I haven't looked at them any yet) Perks: 0x1083cc (15A3A0 in mapper2.exe I believe) Perks seem to have the following format (Up to Mutate! at least, after that it changes, and then seems to fall apart, so..): Each perk appears to have the following format: [00] - ? (Always 0000 0000) [04] - ? (Always 0000 0000) [08] - ID (Appears to be ID in PERK.MSG -29) [0C] - Number of Ranks available. [10] - Required Level [14] - Stat Modified (entry in STAT.msg - 100) (FFFF FFFF = None) [18] - Amount Stat Modified [1C] - Skill 1 (SKILL.MSG - 100) (FFFF FFFF = None) [20] - Amount for (in % points) Skill 1. [24] - Type* [28] - Skill 2 (SKILL.MSG - 100) (FFFF FFFF = None) [2C] - Amount (in % points) for Skill 2. [30] - Req. STR [34] - Req. PER [38] - Req. END [3C] - Req. CHA [40] - Req. INT [44] - Req. AGI [48] - Req. LUC *- is 0000 0000 unless there are two skill entries (In these cases, it is a requirement I think) , in which case it looks like the entry is 0200 0000 if they are requirements and 0100 0000 if they are bonus (points the character gains). (For the addiction perks, Ranks looks like it is always FFFF FFFF, and the Stat Req. Fields look like they are rather the change applied FEFF FFFF for -2 to the stat, for example.) There are some problems- some perks are supposed to due more than can be encoded here, for example (Ignoring things that should be purely script based). For example, the Mr. Fixit should have requirements for 2 skills AND add points to 2 skills. In addition once we get past Mutate! / The Addiction entries, then the system appears to stop working as well- there are entries with the same ID's as earlier entries, and I'm not 100% sure all perks are accounted for. I'd guess (But it is just a guess with absolutely no backing yet) that multiple entries for a perk allow for the perk to do more than would be allowed with one entry. (Like the Mr. Fixit.) In addition, I'm not sure about the ID- it works perfectly up through the addiction stuff, but it just seems odd to have it to be ID-29. (Добавление от 13:36 - 24 Фев., 2005.) Информация с DAC (авторы platon и dude_obj) ---------------------------------------------------- You can change the appearance of the player character as follows: - Backup your fallout2.exe - Get youself a hex editor - Find the text string "hmwarr" in fallout2.exe - Change the text string to some other critter - Save and run the fallout2 And now the bad news: Some critters doesn't have run or secondary attack, and wielding weapons didn't work. Note: Although you can change the player character to look like any critter, the player is then limited by the critter chosen. For example, dogs cannot use guns, and and the frank horrigan model can only use large guns and knives. There are limitations in the sprites that display various weapons and actions. This is why there is no "proper" way to show party members in their armor, there are no sprites of "Vic wearing combat armor" for example. (Добавление от 13:45 - 24 Фев., 2005.) Исследования Anchorite ---------------------------------------------------
Код:
Смещение Описание 0x0002ED50 Идентификаторы общих элементов пульта управления лифтом Формат: Размер: 3 x 4 Размер Тип Описание 4 int Нажатая кнопка 4 int Опущенная кнопка 4 int Позиционер 0x0002ED5C Идентификаторы специфичных элементов пульта управления лифтом Размер: 24 x 2 x 4 Формат: Размер Тип Описание 4 int Основной вид 4 int Подписи к кнопкам 0x0002EE1C Число кнопок на панели управления лифтом Размер: 1 x 4 Формат: Размер Тип Описание 4 int Число кнопок 0x0002EE7C Координаты точек выхода из лифта Размер: 24 x 3 x 4 Формат: Размер Тип Описание 4 int Номер карты 4 int Уровень 4 int Координата
|
Отправлено: 13:20 - 24 Фев., 2005
|
|
Raven
Пользователь
Откуда: Владик Регистрация: Февр. 2004
Всего: 408 сообщений
|
>>[00] - ? (Always 0000 0000) >>[04] - ? (Always 0000 0000) Первые два поля в описании перков хранят соответственно указатель на строку с названием перка и указатель на строку с описанием. В экзешнике они, естественно, занулены. Но если найти эту же структуру в памяти, то там будут указатели. Что-то все вдруг за двиг взялись. Это радует :-) От себя. 0xFEF54: D8 FF FF FF (=0xffffffd8 == -40) - пенальти для прицельного выстрела в голову 0xFEF58: E2 FF FF FF (=0xffffffe2 == -30) - пенальти для прицельного выстрела в руку 0xFEF5С: E2 FF FF FF (=0xffffffe2 == -30) - пенальти для прицельного выстрела в руку 0xFEF60: 00 00 00 00 (=0x00000000 == 0) - пенальти для прицельного выстрела в корпус 0xFEF64: EС FF FF FF (=0xffffffeс == -20) - пенальти для прицельного выстрела в ногу 0xFEF68: EС FF FF FF (=0xffffffeс == -20) - пенальти для прицельного выстрела в ногу 0xFEF6С: С4 FF FF FF (=0xffffffс4 == -60) - пенальти для прицельного выстрела в глаза 0xFEF70: E2 FF FF FF (=0xffffffe2 == -30) - пенальти для прицельного выстрела в пах 0xFEF74: 00 00 00 00 (=0x00000000 == 0) - пенальти для *не*прицельных выстрелов (для всех) При Melee/HTH атаке все пенальти уменьшаются вдвое. Правые/левые конечности различайте сами :-) Все смещения - для английского Фола v1.02d. Чтобы найти их в вашей версии, организуйте поиск по строке: D8 FF FF FF E2 FF FF FF E2 FF FF FF. Так что если вы решите в вашем моде сильно затруднить жизнь "снайперам" - знаете что делать :-) Кусочек из письма в Теху: ------------------------------------------- Теперь - интереснее [смещение:10b717h]: ------------------------------------------------------------ DGROUP:00560914 _skill_data dd 0D701A0h ; skill_name - указатель на строку с именем скила DGROUP:00560914 dd 0D706A8h ; skill_descr - указатель на строку с описанием скила DGROUP:00560914 dd 0D7B790h ; skill_val_str - указатель на строку вида X+Y*(STAT_1 [+STAT_2]) DGROUP:00560914 dd 28 ; num - номер. Чего - непонятно DGROUP:00560914 dd 5 ; start_val - X из формулы DGROUP:00560914 dd 4 ; multipler - Y DGROUP:00560914 dd 5 ; stat_1 - STAT_1 DGROUP:00560914 dd 4294967295 ; stat_2 - STAT_2 DGROUP:00560914 dd 1 ; anonymous_7 - всегда 1 DGROUP:00560914 dd 0 ; anonymous_8 - 25/50/100 для небоевых, нескриптовых скилов (Doctor, Outdoorsman и т.п) DGROUP:00560914 dd 0 ; anonymous_9 - 1 для Traps, Steal, Lockpick <...> ------------------------------------------------------------ Строки для первых трёх полей берутся из skill.txt Что можно с этим сделать? Можно переделать скилы. Грузим экзешник, переходим на 10b9f0, меняем 06 (luck) на 04 (int), рядышком multipler (05) на нужное значение. Добавляем начальный бонус, если надо. Правим поля в skill.msg, меняя Gambling на, например, "гуманитарные науки". А обычный Science - на "Естественные науки". Т.е. мы можем менять скриптовые, неиспользуемые движком скилы на то, что нам надо, задавая при этом нужные формулы для вычислений стартового значения. ------------------------------------------- (Добавление от 15:51 - 24 Фев., 2005.) Блокеры (таблица _proto_blocking_list): Смещение: 0x10ab10, 9 4-байтовых значений.
Код:
[00] 0x43000002 (=0x20000043==33554499) - PID обычного scenery-блокера [04] 0x80000002 (=33554560) [08] 0x8d000002 (=33554560) [0C] 0x58010002 (=33554776) [10] 0x6d020003 (=50332269) [14] 0x6E020003 (=50332270) [18] 0x0c000005 (=83886092) [1C] 0x05000005 (=83886085) [20] 0x31000002 (=33554481)
Если вдруг возникнет необходимость сделать из своего объекта блокер... Радиация. Тут всё вкуснее. Чуть-чуть о том, как всё работает: ------------------------------------------- Radiation And now for some stuff on radiation, which does play a small part in the Fallout world. Sources of radiation include Fruit, golden geckos, and aliens and centaurs in random encounters. Whenever you get a huge dose all at once, the message window says "You have received a large dose of radiation." As explained in the patch notes, the radiation sign pops up once you've reached 66 rem. As far as I can tell radiation damage works like this: some time after you absorb a dose of radiation, you'll get one of the messages listed below, and you may temporarily lose stat points, Healing Rate and current Hit Points. The severity of the "attack" depends on your total rem count, but also on the amount of recent radiation that triggered the message. After a few days, your stats will return to normal. A little confusingly, this is signalled by another message identical to the first one. If you absorb more radiation in the meanwhile, your current penalty may be replaced by a more severe one. Here's a list of the penalties you may suffer. The rem figures are rough approximations.
Код:
Rem Message HR CHP ST PE EN CH IN AG Other >0 "very nauseous" No effect >150 "slightly fatigued" -1 >300 "vomiting does not stop" -3 -1 -1 >450 "hair is falling out" -5 -5 -2 -1 -2 >600 "skin is falling off" -10 -15 -4 -3 -3 -3 -1 -5 >1000 "intense agony" -10 -20 -6 -5 -5 -5 -3 -6 >2000 Possible instant death
You can actually live with a much higher rem count (15,000 or even more) and still run around with no penalty whatsoever. In any normal game, radiation is not a significant factor; in fact, in order to reach even 300 rem you'd have to run several laps around the Gecko reactor room or purposely hang around the Toxic waste dump. As far as I can tell, there is never any permanent damage resulting from radiation. ------------------------------------------- К сожалению, я не нашёл место, где хранятся пороги (150, 300 ...). Зато я нашёл две интересных таблички. Таблица _rad_stat [0x10694c]: 8 dword-полей, в каждом - номер статса, затрагиваемого радиацией. По умолчанию это 0, 1, 2, 3, 4, 5, 23h(35), 0Eh(14). Открываем define.h, проматывает к макроопределениям и видим: ------------------------------------- #define STAT_st (0) #define STAT_pe (1) #define STAT_en (2) #define STAT_ch (3) #define STAT_iq (4) #define STAT_ag (5) #define STAT_lu (6) <...> #define STAT_heal_rate (14) <...> #define STAT_current_hp (35) <...> ------------------------------------- Всё совпадает :-) Поэтому следующая табличка (_rad_bonus, 0x106978) никаких проблем не вызывет. Она состоит из шести блоков. Каждый блок из 8-ми dword-значений. Первый блок заполнен нулями (аналог первой строчки таблицы). Второй содержит 0xFFFFFFFF (-1) во втором поле. Ну и т.д. Подправив значения, можно сделать влияние радиации менее/более сильным. Кроме того, рано или поздно я таки найду все эти пороговые значения и влияние радиации Пустоши на хрупкий организм Чузена будет полностью определятся волей модера :-) ИМХО, давно пора сделать радиацию в Фоле чем-то *реальным*... Stay on-line. (Отредактировал(а) Raven - 22:53 - 24 Фев., 2005) (Отредактировал(а) Raven - 23:13 - 24 Фев., 2005)
|
Отправлено: 14:25 - 24 Фев., 2005
|
|
Raven
Пользователь
Откуда: Владик Регистрация: Февр. 2004
Всего: 408 сообщений
|
Артилеристам с хекс-эдитором на заметку: 0x753F0 [03] - радиус взрыва ракет 0x753E0 [02] - радиус взрыва гранат Сдаётся мне, Throwing Weapons и Big Guns можно си-и-ильно "усилить"... [EDIT] Это всё в Мапере, есессно. (Отредактировал(а) Raven - 15:01 - 2 Марта, 2005)
|
Отправлено: 8:00 - 2 Марта, 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Очень интересные вещи обсуждаются на форуме NMA. Советую прочитать тему до конца. За линк спасибо Izuken'у.
|
Отправлено: 9:30 - 2 Марта, 2005
|
|
YikxX
Пользователь
Откуда: NCR :) Регистрация: Февр. 2004
Всего: 304 сообщения
|
Также вот еще полезная тема на NMA. За линк спасибо АО.
----- Обломись! Я подложил туда носок...
|
Отправлено: 10:11 - 2 Марта, 2005
|
|
Alchemist
Модератор
Откуда: Арзамас-17 Регистрация: Дек. 2004
Всего: 298 сообщений
|
А вот ещё результаты ковыряния движка от зарубежных коллег: Fallout2Patcher_V2.
----- /// What'ya be sain'? Vault 100+? We need nothing o'that!
|
Отправлено: 13:33 - 7 Марта, 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
информация от Рейвена:
Цитата:
Вышла новая версия патчера. Список изменений: Version 3: The game is still unplayable, but some things have been fixed while other have been destroyed New: * New style of patching the executable added - the patcher reads from the patchData.txt file * Sections for future compatibility with other versions added (still only works with US 1.02d) * Some interface additions/fixes for the patcher itself Fixes: * Most of the graphics work on the dialogs now, but not the main picture that shows who you are talking to unless it's a talking head * You can now move the mouse to any corner/side of the screen to move the world map around istead of the default 640x480 edges Bugs: * Picture of who you are talking to is messed up in non-talking head dialogs * Accessing custom settings on your party members crashes
ЗЫ Рейвен, плиз, обновляй темку не только на фол.ру :) (Добавление от 9:49 - 12 Марта, 2005.) Ссылку забыла :). Воть.
|
Отправлено: 9:47 - 12 Марта, 2005
|
|
Raven
Пользователь
Откуда: Владик Регистрация: Февр. 2004
Всего: 408 сообщений
|
>>Рейвен, плиз, обновляй темку не только на фол.ру Угумсь. Просто здесь живого интереса никто не проявил, я и ...
|
Отправлено: 14:42 - 12 Марта, 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
А мы просто ждём :). Авось, кто добрый все последние достижения систематизирует и сведёт в документик со смещениями и описаниями... ;) ЗЫ Шютю. На самом деле, Рейвен, раз уж ты этим занялся... ты ж, вроде, одновременно с "иностранцами" эту фишку раскопал?
|
Отправлено: 16:30 - 12 Марта, 2005
|
|
Alchemist
Модератор
Откуда: Арзамас-17 Регистрация: Дек. 2004
Всего: 298 сообщений
|
Обновился Fallout Loader Creator: ссылка на файл
----- /// What'ya be sain'? Vault 100+? We need nothing o'that!
|
Отправлено: 15:20 - 13 Марта, 2005
|
|
|
Anchorite
Пользователь
Откуда: Не здесь Регистрация: Янв. 2003
Всего: 283 сообщения
|
Стартовое положение на карте мира (смещения даны относительно начала файла): 0x000AD008 DWORD X 0x000AD00D DWORD Y Величины измеряются в точках относительно левого верхнего угла карты. Будте осторожнее при правке. Эти данные являются частью команд занесения данных в регистры. Верны для Fallout2.exe версии 1.02d. Эффект проявляется при первом выходе на Worldmap из города после начала новой игры.
|
Отправлено: 22:45 - 20 Марта, 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Изменяем имя файлов acm с музыкой для карты мира: fallout2.exe UK 1.02d Смещение Значение 0x0FDD90 23world 0x0FDD98 20car
|
Отправлено: 8:48 - 21 Марта, 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Изменение музыки в главном меню: (для Фаргусовской версии) 000F9480 | 30 37 64 65 73 65 72 74 00 00 00 00 6C 61 6E 67 | 07desert Соответственно заменить 07desert на нужный файл из папки music. Для других версий можно просто найти 07desert.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 15:19 - 22 Марта, 2005
|
|
B A Z i K
Пользователь
Откуда: Киев, Украина Регистрация: Авг. 2004
Всего: 36 сообщений
|
Патч, позволяющий грузить карты комбинацией сtrl+v: fallout2.exe 1.02d US Ориг. Изм. 0003395E: 0A 8E 0003395F: E3 F4 00033960: FE 03 00033961: FF 00 Иногда с этим патчем игруха вылетает в форточки, особенно при скриптовом добавлении перка чузу Патч, решающий проблему очень шустрого перемещения по карте мира: fallout2.exe 1.02d US Ориг. Изм. 000B025D: E8 E9 000B025E: 16 54 000B025F: 8D B1 000BB3B4: 74 EB 000BB3B6: E8 50 000BB3B7: D1 33 000BB3B8: 06 C0 000BB3B9: 00 40 000BB3BA: 00 3D 000BB3BB: 89 00 000BB3BC: C1 00 000BB3BD: E8 00 000BB3BE: EE 01 000BB3BF: 01 7C 000BB3C0: 00 F8 000BB3C1: 00 58 000BB3C2: 89 E8 000BB3C3: EA B1 000BB3C4: 89 DB 000BB3C5: F8 FF 000BB3C6: E8 FF 000BB3C7: D1 E9 000BB3C8: FF 96 000BB3C9: FF 4E 000BB3CB: 89 FF 000BB3CC: C2 90 000BB3CD: 85 90 000BB3CE: C0 90 000BB3CF: 75 90 000BB3D0: 07 90 000BB3D1: 89 90 000BB3D2: C8 90 000BB3D3: E8 90 000BB3D5: 05 90 000BB3D6: 00 90 000BB3D7: 00 90 000BB3D8: 89 90 000BB3D9: D0 90 000BB3DA: E9 90 000BB3DB: C5 90 000BB3DC: 01 90 000BB3DD: 00 90 000BB3DE: 00 90 Наверное, ручками будет влом все это прописывать, так что вот линк на патчер: http://jdoe407.com/cpp/precompiled/console/FO2-WorldMapPatcher_V1.zip Вот еще пару новинок fallout2.exe 1.02d US 41b979- GUI - Карта в ПИП-бое 41e027- GUI - Создание персонажа -> опции -> загрузка 41ec22- GUI - Создание персонажа -> опции -> сохранение 42626b- GUI - Прицельный выстрел (Targeted attack) 42c860- Скорее всего начало работы с функцией показа авторов (Credits) Еще не проверено 42c958- GUI - Сама функция показа авторов (Credits) 432de8- GUI - Информация о чаре 436c8e- GUI - Создание персонажа -> Изменение имени 437045- GUI - Создание персонажа -> Изменение возраста 43769b- GUI - Создание персонажа -> Измененить пол 43800a- GUI - Создание персонажа -> Опции 43f560 - GUI - Лифт 443fb2- GUI - Экран Help'а 445997- GUI - Диалог -> просмотреть диалог 4462a7- GUI - Диалог (Текст NPC) 446387- GUI - Диалог (Текст игрока) 44718f- GUI - Бекграунд(background) который показывается при начале диалога 448333- GUI - Диалог -> Торговля 4487ce- GUI - Диалог -> Настройки однопартийцев 44976f- GUI - Диалог -> Настройки однопартийцев -> Ручная настройка(custom settings) 44a6e4- GUI - Начало работы с функцией диалога 44e7e3- GUI - Начальные мувики 45d8bc- GUI - Начало работ с главным интерфейсом 4615fa- Расположение надписи "Stealth" на экране при использовании соответсвуещего скила 4615ff- GUI - Сама надпись "Stealth" 46ed0e- GUI - Инвентарь 46edc9- GUI - Инвентарь (диалог -> торговля) 47b88c- Функция: Сохранение игры 47bca3- Вызов функции сохранения игры 47c640- Функция: Загрузка игры 47c6f2- GUI - Быстрая загрузка игры (Quickload) 47ca74- Вызов функции загрузки игры 47d529- GUI - Экран загрузки 47ed8c- GUI - Сохранение игры -> название сейва 480b0d- GUI - Загрузка игры (Главное меню) 481680- GUI - Главное меню 490474- GUI - Окошко паузы 490961- GUI - Настройки 497405- GUI - ПИП-бой 4a7496- GUI - Изменение персонажа/повышение уровня 4ac260- GUI - Вызов окошка со скилами (главный интерфейс) 4c0111- JMP если нет енкаунтера(encounter), если есть, то грузить енкаунтер 4c23a7- GUI - Карта мира 4c6f48- Функция: Вывод отладочного сообщения 4da7c1- GUI - Меню загрузки карты (По нажатию ctrl+r) 4db500- GUI - Меню загрузки карты -> Имя карты Все вышеперечисленные смещения - это(если не оговорено обратного) начало работ с соответсвуещей функцией. Если кто-то юзает версию фола 1.0 (может есть такие), и вас достает ограничение на кол-во городов, то лечится это так: fallout2.exe Нач. Изм. US v1.00 000AECE7: 74 EB Вот таким образом включается Debug-patch Noid'a: fallout2.exe 1.02d US Нач. Изм. 00034E64: 83 E8 00034E65: FE 27 00034E66: 01 23 00034E67: 0F 08 00034E68: 85 00 00034E69: 21 E9 00034E6A: 01 20 00034E6B: 00 01 00034E6D: B9 00 00034E6E: 34 90 00034E6F: 27 90 00034E70: 50 90 00034E71: 00 90 Понятно конечно, что ручками это никто править не будет, но может кому пригодится сей текст... Вот еще исследования jdoe407. Советую почитать. З.Ы. 2WG: Аня, а наработки по мапперу тоже сюда постить, или новую тему создавать?
----- B@ZiK was here!
|
Отправлено: 2:40 - 31 Марта, 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Пость... пости... запощивай... э-э-э-э :) ... В общем, кидай сюда :).
|
Отправлено: 12:18 - 31 Марта, 2005
|
|
B A Z i K
Пользователь
Откуда: Киев, Украина Регистрация: Авг. 2004
Всего: 36 сообщений
|
Некоторые моды при установке заменяют исполняемый файл fallout2.exe. Так вот, если подобный мод установить на версию от Фаргуса, то вся озвучка персонажей превратится в противное шипение. Лечится так: fallout2.exe 0000A998: 74 EB Кстати в очередной раз обновился Fallout2Patcher. Текущая версия патчера 3с. И напоследок... fallout2.exe 0x69583 [02] - радиус взрыва гранат 0x6958B [03] - радиус взрыва ракет То есть тоже самое, что отписал Рейвен много постов назад, но для fallout2.exe. Теперь по Мапперу (BIS ессно): Снятие ограничения на кол-во городов: mapper2.exe 000DBD3C: 74 EB Заставить маппер воспринимать 255 локаций вместо 160 можно так: mapper2.exe 00087DCC: A0 FF Под локацией подразумевается одна запись вида [Map XXX] в файле maps.txt. Можно заставить маппер сохранять карты при значении override_librarian=1. Какими глюками это грозит, и грозит ли вообще - неизвесно. Делается так: mapper2.exe 000874B2: 75 90 000874B3: 50 90 00087883: 0F 90 00087884: 85 90 00087885: 7B 90 00087886: FC 90 00087887: FF 90 00087888: FF 90 Пока фсё
----- B@ZiK was here!
|
Отправлено: 2:10 - 2 Апр., 2005
|
|
B A Z i K
Пользователь
Откуда: Киев, Украина Регистрация: Авг. 2004
Всего: 36 сообщений
|
Здается мне, я нашел место, где индекс города из city.txt привязывается к ГВАРе репутации в этом самом городе. Формат такой: Первые четыре байта указывают на номер(а не на строку в файле vault13.gam) ГВАРы. Вторые четыре байта указывают на номер города из city.txt.(По типу [Area XX], где ХХ - номер города.) Посмотрим на примере Рейдеров(106BCC): 42 00 00 00 19 00 00 00 / \ / \ Номер ГВАРы(66) Номер города(25) Открываем vaul13.gam. Ищем 66-ю ГВАРу. И называется она GVAR_TOWN_REP_RAIDERS. Все совпадает Начиная с нижеуказанных смещений начинается привязка ГВАРы к городу. Формат записей Интеловский. Для американки 1.02д эти привязки сидят по адресу 106B4C. Для американки 1.00 тут:105D8C У ЛК спрятано здесь:106B3C Ну а для Маппера спрятано аж здесь:152B68 Очередность привязки гвар к городам такая же, как и очередность размещения соответствующих гвар в vault13.gam. То есть сначала для Арройо, потом для Кламата ... и так до Наварро. Предположения о том, что для репутации в городах можно юзать неиспользованые ГВАРы GVAR_TOWN_REP_BURIED_VAULT(58) и GVAR_TOWN_REP_COLUSA(60), были ошибочными, т.к. эти ГВАРы не прописаны в екзешнике. То есть ситуация не очень хорошая. По идее эту таблицу с привязками можно сместить в другое место ехе-шеника, предназначенное, например для проверки/рапортов ошибок, или еще куда. А на ее место прописать ссылки на новую созданную нами таблицу. Как я понял подобный метод использовался в НВ для ограничения использования новой наркоты. Сорри, если объяснил по-ламерски. Темный я в Ассемблере... На этом про ГВАРы репутации все. В фолле(анг 1.02д) Начиная со смещения 106BE0 идут 8 записей про ГВАРы ADDICT'ов(привыканий). Порядок такой же, как и размещение этих самых гвар в vault13.gam. То есть начиная с GVAR_NUKA_COLA_ADDICT(21) по GVAR_ALCOHOL_ADDICT(26). А вот эти 2 ГВАРы не совпадают с размещением в vault13.gam, а именно: 106BFC - ГВАРа привыканию Джету(296). 106C00 - ГВАРа привыканию к карточной игре Трагик(295). Проверял, 100% оно. Менял номер гвары в ехе, потом в игре менял значение гвары, на которую я поменял в ехе, и получал соответствующий ADDICT После этого идут еще какие-то записи, но к ГВАРам они не относятся Вот, предположительно расположение еще одной двиговой ГВАРы(для англ 1.02д): 106B34 - GVAR_LOAD_MAP_INDEX(27) З.Ы. Немного не в тему, но близко. Отображение квестов в пип-бое от этой самой ГВАРы репутации никак не зависит. Эта ГВАРа отображает только репутацию для конкретной локации, которую можно посмотреть в хар-ках персонажа. Типа любят, нейтрально, ненавидят и т.д. Насчет квестов. У меня квесты в новых созданных городах отображаются нормально. Конечно еще перепроверю, но вроде все работаетъ. Сорри за оффтоп. Пока фсе (Отредактировал(а) B A Z i K - 21:03 - 24 Апр., 2005)
----- B@ZiK was here!
|
Отправлено: 20:58 - 18 Апр., 2005
|
|
Perceptron
Модератор
Откуда: Ivanovo Регистрация: Май 2003
Всего: 502 сообщения
|
>Вот, предположительно расположение еще одной двиговой ГВАРы(для англ 1.02д): 106B34 - GVAR_LOAD_MAP_INDEX(27) А это что за гвара? >Отображение квестов в пип-бое от этой самой ГВАРы репутации никак не зависит. А разве должно? По-моему, они вообще никаким боком не связаны. За один последний год об экзешнике стало известно больше, чем начиная с далекого 98-го. Так мы пожалуй его на винтики разберем. Крутые исследования, решпект.
|
Отправлено: 23:23 - 18 Апр., 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Решпект, решпект. Крут ;). GVAR_LOAD_MAP_INDEX это такая гвара в которую обычно пишется число, определяющее режим входа на карту. Смутно, да? Вот пример:
Код:
if (global_var(GVAR_LOAD_MAP_INDEX) == LOAD_MAP_NORMAL) then override_map_start_hex(25075, 0, 3); if (global_var(GVAR_LOAD_MAP_INDEX) == LOAD_MAP_RETURN_DWNTWN) then override_map_start_hex(23087, 0, 5);
|
Отправлено: 7:17 - 19 Апр., 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
>>За один последний год об экзешнике стало известно больше, чем начиная с далекого 98-го. Так мы пожалуй его на винтики разберем меня тоже посещала такая мысль По существу: (Фаргус version only) 1) Со смещения: 0x0F1900 по 0x0F19D0 находятся все ролики включённые в игру. Обратить особое внимание, что для нескольких из них используется своя палитра (я ничего не путаю?). Соответственно сразу за перечислением роликов идёт местонахождение pal (например art\cuts\introsub.pal) 2) Для меня более интересная инфа. (И найти было намного сложнее) Смотреть: 0x0B3190 Есть там такое значение - B101 . Это не что иное, как номер из INTRFACE.LST (433) Отвечает за картинку используемую на карте мира во время движения машины (низ\право). Есть ещё пара идей про машину, но это позже. (Добавление от 0:45 - 21 Апр., 2005.) Забыл. 0x0B2DF0 - значение 6E01 (366) : картинка, когда мы передвигаемся по карте на своих двоих.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 0:25 - 21 Апр., 2005
|
|
B A Z i K
Пользователь
Откуда: Киев, Украина Регистрация: Авг. 2004
Всего: 36 сообщений
|
2Perceptron:
Цитата:
А это что за гвара?
Интересная гвара Добиться ее динамического(в смысле не ручками) измененения в игре у меня так и не получилось И насчет того что по данному смещению именно она я тоже на 100% не уверен. Так теория, догадки. Вот, что мне удалось нарыть... Отлична от нуля в таких скриптах: ENCDOCK.SSL, GSTCAV1.SSL, KLAGRAZ.SSL, MCSLGGRD.SSL, NCR1.SSL, NCRENT.SSL, NEWRCS.SSL, REDDTUN.SSL, V13ENT.SSL. В игре может принимать значения: 0, 2, 5, 10, 13, 777, 888, 999. Исходя из трех последних значений говорить о том, что в эту ГВАРу запоминается индекс текущей карты, как-то не получается. Вот еще один случай, когда название гвары не говорит о ее предназначении.
Цитата:
А разве должно? По-моему, они вообще никаким боком не связаны.
Цитирую WG:
Цитата:
Если "отметить в ПИПбое" означает отобразить репу и квесты, то никак. ГВАРина репы жёстко привязана к номеру локации. В движке. Так что увы..
Вот я и подумал, что со своими квестами - никак, из-за того, что в двиге гвара не зарезервирована. Опровержение этого стало для меня настоящим открытием. Может конечно это уже все знают, а я как всегда пропустил новость... Привязку гвар к с своим городам можно сделать(но долго и муторно) как я указал в предыдущем посте. А можно позаимствовать эти самые гвары репутации у городов, которым они "не очень нужны" То есть в ехе находим привязку реповой гвары к Сьерре, Рейдерам, Анклаву или Наварро, и меняем адреса на свои локации. В итоге получится 7 городов с репой(эти четыре + три неиспользованых). 2WG:
Цитата:
GVAR_LOAD_MAP_INDEX это такая гвара в которую обычно пишется число, определяющее режим входа на карту.
Сенксь. Будем знать. Из этой оперы есть еще двиговые GVAR_MAP_EXIT_TILE(46) и GVAR_MAP_NEXT_TILE(67). Их работа соответствует названию? 2All: З.Ы. В процессе ковыряния двига нашел еще пару вкусностей. Может для кого-то они не новость. Параметр days_played для worldmap.txt. То есть проверка сколько дней мы играем. В игре он не юзается, но работает. Пример: в параметрах енкаунтера пишем If(days_played > 30), и этот енкаунтер сможем встретить не раньше истечения этих самых 30-ти дней. И еще один параметр pipboy_active для maps.txt. Может принимать значения Yes\No. Зачем нужен, и что делает пока неясно.
----- B@ZiK was here!
|
Отправлено: 1:25 - 21 Апр., 2005
|
|
Perceptron
Модератор
Откуда: Ivanovo Регистрация: Май 2003
Всего: 502 сообщения
|
>Вот я и подумал, что со своими квестами - никак, из-за того, что в двиге гвара не зарезервирована. Опровержение этого стало для меня настоящим открытием. Может конечно это уже все знают, а я как всегда пропустил новость... А я однажды просто попробовал добавить свой квест в ПИП-бой, и все прекрасно прокатило. Это вообще в текстовых файлах прописывается. Не знаю, почему Аня про квесты речь завела. Помню, Raven как-то признался, что считал невозможным добавление новых ГВАР. О ФОлле вообще много мифов ходит.
|
Отправлено: 3:04 - 21 Апр., 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Я и не говорила, что отображение квестов связано с репой. Я сомневалась, не прошита ли в движке привязка квестов к локациям. Оказывается, нет, всё гораздо проще. Тем лучше :).
Цитата: Сенксь. Будем знать. Из этой оперы есть еще двиговые GVAR_MAP_EXIT_TILE(46) и GVAR_MAP_NEXT_TILE(67). Их работа соответствует названию?
Угу. Они тоже в скриптах юзаются. Например, для того, чтобы сымитировать убегание криттера с карты. И инициализируются скриптово. Не знаю, меняет ли их как-то движок.
|
Отправлено: 15:14 - 22 Апр., 2005
|
|
B A Z i K
Пользователь
Откуда: Киев, Украина Регистрация: Авг. 2004
Всего: 36 сообщений
|
Цитата:
Я и не говорила, что отображение квестов связано с репой. Я сомневалась, не прошита ли в движке привязка квестов к локациям. Оказывается, нет, всё гораздо проще. Тем лучше .
Значит неправильно понял. Сорри за поднятый шум.
Цитата:
Угу. Они тоже в скриптах юзаются. Например, для того, чтобы сымитировать убегание криттера с карты. И инициализируются скриптово. Не знаю, меняет ли их как-то движок.
Попробуем выяснить. А вот ГВАРа RUNNING_BURNING_GUY(28) - 100% двиговая. С картами есть еще один неисследованый кусок. Это привязка номера карты к отображению этой самой карты в пип-бое. Или попросту говоря отображение автокарты. В игре не у всех локаций есть автокарты(напр. у конющен возле НР нету), то есть индексы карт из maps.txt в двиге привязываются к отображению в пипбое. (Отредактировал(а) B A Z i K - 21:00 - 24 Апр., 2005)
----- B@ZiK was here!
|
Отправлено: 18:56 - 24 Апр., 2005
|
|
Perceptron
Модератор
Откуда: Ivanovo Регистрация: Май 2003
Всего: 502 сообщения
|
Координаты стартового города. Как многие уже знают, если поменять координаты Арройо в city.txt, то город, конечно сместится, и игрок будет находится на нужном месте, только вот камера на карте мира будет висеть над старым местом, и девять квадратов вокруг старого местоположения Арройо будут подсвечены. Положение камеры располагается по следующим смещениям: Смещение кол-во байт нач. знач. название 10C42C: 2 0х0000 World Viewport X 10C430: 2 0х0000 World Viewport Y Эти нули означают, что камера находится в точке 184, 133 (стартовое положение игрока на карте). Чтобы сместить камеру вправо и вниз, используйте положительные значения (т.е., чтобы сместить в точку 384, 133, пропишите в X число 200 (т.е. 0xC8)). Не помню кем найдено, но Andy-Spacetrain реализовал это в своих прогах. Координаты подсветки располагаются по следующим смещениям: Смещение кол-во байт нач. знач. название 0AD008: 4 0хAD000000 World Highlight X 0ACD90: 4 0хAD000000 World Highlight X 0AD00D: 4 0х7A000000 World Highlight Y 0ACD95: 4 0х7A000000 World Highlight Y AD - это 173, 7A - 122. 173, 122 - стартовые координаты Арройо. Просто меняйте эти значения на новые стартовые координаты. Откопал это Anchorite (см. выше). Откуда взялись еще два смещения? Просто в коде это значение меняется в двух местах. У меня, например, при начале новой игры подсветка не смещалась, пришлось покопаться в экзешнике. Т.е. поменяли 6 смещений в EXE, подправили city.txt и вот вам Арройо на новом месте. Кстати, чтобы получить смещения в памяти, прибавьте к смещениям в EXE число 411A00.
|
Отправлено: 23:42 - 9 Мая, 2005 | ИСПРАВЛЕНО: Perceptron - 0:36 - 28 Июня, 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Кто знает, подскажите плз. смещение для движка Ф2 (любой версии) на снятие ограничения на кол. карт (именно карт, а не локаций коих 49). По какому адресу надо изменить байт на FF. (Добавление от 0:43 - 24 Мая, 2005.) Да, если это будет не фаргусовская версия, напишите значение соседних байт
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 23:02 - 23 Мая, 2005
|
|
B A Z i K
Пользователь
Откуда: Киев, Украина Регистрация: Авг. 2004
Всего: 36 сообщений
|
Цитата:
Кто знает, подскажите плз. смещение для движка Ф2 (любой версии) на снятие ограничения на кол. карт (именно карт, а не локаций коих 49). По какому адресу надо изменить байт на FF.
Try this: fallout2.exe (1.02d) Нач. Изм. 98344: A0 FF Это дело все не проверено, сказал навскидку, так что если это не то, сорри, сейчас времени нету. И для фаргуса это дело наверное тоже катит, т.к. у них екзешники только одним байтом различаются. З.Ы. А что мы собственно ломаем? Первый раз слышу про ограничение на кол-во карт для fallout2.exe :\
----- B@ZiK was here!
|
Отправлено: 9:11 - 24 Мая, 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Что-то меня глючит. Я был свято уверен, что без ковыряния двига не получится исспользовать больше 160 карт. Это моя личная ошибка из той же оперы, что и определённое количество гвар. Однако, за помощь спасибо. P.S. Действительно для фаргуса подходит.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 12:19 - 24 Мая, 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Цитата:
Некоторые моды при установке заменяют исполняемый файл fallout2.exe. Так вот, если подобный мод установить на версию от Фаргуса, то вся озвучка персонажей превратится в противное шипение. Лечится так: fallout2.exe 0000A998: 74 EB
ЛК, в отличие от Гуся, воспринимает как "родной" звук, так и свой "особый". Никто не в курсе, как заставить английский экзешник 1.02d понимать ЛКшный звук?
|
Отправлено: 10:32 - 6 Июня, 2005
|
|
B A Z i K
Пользователь
Откуда: Киев, Украина Регистрация: Авг. 2004
Всего: 36 сообщений
|
Цитата:
ЛК, в отличие от Гуся, воспринимает как "родной" звук, так и свой "особый". Никто не в курсе, как заставить английский экзешник 1.02d понимать ЛКшный звук?
Кажись вот это: fallout2.exe(1.02d en) Здесь был бред. Сори Кстати, чтобы вылечить шипение голосов у Фаргусевого первого Фолла делаем так: falloutw.exe (1.01 en) 00009FD8: 74 EB (Отредактировал(а) B A Z i K - 16:59 - 7 Июня, 2005)
----- B@ZiK was here!
|
Отправлено: 13:56 - 7 Июня, 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Цитата: Здесь был бред.
И всё-таки... есть варианты?
|
Отправлено: 11:09 - 8 Июня, 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Был и есть список в котором написано, что мы можем делать с двигом, а что нет (пока нет). Так вот, у кого есть время и воображение ответьте: что вообще (желательно по мере важности) можно найти в двиге. Списком. Ну например: 1)Стартовые координаты 2)Ограничение на локации И т.д. Желательно как можно подробнее. В том числе что уже известно, и что хотелось бы найти. У меня не хватает воображения.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 23:28 - 30 Июня, 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Мой предыдущий пост. Как исковеркать англичанку, чтобы она начала понимать ЛК?
|
Отправлено: 12:14 - 1 Июля, 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Это конечно хорошо, но кроме этого пожалуйста и список всего остального. 2 WG: А можешь выложить где-нить файлик килл до 300 с ЛК звуком(можно на мыло). Двиги у меня есть все, а звук нет.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 13:01 - 1 Июля, 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Помогите разобраться со следующими размышлениями (сомнениями).
Цитата:
13 Year Limit (Not working totally...) Version: Hex Offset: Fallout2 (US v1.0) Fallout2 (US v1.02d) 000938D8 Fallout2 (UK v1.01) 00093688 Fallout2 (UK v1.02e) 00093A88 Fallout2 (GR v1.0) Fallout2 (GR v1.02d) 00093BA8 Fallout2 (FR v1.0) Fallout2 (FR v1.02d) 00093BA8 ( Fallout2 (315371520) 0003CC12 ) Change to FFFFFFFF (?)
Я так понимаю автора найти не получится, но мне вот что интересно: 1) Что конкретно означает фраза Not working totally... В чем подвох? Я долго тестил, но проблем не возникло. Может у кого-то что-то было? 2) То с чем я не смог разобраься. Насколько мне известно исчисление в фолле идёт от "нулевого" года (2241), который зашит в двиге (впрочем местонахождение известно). Для начала я не пользовался начальными данными. Легко смог выяснить, что лимит в 13 лет не привязан к конкретной дате (в нашем формате yyyy.mm.dd). Также стало понятно, что зависит от стартового, "нулевого года". Это всё легко проверяется. Далее. Посмотрев данные приведеные в начале сообщения и вспомнив исчесление в фоле, стало понятно, что дата окончания игры исчисляется в секундах, прошедших от начала игры, от "нулевого" года. Но ответит ли мне кто-нибудь почему все говорят, что ограничение в 13 лет, а если перевести данные из двига - получается всего 10 лет? Самый главный, конечно, первый вопрос... но всё-же.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 14:33 - 20 Июля, 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
После нескольких часов рутинной работы следующие новости: Снять лимит в 13 лет крайне легко. Взяв чистый двиг и сделав 40~60 тестов игра работала стабильно. Итак, единственная проблема, которая была - это та самая фраза Not working totally... А означало это произвольное окончание игры (заставка the end и т.д.) Выяснилось, что не такое уж и произвольное. Такое было всякий раз, когда вызывался сейв во время режима боя. Для нормальной работы требуется исправить значения в двух местах: 0x00938D8 ---- 0003CC12 заменить на FFFFFFFF 0x009392D ---- 0003CC12 заменить на FFFFFFFF У кого есть время - погоняйте плз. Мною глюков не замечено.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 0:23 - 23 Июля, 2005
|
|
Dar
Пользователь
Откуда: Воронеж Регистрация: Дек. 2004
Всего: 289 сообщений
|
Вроде уже есть патчеры позволяюшие лимит убирать, да и давно. Вот скажи, пожалуста (моя в двиге не гу,гу), заметить лимит в 13 лет на лимит в 1 год, 2 года и т.п. можно? Как обрабатываются скилы? Например: науку на Браминов можно применить, а на всех остальных критеров нельзя,( вроде). И тот же using_skill({ObjectPtr who}, {int skill}) нельзя ли расширить с чека на красться - на все остальные скилы. и т.п.
|
Отправлено: 4:34 - 23 Июля, 2005 | ИСПРАВЛЕНО: Dar - 4:44 - 23 Июля, 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
2Dar Твои вопросы относятся скорее к концепции объектов, чем к движковым ограничениям. Скиллы обрабатываются из скрипта. using_skill проверяет активный скилл, что идеологически верно лишь для скилла "красться", потому что лишь он может быть активен продолжительное время.
|
Отправлено: 9:47 - 23 Июля, 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
>>Вроде уже есть патчеры позволяюшие лимит убирать, да и давно. Есть. Правда я лично не видел, но.... 1)Я исходных кодов не видел, не знаю что они правят. 2)В первоначальном сообщении данные не точны. Я просто искал точную и рабочюю инфу. >>Вот скажи, пожалуста (моя в двиге не гу,гу), заменить лимит в 13 лет на лимит в 1 год, 2 года и т.п. можно? Можно. Хоть в 300 лет. Я лично ставил 1,2,10,50 лет. Проверял на 1 и 50 годах. Правда немного хитрые числа надо вводить.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 13:07 - 23 Июля, 2005
|
|
Dar
Пользователь
Откуда: Воронеж Регистрация: Дек. 2004
Всего: 289 сообщений
|
Wasteland Ghost >>using_skill проверяет активный скилл, что идеологически верно лишь для скилла "красться", потому что лишь он может быть активен продолжительное время. Это логически понятно/очевидно. С браминами-нет. Неоскриптованный брамин отличается от неоскриптованного дикаря на предмет науки. Ткнуть наукой на последнего просто нельзя. и флагов в pro вроде никаких специфических. И вот чуть глубже: перевести скил из категории неактивных в активные - т.е. сделать то же воровство активным как "красться" ? Это ведь двиговая вотчина? Ray Примерчик - другой можно? и можно ли при этом -оставить мульт. (гм, можно и скриптом вызвать) -"убить" деревню (ну, это тоже скрипт) -**незакончить игру** - разрешить игроку гулять в свое удовольствие, как после победного окончания игры. Извините, если я торможу
|
Отправлено: 17:10 - 23 Июля, 2005 | ИСПРАВЛЕНО: Dar - 17:12 - 23 Июля, 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
>>Примерчик - другой можно? 01E13380 (в двиге это будет выглядеть как 8033E101) - год и 4 месяца (и сколько-то дней). Точнее влом переводить. >>и можно ли при этом -оставить мульт. (гм, можно и скриптом вызвать) -"убить" деревню (ну, это тоже скрипт) -**незакончить игру** - разрешить игроку гулять в свое удовольствие, как после победного окончания игры. Извини, но вопросы не верны по определению. Лимит на 13 лет означает, что после прошествии этого времени путешествуя на карте у тебя вылетит заставка THE END и игра выйдет в главное меню. Соответственно первое и второе не имеют смысл т.к. мы результата всё равно не увидим. С карты мира вызвать скрипт пока нельзя. По поводу последнего - можно просто убрать лимит. Точнее выставить очень большое число вместо 13 лет. А именно около 140 лет. После этого игра всё равно закончится. (Добавление от 19:03 - 23 Июля, 2005.) Ну и чтобы подвести черту добавлю: Если не менять второе число (см. предыдущие сообщ.), то конец игры будет вызываться после окончания своего хода (режим боя).
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 18:48 - 23 Июля, 2005
|
|
Dar
Пользователь
Откуда: Воронеж Регистрация: Дек. 2004
Всего: 289 сообщений
|
Все понял, спасибо.
|
Отправлено: 23:09 - 23 Июля, 2005
|
|
Spy
Реалист
Откуда: Все там будем... Регистрация: Май 2005
Всего: 374 сообщения
|
Вот, чего расковырял (1.02d): 0x10с18с : Картинка для Fast metabolism, точнее соотв строка из skilldex.lst. 0x10с198 : -\\- для Bruiser 0x10с1a4 : -\\- для Small Frame 0x10с1b0 : -\\- для One Hander 0x10с1bc : -\\- для Finesse 0x10с1c8 : -\\- для Kamikaze 0x10с1d4 : -\\- для Heavy Handed 0x10с1e0 : -\\- для Fast Shot 0x10с1ec : -\\- для Bloody Mess 0x10с1f8 : -\\- для Jinxed 0x10с204 : -\\- для Good Natured 0x10с210 : -\\- для Chem Reliant 0x10c21c : -\\- для Chem Resistant 0x10с228 : -\\- для Sex Appeal 0x10c234 : -\\- для Skilled 0x10с240 : -\\- для Gifted Дальше идёт 19 пустых байт, затем надпись " Bugs...?Dammit Gus! I`m a dessert chef, not a programmer.", после чего непонятно пока чего... Кстати, эта надпись встречается в дальнейшем в двиге дикое кол-во раз подряд...
----- Хочешь, чтобы что-то было сделано хорошо - сделай сам.
|
Отправлено: 14:49 - 6 Сент., 2005 | ИСПРАВЛЕНО: Spy - 14:57 - 6 Сент., 2005
|
|
Fozzy
Пользователь
Откуда: Украина,Киев Регистрация: Апр. 2004
Всего: 81 сообщение
|
Вот нашел пару строчек, подумываю о добавлении нового premade перса. HEX: 0010AE50-0010AED0 Что с этим можно зделать? З.Ы. Или я бред написал?
----- Последний патрон в поржавевшем стволе - Остаток надежды на то что бы выжить. И две банки джета в моем рюкзаке - Реальность, которой уже не увижу. (С)Fozzy
|
Отправлено: 19:19 - 25 Сент., 2005
|
|
Alchemist
Модератор
Откуда: Арзамас-17 Регистрация: Дек. 2004
Всего: 298 сообщений
|
Ну, ты накопал массив строк. Чтобы сделать что-то большее, чем изменение трёх имён файлов со стандартными персонажами, на другие три имени, придётся сначала отыскать в движке процедуру, к этому массиву обращающуюся. Ограничение на три персонажа жёстко зашито в ней.
----- /// What'ya be sain'? Vault 100+? We need nothing o'that!
|
Отправлено: 21:29 - 26 Сент., 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Есть ли какие-нибудь отличия в оригинальном двиге (english version) и в двиге от Фаргуса? Я что-то так и не нашёл. Ну хоть в каких-нибудь байтах. P.S. Между Eng/Фаргусом и ЛК можно не говорить. И так видно.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 21:59 - 11 Окт., 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Один байт. Что-то там связанное с командой безусловного перехода. Гусёвый экзешник "перепрыгивает" кусок кода, отвечающий за декодирование acm-файлов речи. Уже об этом в теме говорили. Кажись, вот оно: 0000A998: 74 EB По поводу ЛК. У них экзешник версии 1.02, а не 1.02d. Был такой, оказывается.
|
Отправлено: 10:48 - 12 Окт., 2005
|
|
Mynah
Модератор
Откуда: Пермь Регистрация: Окт. 2004
Всего: 469 сообщений
|
Я тут немножко плюшками баловался:) Большая просьба людям, имеющим в своём распоряжении русификацию ЛК, проверить - будут ли шипеть головы с этим двигом.
----- Scio me nihil scire
|
Отправлено: 17:23 - 17 Окт., 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Если это тот же вариант, что ушёл мне на мыло, то у меня он шипит .
|
Отправлено: 9:21 - 18 Окт., 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Цитата:
>>Вот скажи, пожалуста (моя в двиге не гу,гу), >>заменить лимит в 13 лет на лимит в 1 год, 2 года и >>т.п. можно? R>Можно. Хоть в 100 лет. Я лично ставил 1,2,10,50 R>лет. Проверял на 1 и 50 годах. Правда немного R>хитрые числа надо вводить.
Признавать свои ошибки тяжело, но необходимо. Как я раньше проводил тесты старых значений и у меня всё работало - догадываюсь смутно. То, что это было не правильно - абсолютно точно. Дело ведь не в самом способе. Ну для начала вот более точный и безглючный: Ограничение в 13 лет снимается так: Offset Оригинал Изменения 0x0093944 0D FF 0x00938EC 0D FF Это позволит "коректно" вырубить проверку (вернее ограничение станет не 13 лет, а 255). Но есть одно но... Ребята в БИС всё-таки ограничение не с потолка придумали. Дело в том, что дата в фолле считается как количество прошедших секунд*10 от начала "нулевого" года (от 2241). Для записи этого времени используется переменная длинной в 4 байта. А это: FF FF FF FF ~ 13 с небольшим лет. И получается, что проверку можно увеличит с 13 лет до 255, но по прошествии 13 с копейками лет игра вешается в глухую. Вот такие дела. Так что ограничение лучше уж не трогать, лишние пол года игры думаю ничего не изменят. 2 Wasteland Ghost: если есть желание - можешь поменять значения в доке на приведеные выше, но лучше совсем убрать данные по ограничению в 13 лет.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 1:55 - 20 Ноября, 2005 | ИСПРАВЛЕНО: Ray - 19:27 - 21 Ноября, 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Version: "Фаргус" или English offset Оригинал 0x070DDA 10 Номер ролика, который проигрывается последним при загрузке игры ("Война... Война никогда не меняется...." Соответственно 10 (16 система исчисления) - 16 (10 с.с.)= credits.mve А вот так можно вообще выключить все вступительные ролики: offset Оригинал Изменения 0x070DE0 E8ABDCFCFF E900000000 0x070DD4 E8B7DCFCFF E900000000 0x070DCB E8C0DCFCFF E900000000 Правда, есть маааленький глюк с прорисовкой экрана, после отключения mve'шек. Но он не напрягает. Если сумею - уберу, но он ни сколько не мешает. Сами смотрите.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 20:26 - 21 Ноября, 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
А не проще выключить вступительные ролики, поменяв их имена в fallout2.exe на другие?
|
Отправлено: 8:46 - 22 Ноября, 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
>>А не проще выключить вступительные ролики, поменяв их имена в fallout2.exe на другие? Проще. Но только тогда станет недоступной самая первая кнопка в меню игры - "История". А так только вступительные ролики.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 10:15 - 22 Ноября, 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Есть ещё охотники движок поковырять? Вот задачка: найти в движке место, отвечающее за изменение игрового времени в процессе движения по карте мира. Т.е. нужно не визуально замедлить/ускорить перемещение, а в игровом времени (тиках).
|
Отправлено: 22:59 - 4 Янв., 2006
|
|
Dar
Пользователь
Откуда: Воронеж Регистрация: Дек. 2004
Всего: 289 сообщений
|
Кто-нить может ковырнуть двиг или надоумить как ковырнуть (((хексЪедитор имется))) scr_return(1); Используется, чтобы делить итемы при юзанье их в инвентаре, но делит только те в которых скрипт с ней можно найти в оригинале. Как прописать/добавить свои пиды итемов соответственно?
|
Отправлено: 21:35 - 27 Янв., 2006
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Выключение кнопки 0 в диалогах (для Фаргуса, Eng и 1С): Offset: 0x36C48 Старое значение: 0x30 Новое значение: 0x31
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 12:37 - 22 Июля, 2007 | ИСПРАВЛЕНО: Ray - 11:42 - 22 Июля, 2007
|
|
Jordan 63
Пользователь
Откуда: Россия, Самара Регистрация: Июль 2007
Всего: 228 сообщений
|
Цитата:
Координаты стартового города. Как многие уже знают, если поменять координаты Арройо в city.txt, то город, конечно сместится, и игрок будет находится на нужном месте, только вот камера на карте мира будет висеть над старым местом, и девять квадратов вокруг старого местоположения Арройо будут подсвечены. Положение камеры располагается по следующим смещениям: Смещение кол-во байт нач. знач. название 10C42C: 2 0х0000 World Viewport X 10C430: 2 0х0000 World Viewport Y Эти нули означают, что камера находится в точке 184, 133 (стартовое положение игрока на карте). Чтобы сместить камеру вправо и вниз, используйте положительные значения (т.е., чтобы сместить в точку 384, 133, пропишите в X число 200 (т.е. 0xC8)). Не помню кем найдено, но Andy-Spacetrain реализовал это в своих прогах.
можете дать ссылку на эту программу Цитировать надо правильно. WG
|
Отправлено: 19:49 - 17 Авг., 2007
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Зачем это тебе? Неужели так сложно исправить самому? К томуже эти данные не полные. Посмотри в доки по оффсетам в Документации. Там точнее.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 20:18 - 17 Авг., 2007
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Прямо перед глазами. Раздел "Патчи и загрузчики".
|
Отправлено: 19:49 - 20 Авг., 2007
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Небольшие лирические размышления на тему замедления передвижения по карте мира На данный момент мне неизвестен не один корректный способ, который позволил бы "правильно" замедлить передвижение по карте мира. Те способы, которые существуют сейчас, в том числе и приведнный в данной теме создают лишь илюзию замедления. В определённом месте ставиться безусловный переход в другое место движка, где создан цикл, который в зависимости от автора инкрементом увеличивает значение регистра от нуля до (как приведено в этой теме) 0x100000000 Фактически процессор просто загружается работой счётчика. После чего стоит указатель на старое место в двиге и продолжается выполнение ф-ии. Что ни коим образом не влияет на случайные встречи. Исключительно визуальное решение, толку от которого нет совсем. Так что применения этого я не вижу никакого смысла. Господа "двиглоковырятели" есть у кого идеи насчёт ф-ии обработки карты мира (которая начинается 0xB020C)? Для тех, кому достаточно исключительно визуального решения, но при применении патча (приведённого в данной теме) не даёт достаточного результата можно увеличить количество шагов счётчика. Увеличте значение по адресу 0xBB3BB. 00000001 сделайте его больше. P.S. Кто знает - то замедление по карте, которое делал Mynah работает по тому же принципу?
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 20:00 - 25 Авг., 2007
|
|
Freeman
Пользователь Регистрация: Февр. 2007
Всего: 24 сообщения
|
Что-то не понимаю почему от такого способа толку нет совсем. Хотя если определение есть ли встреча находится вне этого цикла то понятно. Можешь выложить дизасеммблеренный код процедуры и прокомментировать основные места? Или просто объяснить принцип по которому там всё работает?
|
Отправлено: 22:10 - 25 Авг., 2007
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Цитата: Что-то не понимаю почему от такого способа толку нет совсем
На простом примере. Допустим у нас есть такая ф-ия
Код:
worldmap() { func1(); //отрисовка while(true) { func2(); //обработка нажатых клавиш func3(); //обработка перемещения func4(); //слежение за машиной (топливо и пр.) func5(); //обработка случайных встреч } }
существующие "замедлялки" делают следующее
Код:
worldmap() { func1(); //отрисовка while(true) { SLOW(); func2(); //обработка нажатых клавиш func3(); //обработка перемещения func4(); //слежение за машиной (топливо и пр.) func5(); //обработка случайных встреч } } SLOW() { int eax = 0; while (eax< 0x100000000) { eax++; } }
Комментарии нужны? Вставляется "холостой" цикл, который просто загружает временно проц. Но на игру он никак не влияет. Функция карты просто временно приостанавливается что мы и видим визуально. Но полезности от этого 0.
Цитата: Можешь выложить дизасеммблеренный код процедуры и прокомментировать основные места?
Я только начал разбирать функцию. Это долгий процесс. К тому же она просто огромна. Если интересно найди в инете такую вещь как REC и найди в нём ф-ию "L004BFE0C" (http://www.backerstreet.com/rec/rec.htm) А я потом поделюсь своими комментариями
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 23:30 - 25 Авг., 2007
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Цитата: Есть ещё охотники движок поковырять?
А как же
Цитата: Вот задачка: найти в движке место, отвечающее за изменение игрового времени в процессе движения по карте мира. Т.е. нужно не визуально замедлить/ускорить перемещение, а в игровом времени (тиках)
Ещё надо? За правильное решение задачи ожидаю только 5 баллов
Offset | Значение | 0xB04E5 | 50460000 | Для Фаргуса, Американки v1.02d. Всё тестилось. Комментарии: Движёк фола делает так - разбивает путь игрока на отрезки равной длинны (отрезки заранее определённого размера). На каждом шаге цикла перемещает игрока на один такой отрезок (в случае с машиной в зависимости от условий на 8 отрезков за раз). Как бы то ни было на каждом шаге он прибавляет к дате пол часа (18000 тиков). По этому смещению и находится это число. Надо замедлить передвижение (ускорить течение времени) - увеличь число. Ускорить - умеши. Как уже сказал число записано в тиках. Проще не придумаешь P.S. Извини что так поздно
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 19:24 - 26 Авг., 2007
|
|
Jordan 63
Пользователь
Откуда: Россия, Самара Регистрация: Июль 2007
Всего: 228 сообщений
|
Я писал
Цитата:
По каким офсетам можно изменить что бы при выходе на карту мира игрок находился в таких координатах X=823 Y=72 А также чтобы все тайлы возле арройо не были подсвещены. Очень нужно!
Я нашел ответ нужно было просто посмотреть документацию.
|
Отправлено: 22:42 - 16 Янв., 2008 | ИСПРАВЛЕНО: Jordan 63 - 22:51 - 16 Янв., 2008
|
|
|
|