CreateParticle по вектору

den4iccc

Друзья CG
20 Сен 2014
440
1
Проект
Survival in Taiga XE
Помогите с частицей, хочу сделать частицу (CreateParticle) которая появлялась на карте через вектор (GetForwardVector) по времени (CreateTimer), единственное что я не понимаю как создать вектор на карте (без хамера)(просто CreateParticle требует владельца)
 
CreateParticle("партикал", к чему прикрепить, кастер или таргет) куда мне вектор прописывать ?)
 
Последнее редактирование модератором:
Последнее редактирование модератором:
Re: Re:CreateParticle по вектору

Как мне сделать так что бы вектор был у ParticleManager:SetParticleControl такой же как и у FindUnitsInRadius я хочу сделать ForceKill если в радиусе от рандомного вектора где создаётся частица герой умирал ? в итоге на данный момент у меня работает так: создаётся частица каждые 2 сек через CreateTimer и если я рядом в радиусе 150 находится герой то он умирает, но при этом не важно где бы герой стоял (local vector_list) в одном из 3 координат герой всё равно умрёт хоть даже если партикл создался в другом векторе
Код:
		for playerID = 0, DOTA_MAX_TEAM_PLAYERS-1 do
				local teams = PlayerResource:GetTeam(playerID)
				
				local vector_list = {[1] = Vector(-672,-736,160),
									 [2] = Vector(544,32,160),
									 [3] = Vector(-416,160,160)};
									 
				for i = 1, math.random(#vector_list) do
					ParticleManager:SetParticleControl( particle, 0, vector_list[i] );
					local units = FindUnitsInRadius(teams, vector_list[i], nil, 150, DOTA_UNIT_TARGET_TEAM_BOTH, DOTA_UNIT_TARGET_ALL, 
                    DOTA_UNIT_TARGET_FLAG_NONE, FIND_ANY_ORDER, false);

				for i, un in ipairs(units) do
					if un:IsHero() then
						un:ForceKill(false)
						end
					end	 
				end
				end
 
> for i = 1, math.random(#vector_list) do

И как ты думаешь, что же это значит?
 
Последнее редактирование модератором:
> for i = 1, math.random(#vector_list) do

И как ты думаешь, что же это значит?
Рандомный выбор из списка(#- оператор длины переменной)) Ок, даже если for i = 1, #vector_list do, что мне надо выставить для того чтобы одинаковые вектора выбирались для SetParticleControl и FindUnitsInRadius по рандому соответственно ?
 
Последнее редактирование модератором:
Это не рандомный выбор из списка. Подумай еще, подебажь, порасставляй принты.
 
Я сделал RollPercentage для всех координат частица создаётся рандомно как было и с math.random, но FindUnitsInRadius активируется во всех 3 координатах как я писал выше (пробовал через RandomInt())не знаю как мне удалить FindUnitsInRadius через CreateTimer. Я хз чё уже делать, сделать костыль с юнитом который бы чекал а потом умирал
Код:
				local vector_list = { [1] = Vector(-672,-736,160),
							   [2] = Vector(544,32,160),
							   [3] = Vector(-416,-64,160)}									 
				
				for i = 1, #vector_list do
					if RollPercentage(40) then
					ParticleManager:SetParticleControl( particle, 0, vector_list[1]	)		
					local uni = FindUnitsInRadius(teams, vector_list[1], nil, 150, DOTA_UNIT_TARGET_TEAM_BOTH, DOTA_UNIT_TARGET_ALL, DOTA_UNIT_TARGET_FLAG_NONE, FIND_ANY_ORDER, false)
					for i, un in ipairs(uni) do
					if un:IsHero() then
						un:ForceKill(false)				
						end
					end										
					
					elseif RollPercentage(60) then
					local vec = ParticleManager:SetParticleControl( particle, 0, vector_list[2])			
					local units = FindUnitsInRadius(teams, vector_list[2], nil, 150, DOTA_UNIT_TARGET_TEAM_BOTH, DOTA_UNIT_TARGET_ALL, DOTA_UNIT_TARGET_FLAG_NONE, FIND_ANY_ORDER, false)
					for i, un in ipairs(units) do
					if un:IsHero() then
						un:ForceKill(false)				
						end
					end 	
					
					elseif RollPercentage(50) then
					ParticleManager:SetParticleControl( particle, 0, vector_list[3])			
					local unit = FindUnitsInRadius(teams, vector_list[3], nil, 150, DOTA_UNIT_TARGET_TEAM_BOTH, DOTA_UNIT_TARGET_ALL, DOTA_UNIT_TARGET_FLAG_NONE, FIND_ANY_ORDER, false)					
					for i, un in ipairs(unit) do
					if un:IsHero() then
						un:ForceKill(false)				
						end
					end	 			 
				 end
				 end
Я тупой, надо было сразу делать проверку через глобальные переменные, всё сделал
 
Реклама: