Менять угол героя при выстреле(2)

  • Автор темы Автор темы TIMMY
  • Дата начала Дата начала

TIMMY

Пользователь
4 Май 2016
45
0
Я уже в душе не знаю как это сделать, ничего не сработало (setangles setforwardvertor etc) герои просто дёргается и сразу поварачивает обратно. В чём суть? Мой героя стреляет по кругу стрелами по очереди хочу чтобы при этом ещё и поворачивался в сторону выстрела. Вот код
function Dial( keys )
local caster = keys.caster

local ability = keys.ability
local ability_level = ability:GetLevel() - 1


-- Ability variables
local instances = ability:GetLevelSpecialValueFor("instances", ability_level)
local arrow_speed = ability:GetLevelSpecialValueFor("arrow_speed", ability_level)
local arrow_width = ability:GetLevelSpecialValueFor("arrow_width", ability_level)
local distance = ability:GetLevelSpecialValueFor("range", ability_level)
local channelTime = ability:GetChannelTime()
local particle_name = keys.particle_name
local startAttackSound = "Ability.Powershot"


local info =
{
Ability = keys.ability,
EffectName = particle_name,
iMoveSpeed = arrow_speed,
vSpawnOrigin = caster:GetAbsOrigin(),
fDistance = distance,
fStartRadius = arrow_width,
fEndRadius = arrow_width,
Source = caster,
bHasFrontalCone = false,
bReplaceExisting = false,
iUnitTargetTeam = ability:GetAbilityTargetTeam(),
iUnitTargetFlags = ability:GetAbilityTargetFlags(),
iUnitTargetType = ability:GetAbilityTargetType(),
fExpireTime = GameRules:GetGameTime() + 10.0,
bDeleteOnHit = false,
vVelocity = 0.0,
iMoveSpeed = 1000,

}


for i=instances,0,-1 do

Timers:CreateTimer(caster:GetPlayerOwnerID() .. 'RapidFireInterval' .. i, {
useGameTime = false,

endTime = (channelTime/instances) * i,
callback = function()




info.vVelocity = RotatePosition(Vector(0,0,0), QAngle(0,30*i,0), caster:GetForwardVector()) * info.iMoveSpeed


if ability:IsChanneling() then

StartAnimation(caster, {duration=0.5, activity=ACT_DOTA_ATTACK, rate=2.0})
StartSoundEvent(startAttackSound, caster)


projectile = ProjectileManager:CreateLinearProjectile(info)

end
end
})
end
end
 
Последнее редактирование модератором:
Тебе же говорили: делай SetForwardVector() интервалами.
 
Реклама: