Станить самого себя

Owletass

Пользователь
21 Авг 2014
57
1
Делал сон, но столкнулся с проблемой, что не могу усыпить героя. Попытался кинуть на него стан, когда он использует скил, но что-то не получилось. Может вы подскажите. Код:
Код:
"ability_sleep"
	{
		// General
		//-------------------------------------------------------------------------------------------------------------
		"BaseClass"           "ability_datadriven"
		"AbilityBehavior"        "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING"
		"AbilityTextureName"      "axe_counter_helix"
		"AbilityCastAnimation"			"ACT_DOTA_ATTACK"

    // Casting
    //-------------------------------------------------------------------------------------------------------------
    "AbilityCastPoint"       "0.5"

    // Time  
    //-------------------------------------------------------------------------------------------------------------
    "AbilityCooldown"        "10.0"

    // Cost
    //-------------------------------------------------------------------------------------------------------------
    "AbilityManaCost"        "100"
		
    "OnSpellStart"
    {   
      "ApplyModifier"
      {
        "ModifierName" "sleepings"
        "Target"    "CASTER"
      } 		
    }   

    "Modifiers"
    {
      "sleepings"
			{

				"Duration" "6"
				"Properties"
				{
					"MODIFIER_PROPERTY_MANA_REGEN_CONSTANT"	"%energy_regen"
				}											
				"OnAttacked"
        {
          "RemoveModifier"
          {
            "ModifierName" "sleepings"
            "Target" "CASTER" 
          }
        }
      } 	
    }

		"AbilitySpecial"
		{
			"01"
			{
				"var_type"					"FIELD_INTEGER"
				"energy_regen"					"20 20 3 4"
			}`
		}
	}
 
Последнее редактирование модератором:

Owletass

Пользователь
21 Авг 2014
57
1
[quote author=doter.ua link=topic=45.msg218#msg218 date=1409760011]
Owletass, DOTA_ABILITY_BEHAVIOR_NO_TARGET не смущает?
[/quote]
Нет, ведь я хочу, чтобы герой бафал себя сном, получал стан и реген маны.
 

doter.ua

Продвинутый
17 Авг 2014
280
5
Последнее редактирование модератором:

Owletass

Пользователь
21 Авг 2014
57
1
Я пытался сделать так:
Код:
"ability_sleep"
	{
		// General
		//-------------------------------------------------------------------------------------------------------------
		"BaseClass"           "ability_datadriven"
		"AbilityBehavior"        "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING"
		"AbilityUnitTargetTeam"			"DOTA_UNIT_TARGET_TEAM_FRIENDLY"
		"AbilityUnitTargetType"			"DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC | DOTA_UNIT_TARGET_BUILDING | DOTA_UNIT_TARGET_MECHANICAL"	
		"AbilityTextureName"      "axe_counter_helix"
		"AbilityCastAnimation"			"ACT_DOTA_ATTACK"

    // Casting
    //-------------------------------------------------------------------------------------------------------------
    "AbilityCastPoint"       "0.5"

    // Time  
    //-------------------------------------------------------------------------------------------------------------
    "AbilityCooldown"        "10.0"

    // Cost
    //-------------------------------------------------------------------------------------------------------------
    "AbilityManaCost"        "100"
		
    "OnSpellStart"
    {   
      "ApplyModifier"
      {
        "ModifierName" "sleepings"
        "Target"    "CASTER"
      } 		
    }   

    "Modifiers"
    {
      "sleepings"
			{

				"Duration" "6"
------->		    "Stun" 
				{
				"Duration"		"%stun_duration"
				"Target" "CASTER"		
                }
				"Properties"
				{
					"MODIFIER_PROPERTY_MANA_REGEN_CONSTANT"	"%energy_regen"
				}											
				"OnAttacked"
        {
          "RemoveModifier"
          {
            "ModifierName" "sleepings"
            "Target" "CASTER" 
          }
        }
      } 	
    }

		"AbilitySpecial"
		{
			"01"
			{
				"var_type"					"FIELD_INTEGER"
				"energy_regen"					"20 20 3 4"
			}`
			"01"
			{
				"var_type"					"FIELD_FLOAT"
				"stun_duration"					"1 1 1 1"
			}`
		}
	}
и так пытался:
Код:
"ability_sleep"
	{
		// General
		//-------------------------------------------------------------------------------------------------------------
		"BaseClass"           "ability_datadriven"
		"AbilityBehavior"        "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING"
		"AbilityUnitTargetTeam"			"DOTA_UNIT_TARGET_TEAM_FRIENDLY"
		"AbilityUnitTargetType"			"DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC | DOTA_UNIT_TARGET_BUILDING | DOTA_UNIT_TARGET_MECHANICAL"	
		"AbilityTextureName"      "axe_counter_helix"
		"AbilityCastAnimation"			"ACT_DOTA_ATTACK"

    // Casting
    //-------------------------------------------------------------------------------------------------------------
    "AbilityCastPoint"       "0.5"

    // Time  
    //-------------------------------------------------------------------------------------------------------------
    "AbilityCooldown"        "10.0"

    // Cost
    //-------------------------------------------------------------------------------------------------------------
    "AbilityManaCost"        "100"
		
    "OnSpellStart"
    {   
      "ApplyModifier"
      {
        "ModifierName" "sleepings"
        "Target"    "CASTER"
      } 		
    }   

    "Modifiers"
    {
      "sleepings"
			{

				"Duration" "6"
					"MODIFIER_PROPERTY_MANA_REGEN_CONSTANT"	"%energy_regen"
------->			    "MODIFIER_STATE_STUNNED"	"%stun_duration"
				}											
				"OnAttacked"
        {
          "RemoveModifier"
          {
            "ModifierName" "sleepings"
            "Target" "CASTER" 
          }
        }
      } 	
    }

		"AbilitySpecial"
		{
			"01"
			{
				"var_type"					"FIELD_INTEGER"
				"energy_regen"					"20 20 3 4"
			}`
			"01"
			{
				"var_type"					"FIELD_FLOAT"
				"stun_duration"					"1 1 1 1"
			}`
		}
	}
Где я ошибку допускаю?
 
Последнее редактирование модератором:

doter.ua

Продвинутый
17 Авг 2014
280
5
Owletass, попробуй
"ApplyModifier"
{
"ModifierName" "modifier_bane_nightmare"
"Target" "CASTER"
}
или modifier_naga_siren_song_of_the_siren
 
Последнее редактирование модератором:

Owletass

Пользователь
21 Авг 2014
57
1
[quote author=doter.ua link=topic=45.msg228#msg228 date=1409836561]
Owletass, попробуй
"ApplyModifier"
{
"ModifierName" "modifier_bane_nightmare"
"Target" "CASTER"
}
или modifier_naga_siren_song_of_the_siren
[/quote]
Пошел к валвам, и они меня научили. Сделал то, что и хотел:
1. сон (нельзя бегать, атаковать и тд);
2. реген маны, когда спишь;
3. просыпаешься, если получаешь урон;
4. есть партикл "zzZzZzZZZzz", но работает он неадекватно (происходит в теле героя, а не над его головой).

Сам код, если кому-то нужно:
Код:
"ability_sleep"
	{
		// General
		//-------------------------------------------------------------------------------------------------------------
		"BaseClass"           "ability_datadriven"
		"AbilityBehavior"        "DOTA_ABILITY_BEHAVIOR_NO_TARGET"
		"AbilityTextureName"      "axe_counter_helix"

    // Casting
    //-------------------------------------------------------------------------------------------------------------
    "AbilityCastPoint"       "0.01"

    // Time  
    //-------------------------------------------------------------------------------------------------------------
    "AbilityCooldown"        "10.0"

    // Cost
    //-------------------------------------------------------------------------------------------------------------
    "AbilityManaCost"        "0"
		
    "OnSpellStart"
    {   
      "ApplyModifier"
      {
				"ModifierName" "sleep"
        "Target"    "CASTER"
      } 	
			"ApplyModifier"
      {
				"ModifierName" "create_bash"
        "Target"    "CASTER"
      } 			
    }   

    "Modifiers"
    {
      "sleep"
			{

				"Duration" "10"
				"Properties"
				{
					"MODIFIER_PROPERTY_MANA_REGEN_CONSTANT"	"%energy_regen"
				}		  				
				"OnTakeDamage"
        {
          "RemoveModifier"
          {
            "ModifierName" "sleep"
            "Target" "CASTER" 
          }
        }
      } 
			"create_bash"
			{
				"Duration"       "10"
				"EffectName"      "particles/generic_gameplay/generic_sleep.vpcf"
				"OverrideAnimation"   "ACT_DOTA_DISABLED"
				"States"
				{
					"MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED"
				}  
				"OnTakeDamage"
        {
          "RemoveModifier"
          {
            "ModifierName" "create_bash"
            "Target" "CASTER" 
          }
        }				
			}			
			
			
    }

		"AbilitySpecial"
		{
			"01"
			{
				"var_type"					"FIELD_INTEGER"
				"energy_regen"					"20 20 30 40"
			}`
		}
	}
 
Последнее редактирование модератором:

doter.ua

Продвинутый
17 Авг 2014
280
5
Owletass, два разаcreate_bash применяешь? sleep не заюзан остался.
 

Owletass

Пользователь
21 Авг 2014
57
1
[quote author=doter.ua link=topic=45.msg230#msg230 date=1409849139]
Owletass, два раза create_bash применяешь? sleep не заюзан остался.
[/quote]
Да, я изменил код:
Код:
"ability_sleep"
	{
		// General
		//-------------------------------------------------------------------------------------------------------------
		"BaseClass"           "ability_datadriven"
		"AbilityBehavior"        "DOTA_ABILITY_BEHAVIOR_NO_TARGET"
		"AbilityTextureName"      "axe_counter_helix"

    // Casting
    //-------------------------------------------------------------------------------------------------------------
    "AbilityCastPoint"       "0.01"

    // Time  
    //-------------------------------------------------------------------------------------------------------------
    "AbilityCooldown"        "10.0"

    // Cost
    //-------------------------------------------------------------------------------------------------------------
    "AbilityManaCost"        "0"
		
    "OnSpellStart"
    {   
      "ApplyModifier"
      {
				"ModifierName" "sleeping"
        "Target"    "CASTER"
      } 			
    }   

    "Modifiers"
    {
			"sleeping"
			{
				"Duration" "10"  				
				"EffectName"      "particles/generic_gameplay/generic_sleep.vpcf"
				"OverrideAnimation"   "ACT_DOTA_DISABLED"
				"States"
				{
					"MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED"
				}
				"Properties"
				{
					"MODIFIER_PROPERTY_MANA_REGEN_CONSTANT"	"%energy_regen"
				}
				"OnAttacked"
        {
          "RemoveModifier"
          {
            "ModifierName" "sleeping"
            "Target" "CASTER" 
          }
        }
      } 				
    }

		"AbilitySpecial"
		{
			"01"
			{
				"var_type"					"FIELD_INTEGER"
				"energy_regen"					"20 20 30 40"
			}`
		}
	}
 
Последнее редактирование модератором:
Реклама: