Sniper Elite 3 on Xbox One

GPC1 script programming for Titan One. Code examples, questions, requests.

Re: Sniper Elite 3 on Xbox One

Postby SirrapT » Wed Oct 17, 2018 3:16 pm

I found it, abs in script stands for absolute. Not because I understand it, hehe. I'm not good at coding or scripting so a lot of it doesn't make sense to me. I copy and paste mostly and if I'm lucky, it works.
User avatar
SirrapT
Sergeant Major
Sergeant Major
 
Posts: 73
Joined: Fri Sep 21, 2018 1:42 am

Re: Sniper Elite 3 on Xbox One

Postby SirrapT » Wed Oct 17, 2018 10:01 pm

Are you the only one here? That's a lot of pressure for one person. Just wondering, cause if I could reach more people, it would be a win win for all of us.

I'm fiddling with script here and I just can't figure things out. I'm reading the instructions and I'm searching through the forum and library, but I still can't solve my dead zone problem. I've used the Device Monitor to read the numbers for the drifting of my left stick, but it really doesn't matter what I do, it still doesn't work?
This string:

deadzone(XB1_LX, XB1_LY, 18, 18);

doesn't solve the problem, no matter what numbers I put in? What I don't understand is how only two numbers will help when I have different readings on all four directions, LY minus, which is up, LY plus, which is down, LX minus, which is left and LX plus, which is right?

My readings of my left stick:

LY up: max -91, resting -7 to -45 (fluctuating).
LY down: max 100, resting 0 to -7 (fluctuating).
LX left: max -100, resting 0 to 7 (fluctuating).
LX right: max 100, resting 0 to 1 (fluctuating).

(As you can see, my biggest concern is LY up, making my character drift forward)

Is there anything we can do to make this work or do I need to buy a new controller?

And also, just to let you know!

if(get_val(XB1_LT) && (abs(get_val(XB1_LX)) > 20 || abs(get_val(XB1_LY)) > 20)) {
        combo_run(LeftRight);
    } else combo_stop(LeftRight);

did not work, so I put the combo_run on one of the paddles to activate manually again.

Please let me know if there's any way to make it easier for you (and me), how to reach more good scripters, how to find similar projects to learn from and maybe some game packs for similar shooting games that might work?!
User avatar
SirrapT
Sergeant Major
Sergeant Major
 
Posts: 73
Joined: Fri Sep 21, 2018 1:42 am

Re: Sniper Elite 3 on Xbox One

Postby J2Kbr » Thu Oct 18, 2018 9:38 am

Thank you for the clarifications. What you want is increase the deadzone (not remove it). The deadzone() function is to remove/reduce the controller deadzone. In your case, to fix the forward drift, use this code:
Code: Select all
main {
    if(get_val(PS4_LY) >= -45 && get_val(PS4_LY) < 0) {
        set_val(PS4_LY, 0);
    }
}
ConsoleTuner Support Team
User avatar
J2Kbr
General of the Army
General of the Army
 
Posts: 20323
Joined: Tue Mar 18, 2014 1:39 pm

Re: Sniper Elite 3 on Xbox One

Postby SirrapT » Thu Oct 18, 2018 4:10 pm

Thanks, will try that as soon as I can :)

So if that sorts the forward (up which is minus LY-) drift problem, how do you sort (script) backwards drift, which is also LY but plus (LY+) ???
Trying to make sense so I learn!
User avatar
SirrapT
Sergeant Major
Sergeant Major
 
Posts: 73
Joined: Fri Sep 21, 2018 1:42 am

Re: Sniper Elite 3 on Xbox One

Postby SirrapT » Fri Oct 19, 2018 6:23 am

Thanks a lot! My drifting is fixed!
User avatar
SirrapT
Sergeant Major
Sergeant Major
 
Posts: 73
Joined: Fri Sep 21, 2018 1:42 am

Re: Sniper Elite 3 on Xbox One

Postby J2Kbr » Fri Oct 19, 2018 9:12 am

SirrapT wrote:Thanks a lot! My drifting is fixed!

:joia: :joia: :smile0517:
ConsoleTuner Support Team
User avatar
J2Kbr
General of the Army
General of the Army
 
Posts: 20323
Joined: Tue Mar 18, 2014 1:39 pm

Re: Sniper Elite 3 on Xbox One

Postby SirrapT » Fri Oct 19, 2018 2:40 pm

So, the following script you gave me:

Code: Select all
main {
if(get_val(XB1_LT) && (abs(get_val(XB1_LX)) > 20 || abs(get_val(XB1_LY)) > 20)) {
combo_run(LeftRight);
} else combo_stop(LeftRight);
}
 


If I want it to stop combo between LX 45 to 100, LY 45 to 100, LX -45 to -100 and LY -45 to -100, how do I make it happen?

So far, this script has not worked, but it's not extremely important, cause I use the paddles for LeftRight Combo, but it would be nice if I could try :)
User avatar
SirrapT
Sergeant Major
Sergeant Major
 
Posts: 73
Joined: Fri Sep 21, 2018 1:42 am

Re: Sniper Elite 3 on Xbox One

Postby SirrapT » Fri Oct 19, 2018 7:18 pm

So I tried an alternative!
Here I want the zigzag to activate when LS is between 95 and 100, and it's working, but also when not in scoop (ads). How do I script to isolate to only activate when I'm ads (LT)?

Code: Select all
main {
    // Fix my drifting LY.
    if(get_val(XB1_LY) >= -45 && get_val(XB1_LY) < 0) {
        set_val(XB1_LY, 0);
        }
            //Fix LY max up from -91 to -100.
            if(get_val(XB1_LY) <= -90 && get_val(XB1_LY) > -100) {
                set_val(XB1_LY, -100);
                }
 
            // ZigZag/circle counter clockwise when moving LX.
            // Help! How do I make this to only happen while in ads (LT)
            if(get_val(XB1_LX) <= -100 && get_val(XB1_LY) > -95) {
                combo_run(ZigZagLeft);
                }
 
            // ZigZag/circle clockwise when moving LX.
            // Help! How do I make this to only happen while in ads (LT)
            if(get_val(XB1_LX) >= 100 && get_val(XB1_LY) < 95) {
                combo_run(ZigZagRight);
                }
 
                // ADS on LT activates max zoom in and hold breath/steady aim.
                if(event_press(XB1_LT)) {
                    combo_run(MaxZoomIn);
                    combo_run(HoldBreath);
                            }
    }
    combo ZigZagRight {
    set_val(XB1_LX, 100.0);
    wait(100);
    set_val(XB1_LY, 100.0);
    wait(100);   
    set_val(XB1_LX, -100.0);
    wait(100)
    set_val(XB1_LY, -100.0);
    wait(100);
    }
    combo ZigZagLeft {
    set_val(XB1_LX, -100.0);
    wait(100);
    set_val(XB1_LY, 100.0);
    wait(100);   
    set_val(XB1_LX, 100.0);
    wait(100)
    set_val(XB1_LY, -100.0);
    wait(100);
    }
    combo MaxZoomIn {
    wait(120);
    set_val(XB1_UP, 100);
    wait(40);
    }
    combo HoldBreath {
    wait (120);
    set_val(XB1_RB, 100);
    wait (40);
}
User avatar
SirrapT
Sergeant Major
Sergeant Major
 
Posts: 73
Joined: Fri Sep 21, 2018 1:42 am

Re: Sniper Elite 3 on Xbox One

Postby J2Kbr » Sat Oct 20, 2018 10:58 am

SirrapT wrote:Here I want the zigzag to activate when LS is between 95 and 100, and it's working, but also when not in scoop (ads). How do I script to isolate to only activate when I'm ads (LT)?

Please try this:
Code: Select all
main {
    // Fix my drifting LY.
    if(get_val(XB1_LY) >= -45 && get_val(XB1_LY) < 0) {
        set_val(XB1_LY, 0);
    }
    //Fix LY max up from -91 to -100.
    if(get_val(XB1_LY) <= -90 && get_val(XB1_LY) > -100) {
        set_val(XB1_LY, -100);
    }
 
    if(get_val(XB1_LT)) {
        // ZigZag/circle counter clockwise when moving LX.
        // Help! How do I make this to only happen while in ads (LT)
        if(get_val(XB1_LX) <= -100 && get_val(XB1_LY) > -95) {
            combo_run(ZigZagLeft);
        }
 
        // ZigZag/circle clockwise when moving LX.
        // Help! How do I make this to only happen while in ads (LT)
        if(get_val(XB1_LX) >= 100 && get_val(XB1_LY) < 95) {
            combo_run(ZigZagRight);
        }
    } else {
        combo_stop(ZigZagLeft);
        combo_stop(ZigZagRight);
    }
 
    // ADS on LT activates max zoom in and hold breath/steady aim.
    if(event_press(XB1_LT)) {
        combo_run(MaxZoomIn);
        combo_run(HoldBreath);
    }
}
 
combo ZigZagRight {
    set_val(XB1_LX, 100.0);
    wait(100);
    set_val(XB1_LY, 100.0);
    wait(100);   
    set_val(XB1_LX, -100.0);
    wait(100)
    set_val(XB1_LY, -100.0);
    wait(100);
}
 
combo ZigZagLeft {
    set_val(XB1_LX, -100.0);
    wait(100);
    set_val(XB1_LY, 100.0);
    wait(100);   
    set_val(XB1_LX, 100.0);
    wait(100)
    set_val(XB1_LY, -100.0);
    wait(100);
}
 
combo MaxZoomIn {
    wait(120);
    set_val(XB1_UP, 100);
    wait(40);
}
 
combo HoldBreath {
    wait (120);
    set_val(XB1_RB, 100);
    wait (40);
}
ConsoleTuner Support Team
User avatar
J2Kbr
General of the Army
General of the Army
 
Posts: 20323
Joined: Tue Mar 18, 2014 1:39 pm

Re: Sniper Elite 3 on Xbox One

Postby SirrapT » Sun Oct 21, 2018 10:34 pm

It's working :)

I use two different, the first one is manual zigzag with paddle. The second one activates auto-zigzag when moving LS (LX, LY, 95)

Code: Select all
main {
    // Fix my drifting LY.
    if(get_val(XB1_LY) >= -50 && get_val(XB1_LY) < 0) {
        set_val(XB1_LY, 0);
        }
 
        //Fix LY max up from -91 to -100.
        if(get_val(XB1_LY) <= -90 && get_val(XB1_LY) > -100) {
            set_val(XB1_LY, -100);
            }
 
            // ZigZag/circle movement while ads or binoculars,
            // clockwise and counter clockwise.
            // Using manual activation.
            if(get_val(XB1_P3)) {
                combo_run(ZigZag);
                }
 
                // ADS on LT activates max zoom in and hold breath/steady aim.
                if(event_press(XB1_LT)) {
                    combo_run(MaxZoomIn);
                    combo_run(HoldBreath);
                    }
    }
    combo ZigZag {
    set_val(XB1_LX, 100.0);
    wait(85);
    set_val(XB1_LY, 100.0);
    wait(85);   
    set_val(XB1_LX, -100.0);
    wait(85)
    set_val(XB1_LY, -100.0);
    wait(85);
    set_val(XB1_LX, -100.0);
    wait(85);
    set_val(XB1_LY, 100.0);
    wait(85);   
    set_val(XB1_LX, 100.0);
    wait(85)
    set_val(XB1_LY, -100.0);
    wait(85);
    }
    combo MaxZoomIn {
    wait(120);
    set_val(XB1_UP, 100);
    wait(40);
    }
    combo HoldBreath {
    wait (120);
    set_val(XB1_RB, 100);
    wait (40);

}


Code: Select all
main {
        // Fix my drifting LY.
        if(get_val(XB1_LY) >= -50 && get_val(XB1_LY) < 0) {
            set_val(XB1_LY, 0);
            }
 
            //Fix LY max up from -91 to -100.
            if(get_val(XB1_LY) <= -90 && get_val(XB1_LY) > -100) {
                set_val(XB1_LY, -100);
                }
 
                if(get_val(XB1_LT)) {
                    // ZigZag/circle counter clockwise when moving LX.
                    if(get_val(XB1_LX) <= -100 && get_val(XB1_LY) > -95) {
                        combo_run(ZigZagLeft);
                        }
 
                        // ZigZag/circle clockwise when moving LX.
                        if(get_val(XB1_LX) >= 100 && get_val(XB1_LY) < 95) {
                            combo_run(ZigZagRight);
                            }
                            } else {
                                combo_stop(ZigZagLeft);
                                combo_stop(ZigZagRight);
                                }
 
                                // ADS on LT activates max zoom in and hold breath/steady aim.
                                if(event_press(XB1_LT)) {
                                    combo_run(MaxZoomIn);
                                    combo_run(HoldBreath);
                                    }
}
 
combo ZigZagRight {
    set_val(XB1_LX, 100.0);
    wait(90);
    set_val(XB1_LY, 100.0);
    wait(90);   
    set_val(XB1_LX, -100.0);
    wait(90)
    set_val(XB1_LY, -100.0);
    wait(90);
}
 
combo ZigZagLeft {
    set_val(XB1_LX, -100.0);
    wait(90);
    set_val(XB1_LY, 100.0);
    wait(90);   
    set_val(XB1_LX, 100.0);
    wait(90)
    set_val(XB1_LY, -100.0);
    wait(90);
}
 
combo MaxZoomIn {
    wait(120);
    set_val(XB1_UP, 100);
    wait(40);
}
 
combo HoldBreath {
    wait (120);
    set_val(XB1_RB, 100);
    wait (40);
}



Next up is to learn remapping and sensitivity :)

Thank you so much for all your help :smile0202: :smile0203: :joia:
User avatar
SirrapT
Sergeant Major
Sergeant Major
 
Posts: 73
Joined: Fri Sep 21, 2018 1:42 am

PreviousNext

Return to GPC1 Script Programming

Who is online

Users browsing this forum: No registered users and 71 guests