Cammy Q&A: Ask simple questions here!

Yeah I’m just starting to get that link down 100% in my matches. Another useful variation of the bnb combo.

lk lp lp lk SA. This one does the same damage as the lk lp lk SA, but it’s a heck of a lot easier to link. Maybe does more stun? I don’t know. Best used against shotos.

lp lp lk SA. This link is really easy too. I don’t know why, but this combo is 100% for me in matches even though I don’t practice it.

This kinda thing makes me wish they added a few things into training mode. Ok I attempt it and miss the link. Ok was I too soon or too late? By how much? The only thing training mode can tell me is I definitely didn’t get it. Wish they would have some feature that helps you learn these as its hard to get timing down if your doing nothing but guessing on it.

Set the training dummy to autoblock.
now lk lp lk SA
If the lk gets blocked you linked too late
if the lk doesn’t get blocked but the sa doesn’t come out you linked to soon (didn’t actually link but canceled the lp)

I am aware of that and I do set to autoblock. What this doesn’t tell me is how much I missed it by, anotherwords I am still guessing on the timing.

I tried it before, but we could set up an audio file of someone doing the input. We could have it repeat and establish a beat.

I think I’ve played a little too much DDR haha

^Lol, now I’m imagining someone putting together a .bms file for a Beatmania simulator for the timing of various link combos.

GREAT!!!

But yeah, Super SF4 seriously needs a link trainer or Blazblue-style repeating inputs.

I don’t think knowing the exact frame you missed it by would help much… It kinda does help to know the frame data though. If it’s a 1 frame link then it’s always gonna be iffy (Yes Daigo and such miss these), if it’s 2 frames then most people will get it to about 95% or so, which is sufficient. Anything more is a cakewalk (Which Cammy doesn’t have iirc, besides crap c.HP combos and if you count linking from CS).

DDR-like link gauntlet would be an awesome minigame, though.

now that I think about it, I wonder how hard it is to program something to train combos…

Yo my fellow san dieagn ty ty for those other link combos, I was able to pull those off much easier! btw how did you do at Comic Odyssey?? I really really wanted to go but after a day of work and a group project my brain was like a bowl of oatmeal haha. My buddy and I want to try and get in the local scene though…

I decided not to go. Too busy with homework that day. :-/

Something not hooked into SF4 that just does the rhythm would be super easy and I could throw together an open source program pretty quickly. I’ve never read from an attached game controller so that might be in version two but this sounds like something I could do with very minimal effort.

I put together a regular windows application to measure milliseconds between key presses and it wouldn’t register anything faster than 31 milliseconds unless I pressed them at the same time and I got 0 ms. I rewrote it as a bare bones console application (no gui/user interface) and ran into the same 31 ms threshold, which indicates something about standard windows keyboard buffers. That reminded me of something I read recently (http://forums.shoryuken.com/showthread.php?t=207257&page=2 second post on page and ensuing argument on page 3). If this is correct then a one frame link is actually be 33.333 milliseconds at 30 FPS and not 16.666 milliseconds at 60 FPS. They seem to decide on 60 FPS. Can anyone confirm one way or other for sure? If a one link frame is 16.666 ms I’ll grab a copy of the directx API (which I’d likely have to do to take controller input anyway) and see if that can get me keyboard data faster.

Edit: the threshold may end up not being much an issue as you never have to hit two buttons within one frame of each other, simply hit a specific frame several frames out from the first press.

Edit2: Additional consideration. You press a button. A second button being pressed 0 to 16.665 ms later is the same frame? Yes? 16.666 to 33.333 would be in frame 1. Yes?

I believe you’re right with the 16.666 to 33.33 would be 1 frame.

so guys, I looked up the cr. HP to cr. HK. Looks like it’s a 1 frame link. Is this the kind of combo I’d want to p-link? Gonna have to practice this on Friday.

Hey guys, could you tell me the shortcut for the quick Cannon Dive move? The j. qcb + K move, I want to know if there is a shortcut to make it easier.

I play Cammy casually with other characters, but I want to add this to my arsenal.

Thanks in advance.

answer:

http://forums.shoryuken.com/showpost.php?p=7909013&postcount=696

Thanks! Sucks I can’t rep you.

ok, just to make sure i have everything clear.

To cancel a normal into another normal you must press the button for the second normal AFTER the startup frames of the first normal during the active frames or recovery.

To link a normal into another normal you must press the button for the second normal AFTER the recovery frames before the frame advantage on hit is gone.

So for crLK, crLP, crLK, HK SA you need to
crLK
then crLP from frames 4 to 14 for a cancel or 15 to 16 for a link
then crLK from frames 13 to 16 for a link
then HK SA from frames 4 to 14 for a cancel.

If this is correct i can have a mockup trainer for this combo sometime tonight as long as I don’t get distracted.

Hmm, wiki lists frame data as…
startup, active, recovery, total
but the total always seems to be 1 less frame then startup + active + recovery.
What gives?

Here’s an executable you can try out with Cammy’s BNB. If you don’t have the Dot Net Framework v2 installed yet you can find that at Microsoft. I’d love for some people to try it out and see if it feels accurate.

Screenshot

Here’s the code so people knowledgeable in frame data can check the math.



Public Class Form1

    Dim ComboStatus As Integer
    Dim FirstMS As Date
    Dim LastFrame As Integer

    Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
        Dim kp As Date
        Dim ms As Long
        Dim inter As TimeSpan
        Dim frame As Long
        Select Case ComboStatus
            Case -1
                ComboStatus = 0
                lblLink1.ForeColor = Color.Black
                lblLink2.ForeColor = Color.Black
                lblLink3.ForeColor = Color.Black
                lblLink4.ForeColor = Color.Black
                lblLog.Text = ""
            Case 0
                ComboStatus = 1
                FirstMS = Now
                lblLink1.ForeColor = Color.Green
                LastFrame = 0
                lblLog.Text = "Crouching Light Kick" & vbCrLf
            Case 1
                kp = Now
                inter = kp.Subtract(FirstMS)
                ms = TMS(inter)
                frame = TFrames(ms)
                If frame < 4 Then
                    lblLog.Text = lblLog.Text & "Crouching Light Punch - TOO EARLY, KEEP MASHING! Frame " & frame & ".   MS since start of combo = " & ms & vbCrLf

                End If
                If frame >= 4 And frame <= 14 Then
                    lblLink2.ForeColor = Color.Green
                    lblLog.Text = lblLog.Text & "Crouching Light Punch - Cancelled into on frame " & frame & ".   MS since start of combo = " & ms & vbCrLf
                    ComboStatus = 2
                    LastFrame = frame
                End If
                If frame = 15 Or frame = 16 Then
                    lblLink2.ForeColor = Color.Blue
                    lblLog.Text = lblLog.Text & "Crouching Light Punch - Linked into on frame " & frame & ".   MS since start of combo = " & ms & vbCrLf
                    ComboStatus = 2
                    LastFrame = frame
                End If
                If frame > 16 Then
                    lblLog.Text = lblLog.Text & "Crouching Light Punch - COMBO FAILED. TOO LATE, MASH MOAR! Frame " & frame & ".   MS since start of combo = " & ms & vbCrLf
                    lblLink2.ForeColor = Color.Red
                    ComboStatus = -2
                End If
            Case 2
                kp = Now
                inter = kp.Subtract(FirstMS)
                ms = TMS(inter)
                frame = TFrames(ms)
                If frame - LastFrame < 4 Then
                    lblLog.Text = lblLog.Text & "Crouching Light Kick - TOO EARLY, KEEP MASHING! Frame " & frame & ".   MS since start of combo = " & ms & vbCrLf

                End If
                If frame - LastFrame >= 4 And frame - LastFrame <= 12 Then
                    lblLink3.ForeColor = Color.Red
                    lblLog.Text = lblLog.Text & "Crouching Light Kick - COMBO FAILED. Cancelled into on frame " & frame & ". Frames since last move = " & frame - LastFrame & ".   MS since start of combo = " & ms & vbCrLf
                    ComboStatus = -2
                End If
                If frame - LastFrame >= 13 Or frame - LastFrame = 16 Then
                    lblLink3.ForeColor = Color.Blue
                    lblLog.Text = lblLog.Text & "Crouching Light Kick - Linked into on frame " & frame & ".Frames since last move = " & frame - LastFrame & ".   MS since start of combo = " & ms & vbCrLf
                    ComboStatus = 3
                    LastFrame = frame
                End If
                If frame - LastFrame > 16 Then
                    lblLog.Text = lblLog.Text & "Crouching Light Kick - TOO LATE, MASH MOAR! Frame " & frame & ". Frames since last move = " & frame - LastFrame & ".   MS since start of combo = " & ms & vbCrLf
                    lblLink3.ForeColor = Color.Red
                    ComboStatus = -2
                End If
            Case 3
                kp = Now
                inter = kp.Subtract(FirstMS)
                ms = TMS(inter)
                frame = TFrames(ms)
                If frame - LastFrame < 4 Then
                    lblLog.Text = lblLog.Text & "High Kick Spiral Arrow - TOO EARLY, KEEP MASHING! Frame " & frame & ".   MS since start of combo = " & ms & vbCrLf

                End If
                If frame - LastFrame >= 4 And frame - LastFrame <= 14 Then
                    lblLink4.ForeColor = Color.Green
                    lblLog.Text = lblLog.Text & "High Kick Spiral Arrow - Cancelled into on frame " & frame & ". Frames since last move = " & frame - LastFrame & ".   MS since start of combo = " & ms & vbCrLf
                    ComboStatus = -1
                End If

                If frame - LastFrame > 15 Then
                    lblLog.Text = lblLog.Text & "High Kick Spiral Arrow - TOO LATE, MASH MOAR! Frame " & frame & ". Frames since last move = " & frame - LastFrame & ".   MS since start of combo = " & ms & vbCrLf
                    lblLink4.ForeColor = Color.Red
                    ComboStatus = -2
                End If
        End Select
        If ComboStatus = -2 Then cmdShame.Visible = True
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ComboStatus = 0
    End Sub



    Public Function TFrames(ByVal ms As Long) As Long
        TFrames = Int(ms / (1000 / 60))
    End Function

    Public Function TMS(ByVal inter As TimeSpan) As Long
        TMS = inter.Milliseconds + 1000 * inter.Seconds + 60000 * inter.Minutes()
    End Function

    Private Sub cmdShame_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdShame.Click

        ComboStatus = 0
        lblLink1.ForeColor = Color.Black
        lblLink2.ForeColor = Color.Black
        lblLink3.ForeColor = Color.Black
        lblLink4.ForeColor = Color.Black
        lblLog.Text = ""
        cmdShame.Visible = False
    End Sub
End Class



hmm that seems java but its not. which lang is it?