Добавлен Берги
function MovePointer takes nothing returns nothing
unit u=GetEnumUnit()
real x=0
real y=0
if GetLocalPlayer() == GetOwningPlayer(u)
x=1000//GetMouseTerrainX() // протестировав с реальными цифрами, понял, что дело не в мемхаке
y=1000//GetMouseTerrainY()
endif
SetUnitX(u,x)
SetUnitY(u,y)
endfunction
Тут у нас десинх из за SetUniX, прочитал на warcraft3ft.clan.su/forum/60-41449-1 пишут вот что
SetUnitX, SetUnitY, SetUnitPosition, SetUnitPositionLoc - нельзя давать приказы двигаться, мешать путям, атаковать юнита
А как же мне тогда передать в SetUnitX(u,GetMouseTerrainX()) ??? без десинхронизации?? как использовать GetLocalPlayer в моём случае?
SetUnitX, SetUnitY, SetUnitPosition, SetUnitPositionLoc - нельзя давать приказы двигаться, мешать путям, атаковать юнита
А как же мне тогда передать в SetUnitX(u,GetMouseTerrainX()) ??? без десинхронизации?? как использовать GetLocalPlayer в моём случае?
Принятый ответ
Bergi_Bear, нет, невозможно, курсоры, да что там все визуалки, вся видеопамять твоего компа если тебе так понятнее не синхронизируется, синхронизируются лишь вектора приказов, т.е ты кликнул идти, через N времени хост пересчитал все очереди приказов и раздал команды кто и как дальше движется, синхронизировать курсор не получится, т.к ты не сможешь так часто синхать и так много данных, с уровня.. Jass. Есть лишь 1 путь, кешь, но кешь не годится для таких динамических синхов, он медленный и ненадежный. Других способов нет.
Ни одна добрая фея не сделала библиотеку которая бы сделала возможным то что вы хотите, не смотря на не однократные попытки...
Ни одна добрая фея не сделала библиотеку которая бы сделала возможным то что вы хотите, не смотря на не однократные попытки...
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован quq_CCCP
Как ты собрался что либо синхронизировать? У тебя есть только gamecache, который сработает только в потоке триггера и только не сразу, синхроеизация вещь не мгновенная и вейт надо подольше, иначе те кто не успел - отвалятся....
Ну а т.к быстрый синх с уровня jass невозможен то и управление клавишами и отловы курсоров с целью управления Юнитами тоже невозможны, синхроеизация не только медленная, она еще рандомная, нельзя узнать сколько потребуется времени на синхронизацию...
Синхать можно сейвкоды, к примеру в начале игры пока н кто не двигается и в рпгшке все грузят персонажей, секунд 40, а в игре курсор ловить постоянно не прокатит, я вроде доступно описал почему? В теме с мемхаком раза три мусолилось.
If(locplayer=player(0)){
_x=mouseposx
}
preload(_x)
_x=getpreload()
preloadclear()
ну накрайняк уже записывать в файл и от туда преладить
Ни одна добрая фея не сделала библиотеку которая бы сделала возможным то что вы хотите, не смотря на не однократные попытки...
Отредактирован Берги
Отредактирован ledoed
поворот для игрока 1 по положительному х
}
Mouse_X1{
по отрицательному x
}
для y индечично
смори поварачивать нужно не на динамическое кол,а допустим 100 в сек (а в функции итерполировать буш )
и вызывать эти функции с прелоада
и 2 файла для X,Y для одного игрока
кста а их хэша эти значения ваще моно получать?