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


Фотография

[SA] Перезагрузка файлов на лету


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

#1 Compton

Compton

    Активный участник

  • Пользователи
  • PipPipPip
  • 57 сообщений
  • Пол:Мужчина
  • Город:Владивосток (с декабря 2011-го)
  • Интересы:Hip-Hop, PHP, MVC, проектирование


Отправлено 03 July 2011 - 08:05

0AA6: call_method 0x5BD830 struct 0xC2B9C8 num_params 0 pop 0

Данным методом мы перезагружаем handling.cfg "на лету". Как я понимаю 0x5BD830 - это перезагрузка, 0xC2B9C8 - указатель на файл. Ничего страшного если ошибаюсь. Мне нужны указатели на остальные файлы, например weapon.dat, pedstats.dat и т.д. Где их можно найти?

#2 Sweet

Sweet

    Активный участник

  • Пользователи
  • PipPipPip
  • 418 сообщений
  • Пол:Мужчина
  • Город:Нижний Новгород


Отправлено 03 July 2011 - 10:37

не факт что данная функция перезагружает любой файл, может она только для handling.cfg?

#3 Compton

Compton

    Активный участник

  • Пользователи
  • PipPipPip
  • 57 сообщений
  • Пол:Мужчина
  • Город:Владивосток (с декабря 2011-го)
  • Интересы:Hip-Hop, PHP, MVC, проектирование


Отправлено 03 July 2011 - 12:20

Мммм... С адресами вообще не сильно дружу... Хз! Мне кажется и метод и указатель статичны. Да даже не в этом дело)) Мне нужну указатели на остальные файлы, вот в чем вопрос) Я знаю, такие точно есть! Вопрос где и достать?! Например в лимит аджастере от Sacky можно изменять имена подгружаемых файлов, например с handling.cfg на handling.dat. Следовательно там как раз используются эти самые указатели... Где бы их нарыть(

#4 listener

listener

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 356 сообщений
  • Пол:Мужчина
  • Город:Ft.Lauderdale


Отправлено 03 July 2011 - 17:36

Для каждого типа файлов - свой загрузчик. Некоторые можно запускать больше одного раза, некоторые - нельзя. Поменять имя файла - это не вопрос; это обычная строка в памяти (сегменте констант). С handling-ом все просто: под него выделено фиксированное место, при перечитывании файла, оно заполняется поверх. .ide любой, в принципе, нельзя загрузить по новой (потому что он дабавляется к имеющимся объектам, и, уже на второй загрузке, кончится выделенное место). Насчет остальных файлов - надо смотреть. weapon.dat и pedstats.dat - скорее всего, можно. objects.dat - точно нельзя. Ищется это в дизассемблере очень просто: ищется строка, и смотрится, где она используется (как правило, она либо передается в CFile::open в начале нужной функции, либо передается функции параметром).
You think your day was surreal? Try mine.

#5 Compton

Compton

    Активный участник

  • Пользователи
  • PipPipPip
  • 57 сообщений
  • Пол:Мужчина
  • Город:Владивосток (с декабря 2011-го)
  • Интересы:Hip-Hop, PHP, MVC, проектирование


Отправлено 04 July 2011 - 18:14

C дизасемблером вообще не в ладах!! Да и не стал бы этим заниматься в принципе) c ide жаль что нельзя перезагрузить=( Но в самом крайнем случае можно перезарузить игру. вепон и педстэтс - тоже по барабану на эти файлы, ничего интересноо с ними не не сделаешь. обжектс тоже нафиг не нужен. Интересовала перезагрузка IMG архивов на лету, но как я понял это вообще полная жо! можно тему закрывать короче) или вообще нафиг удалить)))))

#6 VoprosEst

VoprosEst

    Участник

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

Отправлено 15 September 2011 - 14:19

Я не понимаю как сделать перезагрузку файла handling.cfg на лету, мне это бы очень пригодилось. Вы тут какие-то адреса памяти написали, а где их найти и как? (через что). И сразу хотел бы узнать возможно ли сделать asi-плагин, способный перезагружать файл handling.cfg во время игрового процесса (на лету) по нажатию опр. клавиши?

Сообщение отредактировал VoprosEst: 16 September 2011 - 12:22





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

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