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

Статус
В этой теме нельзя размещать новые ответы.

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
den4iccc, при полученном уроне или при атаке по себе? Это первое
Второе то, что модификатор сам в себе значится как self, следовательно вот это
Код:
self:GetCaster():FindModifierByName ("modifier_panic_check")
бесполезно
И на модифер дед вешай стаки через сетмодиферстаккоунт и гетмодиферстаккоунт
 
Последнее редактирование модератором:

den4iccc

Друзья CG
20 Сен 2014
440
1
Проект
Survival in Taiga XE
Всё спасибо, проблему решил через условие if params.unit == self:GetParent() then и заменил модификатор на получение урона
 

den4iccc

Друзья CG
20 Сен 2014
440
1
Проект
Survival in Taiga XE
блин не понимаю как сделать условие если у врага есть модификатор выполняется тот сценарий который я написал выше, мол добавляются стаки при каждом полученном уроне, нужно сделать так чтобы GetUnitName() == "npc_1" только он мог бы наносить урон и давать стаки а другие npc и герои не могли это сделать
 
Последнее редактирование модератором:

den4iccc

Друзья CG
20 Сен 2014
440
1
Проект
Survival in Taiga XE
[quote author=мамин программист link=topic=849.msg12027#msg12027 date=1509119437]
den4iccc, params.attacker, если я правильно тебя понял.
[/quote]
Да спасибо) так сделал: local hAttacker = params.attacker if hAttacker:GetUnitName() == "npc_dummy_unit" then
 
Последнее редактирование модератором:

den4iccc

Друзья CG
20 Сен 2014
440
1
Проект
Survival in Taiga XE
Только вот у меня есть скилл который вызывает частицу в которой есть моделька сам коллайдер не прописан в ней и стоит инвизная моделька суть в том что у этой модельки нет хитбокса урон идёт от CreateUnitByName (эксорцизм баншы) мне надо сделать так чтобы урон проходил именно от тех юнитов, которые непосредственно будут наносить урон, были созданы через CreateUnitByName и контролируется той командой непосредственно в которой они были созданы и этот урон добавлял стаки врагу исходя только от него (кароче есть духи которые пролетают сквозь героев и наносят урон при этом накладывают модификатор со стаками но мне нужно сделать проверку на этого юнита чтобы только от него добавлялись стаки)
 
20 Дек 2016
892
170
den4iccc, на этот раз я вообще ничего не понял. Проверку на юнита, наносящего урон, с последующим добавлением стаков ты уже сделал. Тебе нужно, чтобы только конкретные юниты могли наносить урон, или что?

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

den4iccc

Друзья CG
20 Сен 2014
440
1
Проект
Survival in Taiga XE
[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 моделька) и этот юнит наносит урон по принципу партиклов получается мне нужно отловить партикал в самом модификаторе который бы отвечал помимо урона и за бафы стаков по таргету
 
Последнее редактирование модератором:
20 Дек 2016
892
170
den4iccc,
Код:
if hAttacker:GetUnitName() == "npc_dummy_unit" then
Пропустит внутрь ифа только если тот, кто нанес урон - npc_dummy_unit. Это я у себя неоднократно использовал, не работать оно не может.
Если тебе надо заблокировать урон он других источников, то делай это либо через фильтр, либо с помощью MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE.
 
Последнее редактирование модератором:

den4iccc

Друзья CG
20 Сен 2014
440
1
Проект
Survival in Taiga XE
блин я хз как выбрать этого юнита делать из него глобальную переменную и оттуда брать значения, по факту это партикал, сами стаки набиваются в 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
 
Последнее редактирование модератором:

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
den4iccc, во первых по факту это юнит, на котором висит партикл. Во вторых создай отдельного юнита со своим именем, иначе будет ещё какой нибудь дамми и гг. В третьих, у тебя юниты создают партиклы, которые дамажат врага, за это на этого юнита нужно кинуть стак? Тебе нужно не через атаку делать это, а через проперти онтейкдемейдж
 

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
У тебя же они не атакуют, как может вообще вызываться эвент атаки
 
20 Дек 2016
892
170
I_GRIN_I, Там евента атаки вообще нет. Он OnTakeDamage и использует.

den4iccc, Хм.. У тебя абилка самописная? Тебе не проще будет накладывать стаки там же, где ты наносишь урон? И ты уверен, что при нанесении урона у тебя источником является именно npc_dummy_unit?
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,137
195
www.dotabuff.com
Проект
Roshan defense
По каким причинам может не отображаться иконки предметов ?
я их взял из дота имбы
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,137
195
www.dotabuff.com
Проект
Roshan defense
Вставил я их куда надо , но часть отображается . А часть не отображается.
Я посмотрел вроде и формат и размер все норм.
 

-ExotiC-

Какой-то ноунэйм
Команда форума
11 Авг 2014
498
56
customgames.ru
Вставил я их куда надо , но часть отображается . А часть не отображается.
Я посмотрел вроде и формат и размер все норм.
Название предмета идет вместе с "item_", а название самой png без "item_". Например:

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

Тогда иконка должна быть с названием godhammer.png и находиться в \resource\flash3\images\items, а её размер - 88х64 либо 86х64
 
Последнее редактирование:

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,137
195
www.dotabuff.com
Проект
Roshan defense
Тогда иконка должна быть с названием godhammer.png и находиться в \resource\flash3\images\items, а её размер - 88х64 либо 86х64
Я сейчас смотрю , большинство иконок имеет размер 124х64 или 128х64 , там лишний кусок приделан зачем-то.
В чем прикол я не понял ?
 

-ExotiC-

Какой-то ноунэйм
Команда форума
11 Авг 2014
498
56
customgames.ru
Я сейчас смотрю , большинство иконок имеет размер 124х64 или 128х64 , там лишний кусок приделан зачем-то.
В чем прикол я не понял ?
Вообще для текущих лэйаутов мониторов достаточно 88x64px. Эти размеры официально используются в самой доте. А вот >120px, как мне кажется, используются моддерами с запасом на будущее и всяких там 4k разрешения. Насколько я знаю, иконки на данный момент всё равно будут конвертироваться в 86x64px.
 
  • Нравится
Реакции: vulkantsk
Статус
В этой теме нельзя размещать новые ответы.
Реклама: