CustomGames.ru - Dota 2 пользовательские игры

ProjectileManager и damageTable

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн den4iccc

  • Продвинутый
  • 400
  • Мощь: 7
ProjectileManager и damageTable
« : 29-09-2017, 14:33:50 »
Ребят кто знает как совместить ProjectileManager:CreateLinearProjectile (снаряд, частица которая летит по траектории) и damageTable чтобы снаряд попадал по npc и отнимал урон через damageTable ? библиотеку Projectiles не очень хочется использовать от Noya

Оффлайн ZLOY

  • Супермодератор
  • 456
  • Мощь: 6
Re: ProjectileManager и damageTable
« Ответ #1 : 29-09-2017, 14:43:24 »

Оффлайн den4iccc

  • Продвинутый
  • 400
  • Мощь: 7
Re: ProjectileManager и damageTable
« Ответ #2 : 29-09-2017, 15:13:45 »
Спасибо, я нашёл что искал только немного другое, но концепция таже OnProjectileHitUnit)

Оффлайн den4iccc

  • Продвинутый
  • 400
  • Мощь: 7
Re: ProjectileManager и damageTable
« Ответ #3 : 29-09-2017, 15:29:40 »
всё работает как надо, но пишет в консоле TARGET is not a recognized target name in item_wea.

код в луа

Спойлер
Код
function food(args)
    local caster = args.caster
    local target = args.target
    local ability = args.ability

local point = caster:GetCursorPosition()
local direction = point - caster:GetOrigin()
direction.z = 0.0
direction = direction:Normalized()

local info = {
Ability = args.ability,
        EffectName = "particles/units/heroes/hero_mirana/mirana_spell_arrow.vpcf",
        vSpawnOrigin = caster:GetAbsOrigin(),
        fDistance = 2000,
        fStartRadius = 40,
        fEndRadius = 40,
        Source = caster,
iUnitTargetTeam = DOTA_UNIT_TARGET_TEAM_ENEMY,
        iUnitTargetType = DOTA_UNIT_TARGET_HERO + DOTA_UNIT_TARGET_BASIC,
iUnitTargetFlags = DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES,
vVelocity = direction * 1000,
bProvidesVision = true,
iVisionRadius = 400,
iVisionTeamNumber = caster:GetTeamNumber()
}

projectile = ProjectileManager:CreateLinearProjectile(info)
end
[свернуть]

и в дд

Спойлер
Код
	"item_wea"
{
"ID" "9401"
"BaseClass" "item_datadriven"
"AbilityTextureName" "wea"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_DIRECTIONAL | DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
"AbilityUnitDamageType" "DAMAGE_TYPE_PURE"
"AbilityCastAnimation" "ACT_DOTA_ATTACK"

"Model" "models/props_gameplay/red_box.vmdl" //Green
"Effect" "particles/generic_gameplay/dropped_item.vpcf"

"ItemSellable"   "0"
"ItemStackable" "1"
"ItemShareability" "ITEM_FULLY_SHAREABLE_STACKING"
"ItemPermanent" "0"
"ItemInitialCharges" "5"
"AbilityCooldown"          "1"
"AbilityDamage" "40"

"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"start_radius" "30"
}
"02"
{
"var_type" "FIELD_INTEGER"
"end_radius" "40"
}
}

"OnSpellStart"
{
"RunScript"
{
"ScriptFile" "rif.lua"
"Function" "food"
"Target" "TARGET"
}
"SpendCharge"
{}
}

"OnProjectileHitUnit"
{
   "Damage"
{
"Type" "DAMAGE_TYPE_PURE"
"Damage" "40"
"Target"
{
"Center" "TARGET"
"Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC | DOTA_UNIT_TARGET_OTHER"
"Flags"     "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES"
}
}
}
"OnEquip"
    {
        "RunScript"
      {
         "ScriptFile"     "droper_table.lua"
         "Function" "droper_weapon"
      }    
        }
    }
[свернуть]

Оффлайн den4iccc

  • Продвинутый
  • 400
  • Мощь: 7
Re: ProjectileManager и damageTable
« Ответ #4 : 29-09-2017, 15:33:11 »
Походу я лишнее вписал в OnSpellStart, убрал таргет и сейчас ничего не вылезает

Спойлер
Код
		"OnSpellStart"
{
"RunScript"
{
"ScriptFile" "rif.lua"
"Function" "food"
}
"SpendCharge"
{}
}
[свернуть]

Оффлайн den4iccc

  • Продвинутый
  • 400
  • Мощь: 7
Re: ProjectileManager и damageTable
« Ответ #5 : 29-09-2017, 15:34:55 »
нужно ли прописывать DeleteOnHit 1 для OnProjectileHitUnit ???

Оффлайн ZLOY

  • Супермодератор
  • 456
  • Мощь: 6
Re: ProjectileManager и damageTable
« Ответ #6 : 29-09-2017, 15:37:31 »
Ты хочешь чтобы он удалялся при первом столкновении с юнитом?

Оффлайн den4iccc

  • Продвинутый
  • 400
  • Мощь: 7
Re: ProjectileManager и damageTable
« Ответ #7 : 29-09-2017, 15:50:23 »
Ты хочешь чтобы он удалялся при первом столкновении с юнитом?
Он по сути сталкивается наносит урон и удаляется но мб в памяти как то сидеть будет я хз или так норм без DeleteOnHit ?

Оффлайн ZLOY

  • Супермодератор
  • 456
  • Мощь: 6
Re: ProjectileManager и damageTable
« Ответ #8 : 29-09-2017, 16:43:47 »
У тебя сейчас работает так как тебе нужно?

Оффлайн den4iccc

  • Продвинутый
  • 400
  • Мощь: 7
Re: ProjectileManager и damageTable
« Ответ #9 : 29-09-2017, 17:19:56 »
У тебя сейчас работает так как тебе нужно?
Да я просто хотел узнать про DeleteOnHit