This site didn't have a wac list so I decided to post it..
If anyone knows any other commands other than what's below please post them.
;# immediate decimal number
;anim_move immediate equate from ADM file
;ammo_name immediate ammo name (ex. ammo2tgt ammo_rocket 1)
;fx_fxname immediate effect name (ex. fxrain fx_effect_lightning)
;effect_name immediate effect name (ex. fxrain effect_lightning)
;SS_SoundSet immediate soundset name
;sSoundSet immediate soundset name (alternate syntax)
;face_name immediate face name (ex. ssnface 45 face_happy)
;V# V0 to v511 game variables, cleared at start of mission
;G# G0 to vG11 global variables, not cleared during link
;M# Music Script Variable
;result current return/accumulator value (mostly for debug)
;ticks number of seconds into game
;GameOver true is game is over
;Win true if blue team won
;Lose true if red team won
;wind used by SWING, FLICKER, and particle wind2
;health player's health/hp value
;mana player's mana
;neartype the type of the nearest enemy (from items.def dialog)
;neardist the distance to the nearest organic
;nearmove the anim move of the nearest organic (setable)
;nearid the unique dcb/id of the nearest organic
;neartid the id of the organic's target or 0 if no target
;nearblind
;nearflying
;nearguard
;nearSSN
;nearWP
;nearGroup
;nearHP
;deadDist the nearest corpse info
;DdeadType
;ddeadSSN
;DdeadMove
;DdeadGroup
;bbadDist the nearest badguy info (team 2)
;bbadType
;bbadSSN
;bbadMove
;bbadGroup
;---TRIGGERS (# param can be number or variable)
;never() true if current IF has never fired, for one time only events
;elapse(#) true if past # seconds since current IF activated
;
;-IF Link (these commands fire once only for every fire of linked IF)
;previous true if previous IF fired
;chain(#) true if previous IF fired # seconds ago
;link(#1,#2) true if IF #1 away from current IF fired #2 seconds ago
;
;-Game Time (seconds of WAC script running)
;past(#) true if past # seconds into game, keeps firing after #
;before(#) true if before # seconds into game. keeps firing before #
;ontick(#) true if ontick #, only fires once
;
;random(#) randomly true 1 in # times, sets RND for additional tests
;location(#) true if you are at that music location
;area(#) true if within MED area without checking vertical
;area3D(#) true if within MED 3D area
;outside() true if you are not in a blink box
;waveready() true if no talking going on
;groupdead(#) true if entire group is dead
;groupalive(#) true if anyone in group is alive
;ssnwounded(#) true if ssn is wounded
;ssndead(#) true if ssn is dead
;ssnalive(#) true if ssn is alive
;ssnride(#) true if any organic is standing on SSN
;ssnridessn true if organic SSN is standing on SSN (order not important)
;meride(#) true if player is standing on SSN
;ssngun(#) true if SSN is using an emplaced weapon
;ssnloc(#,#) true if vehicle or person is in music location
;ssnarea(#,#) true if vehicle or person is in 2D med area #
;ssnarea3D(#,#) true if vehicle or person is in 3D med area #
;dooropen(#) true if group # has door open
;event(#) true if med event has triggered
;squadevent(#) true if squad event is in que, sets squadSSN to talker
;
;---VARIABLE COMPARE
;eq(#,#) true if #==#
;ne(#,#) true if #!=#
;lt(#,#) true if #<#
;gt(#,#) true if #>#
;le(#,#) true if #<=#
;ge(#,#) true if #>=#
;true(#) true if #!=0
;false(#) true if #==0
;
;---VARIABLE MODIFY
;set(var,#) set var to #
;add(var,#) add # to var
;sub(var,#) subtract # from var, clamp at 0
;inc(var) add 1 to var
;dec(var) subtract 1 from var, clamp at 0
;---EVENTS (# param can be number or variable)
;squadclear clears squadevent selected by squadevent(#)
;forceanim(anim) forces all organics into anim slot (debug only)
;report("text") pop-up debug report window
;report#("text",#) pop-up debug report window with number
;text("text") output text to chat - right side
;text#("text",#) output text to chat w/# - right side
;consol("text") output text to consol - left side
;consol#("text",#) output text to consol w/# - left side
;
;flash produce a flash of lightning & thunder
;farflash produce a far away flash of lightning & thunder
;quake(#) earthquake for # 10th of a seconds
;
;colorfade(#) seconds for color to transition (zero is normal)
;sun(#,#,#) sets sun rgb ENV override
;sky(#,#,#) sets sky rgb
;ground(#,#,#) sets ground rgb
;ceiling(#,#,#) sets ceiling rgb
;floor(#,#,#) sets floor rgb (inside ground)
;lightning(#,#,#) sets the color of the lightning
;cloud(#,#,#) sets the cloud color
;gain(#,#,#) sets the brightness of the whole scene
;
;fogcolor(#,#,#) set fogcolor to R,G,B, changes at color fade rate
;fog(#,#,#) same as fogcolor
;skyfogcolor(#,#,#) set skyfogcolor to R,G,B
;skyfog(#,#,#) same as skyfogcolor
;fogtype(#) set fog type 0=fog, 1=haze, 2=haze wall, 3=fog wall
;fogdist(#) sets fogdist to # meters
;movefog(#,#) move fogdist to # meters over # seconds
;skyspeed(#) sets the sky movement speed
;skyheight(#) sets the height of the sky
;
;sound(sSSNAME, dist, head) plays soundset at distance(meters) and heading(bangle)
;
;nearwave("wave.wav", dist) plays wave file from the mouth of the nearest enemy with max dist to be heard
;nearanim(anim_move) sets the nearest enemy to ADM move slot
;SSNwave(ssn, "wave.wav", dist) plays wave file from the mouth of the ssn with max dist to be heard
;SSNanim(ssn, anim_move) sets the ssn to ADM move slot
;SSNradio(ssn, "wave.wav") sets the ssn to talk on radio
;
;SSNmax(ssn, maxengage) set max engage distance
;SSNmin(ssn, minengage) set min engage distance
;SSNatt(ssn, maxattack) set max attack distance
;SSNSpawn(ssn, spawn count) set the spawn count, 0=don't respawn
;GroupMax(group, maxengage) set max engage distance
;GroupMin(group, minengage) set min engage distance
;GroupAtt(group, maxattack) set max attack distance
;GroupSpawn(group, spawn count) set the spawn count, 0=don't respawn
;remove(grp) remove group # without a trace
;kill(grp) kill group #
;removeSSN(ssn) remove SSN # without a trace
;killSSN(ssn) kill SSN #
;teleport(grp,tgt) teleport group # to target #
;telessn(ssn, tgt) teleport SSN # to target #
;targetfx(tgt) create med particle fx at target #
;sound2tgt(ss,tgt) create ssoundset at target # (ex. sound2tgt sSoundSet 1)
;ss2ssn(ss,ssn) create ssoundset at center of ssn
;ammo2tgt(ammo,tgt) create ammo # at target # (ex. ammo2tgt ammo_rocket 1)
;fx2tgt(fx,tgt) create fx # at target # (ex. fx2tgt effect_lightning 1)
;opendoors(group) open doors in group #
;closedoors(group) close doors in group #
;SSNtoWP(ssn, wp) redirect SSN to WP list
;GtoWP(group, wp) redirect Group to WP list
;ammorain(ammo) rain down ammo # somewhere near player
;ammoarea(ammo, area) rain down ammo # somewhere inside area #
;fxrain(fx) rain down effect # somewhere near player
;ssncspd(ssn,speed) set ssn to combat speed of #
;ssnpspd(ssn,speed) set ssn to patrol speed of #
;ssnuse(ssn) snap ssn to emplaced weapon if within 3 meters
;ssnrelease(ssn) remove ssn from emplaced weapon
;ssn2ssn(ssn, ssn) have ssn goto ssn and try to snap to emplaced
;ssnface(ssn, face) set face expression of ssn
;ssnguard(ssn, #) set ssn to guard 1=ON, 0=Off
;ssnturn(ssn, heading) turn ssn to heading 0-360.....etc etc
==In the event of a nuclear winter don’t eat the snow…==
The problem with posting the raw .wac header like this is that it's not a complete .wac tutorial, it's just a convenient set of notes to aid the
memory of the already .wac-savvy. A lot of the commands and triggers mentioned here either don't work in DFBHD or only work under very specific
circumstances. Others like sunfade and seatbelt are missing. The random action requires a careful setup to work. And boy-howdy, are mission variables
hard to understand, but so useful in skilled hands.
The real killer is that a complete tutorial for newbs would take a lot of time and patience to write...
if you can sample me, its a map using these files, I would be grateful, I have not seen an example: ss2ssn, sound, sound2tgt ... and others who use
soundset
I usually create a second channel of sound (music / soundtrack) using (LWF / DBF), and use the WAC for simple waves, if the WAC can play a soundset
without interrupting a wav, and also the opposite, it will be very good!
if anyone else has a map that uses "soundset" with wac (BHD, JointOps, DFX), please leave me a link, so I can see an example! Thanks!
Posts: 486
Registered: 20-2-09
Location: Texas, U.S.A.
Member Is Offline
Mood: Not enough hours in a day
posted on 25-3-11 at 15:33
If it works in BHD, then there's a good chance that it will work in JO, too.
Basically, what the .WAC allows you to do is the soundsets defined in the .LWF's per instance of the command.
The WAV command itself should be :
Luis-S had listed several of the soundsets, not the command. An example of using one of them in the .WAC would be:
Lo ciento, Rickman, no hablo espanol bueno.
Time is not my enemy, although we do have many disagreements...
Luis-S
Private
Posts: 72
Registered: 15-1-11
Location: Brazil
Member Is Offline
Mood: Happy
posted on 26-3-11 at 00:11
Or you can use the:
ss2ssn command.
like this:
if past(2) and never then
ss2ssn(ss_gs_rpg,10000)
endif
That will create a rpg shoot sound in the player..
(P.S: that language is portuguese lol)
:: :: ::
RickmanBR
Private
Posts: 41
Registered: 27-4-09
Location: Brazil-Rio de Janeiro
Member Is Offline
Mood: Hopeful
posted on 26-3-11 at 08:55
THX
Thank you both! Luis-S & ShadowZ!, I've discovered the process, I was curious as to the source files if they were inside "PFF" or "SBF", I was
wondering if we could create custom soundsets, the same way custom waves, but it does not matter anymore! what matters is what works in JontOps and I
found a longer list for soundsets it in, when I list all I put here! Thanks again friends!