Daro, без мемхака нет смысла сидеть на 126, надо брать по максимуму (и переходить на 131 имхо) noyl отлично всё супер, а можно добавить описание способностей, я например в лол не играл и не понимаю, что должен делать герой
8gabriel8, никогда не проверял, но там кажется какие то баги с подменой и Extremator, прав, мне тоже мысль о подмене пришла, ибо это самый легчайший способ
//////////// ВОТ ЧТО ТЕБЕ НАДО ДОПИСАТЬ/////////
if LoadInteger(udg_hash,GetHandleId(c),100+p)>=100 then где 100 - твоё число
call SetUnitOwner(c,GetOwningPlayer(u))
endif
и я показал куда, настраивать всё всё не надо ибо тебе не нужен опыт
и это не 100% решение и не гуи, требуется переработка, я дал максимальную подсказку с образцом
ProximityCat, я пробовал вызывать Read локально, с того компа где есть файл (на другом его не было вообще), потом помещал значение в переменную, синхронизировал через кеш и без десинха оба компа знали, что содержится в переменной
Если не указан путь, то сохраняется в корень папки варкрафта, путь можно указать в любую папку, но самое главное, чтобы были права на запись в эту папку (иногда треубется чтобы вар был запущен от имени админа, если папка куда будешь писать Write требует эти права)
Файлы не самоудаляются, опять же смотри xgm.guru/p/wc3/ip, их надо удалять вручную например вот так
call ShellExecute("open", "cmd", "/K DEL Logs\\ip.ini")//удаляем временный файл (не обязательно)
Папка Logs находится в корневой папке Warcraft
-------------
Ещё добавляю, WriteStringToFile не может создать папку, папку следуют создавать или функций прелоада или через CMD (mkdir)
А вот подробнее , тут как раз такие реализована система подсчета урона по крипу, чтобы в этом % соотношении выдать опыт, в твоём же случае нужно немножко переделать систему:
Первый кто нанесёт 100 урона станет владельцем здания
function Trig_Damage_Test_Actions takes nothing returns nothing
local unit c=GetTriggerUnit() // тот кто получил урон
local unit u=GetEventDamageSource() // тот кто нанёс
local real d=GetEventDamage() // количество урона
local integer p=0
//IsUnitType(u,UNIT_TYPE_HERO) and
if c!=u and IsUnitDead(c)==false and IsUnitIllusion(u)==false and IsUnitEnemy(u,GetOwningPlayer(c)) then //система опыта и голды
set p=GetPlayerId(GetOwningPlayer(u))
call SaveInteger(udg_hash,GetHandleId(c),100+p,R2I(d)+LoadInteger(udg_hash,GetHandleId(c),100+p)) // записываем в индекс + номер игрока хештаблицы
//////////////// ВОТ ЧТО ТЕБЕ НАДО ДОПИСАТЬ/////////
if LoadInteger(udg_hash,GetHandleId(c),100+p)>=100 then // где 100 - твоё число
call SetUnitOwner(c,GetOwningPlayer(u))
endif
//////////////////////////////////////// И ВСЁ/////////////
endif
set c=null
set u=null
endfunction
Возможно так и будет, будет группа с героями-игроками и поиск будет в ней происходить, а так да, слишком много проверять приходится юнитов, хотя по дебагу это крайне редко происходит
function AISimpleFounder(g)
TimerStart(CreateTimer(), 2, true, function()
ForGroup(g, function()
local e
e=GetEnumUnit()
if GetUnitCurrentOrder(e)~=851983 then
GroupEnumUnitsInRect(perebor,bj_mapInitialPlayableArea,null)
local h
local b=false
local p=GetOwningPlayer(e)
while true do
h = FirstOfGroup(perebor)
if h == nil then break end
if IsUnitEnemy(h, p) and IsUnitType(h, UNIT_TYPE_HERO) and b==false then
print(GetUnitName(h))
IssuePointOrder(e, "attack", GetUnitX(h),GetUnitY(h))
b=true
end
GroupRemoveUnit(perebor,h)
end
end
end)
end)
end
По идее вот, кстати весьма забавно вышло, от такого ИИ весьма удобно убегать если есть некие способности перемещения, ибо ИИ идёт в точку где был герой, и идёт туда до тех пор, пока не получит новый приказ атаки
4 раз рассказать про руну?
Рассказываю, во время использования способности добавляешь для героя руну, внутри руны сидит способность громовой поступи... Профит?
quq_CCCP, нет инвиз не проверял, по кулдаунам функций, если раньше амулет выводил из инвиза? то и щас скоре всего та же беда
Хотя не могу представить себе ситуацию где бежит БХ в инвизе и с линкой, ему сбивают линку и он выходит из инвиза, неужели так в первой доте было?
Там на второй главе у многих трудности смотрю, так что думаю будут интересны многие варианты прохождения
когда первый раз играл, да, посчитал её потной, но она этим и понравилась
» WarCraft 3 / Орн из Лига Легенд
noyl отлично всё супер, а можно добавить описание способностей, я например в лол не играл и не понимаю, что должен делать герой
» WarCraft 3 / Хилку сделать предметом в инвентаре
» WarCraft 3 / Как сделать состояние предмета вкл./выкл.?
» WarCraft 3 / Проверка кто нанёс урон
if LoadInteger(udg_hash,GetHandleId(c),100+p)>=100 then где 100 - твоё число
call SetUnitOwner(c,GetOwningPlayer(u))
endif
и это не 100% решение и не гуи, требуется переработка, я дал максимальную подсказку с образцом
» Администрация XGM / Здравствуйте! Вылетает карта когда хостую.
Версия Варкарфта?
Где хостуешь?
» Btooom / Btooom
» Btooom / Btooom
» WarCraft 3 / Abington
» Администрация XGM / Управление проектом
» WarCraft 3 / MemoryHack
Ред. Берги
» WarCraft 3 / MemoryHack
-------------
Ещё добавляю, WriteStringToFile не может создать папку, папку следуют создавать или функций прелоада или через CMD (mkdir)
» WarCraft 3 / Проверка кто нанёс урон
» WarCraft 3 / Проверка кто нанёс урон
Первый кто нанесёт 100 урона станет владельцем здания
» WarCraft 3 / Проверка кто нанёс урон
» WarCraft 3 / Проверьте код луа, не хочу привыкать к неправильному
» WarCraft 3 / Синхронизация строк в 1.26
» WarCraft 3 / StartAbilityCD(integer, real)
» WarCraft 3 / MemoryHack: AddAbilityCooldownConverted(a, r)
» WarCraft 3 / Триггер, который сам юзает способность
Рассказываю, во время использования способности добавляешь для героя руну, внутри руны сидит способность громовой поступи... Профит?
» Наследие Альянса / "Последний Страж Лордерона" - прохождение
» WarCraft 3 / Способности и алгоритмы на заказ
» WarCraft 3 / Способности и алгоритмы на заказ
» WarCraft 3 / Перезарядка пассивных предметов
Хотя не могу представить себе ситуацию где бежит БХ в инвизе и с линкой, ему сбивают линку и он выходит из инвиза, неужели так в первой доте было?
» Наследие Альянса / "Последний Страж Лордерона" - прохождение
когда первый раз играл, да, посчитал её потной, но она этим и понравилась