Случайная подборка модов
Упавшая звезда. Честь наемника
4.2
The Project Medeiros
3.7
Путь человека: Шаг в неизвестность
3.8
Реборн: Двойники - «Исток»
3.1
SFZ Project: Episode Zero
4.8
Вектор Отчуждения
4.2
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
  • Страница 1 из 1
  • 1
Архив - только для чтения
"Инструкция по изменению плотности травы"
Российская Федерация  Rolan
Суббота, 20.11.2010, 07:33 | Сообщение # 1
Статус:
Отмычка:
Сообщений: 169
Награды: 2
Регистрация: 31.05.2010

Инструкция по изменению плотности травы. Параметр меньше 0.02 не ставить - Колмогор писал что начинает лагать
1. Открываем айда
2. Открываем айда_виев
3. Теперь ищем что нам нужно найти. Нам сейчас нужно найти r__detail_density? Тогда жмем ctrl+t и вводим r__detail_density
4. Находим функцию и тщательно ее разбираем (я ее полностью разбирать не буду, а только укажу где задаются параметры:
Code

fld ds:flt_10064400 --нижнее ограничение равное 0.6
or dword_1007CACC, 8
sub esp, 8
fstp [esp+30h+var_2C]
mov ecx, offset unk_1007CA9C
fld ds:flt_10064380 --верхнее ограничение равное 0.2
fstp [esp+30h+var_30]
push offset aSs; "ЪЩЩ>"
push offset aR__detail_dens; "r__detail_density"
call ds:??0CCC_Float@@QAE@PBDPAMMM@Z; CCC_Float::CCC_Float(char const *,float *,float,float)
push offset sub_1005E080; void (__cdecl *)()
call _atexit
add esp, 4

Если вы заметили, то что бы трава стала плотней нужно уменьшить параметр, а что-бы травы стало меньше нужно параметр увеличить
5. Нам нужно увеличить плотность травы: следовательно нужно изменить верхнее ограничение. Как это сделать? Есть 3 варианта:

Первый и самый логичный вариант: изменить переменную которая задает. Но тут есть небольшой подвох на котором я попался. Этой переменной может пользоваться не одна функция, а несколько. И не ясно что вы можете сломать, поменяв одну циферку в переменной...

Второй: взять другую уже существующую переменную. Хороший вариант которым я и воспользовался. Но и тут есть недочет - переменных в ддлке не так уж и много и можно просто не найти нужную

Третий: создать переменную. Отличный вариант. Единственный минус - я не знаю как это сделать

Я пошел по второму пути. Два раза шелкнув на ds:flt_10064380 айда отправила меня в дебри под названием .rdata. Там я нашел переменную которая называлась - flt_1006452C и которая имела значение 0.0720999
Вообще-то, как я понял, flt_1006452C - не является названием переменной. Это так сказать сборка из 2 показателей - (тип числа)_(оффсет) В нашем случае это число типа float которое находится в 1006452C. Ну чтож приступим к редактированию!
6. Отправляем в самое начало файла. Как? Сверху есть что-то типа статус бара - строка состоящая из синего,серого,черного цвета. Нажимаем там в любом месте мышкой и ведем влево до конца
7. Опять ищем r__detail_density. Находим в этой функции fld ds:flt_10064338. Дальше самое интересное. Жмем на ХЕКС_ВИЕВ и там у нас выделяются какие-то цифры. Это наше 10064338 только написано наоборот. Сравните:
38 43 06 10
10 06 43 38

Похоже, не правда?
Начинаем редактировать. нам нужно поменять 4338 на 452C т.к. в этом и есть различие. Жмем правой кнопкой мыши на этих цифрах и выбираем пункт Edit. Меняем 38 43 на 2С 45. Дальше жмем где нибудь в коде. Это нужно сделать обязательно. После этого жмем правой кнопкой мыши и выбираем commit changes. Но айда не меняет исходный файл. В нашем случае мы можем только создать файл изменений. Делается это так - Файл - Produce file - Create DIF file. Назовем его test. DIF файл можно открыть при помощи блокнота и посмотреть что вы сделали. Теперь так сказать соединит этот файл и дллку. Это можно сделать при помощи bpatch. Качаем и смотрим и запускаем bpatch.cmd. Я думаю что вы сможете его изменить сами если нужно будет. Там все элементарно.

Огромное спасибо Kolmogor'у и malandrinus'у. Если бы не они, я бы ничего не сделал. Спасибо вам еще раз
Спасибо и Rolan'y с которым я очень много беседовал и тоже узнал много чего.
Автор: _Призрак_

  Злобная реклама
Суббота, 20.11.2010, 07:33
Статус:
Сообщений: 666
Регистрация: 31.05.2010
Молдова  ANAVRIN
Четверг, 30.12.2010, 09:59 | Сообщение # 2
ALMOST PERFECT vision
Статус:
Новичок:
Сообщений: 304
Награды: 12
Регистрация: 23.10.2010

Чтоб совсем убрать траву, находим файл build_details.dds и стераем резинкой альфа-канал.
  Злобная реклама
Четверг, 30.12.2010, 09:59
Статус:
Сообщений: 666
Регистрация: 23.10.2010
Российская Федерация  makushka
Вторник, 22.11.2011, 14:41 | Сообщение # 3
Статус:
Отмычка:
Сообщений: 123
Награды: 5
Регистрация: 26.07.2011

а готового фикса нет?
  Злобная реклама
Вторник, 22.11.2011, 14:41
Статус:
Сообщений: 666
Регистрация: 26.07.2011
Российская Федерация  Dimonich
Вторник, 22.11.2011, 15:50 | Сообщение # 4
Статус:
Опытный:
Сообщений: 1643
Награды: 6
Регистрация: 17.04.2011

Quote (makushka)
а готового фикса нет?

Сам делай.Только бы готовое качали.
  Злобная реклама
Вторник, 22.11.2011, 15:50
Статус:
Сообщений: 666
Регистрация: 17.04.2011
Российская Федерация  RETRIX
Четверг, 24.11.2011, 23:26 | Сообщение # 5
AP-Production
Статус:
Ветеран:
Сообщений: 9439
Награды: 12
Регистрация: 24.08.2011

ANAVRIN, tongue тогда травка останется, просто будет невидимой.
так что Rolan правильно пишет. Нужно в экзешнике изменять значение.

Добавлено (24.11.2011, 23:26)
---------------------------------------------
makushka, нет. а Что там делать-то???

  Злобная реклама
Четверг, 24.11.2011, 23:26
Статус:
Сообщений: 666
Регистрация: 24.08.2011
Молдова  6poHR777
Вторник, 02.10.2012, 21:20 | Сообщение # 6
Статус:
Опытный:
Сообщений: 1480
Награды: 0
Регистрация: 05.01.2012

Программа называется IDA pro??? smile
  Злобная реклама
Вторник, 02.10.2012, 21:20
Статус:
Сообщений: 666
Регистрация: 05.01.2012
  • Страница 1 из 1
  • 1
Поиск: