• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Emulator Discussion and Support › Controllers v
« Previous 1 ... 14 15 16 17 18 ... 320 Next »

Controller automation syntax
View New Posts | View Today's Posts

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
Controller automation syntax
05-05-2021, 12:08 PM
#1
tvc_lifer Offline
Junior Member
**
Posts: 11
Threads: 3
Joined: May 2021
Hello, new user to the forum here.

I'm playing Tatsunoko vs. Capcom, which is a 2d versus fighting game for Wii. I started tinkering with the controller operators and functions to create additional controller options. I had some success making a dash button
Code:
`Pad W`|`Button B`&timer(0.1)&`Button B`
Where I assigned Button B to trigger my Left direction twice quickly, causing a dash.


Now I'm wanting to automate more actions but my access to the syntax is limited.
My question is -  Is there a way to have a button trigger multiple different buttons' output?

Example: Pressing button B would trigger button Y (time delay) button X (time delay) button L
The purpose of this is an automated combo, this example is three hits on an opponent.

Example: Pressing Button B would trigger Down,then Down&Forward, then Forward with button L
This example causes a hand fireball projectile.

Thanks!!
Find
Reply
05-05-2021, 12:35 PM (This post was last modified: 05-05-2021, 12:36 PM by MayImilae.)
#2
MayImilae Offline
Chronically Distracted
**********
Administrators
Posts: 4,604
Threads: 120
Joined: Mar 2011
Our system is setup for outputs to the emulated game, not inputs. Rather than "make my controller's B button do this and this" instead it's "Trigger the gamecube's Y button with this or this". You can still set up what you want in this system though.

tvc_lifer Wrote:Example: Pressing button B would trigger button Y (time delay) button X (time delay) button L

So for this, you'd need to add an OR to the gamecube's Y button plus a time delay, an OR to the gamecube's X button with a time delay, then an OR to the L button. All using the B button on your controller as the input for all of those emulated button presses. This is more or less what you've already done for your dash button, you just need to do it a bunch more times for the combo.
[Image: RPvlSEt.png]
AMD Threadripper Pro 5975WX PBO+200 | Asrock WRX80 Creator | NVIDIA GeForce RTX 4090 FE | 64GB DDR4-3600 Octo-Channel | Windows 11 22H2 | (details)
MacBook Pro 14in | M1 Max (32 GPU Cores) | 64GB LPDDR5 6400 | macOS 12
Find
Reply
05-05-2021, 01:50 PM
#3
tvc_lifer Offline
Junior Member
**
Posts: 11
Threads: 3
Joined: May 2021
(05-05-2021, 12:35 PM)MayImilae Wrote: Our system is setup for outputs to the emulated game, not inputs. Rather than "make my controller's B button do this and this" instead it's "Trigger the gamecube's Y button with this or this". You can still set up what you want in this system though.


So for this, you'd need to add an OR to the gamecube's Y button plus a time delay, an OR to the gamecube's X button with a time delay, then an OR to the L button. All using the B button on your controller as the input for all of those emulated button presses. This is more or less what you've already done for your dash button, you just need to do it a bunch more times for the combo.

I tried this route, and I have not been able to differentiate button presses of YXL. I'm not sure how to implement a timer, but the conditionals I've tried all yield the same result, YXL being triggered by B together, which ends up reading as a dash to the game.
Find
Reply
05-05-2021, 02:19 PM
#4
MayImilae Offline
Chronically Distracted
**********
Administrators
Posts: 4,604
Threads: 120
Joined: Mar 2011
Post images of your buttons' configurations please.
[Image: RPvlSEt.png]
AMD Threadripper Pro 5975WX PBO+200 | Asrock WRX80 Creator | NVIDIA GeForce RTX 4090 FE | 64GB DDR4-3600 Octo-Channel | Windows 11 22H2 | (details)
MacBook Pro 14in | M1 Max (32 GPU Cores) | 64GB LPDDR5 6400 | macOS 12
Find
Reply
05-06-2021, 03:20 AM (This post was last modified: 05-06-2021, 06:35 AM by tvc_lifer.)
#5
tvc_lifer Offline
Junior Member
**
Posts: 11
Threads: 3
Joined: May 2021
(05-05-2021, 02:19 PM)MayImilae Wrote: Post images of your buttons' configurations please.

[Image: Controller-setup.jpg]
Find
Reply
05-06-2021, 04:47 AM (This post was last modified: 05-06-2021, 06:34 AM by tvc_lifer.)
#6
tvc_lifer Offline
Junior Member
**
Posts: 11
Threads: 3
Joined: May 2021
Sorry was having trouble posting photos, total noob here
Find
Reply
05-06-2021, 01:51 PM
#7
MayImilae Offline
Chronically Distracted
**********
Administrators
Posts: 4,604
Threads: 120
Joined: Mar 2011
Um, I need to see your current automation attempts.
[Image: RPvlSEt.png]
AMD Threadripper Pro 5975WX PBO+200 | Asrock WRX80 Creator | NVIDIA GeForce RTX 4090 FE | 64GB DDR4-3600 Octo-Channel | Windows 11 22H2 | (details)
MacBook Pro 14in | M1 Max (32 GPU Cores) | 64GB LPDDR5 6400 | macOS 12
Find
Reply
05-07-2021, 12:24 PM
#8
tvc_lifer Offline
Junior Member
**
Posts: 11
Threads: 3
Joined: May 2021
Big Grin 
(05-06-2021, 01:51 PM)MayImilae Wrote: "Trigger the gamecube's Y button with this or this".

[Image: Three-Hit-Combo.jpg]

Success!  This will give me the three hits I'm aiming for. It is buggy though.

It is obvious to me I don't exactly understand the timer. It seems that it is "the time for the button to go from depressed to pressed. I observed this when assigning a timer to my stick. That shows me in real time that if i set a timer of 1 second, it will take one second to go from the neutral position to right or left. NOT as I had thought, which I thought it was a "delay" timer. Can you clarify how the timer works?

This only works if I hold "shoulder R"; is it possible to do this with one press and release?


If I hold "shoulder R" past the third hit, it loops and gives only the X and Shoulder L inputs. Is there something I can do to make it more precise?
Find
Reply
05-13-2021, 05:07 AM
#9
tvc_lifer Offline
Junior Member
**
Posts: 11
Threads: 3
Joined: May 2021
I spent some time going over the functions and found that the pulse and smooth functions are what I was looking for. These give me total control over the delay before a button/ control stick is pressed and when it is released. I have successfully automated:

Fireball: down, down forward, forward, Attack button
Dragon punch:Forward, down, down forward, attack button
Tiger knee: down, down forward, forward, forward up
3 hit combo that's clean, no looping. I can extend this further
Charge release: A charge move requires holding /back/ for a short time and then /forward/ with an attack button. This allows me to hold back, and the /forward/ on the control stick is replaced by pushing a button. Thanks to Billiard26 for the base code, inverting an axis with a chosen button.

The crown jewel and really what showed me the power of Dolphin's controller automation was a 3 hit "relaunch" sequence. In the game you can launch your opponent in the air to continue an attack combo. Some characters have the ability to "relaunch" as the opponent falls back to the ground. The timing is strict, and even the best players struggle to consistently hit relaunches, especially in Netplay. Dolphin allowed me to tweak inputs to the hundredth of a second which is crucial because the game operates at 60 frames per second. When I smack the opponent towards the ground, that button press sets off a macro where exactly 2.2 seconds later the crucial "catch falling opponent" hit lands and in another .6 seconds hits the relaunch. It was a lot of fun dialing it in and finally watching it work!

[Image: hqdefault.jpg] Catch falling opponent

I imagine there are other games this would be useful for, GGxrd, Smash Bros to name a few. I'm leaving this here in case someone wants to learn, just make a post.

-TL
Find
Reply
« Next Oldest | Next Newest »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode