Fighter Kirby: Seeking New Project Manager, See Thread For Application Details

Started by UMOP, September 02, 2009, 04:48:54 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

I like it!!! I wish he could still suck up people...could you still make him do that? Or change his AAA combo to it if you can because Vulcan Jap is a Neutral B move. Sorry I know absouletely NOTHING about PSA.
Please stop by my site!
[PICTURE REMOVED. Reason: Total signature pic size exceeds 695x200.]

Thanks =D I'm glad I was able to make something Worthwhile/Useful/Actually good =p

Quote from: Pinutkâ,,¢ on September 07, 2009, 03:36:15 AM
I like it!!! I wish he could still suck up people...could you still make him do that? Or change his AAA combo to it if you can because Vulcan Jap is a Neutral B move. Sorry I know absouletely NOTHING about PSA.
Kirby can't inhale a new ability if he's already using one. Also, I can't edit the action code for his AAA jab combo, so I couldn't even if I wanted to.

Quote from: nejuer on September 07, 2009, 03:00:13 AM
ok, I'll try my best to understand it when you do

Okay, I'll try to make it simple. Let's start with variables.

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.

Examples of variables in use:

x = 5
x = x - 2
y = x + 5

At this point, x would be equal to 3, and y would be equal to 8.

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.

Now onto if statements:

An if statement is pretty straight forward. If this, then do that. Sometimes, it'll be like this: If this, then do that, else this instead. The "If" line checks a condition. If it is true, it does the code following it. If it's not, it does the code right after the "Else" statement, if that is there. If there isn't an "Else" statement, it'll jump to the next line after the "End If". If there is an else statement, but the condition is true, it will only do the lines between the "If" and the "Else", then continue after the "End If". Here are some examples.

Example 1:
IF: Ice Cream = Vanilla
Put Chocolate Syrup on Ice Cream
END IF
Eat Ice Cream

In this example, the chocolate syrup will only be used if the ice cream is vanilla. No matter flavor it is, you're going to eat it anyway.

Example 2:
Flip Coin
IF Coin = Heads
You win
ELSE
I win
END IF

In this example, a coin is tossed. If it is heads, you win, otherwise, I win.


Now switch blocks:

Switch blocks are like if statements, but have more answers than just yes or no. The first line is calling the Switch, which is always a variable. After that, for each possible value you want something to happen for, a Case statement is assigned to that value. If you want something to happen if none of your Case statements are met, you assign a Default Case statement. Here's an example:

Roll Die
SWITCH TheSideTheDieLandedOn
CASE 1
Go backward one space
CASE 2
Go forward two spaces
CASE 3
Go forward three spaces
CASE 4
Go backward two spaces
CASE 5
Lose a turn
CASE 6
Go back to home
DEFAULT CASE
Find a 6 sided die, and roll again
END SWITCH


Finally, loops:

There are a few types of loops, and normally the main ones I'd be discussing are While and For loops, but PSA doesn't work quite like that. What I call a For loop it just calls a Loop, and there are no while loops. It also relies heavily on Goto statements, which are normally avoided because they tend to complicate things. Anyway, the Loop function does just what it says: it loops a set of commands. It is normally done to do things more than once, but can also be used to do something until it's finished, which might only take one time to do it, or it might not even need to do the loop a single time. Loops in PSA are called with how many times you want them to run through, and after repeating the code following it that many times, continues on with the code after the Execute Loop command. Sometimes, the loop is set to run an infinite amount of times by setting the number of times to FFFFFFFF. These loops are always broken by a change action, change sub-action, or a goto. If they aren't, then an infinite loop will happen, and either the character will be stuck in an action, or the game will freeze.

Because I mentioned it, I should explain what a Goto is as well. Goto statements change where the code is running from by resetting the current line it's performing to a line somewhere else in the code. If this post was a block of code, you were the computer performing each line, and this line told you to goto the beginning, you'd be caught in a loop reading this whole thing over and over again.

That sucks! I'm going to try the new one tommorrow, I'm to tired right now... >_<
Please stop by my site!
[PICTURE REMOVED. Reason: Total signature pic size exceeds 695x200.]

Thanks a lot for that mini tutorial UMOP, I understand PSA a litle bit more now =)

Ok, so, tell me if I'm getting on the right track with how Hadouken works...

As long as you are holding B, it will start the whole charging thing to start the move up. So, let’s say that Kirby is on the ground. Sub Routine 345BC would then go to Sub Action 1CE. Holding the B button for 10 frames would make the variable LA-Basic[150] equal 1, 60 frames for 2 and 150 frames for 3.

Releasing B would then make Action 112 go to Action 117. From there, 1 of 4 things can happen which Sub Routine 345BC also seems to handle.

Releasing it immediately will do his Vulcan Jab when the variable LA-Bit[117] is still 0. When you do the Vulcan Jab, it then lets the Rising kick (118) be executed and from there the Meteor Punch (119).

The next 3 are basically the same thing (Hadouken), but what happens will vary depending on how many frames you held the B button before releasing. In the Sub Actions Event List, all 3 levels have the different damage dealt and a few other things are a bit different. Under GFX, levels 1 & 2 change in the size of each graphic. Level 3 has the Hadouken GFX smaller, but there are more of them. As you go up each level, on the SFX, an extra sound is added. Other remains the same for all 3.

Basically, if i copy your code a bit, I can have my 3 levels of Bullet Fists for Alter Form, eQuake DK.

Quick questions here... What do events 02060100, 02080100, 04020100, 04050100 and Bit Variable Set: RA-Bit[16] = true in Sub Routine 345BC do? What does the 2710 in the Switch in Action 117 supposed to be for?

Quote from: nejuer on September 07, 2009, 07:58:52 AM
Ok, so, tell me if I'm getting on the right track with how Hadouken works...

As long as you are holding B, it will start the whole charging thing to start the move up. So, let’s say that Kirby is on the ground. Sub Routine 345BC would then go to Sub Action 1CE. Holding the B button for 10 frames would make the variable LA-Basic[150] equal 1, 60 frames for 2 and 150 frames for 3.

Releasing B would then make Action 112 go to Action 117. From there, 1 of 4 things can happen which Sub Routine 345BC also seems to handle.

Releasing it immediately will do his Vulcan Jab when the variable LA-Bit[117] is still 0. When you do the Vulcan Jab, it then lets the Rising kick (118) be executed and from there the Meteor Punch (119).

The next 3 are basically the same thing (Hadouken), but what happens will vary depending on how many frames you held the B button before releasing. In the Sub Actions Event List, all 3 levels have the different damage dealt and a few other things are a bit different. Under GFX, levels 1 & 2 change in the size of each graphic. Level 3 has the Hadouken GFX smaller, but there are more of them. As you go up each level, on the SFX, an extra sound is added. Other remains the same for all 3.

Basically, if i copy your code a bit, I can have my 3 levels of Bullet Fists for Alter Form, eQuake DK.

Quick questions here... What do events 02060100, 02080100, 04020100, 04050100 and Bit Variable Set: RA-Bit[16] = true in Sub Routine 345BC do? What does the 2710 in the Switch in Action 117 supposed to be for?

You've pretty much got the gist of it. You should be careful before just copying what I did though, because I used 4 different actions to accomplish this, and not many characters have that many actions available for them. Kirby is an exception, he's got so many actions for his neutral B it's not funny. I could probably plan out his entire Squeak Squad ability list using them, but don't get your hopes up about that d:

As for your questions, there are some things about PSA I don't know. That sub-routine was already in Kirby's code, but it is similar to the code in many character's actions. Some of the events are unknown to me, including all those undefined ones you mentioned and the meaning of the value in the switch statement. I do know what RA-Bit(16) is doing, though.

Basically, because it's running in a loop that checks to see which sub-action to use (his air or ground sub-actions) it can't simply call the sub-action, because then it would be calling it over and over, and it would just keep at the beginning of the sub-action. It needs to change it with a pass frame, which means it starts at the frame it left off in the last sub-action it was using. However, it can't call it with a pass frame every time, or the first time it calls the sub-action, it will pass the frame from whatever action it was using before. So, it uses the bit variable to check whether or not to pass the frame. If it isn't set, it calls it normally and sets the bit, and if the bit is set, it calls it with a pass frame.


Quote from: UMOP on September 07, 2009, 05:29:23 PM
You should be careful before just copying what I did though, because I used 4 different actions to accomplish this, and not many characters have that many actions available for them. Kirby is an exception, he's got so many actions for his neutral B it's not funny.

Is it possible that I can just use sub actions and make sub routines instead of using the extra actions themselves when making something like the Hadouken charge thing and still do the same thing?

here you go UMOP
http://www.youtube.com/watch?v=l0ipHBElKdA
thats the latest version
i made the old one a video response to this one
srry if it looks laggy, but by tomorrow it should play smoothly (it usually takes a day for youtube to finalize the video and make it look nice)


Quote from: S.N.E.S.S. on September 07, 2009, 07:10:25 PM
here you go UMOP
http://www.youtube.com/watch?v=l0ipHBElKdA
thats the latest version
i made the old one a video response to this one
srry if it looks laggy, but by tomorrow it should play smoothly (it usually takes a day for youtube to finalize the video and make it look nice)

You forgot the Backflip Fire Kick ):

Still a good vid though, I added it to the OP.

ok at first i didnt think i was going to like this kirby but hes going good and i really like where this is going cant wait for him to be finished

Quote from: UMOP on September 08, 2009, 01:17:51 AM
Quote from: S.N.E.S.S. on September 07, 2009, 07:10:25 PM
here you go UMOP
http://www.youtube.com/watch?v=l0ipHBElKdA
thats the latest version
i made the old one a video response to this one
srry if it looks laggy, but by tomorrow it should play smoothly (it usually takes a day for youtube to finalize the video and make it look nice)

You forgot the Backflip Fire Kick ):

Still a good vid though, I added it to the OP.
srry bout that. i didnt even know that move was in there until i started playing with kirby after i finished. i was all like "AHHHHH MUTHA%^&*i" cuz its a great move to send people upward and prep for a combo. next update tho ill make sure to