Developer's Blog
Register Low Fi Mark Forums Read

Notices

Reply
 
Thread Tools
Old 04-12-2012, 03:14 PM   #1
jjohnjjang
Member
 
Join Date: Jun 2009
Posts: 5
jjohnjjang is offline

Default about JASS and helping


Hello,

I have no knowledge in JASS, as matter of fact I know Java and very little of C.

I heard dota AIs are created using JASS?

I want to learn and also help on it, are there are good websites teaching about JASS?
  Reply With Quote
Old 04-12-2012, 05:47 PM   #2
WaremDarkslayer
Member
 
WaremDarkslayer's Avatar
 
Join Date: Oct 2009
Location: Where all life began, inside of and all around you.
Posts: 41
WaremDarkslayer is offline
Default Re: about JASS and helping

Quote:
Originally Posted by jjohnjjang View Post
Hello,

I have no knowledge in JASS, as matter of fact I know Java and very little of C.

I heard dota AIs are created using JASS?

I want to learn and also help on it, are there are good websites teaching about JASS?
First of all since you know Java , then congratz to you sir
Second, if you are looking to find out about JASS it is the pseudo - programming language that powers all warcraftIII maps and campaigns.
It only slightly resembles Java.In fact , it is Easier.

Anyway, if you want to learn the basics (and some more advanced issues) of JASS then this site will help you(go to the tutorials' page):Hiveworkshop
__________________
I am reborn from the ashes...of the past.
  Reply With Quote
Old 04-12-2012, 07:05 PM   #3
MauranKilom
Member
 
MauranKilom's Avatar
 
Join Date: Jan 2010
Location: Germany
Posts: 5,793
MauranKilom is offline
Default Re: about JASS and helping

Again, i doubt JASS is easier than Java. If for you "easier" means "fewer features" then probably yes, but JASS is pretty horrible to code in (unless you know what you're doing).

Anyways, the first thing you should do to get into JASS is to get JNGP running. You'll find lots of tutorials on Hiveworkshop (as WaremDarkslayer already mentioned), and you'll surely find more help if you search for specific questions.

Also, you can always ask for help in this forum.
__________________
I might edit my p0sts frequently and rapidly after posting.
DotA code of the month:
Jass:
if GetRandomInt(0,10)<11 then

Fix OD combo! IMPLEMENTED!
  Reply With Quote
Old 04-13-2012, 06:55 AM   #4
CrazedSeal
Member
 
Join Date: Jan 2012
Location: Australia
Posts: 17
CrazedSeal is offline
Default Re: about JASS and helping

JASS is very similar to Visual Basic.

There are many different JASS code types.
eg. vJass, cJass, Zinc.
__________________
Fake
Real Ninjas can't be seen. Heres one.
  Reply With Quote
Old 04-13-2012, 10:25 AM   #5
WaremDarkslayer
Member
 
WaremDarkslayer's Avatar
 
Join Date: Oct 2009
Location: Where all life began, inside of and all around you.
Posts: 41
WaremDarkslayer is offline
Default Re: about JASS and helping

Quote:
Originally Posted by MauranKilom View Post
Again, i doubt JASS is easier than Java. If for you "easier" means "fewer features" then probably yes, but JASS is pretty horrible to code in (unless you know what you're doing).

Anyways, the first thing you should do to get into JASS is to get JNGP running. You'll find lots of tutorials on Hiveworkshop (as WaremDarkslayer already mentioned), and you'll surely find more help if you search for specific questions.

Also, you can always ask for help in this forum.
What I meant by easier is that Java has too many problems with user input, and by problems I mean there is more than one possible way of getting user inputs for each type of input.(int , string , float etc.).


Yes JASS is horrible as a language but it is a necessary evil if you want to create warcraftIII games that are worth a damn(no offence).

And besides before getting JASS New Gen Pack you should know what JASS is and how it works.Otherwise , you'll never learn how to efficiently code in JASS.
__________________
I am reborn from the ashes...of the past.
  Reply With Quote
Old 04-14-2012, 10:19 AM   #6
MauranKilom
Member
 
MauranKilom's Avatar
 
Join Date: Jan 2010
Location: Germany
Posts: 5,793
MauranKilom is offline
Default Re: about JASS and helping

I can agree to that. Input-wise, JASS is defenitely easier, but as a language it sucks.
__________________
I might edit my p0sts frequently and rapidly after posting.
DotA code of the month:
Jass:
if GetRandomInt(0,10)<11 then

Fix OD combo! IMPLEMENTED!
  Reply With Quote
Old 04-16-2012, 09:25 AM   #7
-Kobas-
Member
 
-Kobas-'s Avatar
 
Join Date: Aug 2010
Location: Serbia, Belgrade
Posts: 53
-Kobas- is offline
Default Re: about JASS and helping

Quote:
Originally Posted by CrazedSeal View Post
JASS is very similar to Visual Basic.

There are many different JASS code types.
eg. vJass, cJass, Zinc.
Actually is not, because I code both and I can't say that they are similar.
Visual Basic is far more powerful "tool".

Quote:
Originally Posted by MauranKilom View Post
I can agree to that. Input-wise, JASS is defenitely easier, but as a language it sucks.
It sucks because it was specially created language for just 1 purpose only.
You can't compare it to languages like C or java.
__________________
  Reply With Quote
Old 04-17-2012, 10:20 AM   #8
Sonic
Member
 
Sonic's Avatar
 
Join Date: Jul 2009
Location: Everywhere
Posts: 1,006
Sonic is offline
Default Re: about JASS and helping

AFAIK Icefrog uses Jass, not vJass. Mb i am not right, but he creates spells via storing dates in game cache
  Reply With Quote
Old 04-20-2012, 01:04 PM   #9
-Kobas-
Member
 
-Kobas-'s Avatar
 
Join Date: Aug 2010
Location: Serbia, Belgrade
Posts: 53
-Kobas- is offline
Default Re: about JASS and helping

Quote:
Originally Posted by Sonic View Post
AFAIK Icefrog uses Jass, not vJass. Mb i am not right, but he creates spells via storing dates in game cache
Hardly to imagine that, even hashtables are problem because you can't have more than 256 created in map.

He use Table and libraries like AIDS or Damage Engine etc etc, and they are vjass coded.
__________________
  Reply With Quote
Old 04-20-2012, 03:06 PM   #10
MauranKilom
Member
 
MauranKilom's Avatar
 
Join Date: Jan 2010
Location: Germany
Posts: 5,793
MauranKilom is offline
Default Re: about JASS and helping

Quote:
Originally Posted by Sonic View Post
AFAIK Icefrog uses Jass, not vJass. Mb i am not right, but he creates spells via storing dates in game cache
The game cache is no longer used for that. It is only used for saving additional replay data (who skilled which skill, who killed which hero etc.).
The spells that need to store data use hashtables to do so.

Quote:
Originally Posted by -Kobas- View Post
Hardly to imagine that, even hashtables are a problem because you can't have more than 256 created in a map.
Why would you need 256 hashtables? 1 is enough for all spells.

Quote:
Originally Posted by -Kobas- View Post
He uses Table and libraries like AIDS or Damage Engine etc etc, and they are vjass coded.
Then there would be signs of that in the code. However, there are none.
Also, it's one of the bigger flaws of DotA that it does not have a damage detection engine.
What does this tell us?
__________________
I might edit my p0sts frequently and rapidly after posting.
DotA code of the month:
Jass:
if GetRandomInt(0,10)<11 then

Fix OD combo! IMPLEMENTED!
  Reply With Quote
Old 04-21-2012, 08:03 PM   #11
-Kobas-
Member
 
-Kobas-'s Avatar
 
Join Date: Aug 2010
Location: Serbia, Belgrade
Posts: 53
-Kobas- is offline
Default Re: about JASS and helping

Quote:
Originally Posted by MauranKilom View Post
1 is enough for all spells.
True, but you you will need to care about keys in that case.
That's why I mentioned table.

Quote:
Originally Posted by MauranKilom View Post
Then there would be signs of that in the code. However, there are none.
Also, it's one of the bigger flaws of DotA that it does not have a damage detection engine.
What does this tell us?
He use, I will now list you few spells that can't be created otherwise: Abandon Shield and ultimate. Dazzle - Shadow Grave...
__________________
  Reply With Quote
Old 04-21-2012, 08:42 PM   #12
MauranKilom
Member
 
MauranKilom's Avatar
 
Join Date: Jan 2010
Location: Germany
Posts: 5,793
MauranKilom is offline
Default Re: about JASS and helping

Quote:
Originally Posted by -Kobas- View Post
True, but you you will need to care about keys in that case.
That's why I mentioned table.
I think taking care of keys and not messing around with them is far easier than creating a new hashtable for each and every spell. A simple list is enough.

Quote:
Originally Posted by -Kobas- View Post
He use, I will now list you few spells that can't be created otherwise: Abandon Shield and ultimate. Dazzle - Shadow Grave...
You're probably a good mapmaker, but it's pretty simple: Icefrog doesn't use any kind of damage detection library.

Please, tell me where you need a damage detection engine for coding abba's shield or shallow grave. You just need the EVENT_UNIT_DAMAGED event.
I can show you the code he uses if you want to.

I understand that you are probably baffled by the functionality of the map without any library, but then again keep in mind that most likely nobody wanted to recode the entire map to include a new library.
__________________
I might edit my p0sts frequently and rapidly after posting.
DotA code of the month:
Jass:
if GetRandomInt(0,10)<11 then

Fix OD combo! IMPLEMENTED!
  Reply With Quote
Old 04-22-2012, 03:54 AM   #13
Sonic
Member
 
Sonic's Avatar
 
Join Date: Jul 2009
Location: Everywhere
Posts: 1,006
Sonic is offline
Default Re: about JASS and helping

Icefrog is very smart, I shocked when I saw how Shallow Grave works. Setting hp to 1, whenever damage is higher than life, will not help. It works another way,because if damage is higher than life, target will die. It's add some abilities to a target, that adds life, something like this.

I am not sure that Icefrog uses any libaries, I think he doesn't even use vJass. He uses hastables, sorry I right wrong above, writing storing dates in a gamecache. My fault.

And look at Phoenix's Sunray, Icefrog did a huge job, making this spell, spellmakers will understand me
  Reply With Quote
Old 04-22-2012, 01:40 PM   #14
MauranKilom
Member
 
MauranKilom's Avatar
 
Join Date: Jan 2010
Location: Germany
Posts: 5,793
MauranKilom is offline
Default Re: about JASS and helping

Quote:
Originally Posted by Sonic View Post
Icefrog is very smart, I shocked when I saw how Shallow Grave works. Setting hp to 1, whenever damage is higher than life, will not help. It works another way,because if damage is higher than life, target will die. It's add some abilities to a target, that adds life, something like this.
Unfortunately, it doesn't work that way. It's exactly the opposite of what you described:
If you are shallow graved and take more damage than your max hp, you'll die.

This is because shallow grave is a simple triggered heal (pre-heal to be more precise).
__________________
I might edit my p0sts frequently and rapidly after posting.
DotA code of the month:
Jass:
if GetRandomInt(0,10)<11 then

Fix OD combo! IMPLEMENTED!
  Reply With Quote
Old 04-23-2012, 08:25 AM   #15
Sonic
Member
 
Sonic's Avatar
 
Join Date: Jul 2009
Location: Everywhere
Posts: 1,006
Sonic is offline
Default Re: about JASS and helping

Quote:
Originally Posted by MauranKilom View Post
Unfortunately, it doesn't work that way. It's exactly the opposite of what you described:
If you are shallow graved and take more damage than your max hp, you'll die.

This is because shallow grave is a simple triggered heal (pre-heal to be more precise).
Where did u saw that in my post? I said that it doesn't work that way. Read again
  Reply With Quote
Old 04-23-2012, 11:16 AM   #16
MauranKilom
Member
 
MauranKilom's Avatar
 
Join Date: Jan 2010
Location: Germany
Posts: 5,793
MauranKilom is offline
Default Re: about JASS and helping

I'm not sure we get each other right.
This is how the spell currently works:
Quote:
If you are shallow graved and take more damage than your max hp, you'll die.
Your post sounded as if you concluded the opposite.

Or in other words: I didn't mean to rephrase your statement, but to correct you.
__________________
I might edit my p0sts frequently and rapidly after posting.
DotA code of the month:
Jass:
if GetRandomInt(0,10)<11 then

Fix OD combo! IMPLEMENTED!
  Reply With Quote
Last edited by MauranKilom; 04-25-2012 at 04:18 PM.
Old 04-25-2012, 03:16 PM   #17
Sonic
Member
 
Sonic's Avatar
 
Join Date: Jul 2009
Location: Everywhere
Posts: 1,006
Sonic is offline
Default Re: about JASS and helping

I didn't include it ^. I said that it doesn't work like that way
  Reply With Quote
Old 04-25-2012, 04:18 PM   #18
MauranKilom
Member
 
MauranKilom's Avatar
 
Join Date: Jan 2010
Location: Germany
Posts: 5,793
MauranKilom is offline
Default Re: about JASS and helping

Then you are wrong.
I'll reiterate this for the third time now, this is how Shallow Grave works:
Quote:
If you are shallow graved and take more damage than your max hp, you'll die.
__________________
I might edit my p0sts frequently and rapidly after posting.
DotA code of the month:
Jass:
if GetRandomInt(0,10)<11 then

Fix OD combo! IMPLEMENTED!
  Reply With Quote
Old 04-25-2012, 05:45 PM   #19
-Kobas-
Member
 
-Kobas-'s Avatar
 
Join Date: Aug 2010
Location: Serbia, Belgrade
Posts: 53
-Kobas- is offline
Default Re: about JASS and helping

OMFG I just checked latest dota script.
You are right he code in vanila jass.

I'm horrible disappointed. Not because of vanila jass but because of bad codding, I saw 2 many same functions and conditions that could be merged into one.
__________________
  Reply With Quote
Old 04-25-2012, 07:03 PM   #20
MauranKilom
Member
 
MauranKilom's Avatar
 
Join Date: Jan 2010
Location: Germany
Posts: 5,793
MauranKilom is offline
Default Re: about JASS and helping

Well, apparently the biggest and most famous wc3 map doesn't need "good" code.
__________________
I might edit my p0sts frequently and rapidly after posting.
DotA code of the month:
Jass:
if GetRandomInt(0,10)<11 then

Fix OD combo! IMPLEMENTED!
  Reply With Quote
Old 04-26-2012, 12:39 PM   #21
Sonic
Member
 
Sonic's Avatar
 
Join Date: Jul 2009
Location: Everywhere
Posts: 1,006
Sonic is offline
Default Re: about JASS and helping

Quote:
Originally Posted by MauranKilom View Post
Then you are wrong.
I'll reiterate this for the third time now, this is how Shallow Grave works:
I didn't write it!!!!!!!!!!! I said that it doesn't work that way!
  Reply With Quote
Reply
  Entertainment Programming


Forum Jump

Thread Tools