Can someone please convert this for me?

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

Re: Can someone please convert this for me?

Postby Eyekeelu » Tue Jan 16, 2018 4:00 am

I’m no expert but I have a guess as to why it doesn’t work exactly right. Take for instance your quick scope combo. Remembering that each time the titan one does a button push, or zeros out a button push COULD cause 1-10 milliseconds of delay, and the titan two will only cause 1/4 of 1 millisecond, that means that your combo could be off by anywhere from 9-39 milliseconds, not including everything else that would cause a delay. So I’d say, you will have to manually adjust the wait times to tweak those combos, but that’s just my guess, sorry if I’m wrong ;)


Edit: my scripts are basic compared to this, but my combo in my script has anywhere from 3 to 5 button pushes, and each combo changed by anywhere from 15-25 milliseconds per combo. Hopefully that helps
User avatar
Eyekeelu
Sergeant First Class
Sergeant First Class
 
Posts: 19
Joined: Thu Jan 11, 2018 9:27 am

Re: Can someone please convert this for me?

Postby Fenria » Wed Jan 17, 2018 9:09 pm

That is understandable, but the combo itself should normally still be stable enough that there isn't a noticeable difference, and the Titan One did not have these issues, even though I used the exact same script on it.

I have decided to create a script that uses two combos and four functons taken from the larger script to show the issue appears in even in small scripts.

The script is designed to alternate the LED between red and blue as well as to alternate between the R1 and R2 buttons by using two separate combos.
I kept it as close as possible to what I use in my larger script while getting rid of anything unnecessary, and each combo is supposed to wait for 40ms between steps, but instead the Alt_Turbo combo behaves erratically, and the turbo script spends more time with the button and LED deactivated then it does activated.

The combo instability actually acts slightly differently in this script then it does in my main script, as the turbo combo in my main script is only very slightly off every now and then, but otherwise works fine, so I will be providing both scripts, and I will have them set up so the only thing that should be needed to see the instability properly is to use the device monitor's graph feature.

This is the small script I created:
Code: Select all
#include <titanone.gph>
int LC = 0;
int LC1 = 0;
int LC2 = 0;
int LC3 = 0;
int ALT = 0;
int ON = 40;
int OFF = 40;
int T1 = 22;
int T2 = 44;
 
main {
    fLED_Control();
    fAlternate();
}
 
combo Turbo {
    fTurbo(100);
    wait(ON);
    fTurbo(0);
    set_led(LED_1, 0);
    wait(OFF);
}
 
combo Alt_Turbo {
    fAlt_Turbo(100);
    wait(ON);
    fAlt_Turbo(0);
    set_led(LED_2, 0);
    wait(OFF);
}
 
function fLED_Control() {
    if (LC1 || LC2 || LC3 == 1)    {    LC = 1;    }
    else    {    LC = 0;    }
    if (LC2 == 0)    {    set_led(LED_3, 0);    }
    if (LC == 0)    {    set_led(LED_1, 0);
                        set_led(LED_2, 0);
                        set_led(LED_3, 0);
                        set_led(LED_4, 1);    }
    if (LC == 1)    {    set_led(LED_4, 0);    }
}
 
function fAlternate() {
    if (!combo_running(Turbo))    {    combo_run(Turbo);
                                    ALT = (ON + OFF) / 2;    }
    if (ALT)    {    ALT = ALT - get_rtime();
                    if (ALT <= 0)    {
                        combo_run(Alt_Turbo);
                    }
                }
}
 
function fTurbo(x) {
    LC1 = 0;
    if (T1 == 22 || T1 == 1 && get_val(PS4_R1))    {    set_val(PS4_R1, x);
                                                    set_led(LED_1, x);
                                                    LC1 = 1;    }
}
 
function fAlt_Turbo(x) {
    LC3 = 0;
    if (T2 == 44 || T2 == 5 && get_val(PS4_R2))    {    set_val(PS4_R2, x);
                                                    set_led(LED_2, x);
                                                    LC3 = 1;    }
}


Here is the main script, set up for easy use with the device monitor's graph feature:
Code: Select all
#include <titanone.gph>
int LC = 0;
int LC1 = 0;
int LC2 = 0;
int LC3 = 0;
int DZ = 10;
int RS = 100;
int LS = 100;
int IOP = 1;
int ALT = 0;
int ON = 40;
int OFF = 40;
int DT = 0;
int PT = 100;
int T1 = 22;
int T2 = 44;
int T3 = 0;
int T4 = 0;
int T5 = 0;
int T6 = 0;
int T7 = 0;
int T8 = 0;
int T9 = 0;
int T10 = 0;
int T11 = 0;
int T12 = 0;
int T13 = 0;
int T14 = 0;
int QS = 0;
int QSS = PS4_L2;
int QSF = PS4_R2;
 
main {
    fLED_Control();
    fMisc();
    if (!get_val(PS4_SHARE))    {
        if (get_val(PS4_OPTIONS))    {
            if (event_press(PS4_PS))    {
                fSet_Output();
            }
        }
    }
    if (get_val(PS4_SHARE))    {
        if (get_val(PS4_OPTIONS))    {
            fAdjust();
        }    else if (!get_val(PS4_OPTIONS))    {
                if (get_val(PS4_PS))    {
                    fDefault();
                }    else    {
                        fSet_Feature1();
                    }
            }
    }
    fToggle1();
    fAlternate();
    combo_run(Press);
    fQuick_Scope();
}
 
combo Turbo {
    fTurbo(100);
    wait(ON);
    fTurbo(0);
    set_led(LED_1, 0);
    wait(OFF);
}
 
combo Press {
    fPress(100);
}
 
combo Alt_Turbo {
    fAlt_Turbo(100);
    wait(ON);
    fAlt_Turbo(0);
    set_led(LED_2, 0);
    wait(OFF);
}
 
combo Quick_Scope {
    set_val(QSS, 100);
    wait(500);
    set_val(QSS, 100);
    set_val(QSF, 100);
    wait(50);
    set_val(QSF, 0);
    set_val(QSS, 0);
}
 
function fLED_Control() {
    if (LC1 || LC2 || LC3 == 1)    {    LC = 1;    }
    else    {    LC = 0;    }
    if (LC2 == 0)    {    set_led(LED_3, 0);    }
    if (LC == 0)    {    set_led(LED_1, 0);
                        set_led(LED_2, 0);
                        set_led(LED_3, 0);
                        set_led(LED_4, 1);    }
    if (LC == 1)    {    set_led(LED_4, 0);    }
}
 
function fMisc() {
    fRight_Stick(PS4_RX);
    fRight_Stick(PS4_RY);
    fLeft_Stick(PS4_LX);
    fLeft_Stick(PS4_LY);
    set_val(TRACE_1, ON / 10);
    set_val(TRACE_2, OFF / 10);
    set_val(TRACE_3, RS);
    set_val(TRACE_4, LS);
    if (DT > 0)    {    DT = DT - get_rtime();    }
}
 
function fRight_Stick(i) {
    if (abs(get_val(i)) <= DZ)    {    set_val(i, 0);    }
    sensitivity(i, 50, RS);
}
 
function fLeft_Stick(i) {
    if (abs(get_val(i)) <= DZ)    {    set_val(i, 0);    }
    sensitivity(i, 50, LS);
}
 
function fSet_Output() {
    if (event_press(PS4_PS))    {    if (IOP < 4)    {
                                        IOP = IOP + 1;
                                    }    else if (IOP >= 4)    {
                                            IOP = 1;
                                        }
                                }
    if (IOP == 1)    {    output_protocol(PIO_XB360);    }
    if (IOP == 2)    {    output_protocol(PIO_PS3);    }
    if (IOP == 3)    {    output_protocol(PIO_XB1);    }
    if (IOP == 4)    {    output_protocol(PIO_PS4);    }
}
 
function fAdjust() {
    if (event_press(PS4_TRIANGLE) && RS < 200)    {    RS = RS + 10;    }
    if (event_press(PS4_CROSS) && RS > 20)    {    RS = RS - 10;    }
    if (event_press(PS4_UP) && LS < 200)    {    LS = LS + 10;    }
    if (event_press(PS4_DOWN) && LS > 20)    {    LS = LS - 10;    }
    if (event_press(PS4_R1) && ON < 2000)    {    ON = ON + 10;
                                                fReset();    }
    if (event_press(PS4_L1) && ON > 20)    {    ON = ON - 10;
                                            fReset();    }
    if (event_press(PS4_R2) && OFF < 2000)    {    OFF = OFF + 10;
                                                fReset();    }
    if (event_press(PS4_L2) && OFF > 20)    {    OFF = OFF - 10;
                                                fReset();    }
    if (event_press(PS4_R3) && QS < 3)    {    QS = QS + 1;    }
    else if (event_press(PS4_R3) && QS >= 3)    {    QS = 0;    }
}
 
function fDefault() {
    ON = 40;
    OFF = 40;
    T1 = 0;
    T2 = 0;
    T3 = 0;
    T4 = 0;
    T5 = 0;
    T6 = 0;
    T7 = 0;
    T8 = 0;
    T9 = 0;
    T10 = 0;
    T11 = 0;
    T12 = 0;
    T13 = 0;
    T14 = 0;
    QS = 0;
    fReset();
}
 
function fSet_Feature1() {
    if (event_press(PS4_R1))    {    T1 = fSet_Feature2(PS4_R1, T1);    }
    if (event_press(PS4_R2))    {    T2 = fSet_Feature2(PS4_R2, T2);    }
    if (event_press(PS4_R3))    {    T3 = fSet_Feature2(PS4_R3, T3);    }
    if (event_press(PS4_L1))    {    T4 = fSet_Feature2(PS4_L1, T4);    }
    if (event_press(PS4_L2))    {    T5 = fSet_Feature2(PS4_L2, T5);    }
    if (event_press(PS4_L3))    {    T6 = fSet_Feature2(PS4_L3, T6);    }
    if (event_press(PS4_TRIANGLE))    {    T7 = fSet_Feature2(PS4_TRIANGLE, T7);    }
    if (event_press(PS4_CIRCLE))    {    T8 = fSet_Feature2(PS4_CIRCLE, T8);    }
    if (event_press(PS4_CROSS))    {    T9 = fSet_Feature2(PS4_CROSS, T9);    }
    if (event_press(PS4_SQUARE))    {    T10 = fSet_Feature2(PS4_SQUARE, T10);    }
    if (event_press(PS4_UP))    {    T11 = fSet_Feature2(PS4_UP, T11);    }
    if (event_press(PS4_RIGHT))    {    T12 = fSet_Feature2(PS4_RIGHT, T12);    }
    if (event_press(PS4_DOWN))    {    T13 = fSet_Feature2(PS4_DOWN, T13);    }
    if (event_press(PS4_LEFT))    {    T14 = fSet_Feature2(PS4_LEFT, T14);    }
}
 
function fSet_Feature2(button, t) {
    if (event_press(button))    {    if (DT <= 0)    {    DT = 250;
                                    }    else if (DT > 0 && t < 5)    {    t = t + 1;
                                        }    else if (DT > 0 && t >= 5)    {    t = 0;
                                            }
                                }
    return(t);
}
 
function fReset() {
    combo_stop(Turbo);
    combo_stop(Alt_Turbo);
}
 
function fToggle1() {
    if (T1)    {    T1 = fToggle2(PS4_R1, T1);    }
    if (T2)    {    T2 = fToggle2(PS4_R2, T2);    }
    if (T3)    {    T3 = fToggle2(PS4_R3, T3);    }
    if (T4)    {    T4 = fToggle2(PS4_L1, T4);    }
    if (T5)    {    T5 = fToggle2(PS4_L2, T5);    }
    if (T6)    {    T6 = fToggle2(PS4_L3, T6);    }
    if (T7)    {    T7 = fToggle2(PS4_TRIANGLE, T7);    }
    if (T8)    {    T8 = fToggle2(PS4_CIRCLE, T8);    }
    if (T9)    {    T9 = fToggle2(PS4_CROSS, T9);    }
    if (T10)    {    T10 = fToggle2(PS4_SQUARE, T10);    }
    if (T11)    {    T11 = fToggle2(PS4_UP, T11);    }
    if (T12)    {    T12 = fToggle2(PS4_RIGHT, T12);    }
    if (T13)    {    T13 = fToggle2(PS4_DOWN, T13);    }
    if (T14)    {    T14 = fToggle2(PS4_LEFT, T14);    }
}
 
function fToggle2(button, t) {
    if (get_ptime(button) < PT && event_release(button))    {    if (t == 2)    {
                                                                    return(22);
                                                                }
                                                                if (t == 22)    {
                                                                    return(2);
                                                                }
                                                                if (t == 3)    {
                                                                    return(33);
                                                                }
                                                                if (t == 33)    {
                                                                    return(3);
                                                                }
                                                                if (t == 4)    {
                                                                    return(44);
                                                                }
                                                                if (t == 44)    {
                                                                    return(4);
                                                                }
                                                            }
    return(t);
}
 
function fAlternate() {
    if (!combo_running(Turbo))    {    combo_run(Turbo);
                                    ALT = (ON + OFF) / 2;    }
    if (ALT)    {    ALT = ALT - get_rtime();
                    if (ALT <= 0)    {
                        combo_run(Alt_Turbo);
                    }
                }
}
 
function fTurbo(x) {
    LC1 = 0;
    if (T1 == 22 || T1 == 1 && get_val(PS4_R1))    {    set_val(PS4_R1, x);
                                                    set_led(LED_1, x);
                                                    LC1 = 1;    }
    if (T2 == 22 || T2 == 1 && get_val(PS4_R2))    {    set_val(PS4_R2, x);
                                                    set_led(LED_1, x);
                                                    LC1 = 1;    }
    if (T3 == 22 || T3 == 1 && get_val(PS4_R3))    {    set_val(PS4_R3, x);
                                                    set_led(LED_1, x);
                                                    LC1 = 1;    }
    if (T4 == 22 || T4 == 1 && get_val(PS4_L1))    {    set_val(PS4_L1, x);
                                                    set_led(LED_1, x);
                                                    LC1 = 1;    }
    if (T5 == 22 || T5 == 1 && get_val(PS4_L2))    {    set_val(PS4_L2, x);
                                                    set_led(LED_1, x);
                                                    LC1 = 1;    }
    if (T6 == 22 || T6 == 1 && get_val(PS4_L3))    {    set_val(PS4_L3, x);
                                                    set_led(LED_1, x);
                                                    LC1 = 1;    }
    if (T7 == 22 || T7 == 1 && get_val(PS4_TRIANGLE))    {    set_val(PS4_TRIANGLE, x);
                                                            set_led(LED_1, x);
                                                            LC1 = 1;    }
    if (T8 == 22 || T8 == 1 && get_val(PS4_CIRCLE))    {    set_val(PS4_CIRCLE, x);
                                                        set_led(LED_1, x);
                                                        LC1 = 1;    }
    if (T9 == 22 || T9 == 1 && get_val(PS4_CROSS))    {    set_val(PS4_CROSS, x);
                                                        set_led(LED_1, x);
                                                        LC1 = 1;    }
    if (T10 == 22 || T10 == 1 && get_val(PS4_SQUARE))    {    set_val(PS4_SQUARE, x);
                                                            set_led(LED_1, x);
                                                            LC1 = 1;    }
    if (T11 == 22 || T11 == 1 && get_val(PS4_UP))    {    set_val(PS4_UP, x);
                                                        set_led(LED_1, x);
                                                        LC1 = 1;    }
    if (T12 == 22 || T12 == 1 && get_val(PS4_RIGHT))    {    set_val(PS4_RIGHT, x);
                                                            set_led(LED_1, x);
                                                            LC1 = 1;    }
    if (T13 == 22 || T13 == 1 && get_val(PS4_DOWN))    {    set_val(PS4_DOWN, x);
                                                        set_led(LED_1, x);
                                                        LC1 = 1;    }
    if (T14 == 22 || T14 == 1 && get_val(PS4_LEFT))    {    set_val(PS4_LEFT, x);
                                                        set_led(LED_1, x);
                                                        LC1 = 1;    }
}
 
function fPress(x) {
    LC2 = 0;
    if (T1 == 33)    {    set_val(PS4_R1, x);
                        set_led(LED_3, x);
                        LC2 = 1;    }
    if (T2 == 33)    {    set_val(PS4_R2, x);
                        set_led(LED_3, x);
                        LC2 = 1;    }
    if (T3 == 33)    {    set_val(PS4_R3, x);
                        set_led(LED_3, x);
                        LC2 = 1;    }
    if (T4 == 33)    {    set_val(PS4_L1, x);
                        set_led(LED_3, x);
                        LC2 = 1;    }
    if (T5 == 33)    {    set_val(PS4_L2, x);
                        set_led(LED_3, x);
                        LC2 = 1;    }
    if (T6 == 33)    {    set_val(PS4_L3, x);
                        set_led(LED_3, x);
                        LC2 = 1;    }
    if (T7 == 33)    {    set_val(PS4_TRIANGLE, x);
                        set_led(LED_3, x);
                        LC2 = 1;    }
    if (T8 == 33)    {    set_val(PS4_CIRCLE, x);
                        set_led(LED_3, x);
                        LC2 = 1;    }
    if (T9 == 33)    {    set_val(PS4_CROSS, x);
                        set_led(LED_3, x);
                        LC2 = 1;    }
    if (T10 == 33)    {    set_val(PS4_SQUARE, x);
                        set_led(LED_3, x);
                        LC2 = 1;    }
    if (T11 == 33)    {    set_val(PS4_UP, x);
                        set_led(LED_3, x);
                        LC2 = 1;    }
    if (T12 == 33)    {    set_val(PS4_RIGHT, x);
                        set_led(LED_3, x);
                        LC2 = 1;    }
    if (T13 == 33)    {    set_val(PS4_DOWN, x);
                        set_led(LED_3, x);
                        LC2 = 1;    }
    if (T14 == 33)    {    set_val(PS4_LEFT, x);
                        set_led(LED_3, x);
                        LC2 = 1;    }
}
 
function fAlt_Turbo(x) {
    LC3 = 0;
    if (T1 == 44 || T1 == 5 && get_val(PS4_R1))    {    set_val(PS4_R1, x);
                                                    set_led(LED_2, x);
                                                    LC3 = 1;    }
    if (T2 == 44 || T2 == 5 && get_val(PS4_R2))    {    set_val(PS4_R2, x);
                                                    set_led(LED_2, x);
                                                    LC3 = 1;    }
    if (T3 == 44 || T3 == 5 && get_val(PS4_R3))    {    set_val(PS4_R3, x);
                                                    set_led(LED_2, x);
                                                    LC3 = 1;    }
    if (T4 == 44 || T4 == 5 && get_val(PS4_L1))    {    set_val(PS4_L1, x);
                                                    set_led(LED_2, x);
                                                    LC3 = 1;    }
    if (T5 == 44 || T5 == 5 && get_val(PS4_L2))    {    set_val(PS4_L2, x);
                                                    set_led(LED_2, x);
                                                    LC3 = 1;    }
    if (T6 == 44 || T6 == 5 && get_val(PS4_L3))    {    set_val(PS4_L3, x);
                                                    set_led(LED_2, x);
                                                    LC3 = 1;    }
    if (T7 == 44 || T7 == 5 && get_val(PS4_TRIANGLE))    {    set_val(PS4_TRIANGLE, x);
                                                            set_led(LED_2, x);
                                                            LC3 = 1;    }
    if (T8 == 44 || T8 == 5 && get_val(PS4_CIRCLE))    {    set_val(PS4_CIRCLE, x);
                                                        set_led(LED_2, x);
                                                        LC3 = 1;    }
    if (T9 == 44 || T9 == 5 && get_val(PS4_CROSS))    {    set_val(PS4_CROSS, x);
                                                        set_led(LED_2, x);
                                                        LC3 = 1;    }
    if (T10 == 44 || T10 == 5 && get_val(PS4_SQUARE))    {    set_val(PS4_SQUARE, x);
                                                            set_led(LED_2, x);
                                                            LC3 = 1;    }
    if (T11 == 44 || T11 == 5 && get_val(PS4_UP))    {    set_val(PS4_UP, x);
                                                        set_led(LED_2, x);
                                                        LC3 = 1;    }
    if (T12 == 44 || T12 == 5 && get_val(PS4_RIGHT))    {    set_val(PS4_RIGHT, x);
                                                            set_led(LED_2, x);
                                                            LC3 = 1;    }
    if (T13 == 44 || T13 == 5 && get_val(PS4_DOWN))    {    set_val(PS4_DOWN, x);
                                                        set_led(LED_2, x);
                                                        LC3 = 1;    }
    if (T14 == 44 || T14 == 5 && get_val(PS4_LEFT))    {    set_val(PS4_LEFT, x);
                                                        set_led(LED_2, x);
                                                        LC3 = 1;    }
}
 
function fQuick_Scope() {
    if (QS != 0 && !get_val(PS4_SHARE) && get_ptime(QSS) < PT && event_release(QSS))    {    combo_run(Quick_Scope);    }
    if (QS == 1)    {    QSS = PS4_L2;
                        QSF = PS4_R2;    }
    if (QS == 2)    {    QSS = PS4_R3;
                        QSF = PS4_R2;    }
    if (QS == 3)    {    QSS = PS4_SQUARE;
                        QSF = PS4_R2;    }
    set_val(TRACE_5, QS);
}

Here are images of the issues:

Small Script Turbo Combo Instability:
Image

Small Script Alt_Turbo Combo Instability:
Image

Main Script Turbo Combo Instability:
Image

Main Script Alt_Turbo Combo Instability:
Image
User avatar
Fenria
Command Sergeant Major
Command Sergeant Major
 
Posts: 147
Joined: Thu May 21, 2015 5:56 pm

Re: Can someone please convert this for me?

Postby Eyekeelu » Wed Jan 17, 2018 10:06 pm

I gotta be honest bro, I really just don’t know. I’m sure someone else will help you. It’s a bit over my head, sorry.
User avatar
Eyekeelu
Sergeant First Class
Sergeant First Class
 
Posts: 19
Joined: Thu Jan 11, 2018 9:27 am

Re: Can someone please convert this for me?

Postby Fenria » Wed Jan 17, 2018 10:57 pm

It's fine.
Thank you for trying to come up with an explanation though.
User avatar
Fenria
Command Sergeant Major
Command Sergeant Major
 
Posts: 147
Joined: Thu May 21, 2015 5:56 pm

Re: Can someone please convert this for me?

Postby bonefisher » Thu Jan 18, 2018 12:49 am

You can't run the LED's like that which is giving you the issues!
bonefisher
Lieutenant General
Lieutenant General
 
Posts: 5413
Joined: Thu Jan 29, 2015 10:49 am

Re: Can someone please convert this for me?

Postby Fenria » Thu Jan 18, 2018 1:23 am

What do you mean I can't run the LEDs like that?
User avatar
Fenria
Command Sergeant Major
Command Sergeant Major
 
Posts: 147
Joined: Thu May 21, 2015 5:56 pm

Re: Can someone please convert this for me?

Postby bonefisher » Thu Jan 18, 2018 2:04 am

Fenria wrote:What do you mean I can't run the LEDs like that?

Ok I look at it again and don't seem to overload the CPU but does cause the jumps in it which might throw things off!
bonefisher
Lieutenant General
Lieutenant General
 
Posts: 5413
Joined: Thu Jan 29, 2015 10:49 am

Re: Can someone please convert this for me?

Postby Fenria » Thu Jan 18, 2018 3:06 am

I used both scripts on a Titan One and found no issues with the combos, so I don't understand how running the LEDs like that would cause an issue on the Titan Two.

Can you please explain why running the LEDs like that could be causing the issue I am experiencing with the combos on the Titan Two?
User avatar
Fenria
Command Sergeant Major
Command Sergeant Major
 
Posts: 147
Joined: Thu May 21, 2015 5:56 pm

Re: Can someone please convert this for me?

Postby bonefisher » Thu Jan 18, 2018 9:48 am

J2Kbr needs to take a look for you to see why your having issues!
bonefisher
Lieutenant General
Lieutenant General
 
Posts: 5413
Joined: Thu Jan 29, 2015 10:49 am

Re: Can someone please convert this for me?

Postby J2Kbr » Thu Jan 18, 2018 11:39 am

There are three points that should be taken in consideration here.

1) The Titan One runs the script every 10ms to generate the outputs to be send to the console. The Titan Two runs the script at least once every 1ms and, if it was received a new report from any connected controller, the script runs immediately to ensure the smallest latency possible. This is important when converting combos from Titan One to Titan Two. With the Titan One, after the last wait() statement there is an extra 10ms for the combo finishing procedure. With the Titan Two this is 1ms maximum. This is the reason to add an extra 9ms at the end of the combo to produce the same results as with the Titan One.

2) The Device Monitor on Gtuner IV works by sampling every 10ms the input and output states. This means fast combos with less than 10ms transients will not register properly and the graph can have a representation error up to 9ms. However, the outputs to the console are generated exactly as programmed in the script (assuming the CPU load is normal).

3) The automated conversion from Titan One to Titan Two using titanone.gph header adds overhead to the code, specially for functions like set_led and set_rumble (see the titanone.gph code here). Your code makes heavy use of these functions (by heavy I mean calling it constantly and not for the amount of times it is present on the code). This may be affecting the script execution.

My suggestion is convert the script using the Titan Two native code for better performance.
ConsoleTuner Support Team
User avatar
J2Kbr
General of the Army
General of the Army
 
Posts: 20323
Joined: Tue Mar 18, 2014 1:39 pm

PreviousNext

Return to GPC2 Script Programming

Who is online

Users browsing this forum: AZOV_ops and 127 guests