wc3campaigns
WC3C Homepage - www.wc3c.netUser Control Panel (Requires Log-In)Engage in discussions with other users and join contests in the WC3C forums!Read one of our many tutorials, ranging in difficulty from beginner to advanced!Show off your artistic talents in the WC3C Gallery!Download quality models, textures, spells (vJASS/JASS), systems, and scripts!Download maps that have passed through our rigorous approval process!

Go Back   Wc3C.net > Resources > Code Resources > vJass Spells
User Name
Password
Register Rules Get Hosted! Chat Pastebin FAQ and Rules Members List Calendar



Reply
 
Thread Tools Search this Thread
Old 04-13-2008, 09:23 PM   #16
moyack
Evil Emoticon
 
moyack's Avatar


Respected User
Project Leader: PoC
 
Join Date: Jan 2006
Posts: 3,279

Submissions (17)

moyack is a splendid one to behold (666)moyack is a splendid one to behold (666)moyack is a splendid one to behold (666)moyack is a splendid one to behold (666)

AI Tournament #2 - 2nd PlaceHero Contest - Second place

Send a message via MSN to moyack
Default

Quote:
Originally Posted by Vexorian
The constants are fine in this case. *checks map*

Try not to create objects during global declarations. It is not necessary for approval or anything but I advice agains it.

The spell needs fixing, the concept is nice but it is right now lacking in looks, the knockback + spear movement looks unrealistic. You should change your knockback so it doesn't just move the unit in the same direction as the spear, think of what happens to a potato bag when you try to push it in a straight line for long time, it will not obey you.
Actually it's not a knock back... the spear pierce the units and moves with them, so it's like when you have a big fork and catch several potatoes on the fly, I'm not sure if I made me understand.

I'll change the initialization, but I want to know: that's probably the issue why Rising_Dusk is having issues??
moyack is offline   Reply With Quote
Sponsored Links - Login to hide this ad!
Old 04-14-2008, 06:50 AM   #17
darkwulfv
Alpha Male of Wc3c
 
darkwulfv's Avatar


Official Map Reviewer
 
Join Date: Mar 2006
Posts: 3,646

Submissions (6)

darkwulfv is just really nice (270)darkwulfv is just really nice (270)

Send a message via AIM to darkwulfv
Default

Moyack's way of knocking back is right. If the unit were being shoved aside it wouldn't, but the spear is piercing them while maintaining a straight path.
__________________
The Spell Request Thread
Quote:
Originally Posted by Joe-Black-5
a dota like map but with unique stuff
(There was no map attached, and that was all the thread said.)
Spells I've Made

Darkwulfv's Lightning Grapple || Tritanis' Lazy Bolt

darkwulfv is offline   Reply With Quote
Old 04-14-2008, 01:48 PM   #18
Vexorian
Free Software Terrorist
 
Vexorian's Avatar


Technical Director
 
Join Date: Apr 2003
Posts: 14,898

Submissions (37)

Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)

Hero Contest #3 - 2nd Place

Default

Perhaps the straight line is right, but it still does not look good.
__________________
Zoom (requires log in)Wc3 map optimizer 5.0
Someone should fix .wav sound in this thing.
Zoom (requires log in)JassHelper 0.A.2.A
Turns your simple code into something that is complicated enough to work.
Faster != more useful
Vexorian is offline   Reply With Quote
Old 04-14-2008, 04:37 PM   #19
moyack
Evil Emoticon
 
moyack's Avatar


Respected User
Project Leader: PoC
 
Join Date: Jan 2006
Posts: 3,279

Submissions (17)

moyack is a splendid one to behold (666)moyack is a splendid one to behold (666)moyack is a splendid one to behold (666)moyack is a splendid one to behold (666)

AI Tournament #2 - 2nd PlaceHero Contest - Second place

Send a message via MSN to moyack
Default

I'll try to figure it out how to fix that eyecandy issue.
moyack is offline   Reply With Quote
Old 04-14-2008, 04:44 PM   #20
Vexorian
Free Software Terrorist
 
Vexorian's Avatar


Technical Director
 
Join Date: Apr 2003
Posts: 14,898

Submissions (37)

Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)

Hero Contest #3 - 2nd Place

Default

Perhaps it is as easy as not making it last so much.
__________________
Zoom (requires log in)Wc3 map optimizer 5.0
Someone should fix .wav sound in this thing.
Zoom (requires log in)JassHelper 0.A.2.A
Turns your simple code into something that is complicated enough to work.
Faster != more useful
Vexorian is offline   Reply With Quote
Old 04-18-2008, 04:11 PM   #21
Rising_Dusk
Obscurity, the Art


Projects Director
Project Leader: OD
 
Join Date: Feb 2006
Posts: 9,729

Submissions (27)

Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)

Hero Contest #3 - 1st PlaceApproved Map: Desert of ExileApproved Map: Advent of the ZenithHero Contest #2 - 1st PlaceHero Contest - Third place>

Send a message via AIM to Rising_Dusk Send a message via MSN to Rising_Dusk
Default

Collapse JASS:
private constant integer SpellID = 'A000' //Spell ID, based on Trueshot Aura Ability
It doesn't have to be based on Trueshot, though, as a matter of fact having the buff is actually very ugly for such a passive. I think it would be much better and less confusing to users the less they have to configure. Base it on evasion with 0% or something like that.
Collapse JASS:
private function GetUnitsAngle takes unit a, unit b returns real
    return Atan2(GetUnitY(b)-GetUnitY(a), GetUnitX(b)-GetUnitX(a))
endfunction
Man, inline that call wherever you use it and save the lines of code.
Collapse JASS:
set Cindexes[Cindex] = integer(C)
That typecast isn't necessary, structs are integers anyways.
Collapse JASS:
    set SonicFX = GetAbilityEffectById(SpellID, EFFECT_TYPE_SPECIAL, 0) //Sonic effect model
    set BloodFX = GetAbilityEffectById(SpellID, EFFECT_TYPE_SPECIAL, 1) //Blood effect model
Make these into configurable strings so people can change the path as normal. It's not totally intuitive how someone would change the effects right now, so this change is pretty important.
Expand JASS:
Whoa, man, what are you doing? Go look at how I re-index things in Shrapnade, all of this looping stuff is horrendously inefficient. You could be saving all of these loops and everything. Simply put the ith indexed entry where this' indexed entry is upon removal. Easy, man. :p
Collapse JASS:
    private method onDestroy takes nothing returns nothing
        call ForGroup(.Units, function Data.Release)
        call RemoveUnit(.dummy)
        set .caster = null
        set .dummy = null
        call GroupClear(.Units)
        call .RemoveIndex()
    endmethod
The caster/dummy vars are re-used globals in arrays, they don't need to be nulled if you properly clean up the rest of it. (Which you do)
Collapse JASS:
        call DestroyEffect(AddSpecialEffectTarget(BloodFX, GetEnumUnit(), "chest"))
Needs to be configurable where to attach the effects.
Collapse JASS:
    if IsUnitInRangeXY(GetEnumUnit(), GetUnitX(D.dummy) + Radius * D.cos, GetUnitY(D.dummy) + Radius * D.sin, Radius) and not IsUnitInGroup(GetEnumUnit(), D.Units) then
This function internally uses distance math to return true or false, just do a (x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)<= MaxDist*MaxDist mathematical check and save yourself that trouble. Also, don't be afraid to use local real variables, makes your code loads easier to read.

I'm not a big fan of the loop/search method to get the desired index of an array, there are cleaner ways of handling it. I won't be picky about it, though, since it won't be an issue until we're talking more than 30 or so instances at once.
__________________
Rising_Dusk is offline   Reply With Quote
Old 04-18-2008, 04:53 PM   #22
Vexorian
Free Software Terrorist
 
Vexorian's Avatar


Technical Director
 
Join Date: Apr 2003
Posts: 14,898

Submissions (37)

Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)

Hero Contest #3 - 2nd Place

Default

Quote:
That typecast isn't necessary, structs are integers anyways
Not doing the typecast will make your script unable to compile on later versions of jasshelper.
__________________
Zoom (requires log in)Wc3 map optimizer 5.0
Someone should fix .wav sound in this thing.
Zoom (requires log in)JassHelper 0.A.2.A
Turns your simple code into something that is complicated enough to work.
Faster != more useful
Vexorian is offline   Reply With Quote
Old 04-18-2008, 09:38 PM   #23
Rising_Dusk
Obscurity, the Art


Projects Director
Project Leader: OD
 
Join Date: Feb 2006
Posts: 9,729

Submissions (27)

Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)

Hero Contest #3 - 1st PlaceApproved Map: Desert of ExileApproved Map: Advent of the ZenithHero Contest #2 - 1st PlaceHero Contest - Third place>

Send a message via AIM to Rising_Dusk Send a message via MSN to Rising_Dusk
Default

Quote:
Originally Posted by Vexorian
Not doing the typecast will make your script unable to compile on later versions of jasshelper.
Why would you remove the option to typecast directly? That seems highly counterproductive, but I guess if you did it then he should leave the typecast in.
__________________
Rising_Dusk is offline   Reply With Quote
Old 04-18-2008, 09:51 PM   #24
Vexorian
Free Software Terrorist
 
Vexorian's Avatar


Technical Director
 
Join Date: Apr 2003
Posts: 14,898

Submissions (37)

Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)

Hero Contest #3 - 2nd Place

Default

I want typesafety, will reduce the time you fight with the compiler when using vJass...

Perhaps I will still allow set integervariable = structvalue, but give a syntax error for the opposite.

Even if I wouldn't, the typecast makes the code more readable and adds no overhead whatsoever.
__________________
Zoom (requires log in)Wc3 map optimizer 5.0
Someone should fix .wav sound in this thing.
Zoom (requires log in)JassHelper 0.A.2.A
Turns your simple code into something that is complicated enough to work.
Faster != more useful
Vexorian is offline   Reply With Quote
Old 04-18-2008, 10:42 PM   #25
Rising_Dusk
Obscurity, the Art


Projects Director
Project Leader: OD
 
Join Date: Feb 2006
Posts: 9,729

Submissions (27)

Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)

Hero Contest #3 - 1st PlaceApproved Map: Desert of ExileApproved Map: Advent of the ZenithHero Contest #2 - 1st PlaceHero Contest - Third place>

Send a message via AIM to Rising_Dusk Send a message via MSN to Rising_Dusk
Default

Most of my already submitted spells won't compile in the new jasshelper then. :/
You should at least give the option of typecasting back and forth without the integer() or data() requirement.
__________________
Rising_Dusk is offline   Reply With Quote
Old 04-19-2008, 12:28 AM   #26
moyack
Evil Emoticon
 
moyack's Avatar


Respected User
Project Leader: PoC
 
Join Date: Jan 2006
Posts: 3,279

Submissions (17)

moyack is a splendid one to behold (666)moyack is a splendid one to behold (666)moyack is a splendid one to behold (666)moyack is a splendid one to behold (666)

AI Tournament #2 - 2nd PlaceHero Contest - Second place

Send a message via MSN to moyack
Default

With the actual version there's no problem, but in future versions it would happen, just consider it as a good programming practice.

I'll install again WC3 this night (my pc was broken and just yesterday I reinstalled the OS) so any further comments will be done later.

Quote:
Originally Posted by Rising_Dusk
Collapse JASS:
private constant integer SpellID = 'A000' //Spell ID, based on Trueshot Aura Ability
It doesn't have to be based on Trueshot, though, as a matter of fact having the buff is actually very ugly for such a passive. I think it would be much better and less confusing to users the less they have to configure. Base it on evasion with 0% or something like that.
Well.... actually I used True shot aura just as an example, but as I did in the test map, I added the same spell but with an ability based on Berkerk, in order to show that this rawcode can be changed by the one that it's required.

Quote:
Collapse JASS:
private function GetUnitsAngle takes unit a, unit b returns real
    return Atan2(GetUnitY(b)-GetUnitY(a), GetUnitX(b)-GetUnitX(a))
endfunction
Man, inline that call wherever you use it and save the lines of code.
Ok, I'll check that.

Quote:
Collapse JASS:
    set SonicFX = GetAbilityEffectById(SpellID, EFFECT_TYPE_SPECIAL, 0) //Sonic effect model
    set BloodFX = GetAbilityEffectById(SpellID, EFFECT_TYPE_SPECIAL, 1) //Blood effect model
Make these into configurable strings so people can change the path as normal. It's not totally intuitive how someone would change the effects right now, so this change is pretty important.
As far as I remember, I put some instructions in the map, where I indicate that the effects path can be changed directly in the ability itself. I do that because I consider more comfortable to edit those values in the object editor field and ensuring that you use a correct path always (I've took that style from blade.dk spell tutorial actually, and I consider it fine).
Quote:
Expand JASS:
Whoa, man, what are you doing? Go look at how I re-index things in Shrapnade, all of this looping stuff is horrendously inefficient. You could be saving all of these loops and everything. Simply put the ith indexed entry where this' indexed entry is upon removal. Easy, man. :p
This procedure can be anything except inefficient. All the caster abilities used in PoC use this method and believe me it works very smoothly. The code could look overweighted, but it was done in this way because the index when are recycled, they can be recalled and the order is not kept.

Quote:
Collapse JASS:
    private method onDestroy takes nothing returns nothing
        call ForGroup(.Units, function Data.Release)
        call RemoveUnit(.dummy)
        set .caster = null
        set .dummy = null
        call GroupClear(.Units)
        call .RemoveIndex()
    endmethod
The caster/dummy vars are re-used globals in arrays, they don't need to be nulled if you properly clean up the rest of it. (Which you do)
I do that just for "a good coding practice", something that I've learned from Blu.

Quote:
Collapse JASS:
        call DestroyEffect(AddSpecialEffectTarget(BloodFX, GetEnumUnit(), "chest"))
Needs to be configurable where to attach the effects.
Ok.

Quote:
Collapse JASS:
    if IsUnitInRangeXY(GetEnumUnit(), GetUnitX(D.dummy) + Radius * D.cos, GetUnitY(D.dummy) + Radius * D.sin, Radius) and not IsUnitInGroup(GetEnumUnit(), D.Units) then
This function internally uses distance math to return true or false, just do a (x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)<= MaxDist*MaxDist mathematical check and save yourself that trouble. Also, don't be afraid to use local real variables, makes your code loads easier to read.
Hmmm, it seems you don't get why I use this function, it's not to measure distance, it's to get the units in front of the spear that has not been hit by any other spear...

Quote:
I'm not a big fan of the loop/search method to get the desired index of an array, there are cleaner ways of handling it. I won't be picky about it, though, since it won't be an issue until we're talking more than 30 or so instances at once.
The loop/search method that I use has been proved with more than 30 units (110 actually) and believe me, I haven't had any issue, so don't worry for it, it simply works.

Last edited by moyack : 04-19-2008 at 12:29 AM.
moyack is offline   Reply With Quote
Old 04-19-2008, 01:05 AM   #27
Rising_Dusk
Obscurity, the Art


Projects Director
Project Leader: OD
 
Join Date: Feb 2006
Posts: 9,729

Submissions (27)

Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)

Hero Contest #3 - 1st PlaceApproved Map: Desert of ExileApproved Map: Advent of the ZenithHero Contest #2 - 1st PlaceHero Contest - Third place>

Send a message via AIM to Rising_Dusk Send a message via MSN to Rising_Dusk
Default

Quote:
Originally Posted by moyack
Well.... actually I used True shot aura just as an example, but as I did in the test map, I added the same spell but with an ability based on Berkerk, in order to show that this rawcode can be changed by the one that it's required.
People importing the spell will think the buff is spell-critical when it clearly isn't. For the passive submitted version of the spell you shouldn't require it and should eliminate it as it's superfluous.

Quote:
Originally Posted by moyack
The loop/search method that I use has been proved with more than 30 units (110 actually) and believe me, I haven't had any issue, so don't worry for it, it simply works.
Even if it works 'smoothly' in a map, that in no way makes it good practice. Don't preach 'good coding practice' to me and then turn around and use terrible coding practice in your own work. You're going about coding this whole spell in a very impractical way and your code's lack of readability reflects that.

A) Run a single timer and loop through all instances of the spear in the timer.
B) Because you loop through all instances in that single timer, you already know the index, so no searching for it is necessary.
C) Do all of the movement for the group associated to each spear, the movement of the spear, and so forth in one function callback.
D) Reap the benefits of a clean spell code.

That's ALL you need and it is not only less code, it's less confusing and faster since it skips all of that unnecessary array searching. There is zero reason why you would not want to do it this way other than being too lazy to do it.

Quote:
Originally Posted by moyack
Hmmm, it seems you don't get why I use this function, it's not to measure distance, it's to get the units in front of the spear that has not been hit by any other spear...
I was only referring to the "IsUnitInRange" call, no other part of that line. That should be fixed to use direct math to see if the unit is in range since the function does it internally anyways but with a square root. Square root is a very computationally heavy function and should always be avoided in distance comparisons.

Quote:
Originally Posted by moyack
With the actual version there's no problem, but in future versions it would happen, just consider it as a good programming practice.
I don't see how you can even claim it as good or poor programming practice. It's an integer whether you call it a struct by some jasshelper interface or not.
__________________
Rising_Dusk is offline   Reply With Quote
Old 04-19-2008, 02:06 AM   #28
Vexorian
Free Software Terrorist
 
Vexorian's Avatar


Technical Director
 
Join Date: Apr 2003
Posts: 14,898

Submissions (37)

Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)

Hero Contest #3 - 2nd Place

Default

Quote:
Originally Posted by Rising_Dusk
Most of my already submitted spells won't compile in the new jasshelper then. :/
You should at least give the option of typecasting back and forth without the integer() or data() requirement.
I can assure you, you'll have enough time to fix them before that version comes.
__________________
Zoom (requires log in)Wc3 map optimizer 5.0
Someone should fix .wav sound in this thing.
Zoom (requires log in)JassHelper 0.A.2.A
Turns your simple code into something that is complicated enough to work.
Faster != more useful
Vexorian is offline   Reply With Quote
Old 04-19-2008, 02:15 AM   #29
Rising_Dusk
Obscurity, the Art


Projects Director
Project Leader: OD
 
Join Date: Feb 2006
Posts: 9,729

Submissions (27)

Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)

Hero Contest #3 - 1st PlaceApproved Map: Desert of ExileApproved Map: Advent of the ZenithHero Contest #2 - 1st PlaceHero Contest - Third place>

Send a message via AIM to Rising_Dusk Send a message via MSN to Rising_Dusk
Default

I'll just conveniently forget to download that version when it gets released and only update spells if someone complains. :p
__________________
Rising_Dusk is offline   Reply With Quote
Old 04-19-2008, 02:17 AM   #30
moyack
Evil Emoticon
 
moyack's Avatar


Respected User
Project Leader: PoC
 
Join Date: Jan 2006
Posts: 3,279

Submissions (17)

moyack is a splendid one to behold (666)moyack is a splendid one to behold (666)moyack is a splendid one to behold (666)moyack is a splendid one to behold (666)

AI Tournament #2 - 2nd PlaceHero Contest - Second place

Send a message via MSN to moyack
Default

Quote:
Originally Posted by Rising_Dusk
People importing the spell will think the buff is spell-critical when it clearly isn't. For the passive submitted version of the spell you shouldn't require it and should eliminate it as it's superfluous.
Didn't I mention I was going to fix it???.... hmmm.... my bad!!! I forgot... don't worry, I'll fix the variable comment.


Quote:
Even if it works 'smoothly' in a map, that in no way makes it good practice. Don't preach 'good coding practice' to me and then turn around and use terrible coding practice in your own work. You're going about coding this whole spell in a very impractical way and your code's lack of readability reflects that.

A) Run a single timer and loop through all instances of the spear in the timer.
B) Because you loop through all instances in that single timer, you already know the index, so no searching for it is necessary.
C) Do all of the movement for the group associated to each spear, the movement of the spear, and so forth in one function callback.
D) Reap the benefits of a clean spell code.
This has nothing to do with good practice or bad practice, it works for me the spell works fine (unless you can prove me I'm wrong) then you should worry about that.

Checking your list...
A) Run a single timer and loop through all instances of the spear in the timer. Ok, done.
B) Because you loop through all instances in that single timer, you already know the index, so no searching for it is necessary. Yes, I do know the indexes, but not their order, and which ones are active.
C) Do all of the movement for the group associated to each spear, the movement of the spear, and so forth in one function callback. Ok, done.
D) Reap the benefits of a clean spell code.It's a matter of taste actually, for me it's fine.

Quote:
I was only referring to the "IsUnitInRange" call, no other part of that line. That should be fixed to use direct math to see if the unit is in range since the function does it internally anyways but with a square root. Square root is a very computationally heavy function and should always be avoided in distance comparisons.
Is it Is UnitInRange a heavy function??? well... I didn't know it!!! well, I have to see how faster it will be my spell when I set that function...


Quote:
I don't see how you can even claim it as good or poor programming practice. It's an integer whether you call it a struct by some jasshelper interface or not.
Man.... don't argue that with me, argue it with Vex, probably with the current version of JassHelper there's no problems, but in later version your spells could generate syntax error for that, so just get used to it.
moyack is offline   Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off


All times are GMT. The time now is 08:16 AM.


Affiliates
The Hubb The JASS Vault Clan WEnW Campaign Creations Clan CBS GamesModding Flixreel Videos

Powered by vBulletin (Copyright ©2000 - 2019, Jelsoft Enterprises Ltd).
Hosted by www.OICcam.com
IT Support and Services provided by Executive IT Services