The structy way..

Chaos_Knight

New Member
Reaction score
39
I was wondering what this does:
JASS:
struct Data
unit u
unit t
real x
real y
integer whatever /* AnD MoRe */


They doesnt have values so, i assume they do: nothing. Dont understand the purpose of structs.
Thanks for helping me out with this.

//Chaos_Knight ;)
 

Komaqtion

You can change this now in User CP.
Reaction score
469
Well, all variables doesn't have to have values directly, do they ? :eek: :p

Actually, most structs can't have values directly, as they're manually created for different purposes throughout the game ;)

I'd believe that the struct you're having there is used to save the x and y of the caster/target, and also sae both the target and caster i those members :S
This is very useful in making spells MUI if you need some kind of delay, because then you can use one of the many timer attachment systems out there, like KeyTimers2, TimerUtils or Timer32, to attach the struct to that specific timer, and when it expires you can retrieve that data from the timer, and you'll be able to keep on going just like "nothing has happened" XD :D
 

Chaos_Knight

New Member
Reaction score
39
But, where do i set the values from the struct? Cause all uses of structs i see is like this:

[lJASS]call UnitDamageTarget(d.caster,d.caster/*More Arguments Here */[/lJASS]

What does the Dot syntax do?
 

Tyrulan

Ultra Cool Member
Reaction score
37
Those variables would most likely be passed into the structs constructor method.

JASS:
struct data
        unit caster
        static method create takes unit u returns thistype
                local thistype this = thistype.allocate()
                set .caster = u
                return this
        endmethod
endstruct
 

SineCosine

I'm still looking for my Tangent
Reaction score
77
Structs are like little bubble-universes!
They're what make spells MUI-MPI xD

Nothing can exist outside of the universe.. Except another universe, right?

JASS:
struct Universe

 //Stuff
endstruct


So, let's say, in the beginning, there was darkness..

JASS:
struct Universe

     Darkness = true
endstruct


Then, I said, 'let there be light'


JASS:
struct Universe

    Darkness = true

    static method CreateLight takes nothing returns nothing //A method is basically a function.. In disguise >.>
        local thistype this = thistype.allocate()

        if Darkness == true then
            call BJDebugMsg("SineCosine: Let there be light!")
            call FogEnable(false)
            set Darkness = false
        endif
        
        call this.destroy()
    method
endstruct


I know that you sure as hell do not need structs to do that, but, meh, I'm bored.
 

monoVertex

I'm back!
Reaction score
460
They're what make spells MUI-MPI xD

Not entirely true, there were MUI-MPI spells way before the vJass era ;). Of course, it makes the process of creating MUI spells easier, but that's a different thing.
 

Lyerae

I keep popping up on this site from time to time.
Reaction score
105
What does the Dot syntax do?

It lets you access struct members.
Syntax for this is [ljass]structIdentifier.memberName[/ljass].

Structs are a little confusing at first, but they get a lot easier.
 

tooltiperror

Super Moderator
Reaction score
231
And, Kingyking made this sexy little 3D array thing with structs you can search for.

On the topics of structs, they're not actual OOP, or so Vexorian said.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top