Can someone tell me why my script is crashing my T2?
2 posts
• Page 1 of 1
Can someone tell me why my script is crashing my T2?
Took a crack at putting together my own Destiny 2 script but must have something wrong somewhere. T2 works fine with no script loaded (XB1 elite controller, DS4 host controller over BT) but when using my script it seems to crash and disconnect my controller after about 15-20 min. I tried not to get too complicated with it at first and then just build on it as I wanted to add features. I'm hoping someone can review my code and maybe point out whats causing the crash.
Current features:
Auto sprint (borrowed from Rabid Taco's script)
Turbo melee
Easy Revive
Button remapping
Current features:
Auto sprint (borrowed from Rabid Taco's script)
Turbo melee
Easy Revive
Button remapping
- Code: Select all
#pragma METAINFO("Destiny 2", 1, 0, "Munkee915")
#include "Auto Sprint.gph"
#include "Turbo Melee.gph"
#include "Easy Revive.gph"
#include "Remap.gph"
/************************ Interactive Configuration******************************************************************
<cfgdesc>
[General]
group = true
shortdesc = <br><b>Enable Easy Sprint</b>
byteoffset = 5
bitsize = 1
bitoffset = 0
control = checkbox
default = 1
item = Enable Easy Sprint
[Easy Sprint Type]
group = true
shortdesc = <br><b>Select Easy Sprint Type</b>
byteoffset = 6
bitsize = 8
control = radiobox
default = 1
item = Fully Automatic
item = Pressure Sensative
[Easy Sprint Pressure]
group = true
shortdesc = <br><b>Select pressure applied before easy sprint is applied:</b>
byteoffset = 7
bitsize = 32
control = spinboxf
default = 99000000
minimum = 0
maximum = 100000000
step = 500000
[Easy Revive]
group = true
byteoffset = 3
bitsize = 1
bitoffset = 0
control = checkbox
default = 1
item = Hold SQUARE for 1 sec will keep holding down square for 10 seconds.
shortdesc = <br><b>Easy revive</b></b>
[Turbo Melee]
group = true
byteoffset = 4
bitsize = 1
bitoffset = 0
control = checkbox
default = 1
item = Hold melee button for rapid melee.
shortdesc = <br><b>Turbo Melee</b></b>
[Remap Stick Buttons]
shortdesc = Remap L3/LS and R3/RS.<br>
collapsible = 1
[Remap L3/LS]
group = true
shortdesc = <br><b>L3/LS</b>
byteoffset = 20
bitsize = 8
control = combobox
default = 0
item = None
item = A/Cross
item = B/Circle
item = X/Square
item = Y/Triangle
item = LB
item = RB
item = LS
item = RS
[Remap R3/RS]
group = true
shortdesc = <br><b>R3/RS</b>
byteoffset = 21
bitsize = 8
control = combobox
default = 0
item = None
item = A/Cross
item = B/Circle
item = X/Square
item = Y/Triangle
item = LB
item = RB
item = LS
item = RS
[Remap Elite Paddles]
shortdesc = Remap paddles on Elite controllers to game functions. Paddles should first be mapped to nothing within Xbox controller app to avoid sending double signals. <br>
collapsible = 1
[Remap Paddle 1]
group = true
shortdesc = <br><b>Upper Left Paddle</b>
byteoffset = 22
bitsize = 8
control = combobox
default = 0
item = None
item = A/Cross
item = B/Circle
item = X/Square
item = Y/Triangle
item = LB
item = RB
item = LS
item = RS
[Remap Paddle 2]
group = true
shortdesc = <br><b>Lower Left Paddle</b>
byteoffset = 23
bitsize = 8
control = combobox
default = 0
item = None
item = A/Cross
item = B/Circle
item = X/Square
item = Y/Triangle
item = LB
item = RB
item = LS
item = RS
[Remap Paddle 3]
group = true
shortdesc = <br><b>Upper Right Paddle</b>
byteoffset = 24
bitsize = 8
control = combobox
default = 0
item = None
item = A/Cross
item = B/Circle
item = X/Square
item = Y/Triangle
item = LB
item = RB
item = LS
item = RS
[Remap Paddle 4]
group = true
shortdesc = <br><b>Lower Right Paddle</b>
byteoffset = 25
bitsize = 8
control = combobox
default = 0
item = None
item = A/Cross
item = B/Circle
item = X/Square
item = Y/Triangle
item = LB
item = RB
item = LS
item = RS
</cfgdesc>
***********************************************************************************************************************/
init {
pmem_load();
port_inhibit_ffb(PORT_USB_B);
port_inhibit_ffb(PORT_BT_A);
port_inhibit_ffb(PORT_BT_B);
}
main {
}
// rumble once
combo Rumble {
ffb_set(FFB_1, 100.0, 140);
wait(200);
ffb_set(FFB_1, 0.0, 140);
wait(200);
}
// rumble twice
combo RumbleTwo {
call(Rumble);
call(Rumble);
}
- Code: Select all
bool AutoSprintEnabled;
uint8 AutoSprintType, AutoSprintFlag, SparrowRide;
fix32 AutoSprintPressure;
init {
pmem_load();
// -------------------------------------------------------------------------- //
// | Read Auto Sprint Settings | //
// -------------------------------------------------------------------------- //
AutoSprintEnabled = pmem_read(5) & 0b1;
AutoSprintType = pmem_read(6);
pmem_read(7, &AutoSprintPressure);
if(AutoSprintEnabled == TRUE) AutoSprintFlag = TRUE;
// ========================================================================== //
}
main {
// -------------------------------------------------------------------------- //
// | Auto Sprint Based On Selection | //
// | Type 0 = Always On, Type 1 = Pressure Sensative | //
// -------------------------------------------------------------------------- //
if(AutoSprintEnabled == TRUE && AutoSprintType == 0 && AutoSprintFlag == TRUE) {
combo_run(EasySprint);
} else if(AutoSprintEnabled == TRUE && AutoSprintType == 1 && AutoSprintFlag == TRUE) {
if(abs(get_val(STICK_2_Y)) >= AutoSprintPressure) combo_run(EasySprint);
} else combo_stop(EasySprint);
// ========================================================================== //
// -------------------------------------------------------------------------- //
// | Toggle Auto Sprint In Game - Double Tap L3 | //
// -------------------------------------------------------------------------- //
if(event_active(BUTTON_9) && time_release(BUTTON_9) < 250) {
ToggleAutoSprint();
combo_run(RumbleTwo);
}
// ========================================================================== //
// -------------------------------------------------------------------------- //
// | Auto Sprint Cancel with ADS or Firing | //
// -------------------------------------------------------------------------- //
if(get_actual(BUTTON_5) > 0.0 || get_actual(BUTTON_8) > 0.0) {
AutoSprintFlag = FALSE;
combo_stop(EasySprint);
} else if(event_release(BUTTON_5) || event_release(BUTTON_8)) AutoSprintFlag = TRUE;
// ========================================================================== //
// -------------------------------------------------------------------------- //
// | Sprint Cancelation When On Sparrow | //
// -------------------------------------------------------------------------- //
if((getLastPressed() == BUTTON_18 || getLastPressed() == BUTTON_2) && get_val(BUTTON_17)) {
SparrowRide = TRUE;
AutoSprintFlag = FALSE;
}
if (SparrowRide == TRUE && event_active(BUTTON_17)) {
SparrowRide = FALSE;
AutoSprintFlag = TRUE;
}
if(SparrowRide == TRUE) AutoSprintFlag = FALSE;
else if(SparrowRide == FALSE && time_release(BUTTON_17) >= 1750) AutoSprintFlag = TRUE;
// ========================================================================== //
// -------------------------------------------------------------------------- //
// | Sprint Cancelation On Reload | //
// -------------------------------------------------------------------------- //
if(get_val(BUTTON_17) && SparrowRide == FALSE) {
AutoSprintFlag = FALSE;
combo_stop(EasySprint);
combo_run(rapidReloadDelay);
}
// ========================================================================== //
}
combo EasySprint{
set_val(BUTTON_9, 100.0);
wait(200);
set_val(BUTTON_9, 0.0);
wait(800);
}
combo rapidReloadDelay {
wait(2500);
AutoSprintFlag = TRUE;
}
void ToggleAutoSprint() {
if(AutoSprintEnabled == TRUE) {
AutoSprintEnabled = FALSE;
pmem_write(5, 0);
} else if(AutoSprintEnabled == FALSE){
AutoSprintEnabled = TRUE;
pmem_write(5, 255);
}
pmem_save();
}
uint8 getLastPressed() {
uint8 X;
uint8 LastPressed = BUTTON_1;
for (X = BUTTON_2; X <= BUTTON_21; ++X) {
if(time_release(X) < time_release(LastPressed)) {
LastPressed = X;
}
}
return LastPressed;
}
- Code: Select all
bool EasyReviveEnabled= TRUE;
init {
pmem_load();
// -------------------------------------------------------------------------- //
// | Read Easy Revive Settings | //
// -------------------------------------------------------------------------- //
EasyReviveEnabled = pmem_read(3) & 0b1;
// ========================================================================== //
}
main {
// -------------------------------------------------------------------------- //
// | Easy Revive | //
// -------------------------------------------------------------------------- //
if (event_active(BUTTON_17) ) combo_stop(cmbRevive);
if (EasyReviveEnabled && get_val(BUTTON_17) && time_active(BUTTON_17) > 500 ) {
combo_run(cmbRevive);
}
// ========================================================================== //
// -------------------------------------------------------------------------- //
// | Toggle Easy Revive In Game - Double tap SQUARE | //
// -------------------------------------------------------------------------- //
if(event_active(BUTTON_17) && time_release(BUTTON_17) < 250) {
ToggleEasyRevive();
combo_run(RumbleTwo);
}
// ========================================================================== //
}
combo cmbRevive {
set_val(BUTTON_17,100);
wait(10000);
}
void ToggleEasyRevive() {
if(EasyReviveEnabled == TRUE) {
EasyReviveEnabled = FALSE;
pmem_write(3, 0);
} else if(EasyReviveEnabled == FALSE){
EasyReviveEnabled = TRUE;
pmem_write(3, 255);
}
pmem_save();
}
- Code: Select all
bool TurboMeleeEnabled;
init {
pmem_load();
// -------------------------------------------------------------------------- //
// | Read Turbo Melee Settings | //
// -------------------------------------------------------------------------- //
TurboMeleeEnabled = pmem_read(4) & 0b1;
// ========================================================================== //
}
main {
// -------------------------------------------------------------------------- //
// | Turbo Melee | //
// -------------------------------------------------------------------------- //
if(TurboMeleeEnabled == TRUE && get_actual(BUTTON_4)) {
combo_run(cmbTurboMelee);
} else combo_stop(cmbTurboMelee);
// ========================================================================== //
// -------------------------------------------------------------------------- //
// | Toggle Turbo Melee In Game - Double Tap R2 | //
// -------------------------------------------------------------------------- //
if(event_active(BUTTON_4) && time_release(BUTTON_4) < 250) {
ToggleTurboMelee();
combo_run(RumbleTwo);
}
// ========================================================================== //
}
combo cmbTurboMelee {
set_val(BUTTON_4,100);
wait(200);
set_val(BUTTON_4,0);
wait(200);
}
void ToggleTurboMelee() {
if(TurboMeleeEnabled == TRUE) {
TurboMeleeEnabled = FALSE;
pmem_write(4, 0);
} else if(TurboMeleeEnabled == FALSE){
TurboMeleeEnabled = TRUE;
pmem_write(4, 255);
}
pmem_save();
}
- Code: Select all
#define REMAP1 BUTTON_16
#define REMAP2 BUTTON_15
#define REMAP3 BUTTON_17
#define REMAP4 BUTTON_14
#define REMAP5 BUTTON_7
#define REMAP6 BUTTON_4
#define REMAP7 BUTTON_9
#define REMAP8 BUTTON_6
uint8 REMAPP1, REMAPP2, REMAPP3, REMAPP4;
uint8 REMAPL3, REMAPR3;
init {
pmem_load();
REMAPP1 = pmem_read(22);
REMAPP2 = pmem_read(23);
REMAPP3 = pmem_read(24);
REMAPP4 = pmem_read(25);
REMAPL3 = pmem_read(20);
REMAPR3 = pmem_read(21);
}
main {
//Remap L3/LS
if(get_actual(BUTTON_9) && (REMAPL3 == 1)) {
set_val(BUTTON_9, 0);
set_val(REMAP1, 100);
}
if(get_actual(BUTTON_9) && (REMAPL3 == 2)) {
set_val(BUTTON_9, 0);
set_val(REMAP2, 100);
}
if(get_actual(BUTTON_9) && (REMAPL3 == 3)) {
set_val(BUTTON_9, 0);
set_val(REMAP3, 100);
}
if(get_actual(BUTTON_9) && (REMAPL3 == 4)) {
set_val(BUTTON_9, 0);
set_val(REMAP4, 100);
}
if(get_actual(BUTTON_9) && (REMAPL3 == 5)) {
set_val(BUTTON_9, 0);
set_val(REMAP5, 100);
}
if(get_actual(BUTTON_9) && (REMAPL3 == 6)) {
set_val(BUTTON_9, 0);
set_val(REMAP6, 100);
}
if(get_actual(BUTTON_9) && (REMAPL3 == 7)) {
set_val(BUTTON_9, 0);
set_val(REMAP7, 100);
}
if(get_actual(BUTTON_9) && (REMAPL3 == 8)) {
set_val(BUTTON_9, 0);
set_val(REMAP8, 100);
}
//Remap R3/RS
if(get_actual(BUTTON_6) && (REMAPP2 == 1)) {
set_val(BUTTON_6, 0);
set_val(REMAP1, 100);
}
if(get_actual(BUTTON_6) && (REMAPP2 == 2)) {
set_val(BUTTON_6, 0);
set_val(REMAP2, 100);
}
if(get_actual(BUTTON_6) && (REMAPP2 == 3)) {
set_val(BUTTON_6, 0);
set_val(REMAP3, 100);
}
if(get_actual(BUTTON_6) && (REMAPP2 == 4)) {
set_val(BUTTON_6, 0);
set_val(REMAP4, 100);
}
if(get_actual(BUTTON_6) && (REMAPP2 == 5)) {
set_val(BUTTON_6, 0);
set_val(REMAP5, 100);
}
if(get_actual(BUTTON_6) && (REMAPP2 == 6)) {
set_val(BUTTON_6, 0);
set_val(REMAP6, 100);
}
if(get_actual(BUTTON_6) && (REMAPP2 == 7)) {
set_val(BUTTON_6, 0);
set_val(REMAP7, 100);
}
if(get_actual(BUTTON_6) && (REMAPP2 == 8)) {
set_val(BUTTON_6, 0);
set_val(REMAP8, 100);
}
// Lower left paddle
if(get_actual(BUTTON_21) && (REMAPP2 == 1)) {
set_val(BUTTON_21, 0);
set_val(REMAP1, 100);
}
if(get_actual(BUTTON_21) && (REMAPP2 == 2)) {
set_val(BUTTON_21, 0);
set_val(REMAP2, 100);
}
if(get_actual(BUTTON_21) && (REMAPP2 == 3)) {
set_val(BUTTON_21, 0);
set_val(REMAP3, 100);
}
if(get_actual(BUTTON_21) && (REMAPP2 == 4)) {
set_val(BUTTON_21, 0);
set_val(REMAP4, 100);
}
if(get_actual(BUTTON_21) && (REMAPP2 == 5)) {
set_val(BUTTON_21, 0);
set_val(REMAP5, 100);
}
if(get_actual(BUTTON_21) && (REMAPP2 == 6)) {
set_val(BUTTON_21, 0);
set_val(REMAP6, 100);
}
if(get_actual(BUTTON_21) && (REMAPP2 == 7)) {
set_val(BUTTON_21, 0);
set_val(REMAP7, 100);
}
if(get_actual(BUTTON_21) && (REMAPP2 == 8)) {
set_val(BUTTON_21, 0);
set_val(REMAP8, 100);
}
// Upper right paddle
if(get_actual(BUTTON_18) && (REMAPP3 == 1)) {
set_val(BUTTON_18, 0);
set_val(REMAP1, 100);
}
if(get_actual(BUTTON_18) && (REMAPP3 == 2)) {
set_val(BUTTON_18, 0);
set_val(REMAP2, 100);
}
if(get_actual(BUTTON_18) && (REMAPP3 == 3)) {
set_val(BUTTON_18, 0);
set_val(REMAP3, 100);
}
if(get_actual(BUTTON_18) && (REMAPP3 == 4)) {
set_val(BUTTON_18, 0);
set_val(REMAP4, 100);
}
if(get_actual(BUTTON_18) && (REMAPP3 == 5)) {
set_val(BUTTON_18, 0);
set_val(REMAP5, 100);
}
if(get_actual(BUTTON_18) && (REMAPP3 == 6)) {
set_val(BUTTON_18, 0);
set_val(REMAP6, 100);
}
if(get_actual(BUTTON_18) && (REMAPP3 == 7)) {
set_val(BUTTON_18, 0);
set_val(REMAP7, 100);
}
if(get_actual(BUTTON_18) && (REMAPP3 == 8)) {
set_val(BUTTON_18, 0);
set_val(REMAP8, 100);
}
//Lower right paddle
if(get_actual(BUTTON_19) && (REMAPP4 == 1)) {
set_val(BUTTON_19, 0);
set_val(REMAP1, 100);
}
if(get_actual(BUTTON_19) && (REMAPP4 == 2)) {
set_val(BUTTON_19, 0);
set_val(REMAP2, 100);
}
if(get_actual(BUTTON_19) && (REMAPP4 == 3)) {
set_val(BUTTON_19, 0);
set_val(REMAP3, 100);
}
if(get_actual(BUTTON_19) && (REMAPP4 == 4)) {
set_val(BUTTON_19, 0);
set_val(REMAP4, 100);
}
if(get_actual(BUTTON_19) && (REMAPP4 == 5)) {
set_val(BUTTON_19, 0);
set_val(REMAP5, 100);
}
if(get_actual(BUTTON_19) && (REMAPP4 == 6)) {
set_val(BUTTON_19, 0);
set_val(REMAP6, 100);
}
if(get_actual(BUTTON_19) && (REMAPP4 == 7)) {
set_val(BUTTON_19, 0);
set_val(REMAP7, 100);
}
if(get_actual(BUTTON_19) && (REMAPP4 == 8)) {
set_val(BUTTON_19, 0);
set_val(REMAP8, 100);
}
//Upper left paddle
if(get_actual(BUTTON_20) && (REMAPP1 == 1)) {
set_val(BUTTON_20, 0);
set_val(REMAP1, 100);
}
if(get_actual(BUTTON_20) && (REMAPP1 == 2)) {
set_val(BUTTON_20, 0);
set_val(REMAP2, 100);
}
if(get_actual(BUTTON_20) && (REMAPP1 == 3)) {
set_val(BUTTON_20, 0);
set_val(REMAP3, 100);
}
if(get_actual(BUTTON_20) && (REMAPP1 == 4)) {
set_val(BUTTON_20, 0);
set_val(REMAP4, 100);
}
if(get_actual(BUTTON_20) && (REMAPP1 == 5)) {
set_val(BUTTON_20, 0);
set_val(REMAP5, 100);
}
if(get_actual(BUTTON_20) && (REMAPP1 == 6)) {
set_val(BUTTON_20, 0);
set_val(REMAP6, 100);
}
if(get_actual(BUTTON_20) && (REMAPP1 == 7)) {
set_val(BUTTON_20, 0);
set_val(REMAP7, 100);
}
if(get_actual(BUTTON_20) && (REMAPP1 == 8)) {
set_val(BUTTON_20, 0);
set_val(REMAP8, 100);
}
}
-
Munkee915 - Master Sergeant
- Posts: 39
- Joined: Sun Mar 26, 2017 3:26 am
Re: Can someone tell me why my script is crashing my T2?
I believe the issue is here:
Try change to:
- Code: Select all
// rumble once
combo Rumble {
ffb_set(FFB_1, 100.0, 140);
wait(200);
ffb_set(FFB_1, 0.0, 140);
wait(200);
}
Try change to:
- Code: Select all
// rumble once
combo Rumble {
ffb_set(FFB_1, 100.0, 140);
wait(0); wait(200);
ffb_set(FFB_1, 0.0, 140);
wait(0); wait(200);
}
ConsoleTuner Support Team
-
J2Kbr - General of the Army
- Posts: 20323
- Joined: Tue Mar 18, 2014 1:39 pm
2 posts
• Page 1 of 1
Return to GPC2 Script Programming
Who is online
Users browsing this forum: AZOV_ops and 125 guests