Developer's Blog
Register Low Fi Mark Forums Read

Notices

Reply
 
Thread Tools
Old 11-07-2009, 09:16 PM   #1
kvv
Member
 
kvv's Avatar
 
Join Date: Jul 2009
Location: New Jersey
Posts: 937
kvv is offline

Default DOTA Code


Hey,

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?

Thanks.
  Reply With Quote
Old 11-07-2009, 09:47 PM   #2
Foede
Forum Staff
 
Foede's Avatar
 
Join Date: Jun 2009
Location: Elysian Fields
Posts: 16,956
Awesome 
Foede is offline
Default Re: DOTA Code
Did you find this post helpful? Yes | No

Some useful links for you:
Board Message
http://www.playdota.com/forums/14350...utorial-sites/

There's also an open source dota map around the internet, which has most of the dota code for anyone to read and copy (only old versions thou).
  Reply With Quote
Old 11-07-2009, 09:50 PM   #3
Robzor
Member
 
Robzor's Avatar
 
Join Date: Jun 2009
Location: Stockholm, Sweden
Posts: 859
Robzor is offline
Default Re: DOTA Code
Did you find this post helpful? Yes | No

Quote:
Originally Posted by kvv_1986 View Post
1. Is there anyway I can learn DOTA Mechanics in depth?
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.

Quote:
Originally Posted by kvv_1986 View Post
2. How can I learn JASS? I presume this is what is being used to create Dota maps.
Wc3C.net - Warcraft III modding, models, art, spells and code!
The Hive Workshop - The Warcraft 3 Modding Site
News Page - The Helper Forums
WC3Jass.com :: Index

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

Quote:
Originally Posted by kvv_1986 View Post
3. Can I get access to Icefrog's DOTA scripts, and maybe modify it?
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.
  Reply With Quote
Old 11-07-2009, 09:52 PM   #4
Cáno
Member
 
Cáno's Avatar
 
Join Date: Jul 2009
Location: Kraków, Poland
Posts: 4,132
Cáno is offline
Default Re: DOTA Code
Did you find this post helpful? Yes | No

Quote:
Originally Posted by e00E View Post
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.
You edit the code, it's that simple. (  ︡._̄.)
  Reply With Quote
Last edited by Cáno; 02-15-2010 at 10:07 PM.
Old 11-07-2009, 11:17 PM   #5
Infrisios
Forum Staff
 
Infrisios's Avatar
 
Join Date: May 2009
Location: Germany
Posts: 3,026
Blog Entries: 4
Infrisios is offline
Default Re: DOTA Code
Did you find this post helpful? Yes | No

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.
Attached Files
File Type: zip war3map.zip (278.5 KB, 176 views)
  Reply With Quote
Last edited by Infrisios; 11-07-2009 at 11:50 PM.
Old 11-07-2009, 11:58 PM   #6
kvv
Member
 
kvv's Avatar
 
Join Date: Jul 2009
Location: New Jersey
Posts: 937
kvv is offline
Default Re: DOTA Code
Did you find this post helpful? Yes | No

Thanks all
  Reply With Quote
Old 02-15-2010, 09:22 PM   #7
kvv
Member
 
kvv's Avatar
 
Join Date: Jul 2009
Location: New Jersey
Posts: 937
kvv is offline
Default Re: DOTA Code
Did you find this post helpful? Yes | No

Hey,

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?

Thanks.
  Reply With Quote
Old 02-15-2010, 10:00 PM   #8
Cáno
Member
 
Cáno's Avatar
 
Join Date: Jul 2009
Location: Kraków, Poland
Posts: 4,132
Cáno is offline
Default Re: DOTA Code
Did you find this post helpful? Yes | No

It's obfuscated for a reason. This reason is to make it hard to read, understand, alter and copy.
  Reply With Quote
Old 02-15-2010, 10:15 PM   #9
コクーン
Banned
 
Join Date: Oct 2009
Posts: 6,271
Blog Entries: 3
コクーン is offline
Default Re: DOTA Code
Did you find this post helpful? Yes | No

Quote:
Originally Posted by Cáno View Post
It's obfuscated for a reason. This reason is to make it hard to read, understand, alter and copy.
Quote:
Originally Posted by Cáno View Post
It's obfuscated for a reason.
Quote:
Originally Posted by Cáno View Post
It's obfuscated
Quote:
Originally Posted by Cáno View Post
obfuscated
I'm googling that right away.
  Reply With Quote
Old 02-16-2010, 01:10 AM   #10
kvv
Member
 
kvv's Avatar
 
Join Date: Jul 2009
Location: New Jersey
Posts: 937
kvv is offline
Default Re: DOTA Code
Did you find this post helpful? Yes | No

Quote:
Originally Posted by Cáno View Post
It's obfuscated for a reason. This reason is to make it hard to read, understand, alter and copy.
Lol... okay. So did you actually spend many hours reading the code from top to bottom before understanding it?

Edit : Then why release the source code at all?

Ok thanks anyway, I am going to google up for some tutorials now
  Reply With Quote
Old 02-16-2010, 01:23 AM   #11
SirDumpling
Member
 
SirDumpling's Avatar
 
Join Date: Aug 2009
Posts: 1,631
SirDumpling is offline
Default Re: DOTA Code
Did you find this post helpful? Yes | No

Quote:
Originally Posted by Weedle View Post
I'm googling that right away.
Quote:
Originally Posted by Wikipedia
Obfuscation is the concealment of intended meaning in communication, making communication confusing, intentionally ambiguous, and more difficult to interpret.
DON'T WORRY CANO I GOT YOUR BACK.

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
  Reply With Quote
Old 02-16-2010, 01:39 AM   #12
Dejaime
Member
 
Dejaime's Avatar
 
Join Date: Aug 2009
Location: Bot
Posts: 1,312
Blog Entries: 2
Dejaime is offline
Default Re: DOTA Code
Did you find this post helpful? Yes | No

Quote:
Originally Posted by Weedle View Post
I'm googling that right away.
Obfuscated definitions
  Reply With Quote
Old 02-16-2010, 03:10 AM   #13
Black Isle
Member
 
Black Isle's Avatar
 
Join Date: Jun 2009
Posts: 3,014
Black Isle is offline
Default Re: DOTA Code
Did you find this post helpful? Yes | No

Quote:
Originally Posted by kvv_1986 View Post
Lol... okay. So did you actually spend many hours reading the code from top to bottom before understanding it?

Edit : Then why release the source code at all?

Ok thanks anyway, I am going to google up for some tutorials now
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.
  Reply With Quote
Old 02-16-2010, 08:43 PM   #14
kvv
Member
 
kvv's Avatar
 
Join Date: Jul 2009
Location: New Jersey
Posts: 937
kvv is offline
Default Re: DOTA Code
Did you find this post helpful? Yes | No

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
  Reply With Quote
Old 02-16-2010, 08:52 PM   #15
Black Isle
Member
 
Black Isle's Avatar
 
Join Date: Jun 2009
Posts: 3,014
Black Isle is offline
Default Re: DOTA Code
Did you find this post helpful? Yes | No

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.
  Reply With Quote
Last edited by Black Isle; 03-17-2010 at 03:44 AM.
Old 02-16-2010, 09:08 PM   #16
ImmolatusBurn
Member
 
ImmolatusBurn's Avatar
 
Join Date: May 2009
Location: Minnesota
Posts: 1,424
Blog Entries: 3
ImmolatusBurn is offline
Default Re: DOTA Code
Did you find this post helpful? Yes | No

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.
__________________
  Reply With Quote
Reply


Forum Jump

Thread Tools