Игровые константы и статы

UZzip

Продвинутый
2 Янв 2016
282
1
Хочу заменить игровые постоянные
чтобы 1 силы увеличивало хп не на 19 а на 1 к примеру

залез в исходники жизни на арене нашел там 2 файла засунул их к себе, но эффекта не дало.

СКАЖИТЕ КАК СДЕЛАТЬ СВОЁ КОЛИЧЕСТВО СТОИМОСТИ АТРИБУТОВ?

приложил оба файла путь у них life_in_arena\scripts\vscripts\heroes
 

Илья

Друзья CG
25 Сен 2015
2,348
41
Эх...

Эти два файла, класса - модификаторы. Их надо запускать (накладывать) на объекты (юнитов/игроков). У них, ребят ответственных за мод, скорее всего есть где-то абилка (название в духе stats_bonus), которую они возможно всем героям раздают. Эта абилка и активирует эти модификаторы.


Тут работы на час-два: сидеть и разбираться, как устроен чужой код (не этих двух файлов, а всей цепочки из их мода, что относится к этим двум файлам). Я этим заниматься не буду, проще всегда свой писать, да и код у ребят с "жизни на арене" не только характеристики затрагивает базовые, но и там всякие другие штуки вроде скорости атаки, регена хп. Не знаю, мне кажется, можно гораздо легче все это реализовывать (функции на каждую подобную лабуду у valve есть). Но я могу ошибаться, ибо ребята то там не дурачки и у них были причины именно так мудрено делать.


Способ попроще -используй api-функции вроде: ModifyStrength(), ModifyIntellect(), ModifyAgility().

Ты можешь, по идеи, создать свою абилку с простой функцией, вроде чего-то подобного . Но не такую, другую. Это просто пример, похожий на то, что тебе надо. И это конкретно к силе относится.
 
Последнее редактирование модератором:

Илья

Друзья CG
25 Сен 2015
2,348
41
Если с программированием не знаком лично, то попроси кого-нибудь тебе написать код. Либо сиди и разбирайся в скрипте lua.

Но возможен еще один вариант: найти источник активации этих модификаторов. Если это просто абилка, то делаешь у себя такую же, указываешь в ней пути к модификаторам этим и все.
 

UZzip

Продвинутый
2 Янв 2016
282
1
Как использовать модиферы и куда их писать не понятно

Я нашел ещё файлик в нём прописано

Код:
_G.LIA_MODE_SURVIVAL = 1
_G.LIA_MODE_BATTLE_OF_CLANS = 2

_G.HERO_STATS_ATTACK_BONUS = 1.5

--Strenght
_G.HERO_STATS_HEALTH_BONUS = 1
_G.HERO_STATS_HEALTH_REGEN_BONUS = 0.05

--Agility
_G.HERO_STATS_ARMOR_BONUS = 1/1000
_G.HERO_STATS_ATTACK_SPEED_BONUS = 1
_G.HERO_STATS_MOVE_SPEED_BONUS = 1

--Intellect
_G.HERO_STATS_MANA_BONUS = 12
_G.HERO_STATS_MANA_REGEN_BONUS = 0.05

я его даже через гейм мод запускаю но безтолку require('stat_GameMode')
 

Илья

Друзья CG
25 Сен 2015
2,348
41
Не, это не то.

_G - это обращение к глобальным объектам. В этом куске кода они просто задают стартовые характеристики.
Тебе надо глянуть в их в npc_abilities_custom.txt . Там должна лежать абилка, что использует те два файла.
 

UZzip

Продвинутый
2 Янв 2016
282
1
/scripts/npc/npc_abilities_override.txt
//Start of file stats_bonus_fix.txt
"stats_bonus_fix"
{
"BaseClass" "ability_lua"
"ScriptFile" "heroes\stats_bonus_fix.lua"

"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_HIDDEN"
}
//End of file stats_bonus_fix.txt


//Start of file upgrades_abilities.txt
"ulu_hero_attack"
{
// General
//-------------------------------------------------------------------------------------------------------------
"AbilityType" "DOTA_ABILITY_TYPE_ATTRIBUTES"
"BaseClass" "ability_datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_HIDDEN"
//"AbilityTextureName" "keeper_of_the_light_blinding_light"
"MaxLevel" "9"
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"bonus_attack" "10 20 30 40 50 60 70 80 90"
}
"02"
{
"var_type" "FIELD_INTEGER"
"need_lumber" "2 3 4 5 6 7 8 9 10"
}
}
"Modifiers"
{
"modifier_ulu_hero_attack"
{
"Passive" "1"
"IsHidden" "1"
"Properties"
{
"MODIFIER_PROPERTY_BASEATTACK_BONUSDAMAGE" "%bonus_attack"
//""
}
}
}
}
Ну вот и ссылка на запуск этих файлов "ScriptFile" "heroes\stats_bonus_fix.lua"
Только вот всё равно не понятно как в целом это работает
 
Последнее редактирование модератором:

Илья

Друзья CG
25 Сен 2015
2,348
41
Вооот. Видишь, там они комменты оставили оч полезные:

//Start of file stats_bonus_fix.txt - здесь начинается работа файла stats_bonus_fix.txt (ну, судя по всему они имели в виду stats_bonus_fix.lua)

Это просто код абилки. По идеи, прописываешь эту (stats_bonus_fix) абилку всем героям.
Код:
  "stats_bonus_fix"
  {
    "BaseClass"     "ability_lua"
    "ScriptFile"   "heroes\stats_bonus_fix.lua"
  
    "AbilityBehavior"  "DOTA_ABILITY_BEHAVIOR_HIDDEN"
  }



//Start of file upgrades_abilities.txt - начало работы файла upgrades_abilities.txt (хз че за файл). Судя из коммента, далее идет абилка, ответственая за "улучшение (upgrade) умений". Но идет просто абилка по увеличению атаки (bonus_attack) для которой нужны какие-то пиломатериалы (need_lumber). Сама абилка скрыта от глаз (DOTA_ABILITY_BEHAVIOR_HIDDEN), т.е. в игре ты ее не увидишь. Видать, ее так же героям дают в начале игры и с ее помощью дают героям сказанные мною выше бонусы атаки. Хз, она те нафиг не сдалась.
 
Последнее редактирование модератором:

Илья

Друзья CG
25 Сен 2015
2,348
41
Как работает?

Теория:
Ну, объявляешь абилку в npc_abilities_custom.txt

Код:
  "stats_bonus_fix"
  {
    "BaseClass"     "ability_lua"
    "ScriptFile"   "heroes\stats_bonus_fix.lua"
  
    "AbilityBehavior"  "DOTA_ABILITY_BEHAVIOR_HIDDEN"
  }

Название - stats_bonus_fix
Главный класс - ability_lua, т.е. работа абилки описывается в скриптом
ScriptFile - путь к скрипту
AbilityBehavior - ну тип абилки, тут DOTA_ABILITY_BEHAVIOR_HIDDEN - скрытая от глаз


Эта абилка обращается к (заранее созданным тобой) stats_bonus_fix.lua. Либо по пути ...\scripts\vscripts\heroes\stats_bonus_fix.lua, либо можешь где хочешь, но в абилке так же путь поменяй.

Даешь эту абилку всем героям. При старте игры делаешь так, чтобы все ее изучили (ну пишешь код, который ей уровень поднимает). Все, абилка есть у героя, она изучена, она работает.


Но если ты пишешь, что это npc_abilities_override.txt, то они переделывают уже существующую абилку. Хотя обычно, npc_abilities_override.txt используется для изменения существующих вещей. Я не видел, чтобы для изменения существующих умений его использовали. Я хз, что это за навык stats_bonus_fix, может, он в оригинале доты отвечает за статы персонажей.
 
Последнее редактирование модератором:

UZzip

Продвинутый
2 Янв 2016
282
1
Илья, благодоря тебе я разобрался! Спасибо! Репу как всегда апнул)))
 
Реклама: