-
Автор темы
- #1
Небольшой гайд по замене любых моделей в софте hake на примере курьеров
Приветствую! Решил публично поделиться наработками псевдо-чейнджера для юзеров hake
Не для кого не секрет что данный софт имеет достаточно кастрированный чейнджер в котором можно менять разве что вещи на героях, находясь непосредственно в игре.
Данный мини-гайд направлен решить эту проблему нестандартным способом без участия разработчиков.
Будем использовать костыльный метод замены, путем скрипта.
Рабочий пример кода:
Код:
local CChanger = {}
CChanger.courierChanger = Menu.AddOption({"Couriers Changer [Example]"}, "Enable", "")
CChanger.courierModel = Menu.AddOption({"Couriers Changer [Example]"}, "Courier Type:", "", 0, 3, 1)
Menu.SetValueName(CChanger.courierModel, 0, "Baby Roshan TI10")
Menu.SetValueName(CChanger.courierModel, 1, "Baby Roshan TI9")
Menu.SetValueName(CChanger.courierModel, 2, "Gold Greevil")
Menu.SetValueName(CChanger.courierModel, 3, "Amaterasu")
--Пример:
--[[if NPC.GetCurrentLevel(npc) <= 3 then -- Если уровень курьера < 3 применяем пешую модель
Entity.SetModel(npc, model path)
else -- Если уровень курьера >= 3 применяем летающую модель
Entity.SetModel(npc, model path)
end--]]
function CChanger.OnUpdate()
if Engine.IsInGame() == false then return end
if Menu.IsEnabled(CChanger.courierChanger) == false then return end
local setCourier = Menu.GetValue(CChanger.courierModel)
for i = 1, NPCs.Count() do
local npc = NPCs.Get(i)
if NPC.IsCourier(npc) and Entity.IsSameTeam(npc, Heroes.GetLocal()) and Entity.GetField(npc, "m_iIsControllableByPlayer64") and Entity.IsAlive(npc) and Entity.OwnedBy(npc, Players.GetLocal())
then
if setCourier == 0 then
if NPC.GetCurrentLevel(npc) <= 3 then
Entity.SetModel(npc, "models/courier/baby_rosh/babyroshan_ti10_dire.vmdl_c")
else
Entity.SetModel(npc, "models/courier/baby_rosh/babyroshan_ti10_dire_flying.vmdl_c")
end
end
if setCourier == 1 then
if NPC.GetCurrentLevel(npc) <= 3 then
Entity.SetModel(npc, "models/courier/baby_rosh/babyroshan_ti9.vmdl_c")
else
Entity.SetModel(npc, "models/courier/baby_rosh/babyroshan_ti9_flying.vmdl_c")
end
end
if setCourier == 2 then
if NPC.GetCurrentLevel(npc) <= 3 then
Entity.SetModel(npc, "models/courier/gold_mega_greevil/gold_mega_greevil.vmdl_c")
else
Entity.SetModel(npc, "models/courier/gold_mega_greevil/gold_mega_greevil_flying.vmdl_c")
end
end
if setCourier == 3 then
if NPC.GetCurrentLevel(npc) <= 3 then
Entity.SetModel(npc, "models/items/courier/amaterasu/amaterasu.vmdl_c")
else
Entity.SetModel(npc, "models/items/courier/amaterasu/amaterasu_flying.vmdl_c")
end
end
end
end
end
return CChanger
Данный метод очень прост в использовании, но позволит вам менять абсолютно любые игровые модели, будь то деревья, или прочие NPC.
Для поиска требуемых моделей рекомендую использовать
Для поиска требуемых моделей рекомендую использовать
Пожалуйста, авторизуйтесь для просмотра ссылки.
(no-ad)
Последнее редактирование: