32

» WarCraft 3 / Хак на память Warcraft3

ClotPh, в твоем коде нету вейта на пару сек, синхроеизация вещь не мгновенная и порой занимает очень много времени, все зависит от пинга.
32

» WarCraft 3 / Как изменить скорость боя герою

Есть системы модификации параметров юнитов, увы только jass.
Поиск в помощь.
32

» WarCraft 3 / Хак на память Warcraft3

DracoL1ch,
Для них это самый доступный движок. В их картах может быть мини игра с использованием стрельбы от первого лица, которая не является "шурупом" карты...
32

» WarCraft 3 / Sleight of Fist - второй скилл Эмбера из доты

Очень геморойно, но суть там проста - перемещение плавным перемещением к юниту и атака его, если это крип то герою вручают абилку снижающую урон, а если не крип то абилку повышающую силу атаки (способность боевых когтей), ну собственно и все. Но вот в гуях низя использовать нормально таймеры да и будут утечки с группой и локейшинами, если делать по проще.
Да еще у этой способности в доте есть существенный баг, если атаковать кого и сразу же применить способность - то герой не атакует первого врага в области действия способности, ибо его атака еще не перезарядилась а боносу скорости будет работать только на следующую.
Увы вылечить это можно мемхаком (на гуи исключен) или вторым(дамми) героем, который бы атаковал врагов вместо оригинала.
Можешь попробовать найти jass версии на хайве, вроде скиллы эмбер спирита уже делали.
32

» WarCraft 3 / Ребята, как отследить неуязвимого юнита?

DemonoiD:
quq_CCCP, по количеству здоровья. По типу юнита. Таких условий возможны сотни. Или ты не знал, что можно сортировать предметы по ПРОЧНОСТИ?
Можно но но в данном случаи ненужно, темболее есть "особые" виды неуязвимостей.
32

» WarCraft 3 / Ребята, как отследить неуязвимого юнита?

DemonoiD:
А ещё можно забирать у моба неуязвимость, когда она не нужна и выдавать назад, когда хочется, чтобы ничего не проверять.
Слишком тупо, да и как ты отличишь магазины от остальных зданий? Будешь базу данных писать?
Extremator:
А ещё есть проверка через выдачу абилки (нет, не выдача инвула).
Есть специфические неуязвимости, которые не юзают абилку 'Avul', чаще всего это неуязы от дефольных способностей, вроде иллюзии мастера клинка, ульта панды пивовара и так далее - там нету никаких абилок инвула, но юнит не получает урона и все!
32

» WarCraft 3 / Ребята, как отследить неуязвимого юнита?

Danil30, вот держи типа правильный образец проверки:
library IsUnitInvulnerableCheck initializer Init

globals
    unit DummyAttacker
    trigger gg_trg_Damage_Blocker
    group gg_grp_CheckedGroup
    hashtable GameData = InitHashtable( )
    boolean IsInvul = false
endglobals

function Trig_Damage_Blocker_Conditions takes nothing returns boolean
    return GetEventDamage() > 0.00 and GetEventDamageSource( ) == DummyAttacker
endfunction

function Timer_Heal_Unit_Expires takes nothing returns nothing
    local timer t = GetExpiredTimer( )
    local integer id = GetHandleId(t)
    local unit Damaged = LoadUnitHandle( GameData, id, 0 )
    
    call UnitRemoveAbility( Damaged, 'AMHP' )
    call SetUnitState( Damaged, UNIT_STATE_LIFE, LoadReal( GameData, id, 1 ) )
    call SetUnitState( Damaged, UNIT_STATE_MANA, LoadReal( GameData, id, 2 ) )
   
    call DestroyTimer(t)
    call FlushChildHashtable( GameData, id )
    
    set Damaged = null
    set t = null
endfunction 

function Trig_Damage_Blocker_Actions takes nothing returns nothing
    local unit Damaged = GetTriggerUnit( )
    local timer t = CreateTimer()
    local integer id = GetHandleId( t )

    call SaveUnitHandle( GameData, id, 0, Damaged )
    call SaveReal( GameData, id, 1, GetUnitState( Damaged, UNIT_STATE_LIFE ) )
    call SaveReal( GameData, id, 2, GetUnitState( Damaged, UNIT_STATE_MANA ) )
    
    call TimerStart( t, 0.00, false, function Timer_Heal_Unit_Expires )
    
    call UnitAddAbility( Damaged, 'AMHP' )
    call SetUnitState( Damaged, UNIT_STATE_LIFE, GetUnitState( Damaged, UNIT_STATE_MAX_LIFE ) )
    
    set IsInvul = true
    
    set Damaged = null
    set t = null
endfunction


function IsUnitInvul takes unit enemy returns boolean
    local real hp = GetUnitState( enemy, UNIT_STATE_LIFE )
    local real mp = GetUnitState( enemy, UNIT_STATE_MANA )
    
	set IsInvul = false

    if hp < 0.405 or GetUnitTypeId(enemy) < 1 then
        return true
    elseif GetUnitAbilityLevel( enemy, 'Avul' ) > 0 then
        return true
    endif
        
    if not IsUnitInGroup( enemy, gg_grp_CheckedGroup ) then
        call TriggerRegisterUnitEvent( gg_trg_Damage_Blocker, enemy, EVENT_UNIT_DAMAGED )
        call GroupAddUnit( gg_grp_CheckedGroup, enemy )
    endif

    call EnableTrigger( gg_trg_Damage_Blocker )
    call UnitDamageTarget( DummyAttacker, enemy, 100.00, false, false, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNKNOWN, WEAPON_TYPE_WHOKNOWS )
    call DisableTrigger( gg_trg_Damage_Blocker )
    
    return IsInvul
endfunction 

private function Init takes nothing returns nothing
    set DummyAttacker = CreateUnit( Player(12), 'hpea', 0.00,0.00, 270.00 )
    
    call SetUnitPathing( DummyAttacker, true )
    call PauseUnit( DummyAttacker, true )
    call SetUnitInvulnerable( DummyAttacker, true )
    call ShowUnit( DummyAttacker, false )
    
    
    set gg_grp_CheckedGroup = CreateGroup( )
    set gg_trg_Damage_Blocker = CreateTrigger( )

    call TriggerAddCondition( gg_trg_Damage_Blocker, Condition( function Trig_Damage_Blocker_Conditions ) )
    call TriggerAddAction( gg_trg_Damage_Blocker, function Trig_Damage_Blocker_Actions )
    call DisableTrigger( gg_trg_Damage_Blocker )
endfunction

endlibrary
Со всеми защитами, чтобы не прибить юнита...
Таким же способом можно проверять магические резисты и прочее.
32

» WarCraft 3 / Ребята, как отследить неуязвимого юнита?

Danil30:
quq_CCCP:
Проверкой на неуязвимость есть 2 версии проверки, одна требует мемхак а друга нет.
Там проверка на то что дамми юнит сможет нанести урон юниту или нет, если не сможет - юнит неуязвим.
А как сделать проверку, что дамми не сможет нанести урон?
Ну как как, элементарно.
Нанести урон и посмотреть осталось ли у уюнита столько же здоровья и маны или нет? Если нет то уюнит уязвим, иначе неуязвим.
Чтобы не прибить юнита уроном, добавляем ему хп, а даммика заносим в глобальную переменную и во всех триггерах реагирующих на урон делаем проверку что источник урона не является этим самым даммиком, чтобы исключить срабатывания триггеров на эти проверки.
32

» WarCraft 3 / Ребята, как отследить неуязвимого юнита?

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

» WarCraft 3 / Как изменить урон способности "Проглотить" (Кодой)?

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

» WarCraft 3 / Как изменить урон способности "Проглотить" (Кодой)?

Что мешает сделать кастом поедание?
Это элементарные способности, канал + хайд юнита, с паузой, а дальше делай что хочешь.
32

» WarCraft 3 / PATHING TYPE PEONHARVESTPATHING

Работникам не мешают свои войска, вспомни как стоят войска у ИИ, толпа вокруг главного здания.
32

» WarCraft 3 / MIX архивы

DemonoiD:
Таки лимиты ведь действительно сняли. Зачем теперь нужно что-то подгружать?
Нету платформ под новый патч.
32

» WarCraft 3 / помогите создать спсобность

Ну а нафига удалять, когда нужно скрывать. Добавь юниту все возможные способности и запрети их для игрока.
По мере надобности разрешай\запрещай способности.
32

» WarCraft 3 / Щит который блокирует 40 урона.

Тимур:
Через способность "панцирь с шипами".
Не панцирь с шипами, а доспехи горного великана (Каменные доспехи), но только если требуется заблокировать физический урон.
Для блокировки любого типа урона потребуется триггер срабатывающий на нанесение урона, и последующее лечение, чтобы изобразить блокировку урона.
32

» WarCraft 3 / манипуляции с игровыми константами

Никак, делайте кастомный стальной вихрь на основе аватара или иммолейшина.
32

» WarCraft 3 / Хак на память Warcraft3

ClotPh:
Простой вопрос по мемхаку.
Есть абила с перезарядкой 40 сек. Заюзалась у какого-то юнита. Её перезарядка дошла до половины, т. е. осталось бы 20 сек. по-нормальному и 20 сек. прошло, и в этот момент с помощью SetAbilityCD перезарядка этой абилы на этом уровне меняется с 40 секунд до 20 секунд. Через сколько секунд именно в этот раз у этого юнита завершится перезарядка этой абилы?
PS Предполагаемые мной варианты ответов:
  1. двадцать
  2. десять (склоняюсь к этому, и именно так было бы лучше и логичнее всего, хотя вообще допускаю все три варианта и все они приемлемы)
  3. ноль
Важно, бо планирую мутить целого героя на замутах с перезарядками.
Сколько было столько и останется, вроде же эта функция меняет перезарядку всех способностей с таким ИД, но ты смотришь на кулдаун индикатор (да то самое затемнение иконки, которое постепенно снимается с иконки - это кулдаун индикатор) который никуда не денется, для кулдаун индикатора юзается отдельная функция которую размусолили выше (StartAbilityCooldown).
Ты либо меняешь кулдаун абилки, т.е её время перезарядки, которое возьмет кулдаун индикатор при её касте, либо сам кулдаун индикатор, одно от другого не зависит и можно менять по своему хотению каждое из них. Снизить кд абилки которая еще не перезарядилась, да пожалуйста - StartAbilityCooldown на нужное тебе число.
32

» WarCraft 3 / Как определить, под сайленсом юнит или нет?

У каждой способности есть счетчик сайленсов, они могут быть разнородными.
Узнать его можно с помощью мемхака.
function GetAbilityDisabledCount takes integer pAbility returns integer
        return Memory[pAbility / 4 + 15]
    endfunction
Если вернет 0 то сала нету, если 1 или больше - на юнита наложен один из сайленсов, для проверки достаточно вручить юниту канал (какой есть, ваще без настроек) и проверять .
32

» WarCraft 3 / Чистый Preload

darkowlom:
quq_CCCP, вероятно автор хочет реализовать без стороннего софта
Че? Какой в этот смысл? Стата в блокноте? Геймкешь есть со времен появления варкравта, там слк таблица - в екселе открыл и читаешь чего и сколько...
Статистиа есть в хостботах, карты хостятся (там где есть смысл в статистике) через хост боты, никто соло рейтинг себе в блокнотах набивать не будет, да и нафиг это никому не надо. Берем хост бот и пилим под него карту, все стата есть, так же создаем сайт и вуаля-стата на сайте а не каком то там тхт файле.
Это как чувак спрашивал как сделать нечто похожее, как выяснолось для банлиста, чувак был откуда то из другого измерения, где время течет не так быстро и на дворе 2004 год... Дропхака и прочих софтин еще не изобрели...
32

» WarCraft 3 / Чистый Preload

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

» WarCraft 3 / При запуске карты вылетает варик

MrObanash:
ClotPh:
Бывают подобные фаталы еще из-за "левых" импортированных моделей (модель может после запуска процесса игры некоторое время спокойно действовать, но в конце концов фаталит вар). Но такие модели большая редкость.
модель импортированная присутствует, но вот в чем фишка: когда запускаю через редактор никаких проблем нет. вылетает только при запуске через меню.
Карту в студию! (похоже автор забыл дважды сохранить карту через JNGP)
32

» WarCraft 3 / Обучение войск в книге заклинаний?

Близко к базовому это без спеллбуков и левых меню, зачем оно тебе понадобилось? Если гора не идет к Магомеду, быть может Магомед пойдет к горе?