• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

[JASS] Best JASS Example

Status
Not open for further replies.
Level 1
Joined
Nov 27, 2004
Messages
1
Hi, I am doing a short presentation on JASS for a school project (they said to pick an obscure language). I am looking for suggestions for the most impressive JASS script I could use to show off the language. Preferably it would be simple yet produce a nice looking or funny effect. If any of you have an idea, please give it!

Edit: I was thinking something like a spell that could turn any unit into a sheep, but isn't that already in the game anyways? Its been so long since i've played Warcraft 3...

Thanks much,
Artanis
 
Level 11
Joined
Jul 20, 2004
Messages
2,760
I can explain you how to do basic JASS if you know C++. I believe that since you need this for school you should know it for a computer class or something. So, PM me for more info and tell me when you need the project. I will help you as much as I can. I am an adept of such projects. :D And as for the spell, I'm glad I came here. I will help you make a simple, yet impressive spell.
 
Level 6
Joined
Sep 9, 2004
Messages
152
Here is one impressive code yuo could use to show:
JASS:
function CreateUnitsPentagramForm takes integer sides,real offset,integer unitid,location target,integer rings,player owner,integer unitsperside,group g returns group
local integer a
local integer b
local integer c
local real size
local real offset2
local real value2=((I2R(sides)/I2R(rings))*8.)/I2R(unitsperside)
set a=0
call GroupClear(g)
loop
    exitwhen a>rings
    call TriggerSleepAction(0)
    set offset2 = ((I2R(a) /I2R(rings))*offset)
    set size = (8.*offset2)
    set b=0
    loop
        exitwhen b>unitsperside
        loop
            exitwhen c>sides
            call GroupAddUnitSimple(CreateUnitAtLoc(owner,unitid,PolarProjectionBJ(PolarProjectionBJ(target, offset2, ((I2R(c)/I2R(sides))*360.00)), (((I2R(b)/I2R(unitsperside))*((size/2.00)/I2R(sides)))-((I2R(sides)/I2R(unitsperside))*(I2R(a)*value2))), (((I2R(c)/I2R(sides))*360.00)-90.00)),0.00),g)
            call GroupAddUnitSimple(CreateUnitAtLoc(owner,unitid,PolarProjectionBJ(PolarProjectionBJ(target, offset2, ((I2R(c)/I2R(sides))*360.00)), (((I2R(b)/I2R(unitsperside))*((size/2.00)/I2R(sides)))-((I2R(sides)/I2R(unitsperside))*(I2R(a)*value2))), (((I2R(c)/I2R(sides))*360.00)+90.00)),0.00),g)
            set c=c+1
        endloop
        set b=b+1
    endloop
    set a=a+1
endloop
return g
return null
endfunction
here this function will return all those units into the group g and you can put those in later use.This will make a great lag however.
 
Status
Not open for further replies.
Top