Проблема с соединением артефактов

AnderNice

Пользователь
1 Окт 2022
10
0
Добрый день, столкнулся с проблемой, что шмотки, которые я добавил, не имеют свойства объединяться с другими предметами. Помогите пожалуйста!!!
12.png
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,184
198
www.dotabuff.com
Проект
Roshan defense

AnderNice

Пользователь
1 Окт 2022
10
0
Прости, я слишком тупой, на всякий случай, скину всё, что есть.

"item_recipe_bfury_datadriven"
{
// General
//-------------------------------------------------------------------------------------------------------------
"ID" "1146"
"Model" "models/props_gameplay/recipe.vmdl"

// Item Info
//-------------------------------------------------------------------------------------------------------------
"ItemCost" "0"
"ItemShopTags" ""

// Recipe
//-------------------------------------------------------------------------------------------------------------
"ItemRecipe" "1"
"ItemResult" "item_bfury_datadriven"
"ItemRequirements"
{
"01" "item_bfury;item_bfury;item_upgrade_shard1"
}
}

//---------------------------------------------------------------------------------------------------------------------
"item_upgrade_shard1"
{
"BaseClass" "item_datadriven"
"ID" "2001"
"Model" "models/props_gameplay/red_box.vmdl"
"AbilityTextureName" "UpgradeShard1"

// Item Info
"ItemQuality" "epic"
"ItemPurchasable" "0"
"ItemCost" "0"
"ItemSellable" "0"
"ItemKillable" "1"
}
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,184
198
www.dotabuff.com
Проект
Roshan defense
Большие куски кода вставляй через - дополнительно - спойлер - код
1665085356560.png
Ты пропустил BaseClass у рецепта - item_datadriven
"ID" "2001
" Айди предмета выставлять не нужно, тк работает и без него. А если ты поставишь неправильный, то у тебя может возникнуть конфлит и один из предметов перестанет работать.
Код:
"item_recipe_bfury_datadriven"
{
// General
//-------------------------------------------------------------------------------------------------------------
"BaseClass" "item_datadriven"
"Model" "models/props_gameplay/recipe.vmdl"

// Item Info
//-------------------------------------------------------------------------------------------------------------
"ItemCost" "0"
"ItemShopTags" ""

// Recipe
//-------------------------------------------------------------------------------------------------------------
"ItemRecipe" "1"
"ItemResult" "item_bfury_datadriven"
"ItemRequirements"
{
"01" "item_bfury;item_bfury;item_upgrade_shard1"
}
}

//---------------------------------------------------------------------------------------------------------------------
"item_upgrade_shard1"
{
"BaseClass" "item_datadriven"
"Model" "models/props_gameplay/red_box.vmdl"
"AbilityTextureName" "UpgradeShard1"

// Item Info
"ItemQuality" "epic"
"ItemPurchasable" "0"
"ItemCost" "0"
"ItemSellable" "0"
"ItemKillable" "1"
}
 
  • Нравится
Реакции: AnderNice

AnderNice

Пользователь
1 Окт 2022
10
0
Спасибо большое, сильно выручил!!!
Кст, раз выпал такой случай, хочу сказать, что - "Рошан дефенс реборн", - лучшая кастомка, в которую я играл, спасибо.)
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,184
198
www.dotabuff.com
Проект
Roshan defense
Спасибо большое, сильно выручил!!!
Кст, раз выпал такой случай, хочу сказать, что - "Рошан дефенс реборн", - лучшая кастомка, в которую я играл, спасибо.)
Спасибо, а ты чего хочешь сделать интересного ?
 
  • Нравится
Реакции: AnderNice

AnderNice

Пользователь
1 Окт 2022
10
0
Извини, у меня ещё одна проблемка. Не сталкивался с таким, что все юниты, в дота тулс, имеют модель белого кубика. Но при запуске, они выглядят нормально.
333.png
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,184
198
www.dotabuff.com
Проект
Roshan defense
Если ты про мою аутистскую кастомку, то меня друг попросил сделать игру, где нужно афк бить крипов. Да и мне тоже такая идея понравилась))
Можешь глянуть два моих проекта с подобной супер простой механикой, если есть желание то можешь разивать их
 

AnderNice

Пользователь
1 Окт 2022
10
0

valentinelotus

Пользователь
21 Фев 2023
18
1
Проект
dota2nice
Добрый день, столкнулся с проблемой, что шмотки, которые я добавил, не имеют свойства объединяться с другими предметами. Помогите пожалуйста!!!
Посмотреть вложение 1672
привет, ты разобрался как дать свойства предмету? я сделал предмет его код прописан, статы тоже но работает только абилка и не отображается названия и статы паредмета
 

980liker

Новичок
25 Фев 2023
5
0
Проект
для себя
привет, ты разобрался как дать свойства предмету? я сделал предмет его код прописан, статы тоже но работает только абилка и не отображается названия и статы паредмета
Для того чтобы дать свойства (название и статы) предмету в Dota 2, нужно использовать функцию ItemsetDataDriven в Lua скрипте.
Вот пример кода, который может помочь тебе решить эту проблему:
function Activate()
GameRules.AddonTemplate = AddonTemplate()
GameRules.AddonTemplate:InitGameMode()
end

function AddonTemplate:InitGameMode()
GameRules:GetGameModeEntity():SetThink("OnThink", self, "GlobalThink", 2)

-- создаем новый предмет
local newItem = CreateItem("item_example_item", nil, nil)
-- добавляем свойства предмета
newItem:SetAbilityName("item_example_ability")
newItem:SetCost(100)
newItem:SetPurchaseTime(30)
newItem:SetSellable(true)
newItem:SetShareability(ITEM_FULLY_SHAREABLE)
newItem:SetPermanent(false)
newItem:SetStackable(true)
newItem:SetInitialCharges(1)
-- добавляем предмет в список доступных предметов для магазина
GameRules:GetGameModeEntity():AddItemToPool(newItem:GetName(), nil, nil, true)
end
В этом примере мы создали новый предмет и добавили ему свойства с помощью функций SetAbilityName, SetCost, SetPurchaseTime, SetSellable, SetShareability, SetPermanent, SetStackable и SetInitialCharges. Затем мы добавили этот предмет в список доступных предметов для магазина с помощью функции AddItemToPool.
Если ты уже сделал все это, но название и статы предмета не отображаются, то возможно проблема в файле addon_english.txt. В этом файле нужно добавить локализацию для своего предмета, например:
"DOTA_Tooltip_ability_item_example_item" "Example Item"
"DOTA_Tooltip_ability_item_example_item_Description" "This is an example item."
Не проверял, но должно работать так
 

valentinelotus

Пользователь
21 Фев 2023
18
1
Проект
dota2nice
Для того чтобы дать свойства (название и статы) предмету в Dota 2, нужно использовать функцию ItemsetDataDriven в Lua скрипте.
Вот пример кода, который может помочь тебе решить эту проблему:
function Activate()
GameRules.AddonTemplate = AddonTemplate()
GameRules.AddonTemplate:InitGameMode()
end

function AddonTemplate:InitGameMode()
GameRules:GetGameModeEntity():SetThink("OnThink", self, "GlobalThink", 2)

-- создаем новый предмет
local newItem = CreateItem("item_example_item", nil, nil)
-- добавляем свойства предмета
newItem:SetAbilityName("item_example_ability")
newItem:SetCost(100)
newItem:SetPurchaseTime(30)
newItem:SetSellable(true)
newItem:SetShareability(ITEM_FULLY_SHAREABLE)
newItem:SetPermanent(false)
newItem:SetStackable(true)
newItem:SetInitialCharges(1)
-- добавляем предмет в список доступных предметов для магазина
GameRules:GetGameModeEntity():AddItemToPool(newItem:GetName(), nil, nil, true)
end
В этом примере мы создали новый предмет и добавили ему свойства с помощью функций SetAbilityName, SetCost, SetPurchaseTime, SetSellable, SetShareability, SetPermanent, SetStackable и SetInitialCharges. Затем мы добавили этот предмет в список доступных предметов для магазина с помощью функции AddItemToPool.
Если ты уже сделал все это, но название и статы предмета не отображаются, то возможно проблема в файле addon_english.txt. В этом файле нужно добавить локализацию для своего предмета, например:
"DOTA_Tooltip_ability_item_example_item" "Example Item"
"DOTA_Tooltip_ability_item_example_item_Description" "This is an example item."
Не проверял, но должно работать так
привет, спасибо за помощь, но не совсем понял куда вписывать local newItem;function Activate; и тд. В сам луа скрипт или в какой-то другой скрипт? Попробовал оба варианта написать это в скрипт и отдельно, не работает. Можешь посмотреть где что не так и где правильно?
1) засунул в сам скрипт (не работало)
2) создал новый скрипт с тем же названием (не работало)
3)создал другой скрипт с другим названием (не работало)
1677395048904.png1677395063379.png


Потом увидел, что нужно все таки в скрипт блинка вставил но результат такой:
1677395447996.png

Статов нет, но появилось название ability
1677395559386.png
Переместил выдачу имя выше, выходит тоже самое (название предмета отсылается к другой игре с нецензурной лексикой, поэтому приходится замазывать)
1677395824625.png
В итоге я просидел за кодом еще 2 часа и получилось это (следующий скрин). Начала вылезать ошибка с AddonTemple которую я не смогу починить, жду твоей помощи.
Названия так и не появились, статы тоже, только ошибка и предмет перестал работать.
1677401581426.png
 
Последнее редактирование модератором:

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,184
198
www.dotabuff.com
Проект
Roshan defense
Для того чтобы дать свойства (название и статы) предмету в Dota 2, нужно использовать функцию ItemsetDataDriven в Lua скрипте.
Вот пример кода, который может помочь тебе решить эту проблему:
function Activate()
GameRules.AddonTemplate = AddonTemplate()
GameRules.AddonTemplate:InitGameMode()
end

function AddonTemplate:InitGameMode()
GameRules:GetGameModeEntity():SetThink("OnThink", self, "GlobalThink", 2)

-- создаем новый предмет
local newItem = CreateItem("item_example_item", nil, nil)
-- добавляем свойства предмета
newItem:SetAbilityName("item_example_ability")
newItem:SetCost(100)
newItem:SetPurchaseTime(30)
newItem:SetSellable(true)
newItem:SetShareability(ITEM_FULLY_SHAREABLE)
newItem:SetPermanent(false)
newItem:SetStackable(true)
newItem:SetInitialCharges(1)
-- добавляем предмет в список доступных предметов для магазина
GameRules:GetGameModeEntity():AddItemToPool(newItem:GetName(), nil, nil, true)
end
В этом примере мы создали новый предмет и добавили ему свойства с помощью функций SetAbilityName, SetCost, SetPurchaseTime, SetSellable, SetShareability, SetPermanent, SetStackable и SetInitialCharges. Затем мы добавили этот предмет в список доступных предметов для магазина с помощью функции AddItemToPool.
Если ты уже сделал все это, но название и статы предмета не отображаются, то возможно проблема в файле addon_english.txt. В этом файле нужно добавить локализацию для своего предмета, например:
"DOTA_Tooltip_ability_item_example_item" "Example Item"
"DOTA_Tooltip_ability_item_example_item_Description" "This is an example item."
Не проверял, но должно работать так
Какое-то странное чувство, будто это бот пишет )
Хз почему...
Интересный метод создания предмета через луа, но зачем подобное новичку.
Пусть лучше создает через конфиги доты, как все нормальные люди
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,184
198
www.dotabuff.com
Проект
Roshan defense
В итоге я просидел за кодом еще 2 часа и получилось это (следующий скрин). Начала вылезать ошибка с AddonTemple которую я не смогу починить, жду твоей помощи.
Названия так и не появились, статы тоже, только ошибка и предмет перестал работать.
Скриншоты в сообщении оформляй в спойлер, чтобы они не занимали много места в начальном сообщении
 
Реклама: