Несколько вопросов по скриптигу

Статус
В этой теме нельзя размещать новые ответы.

AceFridge

Активный
8 Мар 2021
85
15
Всем привет. Есть несколько вопросов:

  • Как отловить получение приказа юнитом (move\attack\stop) и точку куда отдали приказ?
  • Как изменить время каста channeling способности? по типу ускорения каста у тинкера с улучшенным маг бликом?
  • как с помощью скрипта програть sequence анимацию юнита из asset browser, например "SCIFI_sniper_run_low_g_anim"
 
Последнее редактирование:

SniperX

Друзья CG
26 Фев 2018
539
100
Проект
Dota 2x4
Всем привет. Есть несколько вопросов:

  • Как отловить получение приказа юнитом (move\attack\stop) и точку куда отдали приказ?
  • Как изменить время каста channeling способности? по типу ускорения каста у тинкера с улучшенным маг бликом?
  • как с помощью скрипта програть sequence анимацию юнита из asset browser, например "SCIFI_sniper_run_low_g_anim"
1) MODIFIER_EVENT_ON_ORDER
2) MODIFIER_PROPERTY_CASTTIME_PERCENTAGE
 

AceFridge

Активный
8 Мар 2021
85
15
Спасибо за ответ. Подскажи, а можно отловить юнита, которому отдан этот приказ?

печатаю в консоли всю таблицу, которую получаю при срабатывании скрипта, получаю:

Код:
entindex_ability: 0  -- id абилки
entindex_target: 0 -- объект на который направлен приказ
issuer_player_id_const: 0 -- id игрока, отдавшего приказ
order_type: 10 -- тип приказа
position_x: 0 -- координата x приказа
position_y: 0 -- координата y приказа
position_z: 0 -- координата z приказа
queue: 0 -- не разобрался что это
sequence_number_const: 447 -- счетчик общего количества приказов
shop_item_name: -- вероятно, имя покупаемого предмета
units: -- что это?
        0: 115

1) MODIFIER_EVENT_ON_ORDER
2) MODIFIER_PROPERTY_CASTTIME_PERCENTAGE
с луа модификаторами пока не разобрался, мог бы ты скинуть рабочий пример отлова приказа?
 

ZLOY

Администратор
Команда форума
27 Июн 2016
953
182
units это тоже таблица
Обычно units["0"] - это юнит, которому дают приказ, их так-же может быть несколько
 
Последнее редактирование:

SniperX

Друзья CG
26 Фев 2018
539
100
Проект
Dota 2x4
с луа модификаторами пока не разобрался, мог бы ты скинуть рабочий пример отлова приказа?
Lua:
modifier_order_lua = modifier_order_lua or class({})
function modifier_order_lua:DeclareFunctions() return {MODIFIER_EVENT_ON_ORDER} end
function modifier_order_lua:OnOrder(kv)
    if not IsServer() then return end
    print(tostring(kv.unit) .. " executed " .. tostring(kv.order_type) .. " in " .. tostring(kv.new_pos) .. " position")
end
 

AceFridge

Активный
8 Мар 2021
85
15
Спасибо за ответы, разобрался. Всё получилось!

Еще вопрос: создаю юнита с моделькой не от юнита, например "models/props_debris/barrel002.vmdl", но тогда юнита невозможно выбрать. Есть решение данной проблемы?
 

ZLOY

Администратор
Команда форума
27 Июн 2016
953
182
Нужно добавить хитбокс в модель эдиторе
 

AceFridge

Активный
8 Мар 2021
85
15
спасибо.

Еще вопрос: как отследить наличие воды в точке на карте?
 

ZLOY

Администратор
Команда форума
27 Июн 2016
953
182
Только по высоте ландшафта в этой точке. Функция GetGroundHeight
 

AceFridge

Активный
8 Мар 2021
85
15
Благодарю. А как сменить модель юнита, чтобы она не менялась обратно? при получении урона юнитом, модель скидывается на стандартную
 

SniperX

Друзья CG
26 Фев 2018
539
100
Проект
Dota 2x4
Благодарю. А как сменить модель юнита, чтобы она не менялась обратно? при получении урона юнитом, модель скидывается на стандартную
CBaseModelEntity:SetModel(modelName: string)
CDOTA_BaseNPC:SetOriginalModel(modelName: string)
или
MODIFIER_PROPERTY_MODEL_CHANGE
 

AceFridge

Активный
8 Мар 2021
85
15
CBaseModelEntity:SetModel(modelName: string)
CDOTA_BaseNPC:SetOriginalModel(modelName: string)
или
MODIFIER_PROPERTY_MODEL_CHANGE
по поводу SetOriginalModel() в API написано: "Sets the original model of this entity, which it will tend to fall back to anytime its state changes." В итоге, при получении урона сразу меняется модель на изначальную.
с SetModel() такая же беда.
 

DDSuper

Друзья CG
31 Май 2019
405
57
по поводу SetOriginalModel() в API написано: "Sets the original model of this entity, which it will tend to fall back to anytime its state changes." В итоге, при получении урона сразу меняется модель на изначальную.
с SetModel() такая же беда.
Если ты НЕ собираешься менять модель в течении игры.
То можешь через хирос/юнитс прописать модель
 

AceFridge

Активный
8 Мар 2021
85
15
С моделями разобрался.

А есть ли возможность менять ландшафт через скрипты?
 

AceFridge

Активный
8 Мар 2021
85
15
Подскажите как принудительно выставлять хоткей способности или устанавливать порядок способностей? Дело в том, что я периодически добавляю и удаляю абилки в процессе игры и их хоткеи могут меняться.
 

DDSuper

Друзья CG
31 Май 2019
405
57
можешь создать пустой слот, а тогда через caster:SwapAbility(currentAbility:GetAbilityName(), "empty_1", true, false) -- currentAbility станет видимой
 
Статус
В этой теме нельзя размещать новые ответы.
Реклама: