Kitty Corp Meow Mix Forums

Help & Tutorials => A/A Tutorials => Topic started by: KingJigglypuff on April 02, 2018, 11:53:07 AM



Title: [Novice] Character-Specific PSA Coding
Post by: KingJigglypuff on April 02, 2018, 11:53:07 AM
This guide is an updated revision to Leon Exodio's video tutorial (https://youtu.be/O-Rv-Lgs9B8).

This isn't much of a tutorial, but rather an explanation of how the process works, alongside its limitations.

The requirement is listed as "Turning With Item" in PSA and BrawlBox, but with PSA Compressor, it's unlabeled as Requirement 2724.

Here's a general template on how to have Character-Specific PSA coding.
Quote
If 2724: *Fighter's Slot ID (Value)*
    *Alternate Coding*
Else
    *Regular Coding*
EndIf
What this bit of coding will do is check to see which Fighter is in the match with your Fighter based on their Slot ID. You can use the image below as a reference of which Slot IDs each Fighter uses.
Note: If using Project M (or any build based off it), replace Petey Piranha with Roy and Rayquaza with Mewtwo.
(https://cdn.discordapp.com/attachments/277917214043144192/338681779278053376/Fighter_Chart.png) (https://cdn.discordapp.com/attachments/277917214043144192/338681779278053376/Fighter_Chart.png)
The requirement also works with Expansion Slot IDs (BrawlEx/PMEx required).

To make explanation easier, I'm going to provide my own example coding, alongside a demonstration of its implications.
Quote
If 2724: 50
    Basic Variable Set: RA-Basic[10] = 8
Else If 2724: 4
    Basic Variable Set: RA-Basic[10] = 6
Else If 2724: 15
    Basic Variable Set: RA-Basic[10] = 4
Else
    Basic Variable Set: RA-Basic[10] = 2
EndIf
Here's the mentioned demonstration:
(https://thumbs.gfycat.com/ClearcutAdorableKinglet-max-14mb.gif) (https://gfycat.com/ClearcutAdorableKinglet)
What this bit of coding does is check to see if Classic Ridley (0x50), Zero Suit Samus (0x4), or Falco (0x15) are in the same match as Fox before setting RA-Basic[10] to a custom value, which is then later applied to a hitbox (with its Damage Paramerter set to use RA-Basic[10]).

The coding works just how you'd expect it to with 1 v 1 matches, as I show each Fighter option one at a time (Mario is a stand-in for Fighters not specified in the coding block.

But the requirement shows its limitations once you enter a free-for-all. Like with the general demonstration, I'll also provide one for this next section as well.
(https://thumbs.gfycat.com/PhysicalGreatLamb-size_restricted.gif) (https://gfycat.com/PhysicalGreatLamb)
As showcased by this demonstration, when I enter Classic Ridley and Falco in the same match, you'll notice the Classic Ridley-specific coding will apply to everyone. Because since the check for Classic Ridley's ID comes first in the coding stack, it'll apply the Classic Ridley-specific coding to everyone else in the match.

I then demonstrate a second scenario in which if I were to replace Ridley with Zero Suit Samus for the next match (while still keeping Falco), the Zero Suit Samus-specific coding will apply to everyone in the match, as her ID check comes after Classic Ridley's check.

After that, I conclude with replacing Zero Suit Samus with Mario. Hopefully, I don't need to explain what happens next.


Title: Re: [Novice] Character-Specific PSA Coding
Post by: Ricky (Br3) on April 03, 2018, 10:21:11 AM
This is supposed to be "novice", but I don't get what you're trying to show at all


Title: Re: [Novice] Character-Specific PSA Coding
Post by: KingJigglypuff on April 03, 2018, 01:23:20 PM
This is supposed to be "novice", but I don't get what you're trying to show at all
(https://cdn.discordapp.com/emojis/408353743382380544.png?v=1)
It's PSA coding that's dependent on which Fighters are in the match with you. It's how Fox has his unique victory quote if Falco was in the match with him (and vise verse).


Title: Re: [Novice] Character-Specific PSA Coding
Post by: Ricky (Br3) on April 03, 2018, 08:08:21 PM
Instead of skimming through, I read it a little more carefully... You really should state that your tests are related to the damage, that's changed based on who's in the match with you. It's not so clear simply from looking at the coding if you're not familiar with the terminology.

On a side note, the coding does exactly what it's written to do.

I mean, it checks whether or not you're facing C-Ridley and sets the damage, then checks for ZSS, then checks for falco, then everyone else. In that case, as longs as Ridley is there, it doesn't matter who else is in the match, the damage is already set.

It will never work differently than that as it is. In order for the damage to be dealt differently for each character individually, it would have to check, AS YOU ATTACK, whose hurtbox is being attacked, and calculate/deal the damage on the fly. I don't know if that is possible. But that really is only an issue if you're looking for damage or battle effects that are specific to a certain momentaneous interaction. After all, you could be hitting one character in a moment and another character later on.

In the case of presence-specific events, this works just fine. It's however just too simple a code for the case of momentaneous interaction.


Title: Re: [Novice] Character-Specific PSA Coding
Post by: KingJigglypuff on April 04, 2018, 04:19:54 AM
Instead of skimming through, I read it a little more carefully... You really should state that your tests are related to the damage, that's changed based on who's in the match with you. It's not so clear simply from looking at the coding if you're not familiar with the terminology.
I already specify that, alongside showing a recorded example.

Here's the mentioned demonstration:
(https://thumbs.gfycat.com/ClearcutAdorableKinglet-max-14mb.gif) (https://gfycat.com/ClearcutAdorableKinglet)
What this bit of coding does is check to see if Classic Ridley (0x50), Zero Suit Samus (0x4), or Falco (0x15) are in the same match as Fox before setting RA-Basic[10] to a custom value, which is then later applied to a hitbox (with its Damage Paramerter set to use RA-Basic[10]).

The coding works just how you'd expect it to with 1 v 1 matches, as I show each Fighter option one at a time (Mario is a stand-in for Fighters not specified in the coding block.