warpdragon / oaa Goto Github PK
View Code? Open in Web Editor NEWThis project forked from openangelarena/oaa
A really great Dota 2 game mode.
This project forked from openangelarena/oaa
A really great Dota 2 game mode.
Welcome to the wonderful world of KV (Kivy), or KeyValue language. The name implies its structure: Keys on the left, Values on the right, forming pairs. KeyValues are stored information used primarily by LUA scripts. When invoked, these scripts trigger actions, pulling from the KeyValues when required
Setup SublimeText 3 to highlight using Dota KV:
Git is a version control system (VCS) used in the AAA project as a way of updating everyone's game as work is done ("aaa" sending game-data downstream to users) and as a way to receive contributors' work (users sending game-data upstream to "aaa")
Github is an app/website used to manage "aaa"s files.
For compiling lots of KeyValue files into a single file (such as with npc data found in the /npc directory)
Certain specific KV files go into specific directories such as "npc/Items" and "npc/Abilities". A console package called "Node.js" is used to compile (aka gulp) individual KV files into the large combined files used by Dota 2. Run "Node.js Command Prompt".
Commands:
Here's a very simplified breakdown of what you should expect to see when you look at a KeyValue file.
"ParentOne"
{
// <- Notice the indent. Implies child-parent relationship of the {} enclosed set.
"Key" "Value"
"Key" "Value"
// The following is an array of values.
"Key" "1 2 3 4 5 6"
//
"ParentTwo"
{
// These values are the child of the parent element so they indent further.
"Key" "Value"
"Key" "Value"
"Key" "Value"
}
}
"SomeAbility"
{
"Damage" "0 0 0 0 0"
// Can be reduced to:
"Damage" "0"
}
"MegaBuster"
{
"var_type" "FIELD_INTEGER"
// Integers are whole numbers. The "Damage" Key must be paired with whole number Values.
"Damage" "2000"
}
Ideally you should use Git to create your own development branch (see Git tutorial). This way you can change any files you want without disturbing your master copy of aaa.
When making KV files, you should always start with a valid, up-to-date template, many of which can be found at www.ModDota.com.
When you think you've got your files the way you want, run Node.js and gulp. This generates the file used by the game.
Copy the contents of the KeyValue file you wish to debug into http://arhowk.github.io. Fix any errors in the individual KV files not in the compiled file. Once you've fixed all the errors, gulp again. This will put the updated KV files into the compiled form again.
Launch Dota 2 Tools; Load "aaa" addon; Load Console by pressing "~"; Launch the addon using the following command:
"dota_launch_custom_game aaa aaa"
Points/HeroSelection etc.
Atom editor has a port of the Sublime Text 3 KV syntax package: https://atom.io/packages/language-dotakv by Faultless
Install with apm install language-dotakv
or in Settings -> Install: search for language-dotakv
.
He also ported https://atom.io/packages/language-dotalua
PS. all the starting area stuff is in a single Prefab now in /structures.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.