Если в cjass разберёшься у меня в танчиках бонусные ящики падали с вертолёта xgm.guru/p/751/dt
А вообще какой патч используешь? мне просто скоро на lua тоже самое придётся делать, ну просто функцию падения чего либо сверху, так что убьём двух зайцев
В идеале нужна готовая система и функция Fall(unit, speed, maxHeight), которую хоть через кастом скрипт вызывать можно, если знание на уровне ГУИ, парашут можно делать 2 способами:
Просто аттачим эффект на голову (верх ящика)
Двигаем парашут в позицию ящика каждый кадр (тяжёлая система)
Опять таки я хз где брал парашют, может из танков вытащить его, но он с интернета, и у парашюта анимации стэнд и дис, идеально проигрываются вместе со смертью ящика или при удалении эффекта
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 раз рассказать про руну?
Рассказываю, во время использования способности добавляешь для героя руну, внутри руны сидит способность громовой поступи... Профит?
» WarCraft 3 / Вопрос по триггерам
» WarCraft 3 / Anime Hero Arena
» WarCraft 3 / Сбрасывание припасов с самолета
А вообще какой патч используешь? мне просто скоро на lua тоже самое придётся делать, ну просто функцию падения чего либо сверху, так что убьём двух зайцев
» 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 / Способности и алгоритмы на заказ