Newbie to array
2 posts
• Page 1 of 1
Newbie to array
I'm trying to make a program that will save angles from the left stick (up to 3 of them) and then spam those angles (either one, two or three of them) when A is pressed. (without going too in depth its a method of escaping combos in smash ultimate so its good to practice counterplay but the in-game training mode is trash) anyway, it seems to be only saving the angles once and not letting me change them again by pressing Y unless I reset the script with the button on the titan. do arrays only let you change them once or have I done something wrong?
- Code: Select all
// SDI program
int trainMode;
int activate;
int angleArray[5];
int angleNum;
init {
trainMode = 1;
activate = 0;
angleNum = 1;
}
main {
//if Y is pressed, the scripts reads left stick and saves it to the array, up to 3 of them
if(event_press (SWITCH_Y)){
if(angleNum == 1) {
angleNum = 2
angleArray[0]=get_val(SWITCH_LX)
angleArray[1]=get_val(SWITCH_LY)
}
if (angleNum==2) {
angleNum = 3
angleArray[2]=get_val(SWITCH_LX)
angleArray[3]=get_val(SWITCH_LY)
}
if (angleNum==3){
angleNum = 1
angleArray[4]=get_val(SWITCH_LX)
angleArray[5]=get_val(SWITCH_LY)
}
}
//when up or down is pressed, combo mode changes
if (event_press (SWITCH_UP)) {
if(trainMode==3){
trainMode = 1
}
else{
trainMode = trainMode+1
}
}
if (event_press (SWITCH_DOWN)) {
if(trainMode==1) {
trainMode = 3
}
else{
trainMode = trainMode-1
}
}
//when A is pressed, Combo starts
if (event_press (SWITCH_A)) {
if (activate == 1) {
activate=0
}
else{
activate=1
}
}
//when A is pressed, this part checks what DI mode is chosen and calls the combo
if(activate==1){
if(trainMode==1){
combo_run(A)
}
if(trainMode==2){
combo_run(B)
}
if(trainMode==3){
combo_run(C)
}
}
}
combo A {
// single angle DI
set_val(SWITCH_LX, angleArray[0])
set_val(SWITCH_LY, angleArray[1])
wait(30)
set_val(SWITCH_LX, 0)
set_val(SWITCH_LY, 0)
}
combo B {
// Dual angle DI
set_val(SWITCH_LX, angleArray[0])
set_val(SWITCH_LY, angleArray[1])
wait(30)
set_val(SWITCH_LX, angleArray[2])
set_val(SWITCH_LY, angleArray[3])
wait(30)
}
combo C {
//triple angel DI
set_val(SWITCH_LX, angleArray[0])
set_val(SWITCH_LY, angleArray[1])
wait(30)
set_val(SWITCH_LX, angleArray[2])
set_val(SWITCH_LY, angleArray[3])
wait(30)
set_val(SWITCH_LX, angleArray[4])
set_val(SWITCH_LY, angleArray[5])
wait(30)
}
-
adelekila - Private
- Posts: 1
- Joined: Fri Aug 07, 2020 11:44 am
Re: Newbie to array
Try this:
- Code: Select all
// SDI program
int trainMode;
int activate;
int angleArray[5];
int angleNum;
init {
trainMode = 1;
activate = 0;
angleNum = 1;
}
main {
//if Y is pressed, the scripts reads left stick and saves it to the array, up to 3 of them
if(event_press (SWITCH_Y)){
if(angleNum == 1) {
angleNum = 2;
angleArray[0]=get_val(SWITCH_LX);
angleArray[1]=get_val(SWITCH_LY);
}
else if (angleNum==2) {
angleNum = 3;
angleArray[2]=get_val(SWITCH_LX);
angleArray[3]=get_val(SWITCH_LY);
}
else if (angleNum==3){
angleNum = 1;
angleArray[4]=get_val(SWITCH_LX);
angleArray[5]=get_val(SWITCH_LY);
}
}
//when up or down is pressed, combo mode changes
if (event_press (SWITCH_UP)) {
if(trainMode==3) {
trainMode = 1;
}
else{
trainMode++;
}
}
if (event_press (SWITCH_DOWN)) {
if(trainMode==1) {
trainMode = 3;
}
else{
trainMode--;
}
}
//when A is pressed, Combo starts
if (event_press (SWITCH_A)) {
if (activate == 1) {
activate=0;
}
else{
activate=1;
}
}
//when A is pressed, this part checks what DI mode is chosen and calls the combo
if(activate==1){
if(trainMode==1){
combo_run(A);
}
else if(trainMode==2){
combo_run(B);
}
else if(trainMode==3){
combo_run(C);
}
}
}
combo A {
// single angle DI
set_val(SWITCH_LX, angleArray[0]);
set_val(SWITCH_LY, angleArray[1]);
wait(30);
set_val(SWITCH_LX, 0);
set_val(SWITCH_LY, 0);
wait(30);
}
combo B {
// Dual angle DI
set_val(SWITCH_LX, angleArray[0]);
set_val(SWITCH_LY, angleArray[1]);
wait(30);
set_val(SWITCH_LX, angleArray[2]);
set_val(SWITCH_LY, angleArray[3]);
wait(30);
}
combo C {
//triple angel DI
set_val(SWITCH_LX, angleArray[0]);
set_val(SWITCH_LY, angleArray[1]);
wait(30);
set_val(SWITCH_LX, angleArray[2]);
set_val(SWITCH_LY, angleArray[3]);
wait(30);
set_val(SWITCH_LX, angleArray[4]);
set_val(SWITCH_LY, angleArray[5]);
wait(30);
}
ConsoleTuner Support Team || ConsoleTuner Discord || InputSense Discord
- Mad
- Major General
- Posts: 4536
- Joined: Wed May 22, 2019 5:39 am
2 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 38 guests