Вопрос, а если использовать в качестве заднего фона black borders (которые под UI)? Возможно ли с этого сделать не на всю ширину полосу, а, например, только квадратом по центру окна?
Ну, десинх происходит, ибо вызываемый код не вызывается у других (так как кнопка не нажата), как именно делается обработка нажатий и есть ли общий триггер под это, как это делал допустим ENAlexey для RenderEdge? Если нет, то советую изучить: github.com/ENAleksey/RenderEdge/blob/master/RenderEdge/Source/Cu...
А точнее TriggerRegisterKeyEvent.
Благодарю за наводку с репозиторием. Имеете ввиду под общим триггером, нативный ли он? В целом, даже с идентичным кодом от render edge результат не меняется, если судить по логике, то код события должен выполнятся у всех, реагируя лишь на команды локального игрока и возвращая нужные данные именно ему (нажатия), в правильную сторону копаю?
Я предлагал эту тему не раз, но мало кому интересна, для широкой публики желающих это делать не нашлось, если хочешь посмотреть карты кроме доты айкапа, могу устроить.
Я знаю как это осуществляется, и даже без этой наработки, но спасибо, мне нужно лишь было знать, есть ли конвертер в открытом доступе, что бы не терять время :)
Undert4ker, В паблик никто не выкладывал, об этом говорили довольно давно.
Недавно китайская аниме карта с дллкой и байткодом всплыла, так что определенно есть, есть даже люди которые знают как им это сделать, но не хотят, за это им никто не платит.
Да существует, айкап юзает.
Так же есть наработка позволяющая сразу писать на с + + но если у вас с жасом то не задалось, с то точно ниче не выйдет, это сложно и думать надо куда больше.
Я понимаю, что можно с нуля на с + + написать, и проблем в этом нету, но если карта уже написана на джассе, кол-во строк приличное, скажем так, то появился данный вопрос, так как с нуля переписывать на с + + явно не вариант
Лаги происходят из-за множественного перебора всех юнитов игрока, в том случае, если их довольно много. Соответственно, чем больше юнитов перебирает, тем больше нагрузка на движок. К тому же, предлагаю следующий вид для перебора юнитов в группе:
ТЫК
Если нужно только для конкретного игрока, цикл можно не использовать...
set bj_lastCreatedGroup = CreateGroup()
loop
exitwhen i == bj_MAX_PLAYER_SLOTS
call GroupEnumUnitsOfPlayer(bj_lastCreatedGroup,Player(i),null)
call ForGroup(bj_lastCreatedGroup,function Filter)
set i = i + 1
endloop
call GroupClear(bj_lastCreatedGroup)
call DestroyGtoup(bj_lastCreatedGroup)
Undert4ker, смотря что тебе нужно, самое насущьное уже реализовали. Вроде детекта урона.
Ну, я просто хочу понять как это делать самому, не более, после чего смогу со спокойной душой брать готовое, или дополнять своим, ибо функционал далеко не полон)
Как я уже написал, мне не до конца понятен конверт обьектов в целочисленные, а затем добавление к им смещения, а вернее, где их искать, как пример - вот эти hex значения 0x1F0 и 0xCC в данной функции:
function GetHeroPrimaryAttribute takes unit u returns integer
local integer a = ConvertHandle( u )
if a > 0 then
set a = ReadMemory( a + 0x1F0 )
if a > 0 then
return ReadMemory( a + 0xCC )
endif
endif
return 0
endfunction
потому что эти функции проверяют, что ты им отправил, и ничего не делают в случае ошибки, очевидно же
потому что нужно понимать, что void означает пустой аргумент, ака ThisCall1Args(0) , где 0 =- просто потому что вызова без аргументов не предусмотрено в мх
без желания разбираться в этом можно и не начинать, я там года полтора бродил вслепую
Насчет проверки, логично, и я это прекрасно понимаю, так как очень даже знаком с с++, мне просто интересно, как можно это "обойти" или типо того. Желание разобраться как бы есть, мне это показалось очень интересным, именно по этому я задал этот вопрос, что бы получить совет у более опытных пользователей. Надеюсь, не слишком дерзко вышло, ведь по сути, вопрос задан для того, что бы сократить время в поиске обходных путей :)
» WarCraft 3 / BACKDROP (задний фон)
» WarCraft 3 / Вызов функции в jass из Dll = десинхронизация
» WarCraft 3 / Существует ли конвертер Jass -> c++ ?
» WarCraft 3 / Существует ли конвертер Jass -> c++ ?
Ред. Undert4ker
» WarCraft 3 / Существует ли конвертер Jass -> c++ ?
» WarCraft 3 / Существует ли конвертер Jass -> c++ ?
Ред. Undert4ker
» WarCraft 3 / Существует ли конвертер Jass -> c++ ?
Ред. Undert4ker
» WarCraft 3 / Группа - юниты игрока вызывает утечку
set bj_lastCreatedGroup = CreateGroup()
loop
exitwhen i == bj_MAX_PLAYER_SLOTS
call GroupEnumUnitsOfPlayer(bj_lastCreatedGroup,Player(i),null)
call ForGroup(bj_lastCreatedGroup,function Filter)
set i = i + 1
endloop
call GroupClear(bj_lastCreatedGroup)
call DestroyGtoup(bj_lastCreatedGroup)
» WarCraft 3 / [Конкурс героев] Кайригар - Великий маг
» WarCraft 3 / Вопрос о создании функции в мемхаке.
Как я уже написал, мне не до конца понятен конверт обьектов в целочисленные, а затем добавление к им смещения, а вернее, где их искать, как пример - вот эти hex значения 0x1F0 и 0xCC в данной функции:
function GetHeroPrimaryAttribute takes unit u returns integer
local integer a = ConvertHandle( u )
if a > 0 then
set a = ReadMemory( a + 0x1F0 )
if a > 0 then
return ReadMemory( a + 0xCC )
endif
endif
return 0
endfunction
» WarCraft 3 / Вопрос о создании функции в мемхаке.
» WarCraft 3 / Как добавить нового героя в Dota 6.83c