Простые вопросы

Статус
В этой теме нельзя размещать новые ответы.
Что нужно изменить/убрать/добавить в код юнита, чтобы он увидивши вражеского юнита в радиусе 80000 направился атаковать его, и после этой проваленной/выполненной миссии НЕ возвращался назад?
"unit_polise_r2"
{
// General
//----------------------------------------------------------------
"Model" "models/creeps/lane_creeps/creep_bad_ranged/lane_dire_ranged.vmdl" // Model.
"BaseClass" "npc_dota_creature"
"SoundSet" "n_creep_Ranged"
"GameSoundsFile" "soundevents/game_sounds_creeps.vsndevts"
"Level" "10"
"ModelScale" "1.1"
"UseNeutralCreepBehavior" "0"
"IsAncient" "1"

// Abilities
//----------------------------------------------------------------
"Ability1" "" // Ability 1
"Ability2" "" // Ability 2
"Ability3" "" // Ability 3
"Ability4" "" // Ability 4

// Armor
//----------------------------------------------------------------
"ArmorPhysical" "14" // Physical protection.
"MagicalResistance" "80"
// Attack
//----------------------------------------------------------------
"AttackCapabilities" "DOTA_UNIT_CAP_RANGED_ATTACK"
"AttackDamageType" "DAMAGE_TYPE_ArmorPhysical"
"AttackDamageMin" "130" // Damage range min.
"AttackDamageMax" "150" // Damage range max.
"AttackRate" "2.2" // Speed of attack.
"AttackAnimationPoint" "0.5" // Normalized time in animation cycle to attack.
"AttackAcquisitionRange" "520" // Range within a target can be acquired.
"AttackRange" "500" // Range within a target can be attacked.
"AttackRangeBuffer" "9000"


// Bounds
//----------------------------------------------------------------
"RingRadius" "40"
"HealthBarOffset" "170"

// Bounty
//----------------------------------------------------------------
"BountyXP" "200" // Experience earn.
"BountyGoldMin" "180" // Gold earned min.
"BountyGoldMax" "200" // Gold earned max.

// Movement
//----------------------------------------------------------------
"MovementCapabilities" "DOTA_UNIT_CAP_MOVE_GROUND"
"MovementSpeed" "190" // Speed.


// Status
//----------------------------------------------------------------
"StatusHealth" "1800" // Base health.
"StatusHealthRegen" "4" // Health regeneration rate.
"StatusMana" "0" // Base mana.
"StatusManaRegen" "0.0" // Mana regeneration rate.

// Vision
//----------------------------------------------------------------
"VisionDaytimeRange" "0" // Range of vision during day light.
"VisionNighttimeRange" "350" // Range of vision at night time.


// Team
//----------------------------------------------------------------
"TeamName" "DOTA_TEAM_NEUTRALS" // Team name.
"CombatClassAttack" "DOTA_COMBAT_CLASS_ATTACK_PIERCE"
"CombatClassDefend" "DOTA_COMBAT_CLASS_DEFEND_BASIC"
"UnitRelationshipClass" "DOTA_NPC_UNIT_RELATIONSHIP_TYPE_DEFAULT"

// Creature Data
//----------------------------------------------------------------
"Creature"
{
//Level Up
"HPGain" "50"
"DamageGain" "2"
"ArmorGain" "0.25"
"MagicResistGain" "0.1"
"MoveSpeedGain" "1"
"BountyGain" "3"
"XPGain" "15"
}
}
 
Последнее редактирование модератором:
"UseNeutralCreepBehavior" - отвечает за возвращение на место спавна (1)
"AttackAcquisitionRange" - отвечает за радиус агра
 
Последнее редактирование модератором:
Но не забывай, что если юнит не видит врага, то он и не пойдет его атаковать, даже если тот попадает в радиус агра.
("VisionDaytimeRange", "VisionNighttimeRange")
 
Последнее редактирование модератором:
Ищи с помощью FindUnitsInRadius и давай приказ DOTA_UNIT_ORDER_ATTACK_MOVE
 
И вижн не может быть больше 1800) если что)

То есть как это? У меня работает и дальше. Они не видят, если на пути преграды стоят. Убираете тогда туман войны через AddFOWViewer() или используете пассивку сикера. Или еще есть функции, что позволяют помечать игроков для команд (MakeVisibleToTeam()).
 
Последнее редактирование модератором:
кстати пассивка сикера с капом 100% очень неплохая и нестандартная идея)
или просто для того юнита сделать флай вижн ульты баланара)
 
Идея то рабочая, только не очень красивая, ибо если на каждом юните использовать - модификаторы от этой пассивки на игроке начинают рекурсивно заменяться. А если делать отдельного, скрытого юнита, то у игрока модификатор висит без иконки (потому что ему нужно увидеть юнита, чтобы она появилась - хз, что за фигня).
 
Извини за вопрос, тебе зачем, чтобы за 80000 тысяч увидел и начал бежать?

Это для чего? Возможно если ты выложишь все карты на стол будет проще тебе помочь
 
Извини за вопрос, тебе зачем, чтобы за 80000 тысяч увидел и начал бежать?

Это для чего? Возможно если ты выложишь все карты на стол будет проще тебе помочь

Если ты мне, то у меня вопросов нет.
 
Последнее редактирование модератором:
Извини за вопрос, тебе зачем, чтобы за 80000 тысяч увидел и начал бежать?

Это для чего? Возможно если ты выложишь все карты на стол будет проще тебе помочь
Уже помогли, пассивка сикера мне вполне подходит, надеюсь что на радиус агра никакого ограничения нет.
 
Последнее редактирование модератором:
Ребят скажите плз какое максимальное кол-во юнитов на карте допустимо, чтобы дота не крашнулась?
 
Это зависит только от твоего мастерства оптимизации карты.

Если ты сделаешь уйму крипов, но они будут просто стоять - никаких лагов не будет. Однако, когда они начнут двигаться - все полетит к чертям.

Дота крашится не потому что крипов много, а потому, что много "алгоритмов подсчета кратчайшего пути до цели" работает одновременно. И эти алгоритмы у движка valve не оптимизированы, если сравнивать с W3 от Blizzard.

Я стараюсь имитировать большое количество путем непрерывного потока малого количества.
 
Последнее редактирование модератором:
Это зависит только от твоего мастерства оптимизации карты.

Если ты сделаешь уйму крипов, но они будут просто стоять - никаких лагов не будет. Однако, когда они начнут двигаться - все полетит к чертям.

Дота крашится не потому что крипов много, а потому, что много "алгоритмов подсчета кратчайшего пути до цели" работает одновременно. И эти алгоритмы у движка valve не оптимизированы, если сравнивать с W3 от Blizzard.

Я стараюсь имитировать большое количество путем непрерывного потока малого количества
Алгоритм поиска пути эвристический, он не тяжелее чем анимация модели, по этому нагружает фпс другие вещи.
А по вопросу, не стоит использовать больше 100 крипов одновременно, особенно если их одновременно можно увидеть на карте всем игрокам.
Никто Дейкстру в играх использовать не будет, есть же А*, который работает в разы быстрее.
 
Последнее редактирование модератором:
Здравствуйте, я бы хотел узнать, а как сделать так, чтобы крипов в карте можно было бить при любом кол-ве хп, а не только если >50%?
 
Последнее редактирование модератором:
А по вопросу, не стоит использовать больше 100 крипов одновременно, особенно если их одновременно можно увидеть на карте всем игрокам.

Я проверял - если стоит 200 крипов и есть на них вижн, то лагов нет. Лаги начинаются, когда они начинают двигаться. А когда они начинают двигаться, что происходит? Рассчет кратчайшего пути.

Еще одно подтверждение этому - в моем моде можно перегородить путь крипам. Когда их собирается штук 20, постоянно топчущихся на месте, начинаются лаги - опят же, постоянный расчет кратчайшего пути.
 
Последнее редактирование модератором:
Я проверял - если стоит 200 крипов и есть на них вижн, то лагов нет. Лаги начинаются, когда они начинают двигаться. А когда они начинают двигаться, что происходит? Рассчет кратчайшего пути.

Еще одно подтверждение этому - в моем моде можно перегородить путь крипам. Когда их собирается штук 20, постоянно топчущихся на месте, начинаются лаги - опят же, постоянный расчет кратчайшего пути.
Иди гугли про методы поиска кратчайшего пути бро, и насколько они прожорливы :D
 
Последнее редактирование модератором:
Иди гугли про методы поиска кратчайшего пути бро, и насколько они прожорливы :D

Я их в студенческие годы еще изучал. И исхожу из фактов, что вижу: лаги появляются при движении крипов.
 
Последнее редактирование модератором:
Я их в студенческие годы еще изучал. И исхожу из фактов, что вижу: лаги появляются при движении крипов.
Отрисовать текстурку выйдет дороже по ресурсам нежели поиск пути.
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Реклама: