CustomGames.ru - Dota 2 пользовательские игры

Как сделать улучшаемый предмет

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн tasman208

  • 128
  • Мощь: 0
Хотел сделать кирасу второго уровня, чтобы она собиралась из обычной кирасы + рецепт, брал основу с дагона, ничего не вышло, как это делается?
« Последнее редактирование: 05-04-2016, 23:12:16 от -ExotiC- »
Crusade Commanders

Оффлайн CryDeS

  • Друзья CG
  • 1208
  • Мощь: 12
Re: Новый предмет
« Ответ #1 : 05-04-2016, 16:35:03 »
Хотел сделать кирасу второго уровня, чтобы она собиралась из обычной кирасы + рецепт, брал основу с дагона, ничего не вышло, как это делается?
Код
"item_assault_2"
{
// General
//-------------------------------------------------------------------------------------------------------------
"ID" "1212"
"BaseClass" "item_assault"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"

// Item Info
//-------------------------------------------------------------------------------------------------------------
"ItemCost" "10000"
"ItemShopTags" "attack_speed;armor;hard_to_tag"
"ItemQuality" "epic"
"ItemAliases" "ac;assault cuirass"
"ItemDeclarations" "DECLARE_PURCHASES_TO_TEAMMATES | DECLARE_PURCHASES_IN_SPEECH | DECLARE_PURCHASES_TO_SPECTATORS"

// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"bonus_attack_speed" "35 50"
}
"02"
{
"var_type" "FIELD_INTEGER"
"bonus_armor" "10 20"
}
"03"
{
"var_type" "FIELD_INTEGER"
"aura_radius" "900 1200"
}
"04"
{
"var_type" "FIELD_INTEGER"
"aura_attack_speed" "20 40"
}
"05"
{
"var_type" "FIELD_INTEGER"
"aura_positive_armor" "5 10"
}
"06"
{
"var_type" "FIELD_INTEGER"
"aura_negative_armor" "-5 -10"
}
}
}

Оффлайн tasman208

  • 128
  • Мощь: 0
Re: Новый предмет
« Ответ #2 : 05-04-2016, 16:44:11 »
Это новый предмет, ни с чем не связанный, а нужно, чтобы именно была кираса лвл 2, и собиралась из самой кирасы, никак не могу это сделать
Crusade Commanders

Оффлайн Илья

  • Супермодератор
  • 2041
  • Мощь: 19
Re: Новый предмет
« Ответ #3 : 05-04-2016, 17:19:11 »
Вот тебе  код рецепта самой кирасы:

Код

"item_recipe_assault"
{
// General
//-------------------------------------------------------------------------------------------------------------
"ID" "111" // unique ID number for this item.  Do not change this once established or it will invalidate collected stats.
"Model" "models/props_gameplay/recipe.vmdl"

// Item Info
//-------------------------------------------------------------------------------------------------------------
"ItemCost" "1300"
"ItemShopTags" ""

// Recipe
//-------------------------------------------------------------------------------------------------------------
"ItemRecipe" "1"
"ItemResult" "item_assault"
"ItemRequirements"
{
"01" "item_platemail;item_hyperstone;item_chainmail"
}
}



Делай по его примеру рецепт для второй. Ну ил можешь без рецепта обойтись. Думаю. поймешь.

Оффлайн tasman208

  • 128
  • Мощь: 0
Re: Новый предмет
« Ответ #4 : 05-04-2016, 17:27:28 »
Ладно, тогда другой вопрос. Как сделать описание предмета красивым, как у обычного предмета в доте, а не простой текст?
Crusade Commanders

Оффлайн tasman208

  • 128
  • Мощь: 0
Re: Новый предмет
« Ответ #5 : 05-04-2016, 18:50:10 »
+ Если пытаюсь создать новый предмет с рецептом, при попытке купить этот самый рецепт пишет вот это
Код
[ W Entity System        ]: Cannot create an entity because entity class is NULL -1
[ W General              ]: Attempt to purchase 'item_recipe_respawn' failed
[   Developer            ]: Client tried to execute invalid order (33). Purchase order specified an invalid or missing item.
  Вот коды вещиц
Код
"item_respawn"
{
"BaseClass" "item_datadriven"
"ID" "2013"
"AbilityTextureName" "item_respawn"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"

"AbilityCooldown" "0"
"ItemKillable"                  "0"
"ItemSellable"                  "1"
"ItemDroppable"                 "0"
"ItemPermanent" "0"

"ItemCost" "3500"
"ItemStackable" "0"
"ItemShareability" "ITEM_FULLY_SHAREABLE_STACKING"
"ItemInitialCharges" "1"

"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"bonus_intellect" "10"
}
"02"
{
"var_type" "FIELD_INTEGER"
"bonus_agility" "10"
}
"03"
{
"var_type" "FIELD_INTEGER"
"bonus_strength" "10"
}
}
}

"item_recipe_respawn"
{
// General
//-------------------------------------------------------------------------------------------------------------
"ID" "2014" // unique ID number for this item.  Do not change this once established or it will invalidate collected stats.
"Model" "models/props_gameplay/recipe.mdl"

// Item Info
//-------------------------------------------------------------------------------------------------------------
"ItemCost" "1400"
"ItemShopTags" ""

// Recipe
//-------------------------------------------------------------------------------------------------------------
"ItemRecipe" "1"
"ItemResult" "item_respawn"
"ItemRequirements"
{
"01" "item_ultimate_orb;item_eye_of_destiny"
}
}

"item_eye_of_destiny"
{
"BaseClass" "item_datadriven"
"ID" "2015"
"AbilityTextureName" "item_eye_of_destiny"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"

"AbilityCooldown" "0"
"ItemPurchasable" "0"
"ItemKillable"                  "0"
"ItemSellable"                  "1"
"ItemDroppable"                 "0"
"ItemPermanent" "0"

"ItemCost" "0"
"ItemStackable" "0"
"ItemShareability" "ITEM_FULLY_SHAREABLE_STACKING"
"ItemInitialCharges" "1"

"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"duration" "6"
}
}
}
Crusade Commanders

Оффлайн CryDeS

  • Друзья CG
  • 1208
  • Мощь: 12
Re: Новый предмет
« Ответ #6 : 05-04-2016, 19:57:26 »
+ Если пытаюсь создать новый предмет с рецептом, при попытке купить этот самый рецепт пишет вот это
Код
[ W Entity System        ]: Cannot create an entity because entity class is NULL -1
[ W General              ]: Attempt to purchase 'item_recipe_respawn' failed
[   Developer            ]: Client tried to execute invalid order (33). Purchase order specified an invalid or missing item.
  Вот коды вещиц
Код
"item_respawn"
{
"BaseClass" "item_datadriven"
"ID" "2013"
"AbilityTextureName" "item_respawn"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"

"AbilityCooldown" "0"
"ItemKillable"                  "0"
"ItemSellable"                  "1"
"ItemDroppable"                 "0"
"ItemPermanent" "0"

"ItemCost" "3500"
"ItemStackable" "0"
"ItemShareability" "ITEM_FULLY_SHAREABLE_STACKING"
"ItemInitialCharges" "1"

"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"bonus_intellect" "10"
}
"02"
{
"var_type" "FIELD_INTEGER"
"bonus_agility" "10"
}
"03"
{
"var_type" "FIELD_INTEGER"
"bonus_strength" "10"
}
}
}

"item_recipe_respawn"
{
// General
//-------------------------------------------------------------------------------------------------------------
"ID" "2014" // unique ID number for this item.  Do not change this once established or it will invalidate collected stats.
"Model" "models/props_gameplay/recipe.mdl"

// Item Info
//-------------------------------------------------------------------------------------------------------------
"ItemCost" "1400"
"ItemShopTags" ""

// Recipe
//-------------------------------------------------------------------------------------------------------------
"ItemRecipe" "1"
"ItemResult" "item_respawn"
"ItemRequirements"
{
"01" "item_ultimate_orb;item_eye_of_destiny"
}
}

"item_eye_of_destiny"
{
"BaseClass" "item_datadriven"
"ID" "2015"
"AbilityTextureName" "item_eye_of_destiny"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"

"AbilityCooldown" "0"
"ItemPurchasable" "0"
"ItemKillable"                  "0"
"ItemSellable"                  "1"
"ItemDroppable"                 "0"
"ItemPermanent" "0"

"ItemCost" "0"
"ItemStackable" "0"
"ItemShareability" "ITEM_FULLY_SHAREABLE_STACKING"
"ItemInitialCharges" "1"

"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"duration" "6"
}
}
}
Baseclass допиши к рецепту, тебе же ясно в консоли пишет что его нету.

Оффлайн tasman208

  • 128
  • Мощь: 0
Re: Новый предмет
« Ответ #7 : 05-04-2016, 20:12:29 »
Хорошо, предмет собрался, но он не дает статы, почему?
Код
"item_respawn"
{
"BaseClass" "item_datadriven"
"ID" "2013"
"AbilityTextureName" "item_respawn"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"

"AbilityCooldown" "0"
"ItemKillable"                  "0"
"ItemSellable"                  "1"
"ItemDroppable"                 "0"
"ItemPermanent" "0"

"ItemCost" "3500"
"ItemStackable" "0"
"ItemShareability" "ITEM_FULLY_SHAREABLE_STACKING"
"ItemInitialCharges" "1"

"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"bonus_intellect" "10"
}
"02"
{
"var_type" "FIELD_INTEGER"
"bonus_agility" "10"
}
"03"
{
"var_type" "FIELD_INTEGER"
"bonus_strength" "10"
}
}
}
Crusade Commanders

Оффлайн Илья

  • Супермодератор
  • 2041
  • Мощь: 19
Re: Новый предмет
« Ответ #8 : 05-04-2016, 21:34:43 »
)))

Потому что это новый предмет и для него нет обработчика твоих "ability special".

Если тебе просто статы поднимать, то вот, читай. Заголовок:  Common Modifier Key Values for items

Можешь по гитхабу полазить у того же Noya, поискать реализацию.

Оффлайн tasman208

  • 128
  • Мощь: 0
Re: Как сделать улучшаемый предмет
« Ответ #9 : 06-04-2016, 12:06:13 »
Переделал, не работает, расстроился =(
Спойлер
Код
"item_respawn"
{
"BaseClass" "item_datadriven"
"ID" "2013"
"AbilityTextureName" "item_respawn"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"

"AbilityCooldown" "0"
"ItemKillable"                  "0"
"ItemSellable"                  "1"
"ItemDroppable"                 "0"
"ItemPermanent" "0"

"ItemCost" "3500"
"ItemStackable" "0"
"ItemShareability" "ITEM_FULLY_SHAREABLE_STACKING"
"ItemInitialCharges" "1"

"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"bonus_intellect" "15"
}
"02"
{
"var_type" "FIELD_INTEGER"
"bonus_agility" "15"
}
"03"
{
"var_type" "FIELD_INTEGER"
"bonus_strength" "15"
}
}

"Modifiers"
    {
        "modifier_item_custom"
        {
            "Passive"  "1"
            "IsHidden" "1"
            "Attributes" "MODIFIER_ATTRIBUTE_MULTIPLE"
            "Properties"
            {
            "MODIFIER_PROPERTY_STATS_STRENGTH_BONUS" "%bonus_str_agi"
            "MODIFIER_PROPERTY_STATS_AGILITY_BONUS" "%bonus_agi"
            "MODIFIER_PROPERTY_STATS_INTELLECT_BONUS" "%bonus_int"
            }
        }
    }
}
[свернуть]
Crusade Commanders

Оффлайн Илья

  • Супермодератор
  • 2041
  • Мощь: 19
Re: Как сделать улучшаемый предмет
« Ответ #10 : 06-04-2016, 13:02:21 »
Ну ты же вроде не глупый парень....

Код
"bonus_intellect"		"15"

Код
"MODIFIER_PROPERTY_STATS_INTELLECT_BONUS" "%bonus_int"

Оффлайн tasman208

  • 128
  • Мощь: 0
Re: Как сделать улучшаемый предмет
« Ответ #11 : 06-04-2016, 13:17:53 »
Возможно, но сейчас нихрена не понимаю))
Crusade Commanders

Оффлайн Илья

  • Супермодератор
  • 2041
  • Мощь: 19
Re: Как сделать улучшаемый предмет
« Ответ #12 : 06-04-2016, 13:18:54 »
%bonus_int - обращение к переменной bonus_int. У тебя в ability special нету такой. Либо эту переименуй, либо в ability special. То же самое с остальными.