Перейти к содержанию

Добавление предметов как объектов


Рекомендуемые сообщения

В игре каждый предмет хранятся в отдельном адресе, т.е. два одинаковых предмета хранятся в разных адресах, и при получении нового предмета создаётся новый адрес.

Инструкция выглядит так:

  mov rax,[r13+40]
  lea rcx,[r13+08]

 

Подключив свою гениальную гениальность, я написал

  mov rax,[r13+40]
  lea rcx,[r13+08]

  mov rax,[r13+40]
  lea rcx,[r13+08]

 

но по два предмета мне выдаваться не стало. 

Как нужно правильно написать?

Ссылка на комментарий
Поделиться на другие сайты

ARRAMAGA, первое, что надо было тебе сделать, сказать название игры(пиратка или лицензия), Второе предоставить полную функцию создания предметов или предоставить адреса, и в трет их, ты создаешь  один и тот же предмет.

Ссылка на комментарий
Поделиться на другие сайты

  В 05.01.2017 в 17:43, ARRAMAGA сказал:

Как нужно правильно написать?

Показать  

ARRAMAGA , ты не всё ещё доделал, для написания рабочего скрипта, нужно больше инфы.

Посмотри мой видео-урок,

Ссылка на комментарий
Поделиться на другие сайты

Скорее всего, твои инструкции просто создают уникальный ID предмета и записывают, тебе надо их копировать на этапе инициализации, где предмет берется из массива в котором хранятся все предметы и выделяется на него память. А то, что ты делаешь выглядит, как  - у тебя есть 2 спички, ты их переложил и хочешь чтобы их было 4.

Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

Игра Dead by daylight.

Допустим у меня 10 предметов уже есть, у которых ид 27011. В таком случае существует 10 адресов, в которых записано значение 27011.

Вся функция:

  Показать контент

 

Ссылка на комментарий
Поделиться на другие сайты

можешь попробовать найти функцию которая отвечает за освобождение из памяти при выбрасывании предмета и найти участок кода, которому задаются параметры указывающие, что надо выбрасывать, подменяй на нужные и после того как выбросишь на земле будет лежать другой предмет, а не тот который выбрасывал.
Забыл использует ли UE4  _RTDynamicCast, если да, то тебе может помочь эта статья.

Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

  В 06.01.2017 в 16:59, partoftheworlD сказал:

можешь попробовать найти функцию которая отвечает за освобождение из памяти при выбрасывании предмета и найти участок кода, которому задаются параметры указывающие, что надо выбрасывать, подменяй на нужные и после того как выбросишь на земле будет лежать другой предмет, а не тот который выбрасывал.
Забыл использует ли UE4  _RTDynamicCast, если да, то тебе может помочь эта статья.

Показать  

Если заменить ид в адресах, то можно получить другой предмет, это я давно выяснил, но у меня желание именно получать больше одного предмета при прокачке.

Ссылка на комментарий
Поделиться на другие сайты

  В 06.01.2017 в 17:19, ARRAMAGA сказал:

 но у меня желание именно получать больше одного предмета при прокачке.

Показать  

вызвать из своего потока функцию, которая выдает предмет

Ссылка на комментарий
Поделиться на другие сайты

  В 07.01.2017 в 16:30, Dino сказал:

вызвать из своего потока функцию, которая выдает предмет

Показать  

:DНайти бы её еще, для Dying Light наверное уже 5 месяцев пытаюсь найти.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.