Вы находитесь на странице: 1из 18

RENDEREDGE 17 [RenderEdge] Memory Hack ENAleksey, DracoL1ch, karaulov

ГОД » опубликован

Основная версия | Widescreen Fix | Экспериментальная версия

Актуальная версия v1.0.5a

 Описание

Теперь можно https://xgm.guru/files/1525/195063/War3_2017-12-12_14-48-57-81.p...


Статус: Активен
редактировать стандартный интерфейс Варкрафта без необходимости внедрять сторонние
Лидер: ENAleksey библиотеки.

Главная страница Требования:


Комментарии проекта
WarCraft III patch 1.26a;
Участники Экспериментальная версия PJass.

Ресурсы  Код

Мне нравится +202 Memory Hack

 » Typecast
» MemoryHack

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
ПОХОЖИЕ ПРОЕКТЫ » FpCall
» Utils
RРG Engine
Systems

» Interface
» FileSystem
» RenderEdge

Demo

» GUI
» Camera

 Проекты использующие RenderEdge

Edemium | Show Your Skill | Nightmare in Kingspot

Edemium
Show Your Skill
Nightmare in Kingspot

 Благодарности
DracoL1ch;
Karaulov;
leandrotp.

Warcraft, memoryhack, renderedge, war3 Скачать - 60 КБ ↵ 309

Просмотров: 15 358

Мне нравится +39 -0

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Все комментарии ← 1 2 3 4 →

» Лучшие комментарии

quq_CCCP #151 - 1 год назад 0

Кет, ты бы и не узнал.

pro100master #152 - 1 год назад 0

Я так понимаю можно выполнить библиотеку функцию через std_call1 и другие


аргументы если ранее зарегистрирован

set адрес память функция = GetModuleProcAddress(RENDEREDGE_DLL, "название функци


и")

не будет ли барахлить если я возму библиотеку у основного вызов функции??

ENAleksey #153 - 1 год назад 0

pro100master:
не будет ли барахлить если я возму библиотеку у основного вызов функции??

Вы хотите получать адреса функций из основной версии RenderEdge при помощи


GetModuleProcAddress? Так сделать не получится, так как в основной версии
используется совершенно другой способ вызова функций.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
NazarPunk #154 - 1 год назад 0

С помощью него можно свои кнопки создавать?

ENAleksey #155 - 1 год назад 0

NazarPunk, нет, нельзя.

ENAleksey #156 - 1 год назад (отредактировано ENAleksey) 4

Я только что нашёл способ редактирования подсказок! Функция устанавливает


координаты правого нижнего угла, позже я это исправлю.

function EditTooltip takes integer anchor, real offsetX, real offsetY returns not
hing
local integer pTooltipFrame = fast_call1(address_GameBase + 0x337240, 0)
local integer pRootFrame = GetRootFrame()

call SetFramePoint(pTooltipFrame, ANCHOR_BOTTOMRIGHT, pRootFrame, anchor, off


setX, -offsetY)
endfunction

call EditTooltip(ANCHOR_RIGHT, FromPixelX(-100), FromPixelY(160))

https://xgm.guru/files/1525/195063/comments/367514/War3_2017-12-...
прикреплены файлы

Vitalik8 #157 - 1 год назад 0

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
а можешь все фунции из мемхака в RenderCraft мемхак пихнуть?

FTFire #158 - 1 год назад 0

ENAleksey, Всё заработало странно...Ты что-то поменял?


ENAleksey, Можешь сделать пример поворота камеры мышкой и чтобы персонаж
тоже поворачивался одновременно?Как в РПГ.

ENAleksey #159 - 1 год назад (отредактировано ENAleksey) 0

Обновление v1.0.5a
Добавлена функция редактирования подсказок: EditTooltip;
Обновлена библиотека FpCall: добавлены функции fast_call, std_call и
this_call;
Удалены функции типа EditMinimapPixel, вместо этого используйте
EditMinimap(..., FromPixelX(x), FromPixelY(y), ...).

https://xgm.guru/files/1525/195063/comments/370514/War3_2017-12-...
прикреплены файлы

FTFire #160 - 1 год назад 0

ENAleksey, Можешь сделать чтобы камера работала в мультиплеере?

ENAleksey #161 - 1 год назад 0

FTFire:

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Всё заработало странно...Ты что-то поменял?

Нет, ничего не менял.


FTFire:
Можешь сделать пример поворота камеры мышкой и чтобы персонаж тоже
поворачивался одновременно?

Берёшь систему управления камерой, которая в карте, добавляешь в триггер


OnMouseMove функцию SetUnitFacing(..., yaw).
FTFire:
Можешь сделать чтобы камера работала в мультиплеере?

Нет, не могу.

pro100master #162 - 1 год назад 0

ENAleksey, Очень хорошо, и еще добавь xgm.guru/p/wc3/damagedetect на свой


render memory, тогда и появится полноценный мемхак оптимальный

ENAleksey #163 - 1 год назад 0

pro100master, нет, моя версия предназначена только для редактирования


интерфейса.

pro100master #164 - 1 год назад 0

ENAleksey, там лишь переносить и адрес и все.. Чтобы люди не бегали между
мемхак и рендер

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Jack-of-shadow #165 - 1 год назад 0

GetMouseTerrainX() - Возвращает проекцию позиции курсора на ландшафт. Можно


ли наоборот по позиции на ландшафте получить на экранные координаты?

Ige #166 - 7 месяцев назад 7

что-то давненько не было обновлений :(


вот нашел адреса очков здоровья и маны (те что под портретом персонажа):

function GetHealthPointsFrame takes nothing returns integer


return Memory[ReadGameUIStruct(FRAME_Portrait)/4 + 144]
endfunction

function GetManaPointsFrame takes nothing returns integer


return Memory[ReadGameUIStruct(FRAME_Portrait)/4 + 145]
endfunction

и простой пример кода, меняющий показатели местами:

local integer pHealthPointsFrame = GetHealthPointsFrame()


local integer pManaPointsFrame = GetManaPointsFrame()
local integer pManaPointsParent = GetFramePointParent(pManaPointsFrame, ANCHO
R_TOPLEFT)
local integer pHealthPointsParent = GetFramePointParent(pHealthPointsFrame, A
NCHOR_TOPLEFT)
local real pHealthPointsX = GetFramePointX(pHealthPointsFrame, ANCHOR_TOPLEF
T)
local real pHealthPointsY = GetFramePointY(pHealthPointsFrame, ANCHOR_TOPLEF
T)
local real pManaPointsX = GetFramePointX(pManaPointsFrame, ANCHOR_TOPLEFT)

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
local real pManaPointsY = GetFramePointY(pManaPointsFrame, ANCHOR_TOPLEFT)

call SetFramePoint(pHealthPointsFrame, ANCHOR_TOPLEFT, pHealthPointsParent, A


NCHOR_BOTTOMLEFT, pHealthPointsX, pManaPointsY)
call SetFramePoint(pManaPointsFrame, ANCHOR_TOPLEFT, pManaPointsParent, ANCHO
R_BOTTOMLEFT, pManaPointsX, pHealthPointsY)

результат

https://xgm.guru/files/1525/195063/comments/384186/Screenshot_21...
прикреплены файлы

Venommm #167 - 7 месяцев назад 0

Можно ли как-то скрывать\перемещать за камеру интерфейс\часть интерфейса


уже во время игры?

pro100master #168 - 7 месяцев назад 4

Venommm, можно укажи отрицательный от текушего размера блока в


обратный и он уйдет

Ige #169 - 6 месяцев назад (отредактировано Ige) 6

дополнение к прошлому сообщению и несколько новых ф-ций:

// *ВАЖНО* перед манипулированием фреймом здоровья/маны нужно обязательно создать


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

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
function GetHealthPointsFrame takes nothing returns integer // возвращает адрес фр
ейма очков здоровья
function GetManaPointsFrame takes nothing returns integer // возвращает адрес фрей
ма очков маны
function GetBuffBarButton takes integer id returns integer // возвращает адрес фре
йма заклинания (баффа); id принимает значения 0..7

// готовые ф-ции
function EditHealthPointsFrame takes integer anchor, real offsetX, real offsetY re
turns nothing
function EditManaPointsFrame takes integer anchor, real offsetX, real offsetY retu
rns nothing
function EditBuffBarButton takes integer buttonId, integer anchor, real offsetX, r
eal offsetY, real width, real height returns nothing

» сам код

пример

local real healthPointsX = FromPixelX(5)


local real healthPointsY = FromPixelY(-175)
local real manaPointsX = FromPixelX(5)
local real manaPointsY = FromPixelY(-195)

local real buffBarButtonStartX = FromPixelX(160)


local real buffBarButtonStartY = FromPixelX(240)
local real buffBarButtonDeltaX = FromPixelX(-40)

call EditHealthPointsFrame(ANCHOR_TOPLEFT, healthPointsX, healthPointsY)


call EditManaPointsFrame(ANCHOR_TOPLEFT, manaPointsX, manaPointsY)

call EditBuffBarButton(0, ANCHOR_BOTTOM, buffBarButtonStartX + buffBarButton

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
DeltaX*0, buffBarButtonStartY, -1, -1) //дабы избежать изменения ширины/высоты,
нужно указать отрицательное значение
call EditBuffBarButton(1, ANCHOR_BOTTOM, buffBarButtonStartX + buffBarButton
DeltaX*1, buffBarButtonStartY, -1, -1)
call EditBuffBarButton(2, ANCHOR_BOTTOM, buffBarButtonStartX + buffBarButton
DeltaX*2, buffBarButtonStartY, -1, -1)
call EditBuffBarButton(3, ANCHOR_BOTTOM, buffBarButtonStartX + buffBarButton
DeltaX*3, buffBarButtonStartY, -1, -1)
call EditBuffBarButton(4, ANCHOR_BOTTOM, buffBarButtonStartX + buffBarButton
DeltaX*4, buffBarButtonStartY, -1, -1)
call EditBuffBarButton(5 ANCHOR BOTTOM buffBarButtonStartX + buffBarButton

https://xgm.guru/files/1525/195063/comments/387754/Screenshot_24...
https://xgm.guru/files/1525/195063/comments/387754/Screenshot_24...
https://xgm.guru/files/1525/195063/comments/387754/Screenshot_24...
прикреплены файлы

ClotPh #170 - 6 месяцев назад 0

Ige, есть карта, где все функциями настроено так, как на скрине?

Ige #171 - 6 месяцев назад 4

ClotPh, карта из шапки + код из сообщения, вроде бы ничего сложного :)


Держи
прикреплены файлы

Vitalik8 #172 - 6 месяцев назад -2

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Ige, если зайти за другого игрока игра вылетает
А как можна узнать какой игрок нажал на кнопку?

Jack-of-shadow #173 - 6 месяцев назад 0

Vitalik8:
Ige, если зайти за другого игрока игра вылетает
А как можна узнать какой игрок нажал на кнопку?
GetLocalPlayer() но не поможет в большинстве случаев, так как нужна
синхронизация, если идёт взаимодействие с объектами.

FTFire #174 - 6 месяцев назад 0

Ige, Слушай можешь сделать от слежку WASD клавиш и/или левой кнопки
мышки? Скажем как в обычном РПГ нажимаешь ЛКМ и воспроизводится атака.

Jack-of-shadow #175 - 6 месяцев назад (отредактировано Jack-of-shadow) 0

ENAleksey:
Такой вопрос, у меня два ноута, с одинаковыми версиями вара, точнее второй ноут
по локалке подключен к харду другого. (Извращение конечно..)Так вот обыно так
все пашет, даже мультиплейер можно играть. Но когда пытаюсь на втором грузить
карту (пытаюсь загрузить сингл) со встроенным RenderEdgeMini, вар вылетает с
ошибкой, что неудалось открыть RenderEdgeMini.dll. Так вот, это последствия моего
изврата с локалкой или у ноута должен быть подключен доступ локальным
файлам?, кажется для Preload Exploit такая тема нужна была.

Отредактировал реестр "Allow Local Files", не помогло.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
ENAleksey #176 - 6 месяцев назад 0

Jack-of-shadow, RenderEdgeMini.dll лежит в папке с варом на обоих компах? Какие


пути к папкам на разных компах, соответствуют ли они путям в реестре?

Jack-of-shadow #177 - 6 месяцев назад (отредактировано Jack-of-shadow) 0

ENAleksey:
RenderEdgeMini.dll лежит в карте.

Или этого все таки не достаточно?, я почему думал то что библиотеки должны
работать, если дллка встроена в карту.

ENAleksey #178 - 6 месяцев назад (отредактировано ENAleksey) 0

Jack-of-shadow, с помощью функции ExportFileFromMpq происходит извлечение


файла из карты в папку с варкрафтом, и только после этого данный файл
загружается в память процесса (LoadLibrary).

Jack-of-shadow #179 - 6 месяцев назад (отредактировано Jack-of-shadow) 0

ENAleksey:
похоже вылетало, изза разрешения экрана, нетбука. Попробовал на других компах,
все норм, только вылетает, при завершении (выходе в меню, или из игры).

Naadir #180 - 5 месяцев назад (отредактировано Naadir) 2

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Каким образом в демо-версии рендера осуществляется передача полосок хп и мп
на экран? Выбирается случайный персонаж для каждого игрока? По умолчанию
показываются хп и мп Чародея Крови, даже если я выбираю другогоперсонажа.
Если убрать с карты ЧК, выбирается Паладин и т.п.

Начал искать по коду, но по какой-то причине не нашёл никаких отсылок на


выбор.

Это вообще связано?

Ага, стоп. Он по айди обращается?

Хм-м-м-м...

А это айди юнита или игрока..? Тэк-с. Это айди кнопки. Не могу понять, что такое
buttonId. Как она находится, где? Если Id = 0 -- это первая кнопка..? Что?

Всё, я понял! Это Id юнита. Эврика.


А можно его как-то отловить при получении приказа?

Насколько я понял, у Ige в наработке с баффами они показываются для


выделенного персонажа. Но я не понимаю, в чём отличие этой функции от
функции со здоровьем. При этом функция для здоровья показывает по айди... ВТФ.
Я вообще перестал понимать, хм.

ENAleksey #181 - 5 месяцев назад (отредактировано ENAleksey) 2

Naadir, что-то у меня не отображалось, что появился новый комментарий в теме.


Функции EditHeroBarHealthBar и EditHeroBarManaBar редактируют полоски здоровья

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
и маны на панели героев для иконки с номером buttonId:

» Скриншот
прикреплены файлы

Naadir #182 - 5 месяцев назад 2

ENAleksey, а! Ёлки! Спасибо большое. :) Пойду дальше изучать.

Atesla #183 - 5 месяцев назад 0

Был уже подобный вопрос, но я все же осмелюсь задать его еще раз. Возможно ли
изменить полоску перезарядки способностей? При изменении размера обычных
кнопок "фрейм перезарядки" остается неизменным.

Naadir #184 - 5 месяцев назад 2

Atesla, просто импортируешь картинку с нужным тебе размером в игровой


интерфейс.

ENAleksey #185 - 5 месяцев назад 0

Atesla, иконка перезарядки способности - это mdx модель, поэтому нельзя просто
так взять и изменить её ширину или высоту с помощью соответствующих функций.
Есть два способа это сделать: отредактировать модель в mdlvis, либо изменить
матрицу проекции при её рендеринге.
Naadir, можно сделать и так, но качество текстуры будет хуже, так как она
растянется вместе с иконкой перезарядки.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Atesla #186 - 5 месяцев назад 0

Спасибо за ответ, господа, немного копнул знаний.)

Naadir #187 - 5 месяцев назад 2

ENAleksey, текстура перезарядка не растягивалась же раньше. Ты поправил?

ScopteRectuS #188 - 5 месяцев назад (отредактировано ScopteRectuS) 0

Сори за нубский вопрос, только начал разбираться с RenderEdge.

Как задавать координаты, например для функции EditUpperButtonBarButton( ),


задаю свои координаты, a кнопка улетает не пойму куда. ANCHOR_TOPRIGHT,
ANCHOR_BOTTOM, ANCHOR_RIGHT и т.д. - это точки, откуда отсчитываются
координаты?

В прилагаемой карте есть функции FromPixelX( ), FromPixelY( )..., которые


используются в функции EditStandardInterface( ). Правильно ли я понял, что эти
функции локальные и у каждого игрока кнопки будут настроены относительно их
разрешений экрана?

Также карта критует во время загрузки, если в коде есть ! inject main.

UPD: понял, это не координаты, а проценты, как у мультибоарда.

ENAleksey #189 - 5 месяцев назад (отредактировано ENAleksey) 2

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
ScopteRectuS, аргументы, задающие координаты и размер во всех функциях,
принимают значения от 0.0 до 1.0 (да, можно сказать, что это проценты от размера
экрана).

Параметры ANCHOR_TOPRIGHT и другие задают точку отсчёта координат


относительно экрана.

Функции FromPixelX и FromPixelY не работают в мультиплеере, это можно


исправить, изменив способ получения разрешения экрана (вместо использования
сторонней библиотеки, получать ширину и высоту экрана из game.dll, возможно,
когда-нибудь сделаю это), либо задав его самостоятельно (например, дать
пользователю возможность выбора разрешения его монитора с помощью
диалогового окна).
А, нет, всё верно, я просто неправильно понял вопрос.

ScopteRectuS:
Также карта критует во время загрузки, если в коде есть ! inject main.

По этой проблеме ничего ответить не могу.

ENAleksey #190 - 2 недели назад (отредактировано ENAleksey) 5

Вдруг кому понадобится: библиотека, подменяющая нажатия клавиш W, S, A и D на


стрелки.
События триггеров TriggerRegisterPlayerEvent(trig, whichPlayer,
EVENT_PLAYER_ARROW_LEFT_DOWN) срабатывают как при нажатии на стрелку
влево, так и при нажатии на клавишу A. Аналогично для других событий.

Использование: импортируем библиотеку в карту, копируем триггеры Typecast,


Memory, FpCall и FileSystem, при инициализации карты загружаем библиотеку,
например, с помощью функции ExportAndInjectDLL.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Скачать:
Библиотека;
Карта-пример.
прикреплены файлы

Bergi_Bear #191 - 2 недели назад 2

По заказу товарища Bergi_Bear =), долой праворукую систему управления

Jack-of-shadow #192 - 2 недели назад 0

ENAleksey:
Оно синхронизируется в мультиплеере?

ENAleksey #193 - 2 недели назад 0

Jack-of-shadow, только что проверил - в мультиплеере работает.

← 1 2 3 4 →

© XGM v8.6.1814 (2018-12-26)


Разработка игр  Gamedev  Создание игр  Программирование  Unity 3D - Вопросы
О нас
Помощь
Обратная связь
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Оценить