Any Fifa 18 Script's??

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

Any Fifa 18 Script's??

Postby battlelog » Sun Jun 17, 2018 10:21 pm

Like the title says.

Thank you in advance.
battlelog
Lieutenant
Lieutenant
 
Posts: 408
Joined: Sun Apr 17, 2016 6:50 am

Re: Any Fifa 18 Script's??

Postby J2Kbr » Tue Jun 19, 2018 2:18 pm

We don't have any yet for FIFA published to the Titan Two, there are couple for the Titan One:

https://www.consoletuner.com/gpclib/?q=fifa&o=0&i=0

Also, there is some scripts on the forums, I will try find for your.
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: Any Fifa 18 Script's??

Postby battlelog » Tue Jun 19, 2018 3:27 pm

Yeah I seen those, dont have my T1's anymore sold them. Is there a way you can convert them for the t2??

Thanks.
battlelog
Lieutenant
Lieutenant
 
Posts: 408
Joined: Sun Apr 17, 2016 6:50 am

Re: Any Fifa 18 Script's??

Postby J2Kbr » Wed Jun 20, 2018 7:59 am

battlelog wrote:Yeah I seen those, dont have my T1's anymore sold them. Is there a way you can convert them for the t2?? Thanks.

Definitively.
Code: Select all
#include <titanone.gph>
 
/*
FIFA 16 Combos
 
- Activate\Desactivate script by pressing XB1_VIEW and XB1_MENU
- press XB1_VIEW an XB1_RIGHT for next skill
- press XB1_VIEW an XB1_LEFT for previous skill
some combos are disabled due to MAX bytecode side limitation
so uncomment your combo if you want to use it and add it to ProcessCombos()
 
 
- Doubleclick XB1_LB (skill to the left side) or XB1_RB (skill to the right side) to execute the skill
 
********
* IMPORTANT INFORMATION
- Im not a fan of activating the skills via LB and RB doubleclicking
specially since FIFA16 the new feature called NO TOUCH DRIBBLING uses the LB button.
so sometimes when you want to execute some skills to the left side, your player will not execute it correctly.
i way to bypass this is by triple clicking the LB button or a better option assing the LEFT skills
to a different button.
 
maybe a solution to this problem is blocking the LB output to the console  totally (send LB as unpress) when you doubleclick on it.
 
 for testing purposes i have also assigned the XB1_RIGHT button to execute left side skills and the skills run just fine.
 
 I use the XB1_LEFT an XB1_RIGHT you can use the one you like. just change the code bellow in line 121.
 or someone else code a better doubleclick handler than me :D.
*************
 
 
 
- some skills only can be excecuted to one direction (HeelFlick, etc)
so it doesnt matter which button you doubleclick, you can use both buttons.
- Combo list
- each fifa 16 player has a STAR SKILL rating, so a 3 STAR PLAYER can only execute
1,2, and 3 STAR SKILLS. a 3 STAR PLAYER can not execute 4 and 5 STAR SKILL.
 
 // standing skills not added.
 
 1 STAR SKILLS
 - KnockBall, FakeShot
 
 2 STAR SKILLS
 - BallRoll, BodyFeintCut, StepOverCut, ReversoStepOverCut, HeelFlick2
 
 3 STAR SKILLS
 - HeelFlick, FlickUP, Roulette, FakeAndGo
 
 4 STAR SKILLS
 - FakeShotBallHop, HeelToHeel(HeelFlick), Rainbow, AdvRainbow. FeintLeft/Right(FakeAndGo)
 - Spin, StopAndTurn, ScoopTurn
 
  5 STAR SKILLS
  - Elastico(FakeAndGo), ReverseElastico(FakeAndGo), HocusPocus, TripleElastico
  - BallRollFlick, TurnAndSpin(StopAndTurn), ElasticoChop, BolasieFlick
 
 
*/

define UP         = 0;
define UP_RIGHT   = 1;
define RIGHT      = 2;
define DOWN_RIGHT = 3;
define DOWN       = 4;
define DOWN_LEFT  = 5;
define LEFT       = 6;
define UP_LEFT    = 7;
 
define MAX_SKILLS   = 14; //21;
define FlickTime    = 80;
define HoldTime        = 300;
data
(  0, 100, 100, 100,   0, 156, 156, 156,
 156, 156,   0, 100, 100, 100,   0, 156
);
int scriptON;
int mode;
int dblclick_timer;
int dblclick_count;
int dblclick_msecs;
int x, y, p;
int dTemp, dStart, dMid, dEnd;
 
// testing purposes. scripts already ON
init {
    scriptON = 1;
    mode = 1;
}
 
main {
    // ACTIVE SKILLS
    if (get_val(XB1_VIEW)) {
        if (event_release(XB1_MENU)) {
            set_val(XB1_MENU, 0);
            scriptON = !scriptON;
        }
        //NEXT SKILL
        if (event_release(XB1_RIGHT)) {
            set_val(XB1_RIGHT, 0);
            mode = mode + 1;
            if (mode > MAX_SKILLS) {
                mode = 0;
            }
        // PREVIOUS SKILL
        } else if (event_release(XB1_LEFT)) {
            set_val(XB1_LEFT, 0);
            mode = mode - 1;
            if (mode < 0) {
                mode = MAX_SKILLS;
            }
        }
    }
 
    set_val(TRACE_1, scriptON);
    set_val(TRACE_2, mode);
 
    if (scriptON) {
        if (dbl_clicked(XB1_LB)) {
            ProcessCombos(RIGHT, LEFT);
        } else if (dbl_clicked(XB1_RB)) {
            ProcessCombos(LEFT, RIGHT);
        }   
 
        // testing purposes for LEFT side combos.
        if (event_press(XB1_RIGHT)) {
            ProcessCombos(RIGHT, LEFT);
        }
    }
}
/*
***********
COMBO MACROS
***********
I was trying to decrease the max bytecode side by using repetitive code
on a single combo, but at the end i reached the max allow codeside anyways
so combos added after this doesnt contain hold_RStick, flick_RStick, move_RStick, etc
*/

combo hold_RStick {
    calc_relative_xy(dEnd);
    set_val(XB1_RX, x);
    set_val(XB1_RY, y);
    wait(HoldTime);
    set_val(XB1_RX, 0);
    set_val(XB1_RY, 0);
    wait(50);
}
combo flick_RStick {
    call(move_RStick);
    set_val(XB1_RX, 0);
    set_val(XB1_RY, 0);
    wait(50);
}
combo move_RStick {
    calc_relative_xy(dEnd);
    set_val(XB1_RX, x);
    set_val(XB1_RY, y);
    wait(FlickTime);
}
combo RStick_HalfCircle {
    calc_relative_xy(dStart);
    set_val(XB1_RX, x);
    set_val(XB1_RY, y);
    wait(FlickTime);
    calc_relative_xy(dMid);
    set_val(XB1_RX, x);
    set_val(XB1_RY, y);
    wait(FlickTime);
    calc_relative_xy(dEnd);
    set_val(XB1_RX, x);
    set_val(XB1_RY, y);
    wait(FlickTime);
}
// 1 STAR SKILL
/*combo KnockOn {
    dEnd = UP;
    call(hold_RStick)// increase holdtime to knock the ball further
}
combo FakeShotStop {
    set_val(XB1_LX, 0);
    set_val(XB1_LY, 0);
    set_val(XB1_B, 100);
    wait(80);
    set_val(XB1_LX, 0);
    set_val(XB1_LY, 0);
    set_val(XB1_A, 100);
    set_val(XB1_B, 100);
    wait(80);
    set_val(XB1_LX, 0);
    set_val(XB1_LY, 0);
    set_val(XB1_A, 100);
    set_val(XB1_B, 0);
    wait(80);
    set_val(XB1_LX, 0);
    set_val(XB1_LY, 0);
    set_val(XB1_A, 0);
}*/

// 2 START SKILLS
combo BallRoll{
    call(hold_RStick);
}
combo BodyFeintCut {
    dEnd = dStart;
    call(flick_RStick);
 
    // uncomment code if you want 45 degree cut
//    if (dTemp == RIGHT) dTemp = UP_RIGHT;
//    if (dTemp == LEFT) dTemp = UP_LEFT;
 
    // 90 degree cut - left side nerfed by fifa developers
    calc_relative_xy(dTemp); //
    set_val(XB1_LX, x);
    set_val(XB1_LY, y);
    wait(400); // 80 ms
}
/*combo StepOverCut {
    calc_relative_xy(UP);
    set_val(XB1_RX, x);
    set_val(XB1_RY, y);
    wait(80);
    calc_relative_xy(dStart);
    set_val(XB1_RX, x);
    set_val(XB1_RY, y);
    wait(80);
 
    // uncomment code if you want 45 degree cut
//    if (dEnd == RIGHT) dEnd = UP_RIGHT;
//    if (dEnd == LEFT) dEnd = UP_LEFT;
 
    // 90 degree cut - left side nerfed by fifa developers
    calc_relative_xy(dEnd) //
    set_val(XB1_LX, x)
    set_val(XB1_LY, y)
    wait(400)
}*/

combo ReversoStepOverCut {
    calc_relative_xy(dStart);
    set_val(XB1_RX, x);
    set_val(XB1_RY, y);
    wait(80);
    calc_relative_xy(UP);
    set_val(XB1_RX, x);
    set_val(XB1_RY, y);
    wait(80);
 
    // 45 degree cut enabled
    // for some strange reason if else block gives wrong result.
    if (dEnd == RIGHT) dEnd = UP_RIGHT;
    if (dEnd == LEFT) dEnd = UP_LEFT;
 
    calc_relative_xy(dEnd); //
    set_val(XB1_LX, x);
    set_val(XB1_LY, y);
    wait(400); // 80 ms
}
combo HeelFlick2 {
    set_val(XB1_LT, 100);
    set_val(XB1_B, 100);
    wait(100);
    set_val(XB1_LT, 100);
    set_val(XB1_A, 100);
    set_val(XB1_B, 100);
    wait(50);
    set_val(XB1_LT, 100);
    set_val(XB1_A, 100);
    set_val(XB1_B, 0);
    wait(100);
    set_val(XB1_LT, 100);
    set_val(XB1_A, 0);
    wait(100);
}
// 3 START SKILL
combo HeelFlick {
    dEnd = UP;
    call(flick_RStick);
    dEnd = DOWN;
    call(flick_RStick);
}
/*combo FlickUP {
    dEnd = UP
    call(flick_RStick)
    call(flick_RStick)
    call(flick_RStick)
}*/

combo Roulette {
    dStart = DOWN;
    dMid   = dEnd;
    dEnd   = UP;
    call(RStick_HalfCircle);
}
combo FakeAndGo {
    dMid = DOWN;
    call(RStick_HalfCircle);
}
// 4 START SKILL
/*combo FakeShotBallHop {
    call(FakeShotStop);
    set_val(XB1_RS, 100);
    wait(200)
}*/

combo Rainbow {
    dEnd = DOWN;
    call(flick_RStick);
    dEnd = UP;
    call(flick_RStick);
    call(flick_RStick);
}
/*combo AdvRainbow {
    dEnd = DOWN
    call(flick_RStick)
    dEnd = UP
    calc_relative_xy(UP);
    set_val(XB1_RX, x);
    set_val(XB1_RY, y);
    wait(600);
    set_val(XB1_RX, 0);
    set_val(XB1_RY, 0);
    wait(30);
    call(flick_RStick)
}*/

combo Spin {
    if (dEnd == RIGHT)  dEnd = DOWN_RIGHT;
    else                dEnd = DOWN_LEFT;
    call(flick_RStick);
    call(flick_RStick);
}
combo StopAndTurn {
    dEnd = UP;
    call(flick_RStick);
    dEnd = dTemp;
    call(flick_RStick);
}
combo RonaldoChop {
    // press RT (sprint button) to do
    // a 90 degree fakeshot while running
    calc_relative_xy(dEnd);
    set_val(XB1_LX, x);
    set_val(XB1_LY, y);
    set_val(XB1_LT, 100);
    set_val(XB1_B, 100);
    wait(100);
 
    set_val(XB1_LX, x);
    set_val(XB1_LY, y);
    set_val(XB1_LT, 100);
    set_val(XB1_A, 100);
    set_val(XB1_B, 100);
    wait(50);
 
    set_val(XB1_LX, x);
    set_val(XB1_LY, y);
    set_val(XB1_LT, 100);
    set_val(XB1_A, 100);
    set_val(XB1_B, 0);
    wait(100);
    set_val(XB1_LX, x);
    set_val(XB1_LY, y);
    set_val(XB1_LT, 100);
    set_val(XB1_A, 0);
    wait(100);
}
/*combo ScoopTurn {
    // not the best one but seems to work. 80%
    // if you have a better one share it :D
    // 45 degree cut/turn
 //   if (dEnd == RIGHT) dEnd = UP_RIGHT;
 //   if (dEnd == LEFT) dEnd = UP_LEFT;
    // little hack to slow player's speed
    set_val(XB1_LT, 100);
    wait(400);
    calc_relative_xy(dEnd);
    set_val(XB1_LX, x)
    set_val(XB1_LY, y)
    set_val(XB1_B, 100);
 
    set_val(XB1_LT, 100);
    wait(100);
 
    set_val(XB1_LX, x)
    set_val(XB1_LY, y)
    set_val(XB1_A, 100);
    set_val(XB1_B, 100);
 
    set_val(XB1_LT, 100);
    wait(100);
 
    set_val(XB1_LX, x)
    set_val(XB1_LY, y)
    set_val(XB1_A, 100);
    set_val(XB1_B, 0);
 
    set_val(XB1_LT, 100);
    wait(100);
    set_val(XB1_LX, x)
    set_val(XB1_LY, y)
    set_val(XB1_A, 0);
    set_val(XB1_LT, 100);
    wait(100);
    // little hack to slow players speed and to avoid ronaldochop animation
    set_val(XB1_LT, 100);
    wait(400);
}
// 5 START SKILL
combo HocusPocusElastico {
    calc_relative_xy(DOWN)
    set_val(XB1_RX, x)
    set_val(XB1_RY, y)
    wait(FlickTime)
 
    dMid = DOWN
    dEnd = dTemp;
    call(RStick_HalfCircle)
}*/

combo BallRollFlick {
    dEnd = dStart;
    call(BallRoll);
    dEnd = dTemp;
 
    // change dEnd to UP to flick the ball to the front
//    if (mode == 13) dEnd = UP
    call(move_RStick);
}
combo ElasticoChop {
    dEnd = DOWN;
    call(flick_RStick);
    dEnd = dTemp;
    call(flick_RStick);
}
combo BolasieFlick {
    set_val(XB1_RB, 100);
    calc_relative_xy(UP);
    set_val(XB1_RX, x);
    set_val(XB1_RY, y);
    wait(80);
    set_val(XB1_RB, 100);
    set_val(XB1_RX, 0);
    set_val(XB1_RY, 0);
    wait(50);
 
    set_val(XB1_RB, 100);
    calc_relative_xy(dEnd);
    set_val(XB1_RX, x);
    set_val(XB1_RY, y);
    wait(80);
}
function ProcessCombos(fromSide, toSide) {
    if (mode) {
 
        // dEnd = side for skill execution
        // dTemp =  copy of dEnd
        // dStart = opposite side
        // for example
        // if dEnd = RIGHT then dStart = LEFT
        // if dEnd = LEFT then dStart = RIGHT       
 
        dStart = fromSide;
        dEnd   = toSide;
        dTemp  = toSide;
 
             if (mode == 1) combo_run(BallRoll);
        else if (mode == 2) combo_run(BodyFeintCut);
        else if (mode == 3) combo_run(ReversoStepOverCut);
        else if (mode == 4) combo_run(HeelFlick2);
        else if (mode == 5) combo_run(HeelFlick);
        else if (mode == 6) combo_run(FakeAndGo);
        else if (mode == 7) combo_run(Roulette);
        else if (mode == 8) combo_run(Rainbow);
        else if (mode == 9) combo_run(StopAndTurn);
        else if (mode == 10) combo_run(Spin);
        else if (mode == 11) combo_run(RonaldoChop);
        else if (mode == 12) combo_run(BallRollFlick);
        else if (mode == 13) combo_run(ElasticoChop);
        else if (mode == 14) combo_run(BolasieFlick);
 
/*        else if (mode == 1) combo_run(KnockOn)
        else if (mode == 3) combo_run(StepOverCut)
        else if (mode == 6) combo_run(FlickUP)
        else if (mode == 2) combo_run(FakeShotStop)
        else if (mode == 5) combo_run(FakeShotBallHop)
        else if (mode == 9) combo_run(AdvRainbow)
        else if (mode == 11) combo_run(ScoopTurn)
        else if (mode == 13) combo_run(HocusPocusElastico)
*/

 
    }
}
function calc_relative_xy(d) {
    if(get_val(XB1_LX) >= 50) x = 100;
    else if(get_val(XB1_LX) <= -50) x = -100;
    else x = 0;
    if(get_val(XB1_LY) >= 50) y = 100;
    else if(get_val(XB1_LY) <= -50) y = -100;
    else y = 0;
 
    set_val(TRACE_1, x);
    set_val(TRACE_2, y);
    if(x != 0 || y != 0) {
        p = 0; while(p < 8) {
            if(dchar(p) == x && dchar(8 + p) == y) {
                break;
            } p = p + 1;
        }
        p = p + d;
        if(p >= 8) p = p - 8;
        x = dchar(p);
        y = dchar(8 + p);
    }
    return;
}
function dbl_clicked(button) {
    if (dblclick_timer) {
        dblclick_msecs = dblclick_msecs + get_rtime();
        if ( dblclick_msecs > 500 ) {
            dblclick_count = 0;
            dblclick_msecs = 0;
            dblclick_timer = FALSE;
        }
    }
    if (event_release(button) && get_ptime(button) < 150) {
        if (dblclick_count == 0) {
            dblclick_timer = TRUE;
        } else if (dblclick_count == 1) {
            dblclick_count = 0;
            return 1;
        }
        dblclick_count = dblclick_count + 1;       
    }
}
 
ConsoleTuner Support Team
User avatar
J2Kbr
General of the Army
General of the Army
 
Posts: 20323
Joined: Tue Mar 18, 2014 1:39 pm


Return to GPC2 Script Programming

Who is online

Users browsing this forum: No registered users and 103 guests