Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Таким и всеми любыми способами как должно это работать, что пришли мне в голову не работают. Создаётся герой в меню пика без портрета которого нельзя пикнуть.
Таким и всеми любыми способами как должно это работать, что пришли мне в голову не работают. Создаётся герой в меню пика без портрета которого нельзя пикнуть.
Я хочу сделать что бы и старых героев можно было пикать.
Я вкратце смотрел что да как в Angel arena black star и там как я понял это с помощью крипов сделано.
В кратце. Тебе нужен KV объект в файлах с юнитами и героями и чтобы heroid не было использовано ранее у других героев. Я точно не помню лимит, но он около 20 может меньше героев, своих.
В кратце. Тебе нужен KV объект в файлах с юнитами и героями и чтобы heroid не было использовано ранее у других героев. Я точно не помню лимит, но он около 20 может меньше героев, своих.
Айди не совпадает, а так была бы ошибка. Я сейчас буду создавать крипа и с помощью CreateHeroForPlayerc кастомным меню пика присваивать героя. Осталось сделать это меню... На кройняк сделаю выбор через команду -pick в чат и применять ReplaceHeroWith.
P.S: Что-то ничего не получается. CreateHeroForPlayer создаёт героя, но контролировать я его не могу, хоть он и считается моим. Пробовал удалять перед этим основного героя через Destroy, но не уверен что это правильно. ReplaceHeroWith отлично меняет героев стандартных, но вот моего что-то не хочет. На верхней панели герой пропадает и отключает мне взаимодействие с миром т.е. старый персонаж остался, на мои команды передвижение и подобные не реагирует, как и все остальные заспавненые нпс. Надеюсь объяснил понятно.
Оставлю тут на всякий
Код:
function ChatCommand:PickHero(playerid,text)
print(string.sub(text, 7))
if string.sub(text, 7) == "finnick" then
PlayerResource:GetPlayer(playerid):GetAssignedHero():Destroy()
CreateHeroForPlayer("npc_dota_hero_riki",PlayerResource:GetPlayer(playerid)) -- Мой 2 способ изменить героя
else
PlayerResource:ReplaceHeroWith(playerid,string.sub(text, 7),0,0) --Изначально использовал этот способ.
end
end
Код:
"DOTAHeroes"
{
"custom_hero_finnick"
{
// General
//
"HeroID" "134"
"BaseClass" "npc_dota_hero"
"Model" "models/heroes/invoker/invoker.vmdl"
"SoundSet" "0" // Name of sound set.
"SelectOnSpawn" "0"
"UnitLabel" "finnick"
"new_player_enable" "1"
// Abilities
//----------------------------------------------------------------
"Ability1" "generic_hidden"
"Ability2" "dota_ability_give_regen_health"
"Ability3" "generic_hidden"
"Ability4" "generic_hidden"
"Ability5" "generic_hidden"
"Ability6" "generic_hidden"
"Ability7" "custom_ability_finnick_invulnerability"
"Ability10" "special_bonus_strength_6"
"Ability11" "special_bonus_attack_damage_20"
"Ability12" "special_bonus_attack_speed_20"
"Ability13" "special_bonus_hp_250"
"Ability14" "special_bonus_evasion_15"
"Ability15" "special_bonus_all_stats_10"
"Ability16" "special_bonus_hp_250"
"Ability17" "special_bonus_all_stats_10"
"AbilityTalentStart" "10"
// Armor
//----------------------------------------------------------------
"ArmorPhysical" "0" // Physical protection.
"MagicalResistance" "0" // Magical protection.
// Attack
//----------------------------------------------------------------
"AttackCapabilities" "DOTA_UNIT_CAP_MELEE_ATTACK"
"AttackDamageMin" "23" // Damage range min.
"AttackDamageMax" "28" // Damage range max.
"AttackDamageType" "DAMAGE_TYPE_ArmorPhysical"
"AttackRate" "2.2" // Speed of attack.
"AttackAnimationPoint" "0.4" // Normalized time in animation cycle to attack.
"AttackAcquisitionRange" "250" // Range within a target can be acquired.
"AttackRange" "120" // Range within a target can be attacked.
"AttackRangeBuffer" "250" // Extra attack range within which the target can move without canceling the attack
// Attributes
//----------------------------------------------------------------
"AttributePrimary" "DOTA_ATTRIBUTE_STRENGTH"
"AttributeBaseStrength" "24" // Base strength
"AttributeStrengthGain" "2.8" // Strength bonus per level.
"AttributeBaseIntelligence" "28" // Base intelligence
"AttributeIntelligenceGain" "3.0" // Intelligence bonus per level.
"AttributeBaseAgility" "20" // Base agility
"AttributeAgilityGain" "2.2" // Agility bonus per level.
// Bounty
//----------------------------------------------------------------
"BountyXP" "0" // Experience earn.
"BountyGoldMin" "0" // Gold earned min.
"BountyGoldMax" "0" // Gold earned max.
// Bounds
//----------------------------------------------------------------
"BoundsHullName" "DOTA_HULL_SIZE_HERO"
"RingRadius" "70"
"HealthBarOffset" "250" // -1 means use the models
// Movement
//----------------------------------------------------------------
"MovementCapabilities" "DOTA_UNIT_CAP_MOVE_GROUND"
"MovementSpeed" "300" // Speed
"MovementTurnRate" "0.5" // Turning rate.
"HasAggressiveStance" "0" // Plays alternate idle/run animation when near enemies
"FollowRange" "100" // Distance to keep when following
// Status
//----------------------------------------------------------------
"StatusHealth" "250" // Base health.
"StatusHealthRegen" "0" // Health regeneration rate.
"StatusMana" "0" // Base mana.
"StatusManaRegen" "0" // Mana regeneration rate.
"StatusStartingMana" "-1" // -1 means default to full mana
// Team
//----------------------------------------------------------------
"TeamName" "DOTA_TEAM_GOODGUYS"
"CombatClassAttack" "DOTA_COMBAT_CLASS_ATTACK_HERO"
"CombatClassDefend" "DOTA_COMBAT_CLASS_DEFEND_HERO"
"UnitRelationshipClass" "DOTA_NPC_UNIT_RELATIONSHIP_TYPE_DEFAULT"
// Vision
//----------------------------------------------------------------
"VisionDaytimeRange" "575" // Range of vision during day light.
"VisionNighttimeRange" "575" // Range of vision at night time.
// Bots
//----------------------------------------------------------------
"AttackDesire" "1.0" // How much bots want to attack them vs other non-hero things
//Inventory
"HasInventory" "1"
"IdleSoundLoop" ""
}
}
Айди не совпадает, а так была бы ошибка. Я сейчас буду создавать крипа и с помощью CreateHeroForPlayerc кастомным меню пика присваивать героя. Осталось сделать это меню... На кройняк сделаю выбор через команду -pick в чат и применять ReplaceHeroWith.
P.S: Что-то ничего не получается. CreateHeroForPlayer создаёт героя, но контролировать я его не могу, хоть он и считается моим. Пробовал удалять перед этим основного героя через Destroy, но не уверен что это правильно. ReplaceHeroWith отлично меняет героев стандартных, но вот моего что-то не хочет. На верхней панели герой пропадает и отключает мне взаимодействие с миром т.е. старый персонаж остался, на мои команды передвижение и подобные не реагирует, как и все остальные заспавненые нпс. Надеюсь объяснил понятно.
Оставлю тут на всякий
Код:
function ChatCommand:PickHero(playerid,text)
print(string.sub(text, 7))
if string.sub(text, 7) == "finnick" then
PlayerResource:GetPlayer(playerid):GetAssignedHero():Destroy()
CreateHeroForPlayer("npc_dota_hero_riki",PlayerResource:GetPlayer(playerid)) -- Мой 2 способ изменить героя
else
PlayerResource:ReplaceHeroWith(playerid,string.sub(text, 7),0,0) --Изначально использовал этот способ.
end
end
Код:
"DOTAHeroes"
{
"custom_hero_finnick"
{
// General
//
"HeroID" "134"
"BaseClass" "npc_dota_hero"
"Model" "models/heroes/invoker/invoker.vmdl"
"SoundSet" "0" // Name of sound set.
"SelectOnSpawn" "0"
"UnitLabel" "finnick"
"new_player_enable" "1"
// Abilities
//----------------------------------------------------------------
"Ability1" "generic_hidden"
"Ability2" "dota_ability_give_regen_health"
"Ability3" "generic_hidden"
"Ability4" "generic_hidden"
"Ability5" "generic_hidden"
"Ability6" "generic_hidden"
"Ability7" "custom_ability_finnick_invulnerability"
"Ability10" "special_bonus_strength_6"
"Ability11" "special_bonus_attack_damage_20"
"Ability12" "special_bonus_attack_speed_20"
"Ability13" "special_bonus_hp_250"
"Ability14" "special_bonus_evasion_15"
"Ability15" "special_bonus_all_stats_10"
"Ability16" "special_bonus_hp_250"
"Ability17" "special_bonus_all_stats_10"
"AbilityTalentStart" "10"
// Armor
//----------------------------------------------------------------
"ArmorPhysical" "0" // Physical protection.
"MagicalResistance" "0" // Magical protection.
// Attack
//----------------------------------------------------------------
"AttackCapabilities" "DOTA_UNIT_CAP_MELEE_ATTACK"
"AttackDamageMin" "23" // Damage range min.
"AttackDamageMax" "28" // Damage range max.
"AttackDamageType" "DAMAGE_TYPE_ArmorPhysical"
"AttackRate" "2.2" // Speed of attack.
"AttackAnimationPoint" "0.4" // Normalized time in animation cycle to attack.
"AttackAcquisitionRange" "250" // Range within a target can be acquired.
"AttackRange" "120" // Range within a target can be attacked.
"AttackRangeBuffer" "250" // Extra attack range within which the target can move without canceling the attack
// Attributes
//----------------------------------------------------------------
"AttributePrimary" "DOTA_ATTRIBUTE_STRENGTH"
"AttributeBaseStrength" "24" // Base strength
"AttributeStrengthGain" "2.8" // Strength bonus per level.
"AttributeBaseIntelligence" "28" // Base intelligence
"AttributeIntelligenceGain" "3.0" // Intelligence bonus per level.
"AttributeBaseAgility" "20" // Base agility
"AttributeAgilityGain" "2.2" // Agility bonus per level.
// Bounty
//----------------------------------------------------------------
"BountyXP" "0" // Experience earn.
"BountyGoldMin" "0" // Gold earned min.
"BountyGoldMax" "0" // Gold earned max.
// Bounds
//----------------------------------------------------------------
"BoundsHullName" "DOTA_HULL_SIZE_HERO"
"RingRadius" "70"
"HealthBarOffset" "250" // -1 means use the models
// Movement
//----------------------------------------------------------------
"MovementCapabilities" "DOTA_UNIT_CAP_MOVE_GROUND"
"MovementSpeed" "300" // Speed
"MovementTurnRate" "0.5" // Turning rate.
"HasAggressiveStance" "0" // Plays alternate idle/run animation when near enemies
"FollowRange" "100" // Distance to keep when following
// Status
//----------------------------------------------------------------
"StatusHealth" "250" // Base health.
"StatusHealthRegen" "0" // Health regeneration rate.
"StatusMana" "0" // Base mana.
"StatusManaRegen" "0" // Mana regeneration rate.
"StatusStartingMana" "-1" // -1 means default to full mana
// Team
//----------------------------------------------------------------
"TeamName" "DOTA_TEAM_GOODGUYS"
"CombatClassAttack" "DOTA_COMBAT_CLASS_ATTACK_HERO"
"CombatClassDefend" "DOTA_COMBAT_CLASS_DEFEND_HERO"
"UnitRelationshipClass" "DOTA_NPC_UNIT_RELATIONSHIP_TYPE_DEFAULT"
// Vision
//----------------------------------------------------------------
"VisionDaytimeRange" "575" // Range of vision during day light.
"VisionNighttimeRange" "575" // Range of vision at night time.
// Bots
//----------------------------------------------------------------
"AttackDesire" "1.0" // How much bots want to attack them vs other non-hero things
//Inventory
"HasInventory" "1"
"IdleSoundLoop" ""
}
}
Что-то я ничего не понимаю. Надо юнита добавить в "DOTAHeroes" и в "DOTAUnits"? Я так сделал, но проблема остаётся. Потом решил и в npc_heroes_custom. Создай файл с юнитом и привязал его к в двух этих файлах с помощью #base, позже просто записал юнита без #base.
Что-то я ничего не понимаю. Надо юнита добавить в "DOTAHeroes" и в "DOTAUnits"? Я так сделал, но проблема остаётся. Потом решил и в npc_heroes_custom. Создай файл с юнитом и привязал его к в двух этих файлах с помощью #base, позже просто записал юнита без #base.
Слушайте, а как можно получить статистику о герое из npc_heroes_custom.txt? Например, мне надо получить значение "ArmorPhysical" для работы в lua. Находил вот это self:GetParent():GetKeyValue("ArmorPhysical"), но выдаёт ошибку о том, что нет значения.
Слушайте, а как можно получить статистику о герое из npc_heroes_custom.txt? Например, мне надо получить значение "ArmorPhysical" для работы в lua. Находил вот это self:GetParent():GetKeyValue("ArmorPhysical"), но выдаёт ошибку о том, что нет значения.
Всем привет! Цель у меня такая - нужно на иконку скилла сделать иконку героя. Как это правильно сделать? Остановился на том, чтобы создать просто новые иконки и указать путь, а где взять эти иконки? Рылся в файлах доты не нашел.
Всем привет! Цель у меня такая - нужно на иконку скилла сделать иконку героя. Как это правильно сделать? Остановился на том, чтобы создать просто новые иконки и указать путь, а где взять эти иконки? Рылся в файлах доты не нашел.
в слушателе на смерть юнита делать проверку на героя и цикл который считает кол-во живых героев на карте, если жив только один то получать команду и присваивать победу
в слушателе на смерть юнита делать проверку на героя и цикл который считает кол-во живых героев на карте, если жив только один то получать команду и присваивать победу
chek = 0
-- An entity died
function GameMode:OnEntityKilled( keys )
DebugPrint( '[BAREBONES] OnEntityKilled Called' )
DebugPrintTable( keys )
-- The Unit that was Killed
local killedUnit = EntIndexToHScript( keys.entindex_killed )
-- The Killing entity
local killerEntity = nil
if keys.entindex_attacker ~= nil then
killerEntity = EntIndexToHScript( keys.entindex_attacker )
end
-- The ability/item used to kill, or nil if not killed by an item/ability
local killerAbility = nil
if keys.entindex_inflictor ~= nil then
killerAbility = EntIndexToHScript( keys.entindex_inflictor )
end
local damagebits = keys.damagebits -- This might always be 0 and therefore useless
-----------------------------
-------------------------
-------------------------
if killedUnit:IsHero()then
if killedUnit:IsHero() and killedUnit:IsAlive() then
chek = chek + 1
end
if chek == 1 then
GameRules:SetGameWinner(killedUnit:GetTeam())
end
end
-------------------------
-----------------------------
-- Put code here to handle when an entity gets killed
end
А как можно текстуру сделать полупрозрачной? Или модель надо сделать полупрозрачной? Просто надо сделать очки для персонажа, чтобы были видны глаза персонажа через них.
Как определить, какой тип и сколько урона наноситься (чистый, магический, критический)? И как посмотреть сколько времени весит на врага дебафф (замедление, оглушение)?