- Table of contents -To find what you're looking for, hit ctrl+F then type the code next to the name of the section.
BEFORE STARTING [0000]
Latest version of PSA [0010]
Additional information to run PSA [0020]
SUBACTIONS [1000]
Loops [1010]
Timers [1020]
Variables [1030]
EVENT LIST: MAIN [1100]
Body Collision [1110]
Terminate Collisions [1120]
Allow Interrupt [1130]
Generate Article [1140]
Move Character [1150]
Rumble [1160]
Offensive Collision [1170]
-Bone/Id [1171]
-Damage [1172]
-Direction [1173]
-Shield Damage / Knockback Growth [1174]
-Base Knockback [1175]
-Size [1176]
-Offsets [1177]
-Tripping Rate [1178]
-Hitlag Multiplier [1179]
-Directional Influence Multiplier [117A]
-Flags values [117B]
EVENT LIST: GFX [1200]
Graphic Effects [1210]
External Graphic Effects[1220]
Flash Overlay Effects [1230]
Flash Light Effects [1240]
Terminate Flash Effect [1250]
EVENT LIST: SFX [1300]
SPECIALS [2000]
If [2010]
If Button Pressed [2011]
If bit is set: RA-Bit[ # ] [2020]
Change Action [2030]
Change SubAction [2040]
Pass Frame [2041]
Additionnal Requirement [2042]
----------------------------------------------------------------
[0000]Here you will always find the newest release of Smash Attacks, as well as the files and the information you need to get started.
[0010]Smash Attacks v0.2.1 BetaUpdated PSA data (Attributes, Events found by various people)v0.2.1:
- Fixes Floating point conversion bugs
- Fixes BKG/KGB switch bug
v0.2:
---Enhancements---
-Automatic floating point and Scalar conversion to decimal.
-Full Grid view of Attributes.
-Full modification and adding of subroutines. (subroutines not generated by PSA are limited in what can be modified)
-Removed the option to delete the contents of a subroutine call to prevent further errors.
-Number of jumps added to attribute dictionary.
---Bug Fixes---
-Variable type selection bug.
-Invalid parameter type bug.
-Offensive Collision BKB and BKG swap bug.
-External Graphic File# and Graphic Id swap bug.
[0020]NTSC users will need to download these character pacs:
http://www.mediafire.com/file/ttdzjrlj1rzPAL has different SFX IDs than NTSC.
I compiled a rip with all PAL pacs, get it here:
http://www.mediafire.com/?zgtwmw2e4wmYou also need .NET Framework 3.5, or you won't be able to open any files. Get it here:
http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en(the following infos are from me, Dragonrage, Plasmakirby, PhantomWings, Wander, just2good, cookieMONster, paprika killer, Magus420, and kdr4485)
SUBACTIONS[100]In this part I'll be listing all the values used in Sub Action that I can find.
I will also put all the information I can that talk about Sub Actions.
This is what a Sub Action can look like:

What does all this text mean? Scroll down and find out.
[1010]You can use Loops pretty much everywhere, so I'll just put this here instead of in a category.
Set Loop:Sets a loop for X times. The loop will be infinite if you put FFFFFFFF as the value.
Loop Rest:This must be inside the Set Loop, or it will make the game crash.
Execute Loop:Executes the previously set loop.
Timers:[1020]Since PSA 0.2 Beta, we know what the two Timers are:
Asynchronus Timer: starts counting from the beginning of the animation
Synchronus Timer: starts counting when the previous event is done
example:
Asynchronus Timer: frames=4
Offensive Collision
Synchronus Timer: frames=2
Terminate Collisions
The hitbox will appear 4 frames after the beginning of the animation, then will disappear 2 frames after.
Brawl runs at 60fps, so 1 frame = 1/60 second.
(I didn't put this in any specific event list, since they can be used in any of them.)
Variables[1030]They can be used about anywhere. UMOP explained them very well in a post:
Variables are a way of holding information, so you can use them later. There are many different types of variables, each designed to store different things. An integer variable (basic in PSA) only holds whole numbers, like 1, 243, or -6. A float variable is for storing numbers with decimal places, like 2.5, 15839.243, or -0.23. A boolean variable, or bit variable, only has two options: yes or no, true or false, set or not set. There are other types, but PSA doesn't really use them.
In addition to what they can hold, which is called the variable's class, there is another property that affects how a variable works called its scope. The scope is how long the variable lasts. In the case of PSA, there are only 3 different scopes, and only two should be used. They are the internal constant (IC), the runtime longterm (LA), and random access (RA). You shouldn't mess with the IC variables, they do important things, and messing those up results in freezing a lot. The difference between the other two is that LA variables keep their value until you change them manually, whereas RA variables reset themselves once they're done being used. Use RA variables when the variable is only used for that move, and if the variable is changed in one move and used in another, use a LA variable. You should also watch out, because some of the variables are already used by the characters, and changing them can mess things up.
1- Main[1100]
This event list is used for collision boxes, hit effects and knockback.
Body Collision:[1110]This sets how the character's own hitboxes act. 00 = normal, 01 = invincible, 02 = intangible.
-normal is how the character normally acts, meaning taking a hit when someone hits him
-invincible is not actual invincible, you take hits as normal, but recieve 0 damage.
-intangible is true invincibility, no taking hits nor damage.
keep in mind that the character will stay in the specified state until explicitly set to
another, so don't forget to reset afterward.
Terminate Collisions:[1120]No parameters needed. It stops all the previous Collisions in the move. Important to not forget this command or it will crash.
Allow Interrupt:[1130]As soon as this command is triggered, you can interrupt the current action with any other.
Generate Article:[1140]This event will generate the chosen article. Articles are props, such as Mario's fireball, each character has props for themselves. This means falco can only use his props, he cannot use Mario's fireball. For a list of all the articles,
click hereMove Character (Not officially named yet):[1150]This event it used to make a character go up or down, just like Toon Link's D-air or Lucario's D-air.
To add this, add an event, open it, and change the number (next to cancel) to 0E080400.
Parameter 1: (Scalar) horizontal velocity (positive=forward, negative=backward)
Parameter 2: (Scalar) vertical velocity (positive=up, negative=down)
Parameter 3: (Scalar) 0
Parameter 4: (Value) 1
examples:
Toon Link's D-air: Parameter 2 = -4 (goes down very fast)
Lucario's D-air: Parameter 2 = 0.3 (he goes up just a little, so it makes him stay in place)
Rumble (Not officially named yet): [1160]Controls the rumble on your controller.
To add this, add an event, open it, and change the number (next to cancel) to 07070200.
Parameter 0 - Controls how big the rumble is.
Parameter 1 - Controls how long the rumble will last.
Offensive Collision: [1170]This creates a hitbox (collision bubble) with specified parameters.
The parameters are in blue:
Bone/Id:[1171]-bone: what part of the characters body the relative position of the hitbox should be tied
to. If for example you tied the hitbox to a sword, it would follow it's track during it's
swing. To know which bone is which, take a look at other attacks, or trial and error.
-ID: You need to put the first Offensive Collision's ID to 0. If you put more than one Offensive collision in a row, then you need to name them in order: ID=0, ID=1, ID=2... until there's a "terminate collision". If you have another Offensive Collision after a Terminate Collision, go back to 0.
Damage:[1172]How much damage this hitbox does upon connection.
Direction:[1173]When you create an Offensive Collision event, you can also change the angle of the attack.
Here's some examples:
Angle - Hex Value
0 - 0
45 - 2D
90 - 5A
135 - 87
180 - B4
225 - E1
270 - 10E (straight down, for spikes)
315 - 13B
361 - 169 (the Sakurai angle / tripping attacks mostly seem to use this value)
(list by Wander on smashboards)
If you want another angle, use this picture and convert the number in Hex with the Windows calculator.
Shield Damage / Knockback Growth:[1174]XXXXYYYY:
XXXX is the value for Shield Damage modifier (Most attacks have 0)
YYYY is the value for Knockback Growth (The distance added proportionally to the target's damage)
Base Knockback:[1175]The distance the target is launched regardless of their damage.
Size:[1176]How large the hitbox bubble is. Remember it's a bubble, so it's a sphere.
Offsets:[1177]-Z offset. how the hitbox is moved in the Z plane compared to the bone the bubble it is set to. (Z offset is useless since Brawl is played in the 2D plane.)
-Y offset. see Z offset, in this case the Y plane, or vertical.
-X offset. See Z offset, in this case the X plane, or horizontal.
Tripping Rate:[1178]The default/average is 0. It's the percent possibility to make your opponent trip when hit by the hitbox.
Hitlag Multiplier:[1179]The default/average here is 1. A multiplier affecting the time in which both characters pause when the collision bubble connects. As an example, Wolf's f-tilt has a hitlag multiplier of x3.
Directional Influence Multiplier:[117A]The default/average here is 1. A multiplier affecting the ability for the character to maneuver themselves while suffering from the hitlag generated by this collision bubble. As an example, Wolf's f-tilt has a Directional Influence multiplier of x0.
Flags values:[117B]BETTER, UPDATED INFORMATION:
http://www.smashboards.com/showthread.php?t=286748When you create an Offensive Collision event, you can change the kind of hit it is by changing the "flags".
The "Flags" value has 8 digits.
I only know what the last 2 digits do:
00 - hit
01 - none
02 - slash
03 - electricity
04 - Ice
05 - Flame
06 - Coin
07 - Cape
08 - Slip
09 - Sleep
0A - none
0B - impale (like DK's side B)
0C - Stun
0E - Flower
0F - none
10 - none
11 - slash 2
12 - hit 2
13 - Darkness
14 - Stun (more like hitlag)
15 - Aura (unfortunately the Aura effect doesn't make all characters get stronger with more damage.)
16 - Impale 2
17 - Down
18 - No Flinch
(list by PhantomWings)
/!\ If the Flags already is 39030280 and you want to add fire to it, it would become 39030285. If you wanted to add Darkness instead, it would become 39030293, because 80 + 13 = 93.
If the Flags was 39030283 and you want an Ice (04) effect on it, it would become 39030284, not 39030287.
/!\If you know what the rest of the Flags do, please post here.
2- GFX[1200]
This event list is used for graphic effects.
Graphic Effects[1210]
Graphic effects that can be used by any character.
To use those, add a "Graphic effect" event (
use the one below Screen Tint, because offsets are messed up with other "Graphic Effects") in the GFX section of a Sub Action. Double-click on it, then change the "graphic" value to one of the following. You can also rotate the effect and give it an offset.
Here's the list of Graphic Effects:
http://www.mediafire.com/view/6p65bikqa5qrgvc/External_GFX_IDs.txtExternal Graphic Effects[1220]Similar to Graphic Effects. However, those are effects from the ef_<character> file that can be used only by the character, or if that specific character is into the Brawl.
(If you want a Mario External Graphic Effect on Pikachu, it won't work except if Mario is in the match too)
If you want things to go faster, you can open the temp9 file in a hex editor after opening a .pac in PSA. scroll down a bit and you should see a list of the names of each graphic effect for that character's ef_<character> file. (in order from 0 up)
You also may want to note that File# and GraphicId are switched around when they're shown in the event viewer.
Flash Overlay Effects[1230]Generates a flash overlay effect over the character.
Use the Red Green and Blue parameters to change the overlay color, and the Alpha parameter for opacity.
Flash Light Effects[1240]Same thing as Flash Overlay Effect, except there is also angle values.
Terminate Flash Effect:[1250]No parameters needed. It stops the current Flash effect. I guess that the Flash effect will stay there if you don't use this command.
3- SFX[1300]
This event list is used for sound effects.
I'll try to add more info on that later.
Here's a list of all the common SFX for NTSC courtesy of StarWaffle and Albafika:
SPECIALS [2000]In this part I will put all the information I can that talks about Specials, to help everyone to understand.
This is what a Special can look like:

What does all this text mean? Scroll down and find out.
If: [2010]Starts an If block until an Else or an EndIf is reached.
There is 3 "If" events in the list.
The 1st one only has 1 requirement.
The 2nd one also has a variable requirement. (You can use this one for "Button pressed" requirements)
The 3rd one is like the 2nd one but with a comparison method.
If Button Pressed: [2011]When you make an "if" event, you can set the requirement to one of those (and more):
-Button Press
-Button Release
-Button Pressed
-Button not Pressed
To use one of those, we need to set which button you're talking about. First, be sure that the "If" you selected is the 2nd one on the event list. Then, change the "variable" to one of the following:
00 = A (normal attack button)
01 = B (special attack button)
02 = X, Y (jump buttons)
03 = R, L, Z (shield buttons)
04 = R, L, Z
05 = ? (Couldn't trigger this one)
06 = Dpad UP
07 = Dpad DOWN
08 = Dpad RIGHT, Dpad LEFT
09 = Dpad LEFT
0A = Dpad RIGHT
0B = B, X, Dpad RIGHT, Dpad LEFT
0C = Y, X , Dpad UP, Dpad RIGHT
0D = B, Y, X , Dpad UP, Dpad RIGHT, Dpad LEFT
0E = A+B (Both pressed together)
0F = C-Stick (Any Direction)
10 = With a value of "10," the IF statement triggered everytime, regardless of inputting any button...or not pressing anything at all.
11 = ? (Couldn't trigger this one)
12 = ? (Couldn't trigger this one)
(thanks to kdr4485)
If bit is set: RA-Bit[ # ]: [2020]This is used for conditions related to variables. Go to [1030] for more information.
Change Action: [2030]Changes the current Action to the one selected once the requirement is met. To know which Action is which, there's a list of almost all the Actions
here.
There is 4 "Change Action" events in the list, all with different parameters in it. (I'd recommend using the 2nd one, but the other ones are fine too)
Change SubAction [2040]Changes the current SubAction to the one selected. To know which SubAction is which, just go in the SubAction tab.
There is 2 "Change SubAction" events in the list.
The 1st one is normal.
The 2nd one has a "Pass frame" parameter in it.
Pass Frame: [2041]As I just said, when you add the second "Change SubAction" event, you will find a "Pass Frame" parameter in it.
Pass Frame simply passes the frame that the current animation is on over to the new animation.
So if you have an air animation that is at frame 14 and you suddenly land on the ground, then the ground animation will start at frame 14 to make for a smooth landing transition.
Additionnal Requirement: [2042]Use this to add another requirement to a "Change Action" or "Change SubAction" event.
There is 3 "Additionnal Requirement" events in the list.
The 1st one only has a requirement.
The 2nd one adds a variable to the requirement. (You can use this one for "Button pressed" requirements)
The 3rd one is like the 2nd one but with a comparison method.
I don't have a lot of experience with Specials yet, so if you know more, please post here.