#Beginner question about starting new addon

1 messages · Page 1 of 1 (latest)

rain sierra
#

I am very new to this and very ignorant to programming in general so I'm not sure how to ask correctly, but I would like to run a custom game that runs exactly like regular dota with only modified abilities.

I'm sure I'm just missing something but it seems to me that every preset is either a very limited example or a custom game completely unrelated to Dota like Overthrow. How can I load in essentially a clone of dota so that I can just edit individual abilities without making or changing anything else? Apologies if the question is stupid or doesn't make sense. Thanks

ripe crescent
#

Make an empty new addon, it's base dota

rain sierra
ripe crescent
#

launch it via console with dota as map

uneven cliff
topaz sigil
#

If you load the dota map on an empty addon it will be very similar to normal dota.
Some things are not enabled by default though (like free courier).

I suggest you use a template to cover cases like that.

#

?? Barebones

uneven cliff
#

Renol ded. And also this is covered in what I sent.

topaz sigil
ripe crescent
#

Use /faq instead of ??

topaz sigil
#

No barebones on faq

rain sierra
#

Okay I will try this out thanks everyone appreciated

#

Alright yeah I'm just an idiot appreciate it you guys lol

dusky onyx
#

If you just want to modify ability numbers or who has what ability you can do that without any programming. You can just modify the kv files. The addon that the modding tools create should have an example built in under heroes_custom (or something like that, I cant remember the file name off the top of my head)

rain sierra
topaz sigil
#

for valves spells they are all coded in c++ and not exposed to us.
what we do have access to is the KV (key values) for the spells. this is things like manacost/cooldown/behavior of the spell, as well as various keys for things like "radius" or "duration".

this is all talked about in the guides on the moddota site. but basically, you look at the npc_abilities.txt file that holds all of valves kv for abilities and you copy paste a spells entry into your npc_abilities_custom.txt and edit the values you want to edit

#

if you want to view npc_abilities locally on your device, its inside a .vpk file. so you need a tool to open it

sharp sparrowBOT
topaz sigil
#

pak01_dir directory:
<steam_directory>/dota 2 beta/game/dota/pak01_dir.vpk

npc_abilities directory inside pak01_dir
pak01_dir.vpk:scripts/npc/npc_abilities.txt

dusky onyx
dusky onyx
#

thats a new bookmark, thanks

topaz sigil
#

no different than the github link really, but whatever suits you

dusky onyx
#

i had a github link but something got renamed on that repo and the link broke

neat temple
topaz sigil
#

gametracking doesnt have pak01_dir anymore, yeah

#

the link earlier in this thread is fine though

brave otter
neat temple
#

I saw arcadia redux and thought it is one of the custom games like imba lol

brave otter
#

heh, we had to implement our own thing cause our custom games have a whole bunch of remade abilities and it's really annoying to watch changes manually

rain sierra
#

Okay I think I do not understand this correctly. I copy pasted one of the spells from the "https://dotabase.dillerm.io/vpk/" link into the npc_abilities_custom.txt file, edited it and saved it but the changes did not effect the addon when I ran it. Apologies for my total ignorance

rain sierra
#

I saved this into npc_abilities_custom and ran it, and the cooldown of blink still seemed to be 12 seconds at level one. Am I misunderstanding how it works or did I just execute it wrong?

brave otter
#

i would assume that you just pasted them in?
every npc_ file has a "namespace" to it essentially, you can also say that entire content of it has to be under specific key
for npc_abilities you have to have this:

"DOTAAbilities"
{
// and then here you paste abilities

}

and it's very important that you have everything inside those, and all braces have both start and end ({})

topaz sigil
#

Exactly as sanctus said.
I can see the last line in your file in that screenshot, and you are indeed missing that outer "dotaabilities" block.

topaz sigil
#

Note that this file needs that same structure as the ability one, where it has an outer block containing all entries.
The first key (e.g. "dotaabilities", "dotaheroes") can be called anything though, its not actually read.

#

Its also worth noting that any key value pairs you do not write in your custom entry will default to valves values.
So if for example you just wanted to change the mana cost and nothing else you could have something like:

"antimage_blink"
{
    "AbilityManaCost" "0"
}

And every other value would come from npc_abilities.txt instead.
Do note though that if youre overriding AbilitySpecial or AbilityValue blocks you need to include all the keys inside.

brave otter
#

Do note though that if youre overriding AbilitySpecial or AbilityValue blocks you need to include all the keys inside.

eh not really, these work perfectly fine

rain sierra
rain sierra