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

Статус
В этой теме нельзя размещать новые ответы.
den4iccc, при полученном уроне или при атаке по себе? Это первое
Второе то, что модификатор сам в себе значится как self, следовательно вот это
Код:
self:GetCaster():FindModifierByName ("modifier_panic_check")
бесполезно
И на модифер дед вешай стаки через сетмодиферстаккоунт и гетмодиферстаккоунт
 
Последнее редактирование модератором:
Всё спасибо, проблему решил через условие if params.unit == self:GetParent() then и заменил модификатор на получение урона
 
блин не понимаю как сделать условие если у врага есть модификатор выполняется тот сценарий который я написал выше, мол добавляются стаки при каждом полученном уроне, нужно сделать так чтобы GetUnitName() == "npc_1" только он мог бы наносить урон и давать стаки а другие npc и герои не могли это сделать
 
Последнее редактирование модератором:
[quote author=мамин программист link=topic=849.msg12027#msg12027 date=1509119437]
den4iccc, params.attacker, если я правильно тебя понял.
[/quote]
Да спасибо) так сделал: local hAttacker = params.attacker if hAttacker:GetUnitName() == "npc_dummy_unit" then
 
Последнее редактирование модератором:
Только вот у меня есть скилл который вызывает частицу в которой есть моделька сам коллайдер не прописан в ней и стоит инвизная моделька суть в том что у этой модельки нет хитбокса урон идёт от CreateUnitByName (эксорцизм баншы) мне надо сделать так чтобы урон проходил именно от тех юнитов, которые непосредственно будут наносить урон, были созданы через CreateUnitByName и контролируется той командой непосредственно в которой они были созданы и этот урон добавлял стаки врагу исходя только от него (кароче есть духи которые пролетают сквозь героев и наносят урон при этом накладывают модификатор со стаками но мне нужно сделать проверку на этого юнита чтобы только от него добавлялись стаки)
 
den4iccc, на этот раз я вообще ничего не понял. Проверку на юнита, наносящего урон, с последующим добавлением стаков ты уже сделал. Тебе нужно, чтобы только конкретные юниты могли наносить урон, или что?

UPD: надеюсь, ты не избавился от этой части кода:
Код:
 if params.unit == self:GetParent() then
?
 
[quote author=мамин программист link=topic=849.msg12032#msg12032 date=1509122336]
den4iccc, на этот раз я вообще ничего не понял. Проверку на юнита, наносящего урон, с последующим добавлением стаков ты уже сделал. Тебе нужно, чтобы только конкретные юниты могли наносить урон, или что?

UPD: надеюсь, ты не избавился от этой части кода:
Код:
 if params.unit == self:GetParent() then
?
[/quote]

я ничего не убирал, ты правильно понял мне нужно чтобы конкретный юнит наносил урон + добавил проверку на юнита if hAttacker:GetUnitName() == "npc_dummy_unit" then, работает если сделаю другого юнита не npc_dummy_unit а мне как раз таки он и нужен так как этот юнит создаётся через скилл (эти юниты имеют частицу в которую вшита 3d моделька а сама моделька юнита invisiblebox.vmdl и эта модель не имеет хит бокс проще говоря к этой невидимой модельке прикреплён партикал а сам партикал выглядит как полнаценная анимированная 3d моделька) и этот юнит наносит урон по принципу партиклов получается мне нужно отловить партикал в самом модификаторе который бы отвечал помимо урона и за бафы стаков по таргету
 
Последнее редактирование модератором:
den4iccc,
Код:
if hAttacker:GetUnitName() == "npc_dummy_unit" then
Пропустит внутрь ифа только если тот, кто нанес урон - npc_dummy_unit. Это я у себя неоднократно использовал, не работать оно не может.
Если тебе надо заблокировать урон он других источников, то делай это либо через фильтр, либо с помощью MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE.
 
Последнее редактирование модератором:
блин я хз как выбрать этого юнита делать из него глобальную переменную и оттуда брать значения, по факту это партикал, сами стаки набиваются в OnTakeDamage модификаторе а урон принимается через particle в абилке который прикреплен к юниту, когда делаю проверку на юнита при получении урона стак не набивается а вот когда делаю обычных крипов то всё норм

Код:
function modifier_panic_check:DeclareFunctions()
  local funcs = {
  MODIFIER_EVENT_ON_TAKEDAMAGE
	--MODIFIER_EVENT_ON_ATTACK_LANDED
  }
  return funcs
end

--OnAttackLanded(params)
--OnTakeDamage()
function modifier_panic_check:OnTakeDamage(params)
	-- params.unit
	-- params.attacker
	
	
	-- local unit_name = "npc_dummy_unit"
	-- local hAttacker = params.attacker
	-- if hAttacker:GetUnitName() == "npc_dummy_unit" then
	
	
	if RollPercentage(50) then
	
	if params.unit == self:GetParent() then

	local dbuff_counts = self:GetStackCount()
	self:SetStackCount (dbuff_counts + 1)
	if dbuff_counts >= 8 then
		if not self:GetCaster():HasModifier("modifier_panic") then		
			if not self:GetCaster():HasModifier("modifier_deniable") then		
		  self:GetCaster():AddNewModifier( self:GetCaster(), nil, "modifier_panic", { duration = 15} )	
			end			
		end
	self:SetStackCount(1)
	self:Destroy()
	end
	--print(self)
	end  	
	--end
 end
end
 
Последнее редактирование модератором:
den4iccc, во первых по факту это юнит, на котором висит партикл. Во вторых создай отдельного юнита со своим именем, иначе будет ещё какой нибудь дамми и гг. В третьих, у тебя юниты создают партиклы, которые дамажат врага, за это на этого юнита нужно кинуть стак? Тебе нужно не через атаку делать это, а через проперти онтейкдемейдж
 
У тебя же они не атакуют, как может вообще вызываться эвент атаки
 
I_GRIN_I, Там евента атаки вообще нет. Он OnTakeDamage и использует.

den4iccc, Хм.. У тебя абилка самописная? Тебе не проще будет накладывать стаки там же, где ты наносишь урон? И ты уверен, что при нанесении урона у тебя источником является именно npc_dummy_unit?
 
По каким причинам может не отображаться иконки предметов ?
я их взял из дота имбы
 
Вставил я их куда надо , но часть отображается . А часть не отображается.
Я посмотрел вроде и формат и размер все норм.
 
Вставил я их куда надо , но часть отображается . А часть не отображается.
Я посмотрел вроде и формат и размер все норм.
Название предмета идет вместе с "item_", а название самой png без "item_". Например:

Код:
"item_godhammer"
{
   "AbilityTextureName" "item_godhammer"
}

Тогда иконка должна быть с названием godhammer.png и находиться в \resource\flash3\images\items, а её размер - 88х64 либо 86х64
 
Последнее редактирование:
Тогда иконка должна быть с названием godhammer.png и находиться в \resource\flash3\images\items, а её размер - 88х64 либо 86х64
Я сейчас смотрю , большинство иконок имеет размер 124х64 или 128х64 , там лишний кусок приделан зачем-то.
В чем прикол я не понял ?
 
Я сейчас смотрю , большинство иконок имеет размер 124х64 или 128х64 , там лишний кусок приделан зачем-то.
В чем прикол я не понял ?
Вообще для текущих лэйаутов мониторов достаточно 88x64px. Эти размеры официально используются в самой доте. А вот >120px, как мне кажется, используются моддерами с запасом на будущее и всяких там 4k разрешения. Насколько я знаю, иконки на данный момент всё равно будут конвертироваться в 86x64px.
 
  • Нравится
Реакции: vulkantsk
Статус
В этой теме нельзя размещать новые ответы.
Реклама: