Code not working correctly

GPC2 script programming for Titan Two. Code examples, questions, requests.

Code not working correctly

Postby PhanatiQ » Wed May 19, 2021 10:24 pm

When I toggle the swap combo it switches back and forth.
Code: Select all
///////////////////////////////////////////////////////////////////////////////////////////////////
 
bool toggle;
 
///////////////////////////////////////////////////////////////////////////////////////////////////
//LOOT
 
main
{
    //ACTIVATE
    if(event_active(BUTTON_17) && time_active(BUTTON_8) < 500){            //L2 AND SQUARE
        toggle = !toggle;                                                //ACTIVATE
    }
 
    //BUTTON SWAP AND CROUCH
    if(toggle){
        combo_run(Swap);                                                //BUTTON SWAP
        combo_run(Crouch);                                                //CROUCH
    }
 
    //MOUSE WHEEL UP
    if(toggle){
        if(get_val(STICK_1_Y < -25)){                                    //RIGHT STICK UP
            combo_run(WheelUp);
        }
    }   
 
    //MOUSE WHEEL DOWN
    if(toggle){   
        if(get_val(STICK_1_Y > 25)){                                    //RIGHT STICK DOWN                       
            combo_run(WheelDown);
        }
    }   
 
    //DEACTIVATE
    if(toggle){
        if(event_active(BUTTON_15)){                                    //CIRCLE
            toggle = !toggle;                                            //DEACTIVATE
        }
    }       
}
 
///////////////////////////////////////////////////////////////////////////////////////////////////
 
//BUTTON SWAP
combo Swap {
    remapper_swap(STICK_2_X, STICK_1_X);                                //LX > RX
    remapper_swap(STICK_2_Y, STICK_1_Y);                                //LY > RY
    }
 
//CROUCH
combo Crouch {
       set_val(BUTTON_8, 100);                                                //CIRCLE
    }
 
//MOUSE WHEEL UP
combo WheelUp {
    set_val(STICK_1_Y, -100);                                            //RIGHT STICK UP
    wait(500);
    set_val(STICK_1_Y, 0);                                       
    }
 
//MOUSE WHEEL DOWN
combo WheelDown {
    set_val(STICK_1_Y, 100);                                            //RIGHT STICK DOWN
    wait(500);
    set_val(STICK_1_Y, 0);       
    }   
 
///////////////////////////////////////////////////////////////////////////////////////////////////
User avatar
PhanatiQ
Sergeant
Sergeant
 
Posts: 6
Joined: Sun May 16, 2021 8:19 am

Re: Code not working correctly

Postby Mad » Thu May 20, 2021 12:03 am

You had it running in main in the toggle over and over. Calling it once in event_active will stop that:
Code: Select all
///////////////////////////////////////////////////////////////////////////////////////////////////
 
bool toggle;
 
///////////////////////////////////////////////////////////////////////////////////////////////////
//LOOT
 
main
{
    //ACTIVATE
    if(event_active(BUTTON_17) && time_active(BUTTON_8) < 500){            //L2 AND SQUARE
        toggle = !toggle;                                                //ACTIVATE
 
        if(toggle) {
            remapper_swap(STICK_2_X, STICK_1_X);                                //LX > RX
            remapper_swap(STICK_2_Y, STICK_1_Y);                                //LY > RY
        }
    }
 
    //BUTTON SWAP AND CROUCH
    if(toggle){
        combo_run(Crouch);                                                //CROUCH
 
        //MOUSE WHEEL UP
        if(get_val(STICK_1_Y < -25)){                                    //RIGHT STICK UP
            combo_run(WheelUp);
        }
 
        //MOUSE WHEEL DOWN
        if(get_val(STICK_1_Y > 25)){                                    //RIGHT STICK DOWN                       
            combo_run(WheelDown);
        }
 
        //DEACTIVATE
        if(event_active(BUTTON_15)){                                    //CIRCLE
            toggle = !toggle;                                            //DEACTIVATE
            remapper_reset();
        }
 
    }       
}
//CROUCH
combo Crouch {
       set_val(BUTTON_8, 100);                                                //CIRCLE
    }
 
//MOUSE WHEEL UP
combo WheelUp {
    set_val(STICK_1_Y, -100);                                            //RIGHT STICK UP
    wait(500);
    set_val(STICK_1_Y, 0);                                       
    }
 
//MOUSE WHEEL DOWN
combo WheelDown {
    set_val(STICK_1_Y, 100);                                            //RIGHT STICK DOWN
    wait(500);
    set_val(STICK_1_Y, 0);       
    }   
 
///////////////////////////////////////////////////////////////////////////////////////////////////

Also since you don't have a wait time on the crouch combo, you just want it held the entire time? you can put the set_val in the toggle and remove the combo.
ConsoleTuner Support Team || ConsoleTuner Discord || InputSense Discord
Mad
Major General
Major General
 
Posts: 4536
Joined: Wed May 22, 2019 5:39 am

Re: Code not working correctly

Postby PhanatiQ » Thu May 20, 2021 12:49 am

Thank you it worked! Also, yes I want the crouch held down until toggle off. Another question is how do I'm trying to map left alt to touch pad? I'm not sure if this is correct.

Code: Select all
 
////////////////////////////////////////////////////////////////////////////////   
 
#include <keyboard.gph>
 
init {
    const uint8 map[] = {
        KEY_LEFTALT,    BUTTON_19,
    };
    keymapping(map);
}
 
////////////////////////////////////////////////////////////////////////////////       
//CURSOR
 
main
{
    //ACTIVATE MAP
    if(event_active(BUTTON_19)) {                                                //TOUCH CLICK
        ToggleM = !ToggleM;                                                    //ACTIVATE
        remapper_swap(STICK_2_X, STICK_1_X);                                    //LX > RX
        remapper_swap(STICK_2_Y, STICK_1_Y);                                    //LY > RY
        remapper_disable(STICK_2_X);                                            //UNMAP
        remapper_disable(STICK_2_Y);                                            //UNMAP
    }
}   
 
////////////////////////////////////////////////////////////////////////////////
 
User avatar
PhanatiQ
Sergeant
Sergeant
 
Posts: 6
Joined: Sun May 16, 2021 8:19 am

Re: Code not working correctly

Postby PhanatiQ » Fri May 21, 2021 2:59 am

So I want to use the keyboard and mouse but the button swap doesn't work but it does on controller. Is it something to do the input translator being loaded onto the T2 or would I need to put it into the script like this?

Edit: Nvm it doesn't work on controller either but it does work when I test run it.

Code: Select all
////////////////////////////////////////////////////////////////////////////////
//#include <keyboard.gph>
//#include <mouse.gph>
//#include <remapper.gph>
 
int ToggleL;
int ToggleI;
int ToggleM;
int ToggleC;
 
/*
init {
    const uint8 map[] = {
        KEY_W,              STICK_2_Y | KEYMAP_NEGATIVE,
        KEY_A,              STICK_2_X | KEYMAP_NEGATIVE,
        KEY_S,              STICK_2_Y,
        KEY_D,              STICK_2_X,       
        KEY_SPACEBAR,        BUTTON_5,
        KEY_C,              BUTTON_8,
        KEY_Q,              BUTTON_6,
        KEY_E,              BUTTON_17,
        KEY_3,              BUTTON_14,
        KEY_LEFTSHIFT,      BUTTON_10,
        KEY_X,                BUTTON_11,
        KEY_V,                BUTTON_13,
        KEY_F,                 BUTTON_12,
        KEY_CAPSLOCK,       BUTTON_2,
        KEY_LEFTGUI,        BUTTON_1,
        KEY_ESCAPE,         BUTTON_18,
        KEY_Z,                BUTTON_6,
        KEY_R,                BUTTON_17,
        KEY_UPARROW,        BUTTON_10,
        KEY_DOWNARROW,      BUTTON_11,
        KEY_RIGHTARROW,     BUTTON_13,
        KEY_LEFTARROW,        BUTTON_12,
    };
    keymapping(map);
}
 
init {
    const uint8 mmap[] = {
        MBUTTON_3,            BUTTON_6,
        MWHEEL_FORWARD,     BUTTON_4,
        MWHEEL_BACKWARD,    BUTTON_7,
        MBUTTON_1,          BUTTON_16,
        MBUTTON_2,          BUTTON_15,
        MWHEEL_FORWARD,     BUTTON_8,
        MBUTTON_3,            BUTTON_9,
        MWHEEL_BACKWARD,    BUTTON_14,
        MOUSE_X,            STICK_1_X,
        MOUSE_Y,            STICK_1_Y,
    };
    mousemapping(mmap);
}
*/

 
////////////////////////////////////////////////////////////////////////////////
//LOOT
 
main
{
    //ACTIVATE
    if(event_active(BUTTON_17) && is_active(BUTTON_8) &&                        //L2 AND SQUARE
        time_release(BUTTON_17) < 100){                   
        ToggleL = !ToggleL;                                                      //ACTIVATE
 
        if(ToggleL) {
           remapper_swap(STICK_2_X, STICK_1_X);                                 //LX > RX
           remapper_swap(STICK_2_Y, STICK_1_Y);                                 //LY > RY
 
            }
    }
 
    //CROUCH
    if(ToggleL){
        combo_run(Crouch);                                                      //CROUCH
 
        //MOUSE WHEEL UP
        if(get_val(BUTTON_16)){                                                  //CROSS
            combo_run(WheelUp);
        }
 
        //MOUSE WHEEL DOWN
        if(get_val(BUTTON_14)) {                                                    //TRIANGLE                     
            combo_run(WheelDown);
        }
 
        //DEACTIVATE
        if(event_active(BUTTON_15)){                                            //CIRCLE
            ToggleL = !ToggleL;                                                    //DEACTIVATE
            remapper_reset();
        }
    }       
}
 
//CROUCH
combo Crouch {
       set_val(BUTTON_8, 100);                                                  //CIRCLE
    }
 
//MOUSE WHEEL UP
combo WheelUp {
    set_val(STICK_1_Y, -100);                                                   //RIGHT STICK UP
    wait(500);
    set_val(STICK_1_Y, 0);                                       
    }
 
//MOUSE WHEEL DOWN
combo WheelDown {
    set_val(STICK_1_Y, 100);                                                    //RIGHT STICK DOWN
    wait(500);
    set_val(STICK_1_Y, 0);       
    }   
 
////////////////////////////////////////////////////////////////////////////////
//INVENTORY
 
main
{
    //ACTIVATE
    if(event_active(BUTTON_3)){                                                   //OPTIONS
        ToggleI = !ToggleI;                                                        //ACTIVATE
 
        if(ToggleI) {
            remapper_swap(STICK_2_X, STICK_1_X);                                //LX > RX
            remapper_swap(STICK_2_Y, STICK_1_Y);                                //LY > RY
            remapper_disable(STICK_2_X);                                        //UNMAP LX
            remapper_disable(STICK_2_Y);                                        //UNMAP LY
        }
    }
 
        //DEACTIVATE
        if(event_active(BUTTON_15)){                                            //CIRCLE
            ToggleI = !ToggleI;                                                    //DEACTIVATE
            remapper_reset();
        }
}       
 
////////////////////////////////////////////////////////////////////////////////
//MAP
 
main
{
    //ACTIVATE
    if(event_active(BUTTON_2)){                                                   //TOUCH CLICK
        ToggleM = !ToggleM;                                                        //ACTIVATE
 
        if(ToggleM) {
            remapper_swap(STICK_2_X, STICK_1_X);                                //LX > RX
            remapper_swap(STICK_2_Y, STICK_1_Y);                                //LY > RY
            remapper_disable(STICK_2_X);                                        //UNMAP LX
            remapper_disable(STICK_2_Y);                                        //UNMAP LY
        }
    }
 
        //DEACTIVATE
        if(event_active(BUTTON_15)){                                            //CIRCLE
            ToggleM = !ToggleM;                                                    //DEACTIVATE
            remapper_reset();
        }
}       
 
////////////////////////////////////////////////////////////////////////////////   
//CURSOR
 
main
{
    //ACTIVATE
    if(event_active(BUTTON_19)){                                                   //TOUCH P1
        ToggleC = !ToggleC;                                                        //ACTIVATE
 
        if(ToggleC) {
            remapper_swap(STICK_2_X, STICK_1_X);                                //LX > RX
            remapper_swap(STICK_2_Y, STICK_1_Y);                                //LY > RY
            remapper_disable(STICK_2_X);                                        //UNMAP LX
            remapper_disable(STICK_2_Y);                                        //UNMAP LY
        }
    }
 
        //DEACTIVATE
        if(event_active(BUTTON_15)){                                            //CIRCLE
            ToggleC = !ToggleC;                                                    //DEACTIVATE
            remapper_reset();
        }
}       
 
////////////////////////////////////////////////////////////////////////////////       
 
User avatar
PhanatiQ
Sergeant
Sergeant
 
Posts: 6
Joined: Sun May 16, 2021 8:19 am

Re: Code not working correctly

Postby PhanatiQ » Sun May 23, 2021 7:58 pm

So I got the remapping to work now. Here's my working script.

Code: Select all
////////////////////////////////////////////////////////////////////////////////
 
int ToggleL;
int ToggleI;
int ToggleM;
int ToggleC;
 
////////////////////////////////////////////////////////////////////////////////
//LOOT//
 
main
{
 
    //ACTIVATE
    if(event_active(BUTTON_17) && is_active(BUTTON_8) &&                        //L2 AND SQUARE
        time_release(BUTTON_17) < 100){                   
        ToggleL = !ToggleL;                                                     //ACTIVATE
    }
 
    //BUTTON SWAP
    if(ToggleL) {
        fix32 tmpL;
 
        tmpL = get_val(STICK_1_X);                                                //RX >< LX
        set_val(STICK_1_X, get_val(STICK_2_X));
        set_val(STICK_2_X, tmpL);
        set_val(STICK_1_X, 0);
 
        tmpL = get_val(STICK_1_Y);                                                //RY >< LY   
        set_val(STICK_1_Y, get_val(STICK_2_Y));
        set_val(STICK_2_Y, tmpL);
        set_val(STICK_1_Y, 0);
 
        tmpL = get_val(BUTTON_5);                                                //R2 >< TOUCH P1
        set_val(BUTTON_5, get_val(BUTTON_19));
        set_val(BUTTON_19, tmpL);
 
        tmpL = get_val(BUTTON_14);                                                //TRIANGLE >< TOUCH P2
        set_val(BUTTON_14, get_val(BUTTON_20));
        set_val(BUTTON_20, tmpL);       
    }
 
        if(ToggleL) {
            //CROUCH
            combo_run(Crouch);                                                     //CROUCH
 
            //MOUSE WHEEL UP
            if(event_active(BUTTON_5)) {                                        //CROSS
                combo_stop(WheelDown);
                combo_run(WheelUp);
            }
 
            //MOUSE WHEEL DOWN
            if(event_active(BUTTON_14)) {                                       //TRIANGLE                     
                combo_stop(WheelUp);
                combo_run(WheelDown);           
            }
 
            //DEACTIVATE
            if(event_active(BUTTON_15)) {                                       //CIRCLE
                ToggleL = !ToggleL;
            }
        }
 
////////////////////////////////////////////////////////////////////////////////       
//INVENTORY//
 
    //ACTIVATE
    if(time_active(BUTTON_3) < 150) {                                                //OPTIONS
        ToggleI = !ToggleI;                                                     //ACTIVATE
 
        if(ToggleM) {                                                            //DEACTIVATE
            ToggleM = !ToggleM;
        }   
 
        if(ToggleC) {                                                            //DEACTIVATE
            ToggleC = !ToggleC;
        }   
    }
 
    //BUTTON SWAP
    if(ToggleI) {
        fix32 tmpI;
 
        tmpI = get_val(STICK_1_X);                                                //RX >< LX
        set_val(STICK_1_X, get_val(STICK_2_X));
        set_val(STICK_2_X, tmpI);
        set_val(STICK_1_X, 0);
 
        tmpI = get_val(STICK_1_Y);                                                //RY >< LY   
        set_val(STICK_1_Y, get_val(STICK_2_Y));
        set_val(STICK_2_Y, tmpI);
        set_val(STICK_1_Y, 0);
 
        tmpI = get_val(BUTTON_15);                                                //CIRCLE >< SQUARE   
        set_val(BUTTON_15, get_val(BUTTON_17));
        set_val(BUTTON_17, tmpI);
        set_val(BUTTON_15, 0);
    }
 
////////////////////////////////////////////////////////////////////////////////
//MAP//
 
    //ACTIVATE
    if(event_active(BUTTON_2)) {                                                //TOUCH CLICK
        ToggleM = !ToggleM;                                                     //ACTIVATE
 
        if(ToggleI) {                                                            //DEACTIVATE
            ToggleI = !ToggleI;
        }   
 
        if(ToggleC) {                                                            //DEACTIVATE
            ToggleC = !ToggleC;
        }   
    }
 
    //BUTTON SWAP
    if(ToggleM) {
        fix32 tmpM;
 
        tmpM = get_val(STICK_1_X);                                                //RX >< LX
        set_val(STICK_1_X, get_val(STICK_2_X));
        set_val(STICK_2_X, tmpM);
        set_val(STICK_1_X, 0);
 
        tmpM = get_val(STICK_1_Y);                                                //RY >< LY   
        set_val(STICK_1_Y, get_val(STICK_2_Y));
        set_val(STICK_2_Y, tmpM);
        set_val(STICK_1_Y, 0);
    }
 
    //DEACTIVATE
    if(ToggleM) {
        if(event_active(BUTTON_15)) {                                           //CIRCLE
            ToggleM = !ToggleM;
        }                      
    }
 
////////////////////////////////////////////////////////////////////////////////   
//CURSOR//
 
    //ACTIVATE
    if(event_active(GYRO_1_Z)) {                                                //TOUCH P1
        ToggleC = !ToggleC;                                                     //ACTIVATE
 
        if(ToggleI) {                                                            //DEACTIVATE
            ToggleI = !ToggleI;
        }   
 
        if(ToggleM) {                                                            //DEACTIVATE
            ToggleM = !ToggleM;
        }
    }
 
    //BUTTON SWAP
    if(ToggleC) {
        fix32 tmpC;
 
        tmpC = get_val(STICK_1_X);                                                //RX >< LX
        set_val(STICK_1_X, get_val(STICK_2_X));
        set_val(STICK_2_X, tmpC);
        set_val(STICK_1_X, 0);
 
        tmpC = get_val(STICK_1_Y);                                                //RY >< LY   
        set_val(STICK_1_Y, get_val(STICK_2_Y));
        set_val(STICK_2_Y, tmpC);
        set_val(STICK_1_Y, 0);       
 
        tmpC = get_val(BUTTON_5);                                                //R2 >< TOUCH P1
        set_val(BUTTON_5, get_val(BUTTON_19));
        set_val(BUTTON_19, tmpC);
 
        tmpC = get_val(BUTTON_14);                                                //TRIANGLE >< TOUCH P2
        set_val(BUTTON_14, get_val(BUTTON_20));
        set_val(BUTTON_20, tmpC);       
    }
 
        if(ToggleC) {       
            //MOUSE WHEEL UP
            if(event_active(BUTTON_5)) {                                        //CROSS
                combo_stop(WheelDown);
                combo_run(WheelUp);
            }
 
            //MOUSE WHEEL DOWN
            if(event_active(BUTTON_14)) {                                       //TRIANGLE                     
                combo_stop(WheelUp);
                combo_run(WheelDown);           
            }
        }
 
    //DEACTIVATE
    if(ToggleC) {
        if(event_active(BUTTON_15)) {                                           //CIRCLE
            ToggleC = !ToggleC;
        }
    }
 
}       
 
////////////////////////////////////////////////////////////////////////////////     
//COMBOS//
 
//CROUCH
combo Crouch {
       set_val(BUTTON_8, 100);                                                  //CIRCLE
    }
 
//MOUSE WHEEL UP
combo WheelUp {
    set_val(STICK_1_Y, -100);                                                   //RY
    wait(500);
    set_val(STICK_1_Y, 0);                                       
    }
 
//MOUSE WHEEL DOWN
combo WheelDown {
    set_val(STICK_1_Y, 100);                                                    //RY
    wait(500);
    set_val(STICK_1_Y, 0);       
    }           
 
////////////////////////////////////////////////////////////////////////////////
User avatar
PhanatiQ
Sergeant
Sergeant
 
Posts: 6
Joined: Sun May 16, 2021 8:19 am

Re: Code not working correctly

Postby PhanatiQ » Sun May 23, 2021 10:39 pm

Anybody know if there's a way to add delay before a toggle?
User avatar
PhanatiQ
Sergeant
Sergeant
 
Posts: 6
Joined: Sun May 16, 2021 8:19 am


Return to GPC2 Script Programming

Who is online

Users browsing this forum: No registered users and 121 guests