Discussion in 'Advanced Mechanics' started by kvv, Nov 7, 2009.

  1. kvv

    kvv Well-Known Member


    I have a few questions.

    1. Is there anyway I can learn DOTA Mechanics in depth?
    2. How can I learn JASS? I presume this is what is being used to create Dota maps.
    3. Can I get access to Icefrog's DOTA scripts, and maybe modify it?

  2. Foede

    Foede Forum Manager

  3. Robzor

    Robzor Well-Known Member

    You're in the very section where you may learn. Either lurk your ass off if you want to learn as much as possible or ask specific questions on subjects you want to know more about. - Warcraft III modding, models, art, spells and code!
    The Hive Workshop - The Warcraft 3 Modding Site
    News Page - The Helper Forums :: Index

    Though if you're familiar with any other form of programming languages reading JASS should be like a smooth summer breeze.

    You can access the JASS script through opening the map with a .MPQ-editor, but I'm not going to teach you how to alter DotA.
  4. Cáno

    Cáno Well-Known Member

    You edit the code, it's that simple. (  ︡._̄.)
    Last edited: Feb 15, 2010
  5. Infrisios

    Infrisios Moderator

    Here's the raw 6.61c code.
    A bit difficult to read, but if you know how to search you can get most information you need from it.
    The real functions start in line 2868, the stuff before are variables.
    You can use Notepad++ to open it.
    Last edited: Nov 8, 2009
  6. kvv

    kvv Well-Known Member

    Thanks all :)
  7. kvv

    kvv Well-Known Member


    Sorry for bothering. I have a few more questions.

    1. I finally got the JassV plugin for Notepad+, opened the code and its all good. But there is no indentation, and thats something very important to me. Do you have any idea how to fix this?

    2. The code as such seems pretty simple to understand, but there are a lot of functions and variables such as CK, DK, API() and many more; and I have no idea what these are. How did you guys figure out all this?

  8. Cáno

    Cáno Well-Known Member

    It's obfuscated for a reason. This reason is to make it hard to read, understand, alter and copy.
  9. コクーン

    コクーン Banned

    I'm googling that right away.
  10. kvv

    kvv Well-Known Member

    Lol... okay. So did you actually spend many hours reading the code from top to bottom before understanding it? :shock:

    Edit : Then why release the source code at all?

    Ok thanks anyway, I am going to google up for some tutorials now :)
  11. SirDumpling

    SirDumpling Well-Known Member


    And yes, as Cano said, it's done to make it harder for people to use the code that they worked so hard to create
  12. Dejaime

    Dejaime Well-Known Member

  13. Black Isle

    Black Isle Well-Known Member

    No, noone reads script top to bottom!

    If you want to learn how a skill works you search it in data dump first then look for skill ID in the script. That's how you should approach.
  14. kvv

    kvv Well-Known Member

    I didn't know there was something called a data dump! :p

    Anyway, I found this link in case there was someone else like me. Gives some nice info about the data dump Garena Forums : How to Read the Data Dump
  15. Black Isle

    Black Isle Well-Known Member

    Yes, that's exactly what you need. Note that some things may require different approach like Tower Regen or Assist Gold 'n stuff. You'll learn them eventually by lurking in the code some time.
    Last edited: Mar 17, 2010
  16. ImmolatusBurn

    ImmolatusBurn Well-Known Member

    The reason for obfuscation is probably less of a now-you-can't-read-it and more of a now-it-takes-less-space, obfuscation is done automatically as optimization occurs as far as I know.

    Besides the obfuscation really doesn't prevent anyone from reading it, so obfuscating for that purpose is rather pointless.