need suggestions for attachment system

Doom-Angel

Jass User (Just started using NewGen)
Reaction score
167
well i finnaly wanna start learn how to use attachment system and i thought i should start with an easy to learn attachment system (even if it's old and unused anymore) so can anyone tell me which is the easiest to learn for a noob like me who never touched attachment systems? :rolleyes:
 

Rheias

New Helper (I got over 2000 posts)
Reaction score
232
Attachment system as in handle attachment system? The easiest to use is Kattana's, after that ABC I would say. Just start straight with ABC though, using Kattan's system now days is no less than a sin.
 

Doom-Angel

Jass User (Just started using NewGen)
Reaction score
167
well if you say kattana's i shall try that afterwards i will go on to ABC sooner or later i will try to learn them all....
 

Doom-Angel

Jass User (Just started using NewGen)
Reaction score
167
i currently only need easy to learn if you got any easier than kattane's handle tell me
 

Arkan

Nobody rides for free
Reaction score
92
Here's a typical spell that uses a periodic timer to perform actions, using CSData and structs:

JASS:
function Trig_Knives_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == 'A01S'
endfunction

struct knivesdata
    player p
    unit caster
    real dmg
    real angle
    integer c
endstruct

function some_timer takes nothing returns nothing
local knivesdata dat = GetCSData(GetExpiredTimer())

if dat.c > 0 then
    //actions
    set dat.c = dat.c - 1
else
    call dat.destroy()
    call ReleaseTimer(GetExpiredTimer())
endif

endfunction

function Trig_Knives_Actions takes nothing returns nothing
local unit caster = GetTriggerUnit()
local timer t = NewTimer()
local knivesdata dat = knivesdata.create()

set dat.caster = caster
set dat.p = GetOwningPlayer(caster)
set dat.dmg = 100
set dat.c = 45
set dat.angle = GetUnitFacing(caster)
call SetCSData(t,dat)

call TimerStart(t,0.02,true,function some_timer)

set caster = null
endfunction

//===========================================================================
function InitTrig_Knives takes nothing returns nothing
    set gg_trg_Knives = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Knives, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_Knives, Condition( function Trig_Knives_Conditions ) )
    call TriggerAddAction( gg_trg_Knives, function Trig_Knives_Actions )
endfunction
 

Doom-Angel

Jass User (Just started using NewGen)
Reaction score
167
just a question:
does all the attachment systems require NewJassGen?
cause i don't know how to use it.... (please don't bash me :p)
 

Rheias

New Helper (I got over 2000 posts)
Reaction score
232
Kattana's doesn't. But it's slow and unsafe, I don't suggest using it.
As for not knowing how to use vJass, learn! Also, most attaching system only require vJass, but they don't force you to know to it. You can do well enough with regular Jass knowledge, for some of the attaching systems.
 
Reaction score
333
I'm fairly sure CSData doesn't need vJass. You should get NewGen anyway, anything that works in normal WE works in NewGen so you won't have to learn anything you don't want to.
 

Rheias

New Helper (I got over 2000 posts)
Reaction score
232
You get NewGen pack here (It's a sticky, look up there from time to time :p ). As for learning it, when you download NewGen you also get a very detailed Read Me, everything you need to know is there.
Finally, there are lots of tutorials around, feel free to check them out. :)
 

Doom-Angel

Jass User (Just started using NewGen)
Reaction score
167
i already have new gen but i dunno what to do in there and how to use it
 

N-a-z-g-u-l

New Member
Reaction score
30
i dont use newGen, and use attachments, and dont use gamecaches... so that way might interest you ;)

http://www.wc3jass.com/viewtopic.php?p=9040#9040

( it also comes with an example in the description, i personally use that one, made by me :p )

EDIT: The example uses the global timer variable directly, so you dont need to set a local timer to null, which can cause errors... but you can also use local timers, but then not nullify them
 

Doom-Angel

Jass User (Just started using NewGen)
Reaction score
167
it seems complicated i need something easy to learn.....

Edit: 2000 Posts! :D
 

Vexorian

Why no custom sig?
Reaction score
187
it seems complicated i need something easy to learn.....

Edit: 2000 Posts! :D

You don't have to learn the whole vJass manual to learn structs... You just need some basic stuff, you should start with tutorials, really: http://www.wc3campaigns.net/showthread.php?t=91491

If this was my call I would stay away from N-a-z-g-u-l's system. For one it is meant just for timers, and it uses a hash table for them. The ironic part of it is that if there is something that doesn't require you to attach things to is the timer object...
 

Doom-Angel

Jass User (Just started using NewGen)
Reaction score
167
thanks for the link vexorian but:
vJass for spell makers (Moving from handle vars to structs)
i never used handle vars is it optional for me to learn from this tutorial?
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top