отлов убийства определенного крипа

  • Автор темы Автор темы Danis
  • Дата начала Дата начала
[quote author=CryDeS link=topic=1025.msg5638#msg5638 date=1470489441]
Тебя в гугле забанили?)
Или в поиске по форуму?
Тысячу раз обсуждалось, ИЩИТЕ.
Лентяи блин, вообще нифига сами делать не хотят, ладно бы просто спиздить чужой код и сделать на основе чужого свой, так нет, еще и скиньте им готовый распакованный чужой код.
[/quote]
уже вскрыл, но не пойму как найти убийцу
 
[quote author=CryDeS link=topic=1025.msg5599#msg5599 date=1470313359]
Да, так.
Код:
function OnEntityKilled(event)
	local killedUnit = EntIndexToHScript( event.entindex_killed )
	local killedTeam = killedUnit:GetTeam()

	local killer = EntIndexToHScript( event.entindex_attacker )
	local killerTeam = hero:GetTeam()
[/quote]

killer и есть убийца, Край же все кинул тебе
 
ребят ну как так? >:( у вас спросил как делать вы мне говорите о том чего я не понимаю, а на моддоте мне сказали что в онОвнерДаед не работает кей_аттакер и у меня уже почти получилось сделать то что я планировал :)
 
Последнее редактирование модератором:
ребят ну как так? >:( у вас спросил как делать вы мне говорите о том чего я не понимаю, а на моддоте мне сказали что в онОвнерДаед не работает кей_аттакер и у меня уже почти получилось сделать то что я планировал :)
Я тебе сверху скинул код для слушателя, поставь его и в обработчике проверяй нужный ли крип -.-
 
Последнее редактирование модератором:
Я тебе сверху скинул код для слушателя, поставь его и в обработчике проверяй нужный ли крип -.-

мне легче будет не через слушатель а через саму абилку писать
 
Последнее редактирование модератором:
Danis, ну на самом деле на луа такое куда легче написать, чем на датадрайвене
 
[quote author=I_GRIN_I link=topic=1025.msg5671#msg5671 date=1470553678]
Danis, ну на самом деле на луа такое куда легче написать, чем на датадрайвене
[/quote]Да? если есть что то типа гайда можешь сказать название темы приблизительное? хочу посмотреть как делать
 
[quote author=CryDeS link=topic=1025.msg5674#msg5674 date=1470557079]
Через абилку НИКАК, там сломано событие.
[/quote]
Никак? у меня модификатор клеется к убийце, как гифку сделать? тебе скину что модификатор накладывается
 
Danis, что то типо гайда именно по этому нет. Но на самом деле тебе просто нужно знать, как писать ексамплы, хотябы, на луа и уже с помощью апи очень легко реализовать то, что ты хочешь
 
Danis, короче скажи, что твой модификатор должен делать и при убийстве какого крипа должен накидываться модификатор, я тебе напишу и ты сам уже разберешься
 
Ты можешь полностью описать способность и выложить то что у тебя сейчас есть?
 
I_GRIN_I, а как эти "примеры" писать?
 
Последнее редактирование модератором:
Ты можешь полностью описать способность и выложить то что у тебя сейчас есть?
окей, вот
это кв код
Код:
"fly_vision_bonus"
	{
		// General
		//-------------------------------------------------------------------------------------------------------------
		"AbilityBehavior"				"DOTA_ABILITY_BEHAVIOR_PASSIVE | DOTA_ABILITY_BEHAVIOR_HIDDEN"
		"BaseClass"						"ability_datadriven"
		"AbilityTexture"				"recipe"
		"MaxLevel"	"1"

		"AbilitySpecial"
		{
			"01"
			{
				"var_type"					"FIELD_INTEGER"
				"vision_bonus"				"2"
			}
		}

		"Modifiers"
		{
			"modifier_simple_creature_vision"
			{
				"Passive"	"1"
				"IsHidden"	"1"
				"Properties"
				{
					"MODIFIER_PROPERTY_BONUS_DAY_VISION"	"%vision_bonus"
				}

				"OnDeath"
				{
					"RunScript"
					{
						"ScriptFile"	"mutations_vision/vision.lua"
						"Function"		"fly_vision_simple"
					}
				}
			}

			"modifier_simple_creature_vision_mut"
			{
				"Passive"	"0"
				"IsHidden"	"0"
				"Properties"
				{
					"MODIFIER_PROPERTY_BONUS_DAY_VISION"	"%vision_bonus"
				}
			}
		}
	}
это из луа файла скилла, но у него не работает увеличение кол-ва стаков
Код:
function fly_vision_simple(keys)
	local modifier = "modifier_simple_creature_vision_mut"
	if not keys.attacker:HasModifier(modifier) then
		keys.ability:ApplyDataDrivenModifier(keys.caster,keys.attacker,modifier,{})
	end

	local current_stack = keys.attacker:GetModifierStackCount(modifier,keys.attacker)
	keys.attacker:SetModifierStackCount(modifier,keys.attacker,15)
	
	print(current_stack)
end
 
Последнее редактирование модератором:
[quote author=I_GRIN_I link=topic=1025.msg5679#msg5679 date=1470558357]
Danis, короче скажи, что твой модификатор должен делать и при убийстве какого крипа должен накидываться модификатор, я тебе напишу и ты сам уже разберешься
[/quote]
проще говоря когда умирает "fly_simple" должен наложиться модификатор с названием "modifier_simple_creature_vision_mut" на убийцу и он должен стакаться
модификатор увеличивает вижен днем у героя и крипа и у героя он отмечен _mut у меня в моде
 
Последнее редактирование модератором:
Код:
keys.ability:ApplyDataDrivenModifier(keys.attacker,keys.attacker,modifier,{})
Так должно работать
 
[quote author=ZLOY link=topic=1025.msg5684#msg5684 date=1470559632]
Код:
keys.ability:ApplyDataDrivenModifier(keys.attacker,keys.attacker,modifier,{})
Так должно работать
[/quote]
СПАСИБО БОЛЬШОЕ оно заработало
теперь можно приступать к нормальной разработке аддона)
 
а теперь дополнительный вопрос на засыпку, как сделать чтобы оно писало название кастера в модификатор?
типа все в 1 файле и через несколько строчек(в луа файле), и чтобы оно искало по названию кастера модификатор, как сделать без if?
 
Что такое название кастера? Тип юнита?
 
Что такое название кастера? Тип юнита?
ну если это можно назвать типом, под названием имею в виду "npc_creep_1" или "dire_creeps_ez"
тоесть A = owner:Name() или что то в этом духе
а потом в modifier = "modifier_"+A+"_1"
ой, овнер пишу хД
A = keys.caster:GetName()
так нормуль?
 
Последнее редактирование модератором:
Реклама: