32

» WarCraft 3 / Как сделать возрождение не-героя как у героя?

Крестом перерождения, иначе - никак!
Зачем тебе понадобилось воскрешать не героев, проще сделать из героя и не мучится, отображение опыта, сообщения о гибели и прочие "геройские" фишки можно отключать.
32

» WarCraft 3 / Есть ли рабочий способ проверки на просмотр replay'я

IceFog, проверил в сингле - отличает репу от игры
    private function IsRaplay takes nothing returns boolean
        local integer ptr1 = RMem(GameDLL + $AB4F80)
        local integer ptr2 = RMem(ptr1 + $3C8)
        local integer ptr3 = RMem(ptr2 + $15C)
        return (ptr3 != 0)
    endfunction
32

» WarCraft 3 / Как сделать абилку с абилками внутри?

Это способность предмета - Книга заклинаний (spellbook) об это была даже статья, как сделать так чтобы выученные способности попадали в спеллбук.
Вот одна ссылка
Остальное ищи сам, наработок с этими книгами было море.
32

» WarCraft 3 / Эмпатия для врагов

Alexander122, потому что она не работает так как нужно, да и юниты сдохнуть не от тебя, а сами себя пришибут... Да и урон там распределяется несколько не так.
32

» WarCraft 3 / Есть ли рабочий способ проверки на просмотр replay'я

awesomesk1ll, а что если в кешь записать могут ли двигать камеру все игроки, если все нет - то реплей, если большинство да, то синхронизируем с ними данные и записываем в переменную.
32

» WarCraft 3 / Эмпатия для врагов

Ну на ГУИ никак, хотя там сравнительно примитивно.
Отдается молния которая есть визуальный эффект, молнию двигает отдельный таймер.
При касте создается триггер, в который добавляется события что Юнит цель умер, Юнит цель получил урон а так же цель записывается в группу, ( для всех юнитов которых задела молния), условие триггера если событие на который сработал триггер = получение урона то проверить что урон выше 0 и меньше 6000 ( проверка корректности урона, ибо акс добивает 10 миллионов физ урона) , иначе вернуть true.
Далее в действии триггера проверяем умер ли Юнит, истекло ли время или Юнит получил урон, если Юнит умер удаляем его из группы и изданием с него визуальный эффект, если время вышло то удаляем визуальные эффекты на всех юнитах в группе и утилизируем триггер. Если цель получила урон, цель в группе, то рассчитываем сколько сколько урона нужно распределить по остальным Юнита в группе, исключаем из группы того кто получил урон, с остальными в группе проделываем действия: смотрим сколько у Юнита хп, больше урона - снижаем хп на кол во урона. Иначе наносим 10 миллионов урона от лица применившего заклинание.
Все данные прикрепляются к триггеру с помощью хештаблицы. Триггеру так же добавляется событие - время истекло, чтобы завершить эффект спелла по истечению времени.
32

» WarCraft 3 / Эмпатия для врагов

Там не эмпатия, там там полностью триггерный спелл. Эмпатия для такого не подходит в принципе.
32

» WarCraft 3 / Есть ли рабочий способ проверки на просмотр replay'я

16GB, тестанул код, но делал разделения только на визуальные действия, т.е камеру не перемещал при телепортах и перерождениях героев в реплее, всё норм. Но вот без цилков, рили может десинхать, ты же не для каждого игрока записываешь проверку, а для всех.
Нужно тестить в муи, судя по тому что похожий антихак засунули в доту ниче не дисинхало и ниче не делало вред, правда читеры очень быстро научились обходить прозрачность юнитов и всякие туманы, затеняющие карту...
В доте вроде юзается какая то фишка с кинематиком, хз в чем различие киниматике в игре и в реплее?
Код лень колупать...
32

» WarCraft 3 / Есть ли рабочий способ проверки на просмотр replay'я

awesomesk1ll, ты можешь синкнуть между всеми значение InGame, кстати там вроде все игроки проверяются, в мультиплеере кто-нить тестил?
32

» WarCraft 3 / Есть ли рабочий способ проверки на просмотр replay'я

Так постойте, что мешает вначале чекнуть когда все загрузились - реплей или нет, а потом уже хоть за сворачивайтесь.
На афкашеров пофигу, что им лишнее что то показалось, чаще всего такие вовсе не приходят или ливают.
32

» WarCraft 3 / Есть ли рабочий способ проверки на просмотр replay'я

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

» WarCraft 3 / Есть ли рабочий способ проверки на просмотр replay'я

awesomesk1ll, всегда всегда первый игрок вроде.
//**************************************************************************************
//*                                                                                    *
//*                         REPLAY DETECT ENGINE V1.30                                 *
//*                     CONFIGURATION SETTINGS START HERE                              *
//*                                                                                    *
//**************************************************************************************
library ReplayDetectEngine
globals
boolean InGame = true
boolean array AMHS_FogDisable
boolean array AMHS_InvisDisable
unit array AMHS_FogDummy
unit array AMHS_InvisDummy
endglobals

//-> IsInGame created by PandaMine with help from Captain Griffen
//This function is what makes it possible for the system not to break replays,
//simply put if your actually playing the game, this function will return false.
//It will return true if the game is being viewed in a replay

private function IsInGame takes nothing returns boolean
local integer counter = 1
local real camerax
local real cameray
local real x
local real y
local boolean output
loop
    exitwhen counter > 12
    if GetLocalPlayer() == Player(counter-1) then
        set camerax = GetCameraTargetPositionX()
        set cameray = GetCameraTargetPositionY()
    endif
    set counter = counter + 1
endloop
set counter = 1
call PauseGame(true)
call TriggerSleepAction(0)
loop
    exitwhen counter > 12
    if GetLocalPlayer() == Player(counter-1) then
        call SetCameraPosition(camerax + 1,cameray + 1)
    endif
    set counter = counter + 1
endloop
call TriggerSleepAction(0)
call PauseGame(false)
set counter = 1
loop
    exitwhen counter > 12
    if GetLocalPlayer() == Player(counter-1) then
        set x = GetCameraTargetPositionX()
        if x == camerax + 1 then
            set output = true
        else
            set output = false
        endif
        call SetCameraPosition(camerax,cameray)
    endif
    set counter = counter + 1
endloop
return output
endfunction 

function AMHS_ReplayEngine takes nothing returns nothing
call EnableUserControl(false)
call TriggerSleepAction(.0)
set InGame = IsInGame()
call EnableUserControl(true)
endfunction
Проверял эту штуку?
32

» WarCraft 3 / Есть ли рабочий способ проверки на просмотр replay'я

Ну либо игрок обсерв как в доте, еще как то с синиматиком (слышал краем уха) и мемхаком, о последнем вскользь упоминал лич.
Надо будет посмотреть древний -ah мод в некоторых картах, там это как то делали...
В старых амх как то отличали игру от реплея, чтобы не делать юнитов прозрачными когда кто то смотрит реплей www.wc3c.net/showthread.php?t=97922
Там есть костыль определения реплея.
32

» WarCraft 3 / Глобальный таймер

Эмм зачем? Таймер самый легкий объект в игре, создавайте новый и удаляйте старый.
32

» WarCraft 3 / прозрачность невидимых юнитов

не никак, так же как и нельзя сделать иллюзий не синими, лич пробовал - ничего не получилось...
32

» WarCraft 3 / система отлова урона

Proshel_Doty, Есть одно огромное НО, переделать 100500 дефолтных скиллов, что порой не очень то и просто.
32

» WarCraft 3 / Аура возмездия

TeX13, Триггерно, сделать событие юнит получает урон! При уроне выше нуля и не от заклинаний, наносишь урон его источнику...
Отделение физического урона от магического и наборот древняя проблема, решаймая костылями, какими именно - выбирать вам.
32

» WarCraft 3 / система отлова урона

Какой вам урон нужно отловить?
Урон отлавливает событие EVENT_UNIT_DAMAGED (в гуях это событие в разделе юнитов, Damage taken), это событие на одного конкретного юнита, стандартными средствами можно проверить источник и количество урона, все остальное пожалуй не для новичков...
32

» WarCraft 3 / Важная информация об обновлении 1.28

Тимур, дык лич говорил что они сделали какую то функцию анти отладки, список приказов простым способом выудить не получилось...
у них активирована штука для затруднения вскрытия !!игры!!, мне кажется потому что функцию приказов отпарсить не удалось, пришлось вручную таблицу из ассемблера вырезать DracoL1ch(c).
Щяс близзарды всех кто колупался в их игре обьявят еретиками И будут сжигать на кострах Угрожать судами и проблемами.
32

» WarCraft 3 / Объясните функцию(Строчку)

Вот зачем сравнивать игроков? Когда можно сравнить юнитов, и игрока, так же проверить на то что цель жива не забудь, что не в инвизе.