Эффект ,куда ты пропал?

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

qofma

Активный
1 Апр 2016
81
0
Предмет Phase Shift
vscript
Код:
function HideCaster( event )
	event.caster:AddNoDraw()
end

function ShowCaster( event )
	event.caster:RemoveNoDraw()
end

function StopSound( event )
	StopSoundEvent( event.sound_name, event.target )
end
npc
Код:
"item_puck_phase_shift_datadriven"
{
	// General
	//-------------------------------------------------------------------------------------------------------------
	"BaseClass"				"item_datadriven"
	"id"							"4001"
	"AbilityBehavior"				"DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_DONT_RESUME_MOVEMENT | DOTA_ABILITY_BEHAVIOR_CHANNELLED | DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK | DOTA_ABILITY_BEHAVIOR_ROOT_DISABLES"
	"Model"							"models/props_gameplay/branch.vmdl" 
	"AbilityTextureName"			"item_puck_phase_shift_datadriven"
	"ItemCost"						"1700"
	"ItemQuality"					"epic"
	"ItemAliases"					"Phase Shift"	

	// Casting
	//-------------------------------------------------------------------------------------------------------------
	"AbilityCastPoint"				"0"
	"AbilityChannelTime"			"2.3"

	// Time		
	//-------------------------------------------------------------------------------------------------------------
	"AbilityCooldown"				"7.0"

	// Cost
	//-------------------------------------------------------------------------------------------------------------
	"AbilityManaCost"				"0"

	// Special
	//-------------------------------------------------------------------------------------------------------------
	"AbilitySpecial"
	{
		"01"
		{
			"var_type"					"FIELD_FLOAT"
			"duration"					"2.3"
		}
	}
	
	// Data driven
	//-------------------------------------------------------------------------------------------------------------
	"precache"
	{
		"soundfile"					"soundevents/game_sounds_heroes/game_sounds_puck.vsndevts"
		"particle"					"particles/units/heroes/hero_puck/puck_phase_shift.vpcf"
	}
	
	"OnSpellStart"
	{
		"ApplyModifier"
		{
			"ModifierName"	"modifier_phase_shift_datadriven"
			"Target"		"CASTER"
			
			"EffectName"		"particles/units/heroes/hero_puck/puck_phase_shift.vpcf"
			"EffectAttachType"	"attach_origin"
		}
	}
	
	"OnChannelFinish"
	{
		"RemoveModifier"
		{
			"ModifierName"	"modifier_phase_shift_datadriven"
			"Target"		"CASTER"
		}
	}
	
	"Modifiers"
	{
		"modifier_phase_shift_datadriven"
		{
			"Duration"		"%duration"
			
			"EffectName"		"particles/units/heroes/hero_abaddon/abaddon_borrowed_time.vpcf"
			"EffectAttachType"	"attach_origin"
			
			"OnCreated"
			{
				"FireSound"
				{
					"EffectName"	"Hero_Puck.Phase_Shift"
					"Target"		"TARGET"
				}
				
				"RunScript"
				{
					"ScriptFile"		"items/phase_shift.lua"
					"Function"			"HideCaster"
				}
			}
			
			"OnDestroy"
			{
				"RunScript"
				{
					"ScriptFile"	"items/phase_shift.lua"
					"Function"		"StopSound"
					"Target"		"TARGET"
					"sound_name"	"Hero_Puck.Phase_Shift"
				}
				
				"RunScript"
				{
					"ScriptFile"		"items/phase_shift.lua"
					"Function"			"ShowCaster"
				}
			}
			
			"States"
			{
			//	"MODIFIER_STATE_INVULNERABLE"			"MODIFIER_STATE_VALUE_ENABLED"	// Don't use these state for a channeling ability.
			//	"MODIFIER_STATE_OUT_OF_GAME"			"MODIFIER_STATE_VALUE_ENABLED"
			
				"MODIFIER_STATE_ATTACK_IMMUNE"			"MODIFIER_STATE_VALUE_ENABLED"
				"MODIFIER_STATE_MAGIC_IMMUNE"			"MODIFIER_STATE_VALUE_ENABLED"
				"MODIFIER_STATE_UNSELECTABLE"			"MODIFIER_STATE_VALUE_ENABLED"
				"MODIFIER_STATE_NO_HEALTH_BAR"			"MODIFIER_STATE_VALUE_ENABLED"
			}
		}
	}
}
В чем проблема ?Я прикрепил эфф шифта во время его действия ,чтобы было видно где сам герой ,но эффект работает ,только во время ОКОНЧАНИЯ действия скилла.Куда пихнуть эфф. ,чтобы работало ,как надо?
 
Последнее редактирование модератором:
Ты прикрепил к кастеру, и добавил к нему флаг на не-отрисовку. Ты чего ожидал?
 
Я тебя не понял ,покажи ,что убрать ,а то у меня мозги плавятся
Убери AddNoDraw и RemoveNoDraw.
Либо создавай эффект в точке, и удаляй его потом, а не крепи к кастеру.
Т.к он прикреплен к кастеру, а рендерящий движок нерисует кастера, то он не рисует и эффекты на кастере.
 
Последнее редактирование модератором:
"DrawParticlesWhileHidden" "1"

Флаг в ключах героя. И да, такое поведение достаточно новое, раньше партиклы нормально рисовались на скрытых юнитах. Полагаю что код из SpellLibrary.
 
Последнее редактирование модератором:
Реклама: