Advertisement
ifugn

Untitled

Jul 11th, 2022
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 67.00 KB | None | 0 0
  1.  
  2. //===============================================================
  3. //    BUTTON LAYOUT                                              
  4. //===============================================================
  5. define FIRE_BTN             = PS4_R2;
  6. define ADS_BTN              = PS4_L2;
  7. define SPRINT_BTN           = PS4_L3;
  8. define PRONE_BTN            = PS4_CIRCLE;
  9. define JUMP_BTN             = PS4_CROSS;
  10. define SWITCHWEAPON_BTN     = PS4_TRIANGLE;
  11. define RELOAD_BTN           = PS4_SQUARE;
  12. define MELEE_BTN            = PS4_R3;
  13. define TACTICAL_BTN         = PS4_L1;
  14. define GRANADE_BTN          = PS4_R1;
  15. define UP                   = PS4_UP;
  16. define RIGHT                = PS4_RIGHT;
  17. define DOWN                 = PS4_DOWN;
  18. define LEFT                 = PS4_LEFT;
  19. define RX                   = PS4_RX;
  20. define RY                   = PS4_RY;
  21. define LX                   = PS4_LX;
  22. define LY                   = PS4_LY;
  23. //===============================================================
  24. //    ADJUSTABLE VARIABLES                                      
  25. //===============================================================
  26. // Index to find Value Name string - switchable in game with left/right in ModEdit
  27.     int valName_idx;                  
  28. int drop_shot_hold;
  29. int drop_shot_rest;
  30. int RF_hold;
  31. int RF_release;
  32. int AR_vertical;
  33. int AR_horizontal;
  34. int polar_aasist_radius;
  35. int polar_aasist_steps;
  36. int AimAssistTime;
  37. int AimAssistSize;
  38. //---Adjustable Variables Count                          
  39. define AMOUNT_OF_VALNAME_IDX = 9;
  40.     //const string TITLE = "My Game"; // 18 char max
  41.     const string TITLE = "N"; // 11 char max
  42.     const string OFF   = "OFF";    
  43.     const string ON    = "ON";  
  44.     const string SCRIPT_ONOFF  = "SCRIPT WAS";  
  45. // modName # of the last Mod Name string - Used for cycle modName_idx        
  46.    define MAX_MODS_COUNT = 6;                          
  47. // Mod Name      -   Text to Display
  48.   const string JUMPSHOT             = "Jump Shot" ;
  49.   const string DROPSHOT             = "Drop Shot" ;
  50.   const string RAPIDFIRE            = "Rapid Fire" ;
  51.   const string HOLDBREATH           = "Hold Breath" ;
  52.   const string ANTIRECOIL           = "Antirecoil" ;
  53.   const string POLARAIMASSIST       = "Aim Assist" ;
  54.   const string BATTSSTICKYAIM       = "Assist 2" ;
  55. // Index to find Mod Name string - switchable in game with left/right in ModMenu
  56. int modName_idx;  
  57. //   Toggles
  58.   int jumpshot_onoff = 0 ;
  59.   int dropshot_onoff = 0 ;
  60.   int rapidfire_onoff = 0 ;
  61.   int holdbreath_onoff = 0 ;
  62.   int antirecoil_onoff = 1 ;
  63.   int polar_aim_assist_onoff = 0 ;
  64.   int ToggleBattsStickyAim = 0 ;
  65. // Mod VALUES      -   Text to Display
  66. const string DROPSHOT_HOLD          = "DS Hold" ;
  67. const string DROPSHOT_REST          = "DS Rest" ;
  68. const string RAPIDFIRE_HOLD         = "RF Hold";
  69. const string RAPIDFIRE_RELEASE      = "RF Release" ;
  70. const string ANTIRECOIL_VERTICAL    = "AR Vertical" ;
  71. const string ANTIRECOIL_HORIZONTAL  = "AR Horizont" ;
  72. const string POLAR_AA_RADIUS        = "AA Radius" ;
  73. const string POLAR_AA_STEPS         = "AA Steps" ;
  74. const string AIMASSIST_TIME         = "AA Time";
  75. const string AIMASSISTSIZE      = "AA Size" ;
  76. // Constant bytes - Convert numbers array - ASCII_NUM[column number]
  77.     const int8 ASCII_NUM[] =                          
  78. //      0  1  2  3  4  5  6  7  8  9  (column numbers)
  79.       {48,49,50,51,52,53,54,55,56,57};                
  80.                                                    
  81. const string NO_EDIT_VAR1  = "No Edit Variables";//  17
  82. const string NO_EDIT_VAR2  = "for this MOD";// 12      
  83. const uint8 Options [] = {
  84.   31 , // JUMPSHOT # 1
  85.   31 , // DROPSHOT # 2
  86.   9 , // RAPIDFIRE # 3
  87.   7 , // HOLDBREATH # 4
  88.   1 , // ANTIRECOIL # 5
  89.   1 , // POLARAIMASSIST # 6
  90.   1 // BATTSSTICKYAIM # 7
  91. };
  92. const uint8 EditVal [] = {
  93.   0 , // JUMPSHOT # 1
  94.   1 , // DROPSHOT # 2
  95.   1 , // RAPIDFIRE # 3
  96.   0 , // HOLDBREATH # 4
  97.   1 , // ANTIRECOIL # 5
  98.   1 , // POLARAIMASSIST # 6
  99.   1 // BATTSSTICKYAIM # 7
  100. };
  101. const uint8 OptRange [][] = {
  102.   { 0 , 3 }, // JUMPSHOT # 1
  103.   { 0 , 1 }, // DROPSHOT # 2
  104.   { 2 , 3 }, // RAPIDFIRE # 3
  105.   { 0 , 0 }, // HOLDBREATH # 4
  106.   { 4 , 5 }, // ANTIRECOIL # 5
  107.   { 6 , 7 }, // POLARAIMASSIST # 6
  108.   { 8 , 9 }  // BATTSSTICKYAIM # 7
  109. };
  110. const uint8 Min_Max_Options [][]={
  111.   { 0 , 3 }, // JUMPSHOT # 1
  112.   { 0 , 3 }, // DROPSHOT # 2
  113.   { 0 , 3 }, // RAPIDFIRE # 3
  114.   { 0 , 2 }, // HOLDBREATH # 4
  115.   { 0 , 1 }, // ANTIRECOIL # 5
  116.   { 0 , 1 }, // POLARAIMASSIST # 6
  117.   { 0 , 1 }  // BATTSSTICKYAIM # 7
  118. };
  119. /////////////////////////////////////////////////////////////////////////////  
  120. ///   INITIALIZATION BLOCK                                                      
  121. /////////////////////////////////////////////////////////////////////////////  
  122. init {  
  123. jumpshot_onoff         = get_pvar(SPVAR_1,1,3,0);
  124. dropshot_onoff         = get_pvar(SPVAR_2,1,3,0);
  125. rapidfire_onoff        = get_pvar(SPVAR_3,1,3,0);
  126. holdbreath_onoff       = get_pvar(SPVAR_4,1,2,0);
  127. antirecoil_onoff       = get_pvar(SPVAR_5,1,1,1);
  128. polar_aim_assist_onoff = get_pvar(SPVAR_6,1,1,1);
  129. ToggleBattsStickyAim   = get_pvar(SPVAR_7,1,1,1);
  130. drop_shot_hold     = get_pvar(SPVAR_8, 100,6000, 40);
  131. drop_shot_rest     = get_pvar(SPVAR_9, 100,6000, 80);
  132. RF_hold            = get_pvar(SPVAR_10, 1,1000, 20);
  133. RF_release         = get_pvar(SPVAR_11, 1,1000, 30);
  134. AR_vertical         = get_pvar(SPVAR_12, 1,99, 18);
  135. AR_horizontal       = get_pvar(SPVAR_13, 1,99, 0);
  136. polar_aasist_radius  = get_pvar(SPVAR_14, 1,99, 13);
  137. polar_aasist_steps  = get_pvar(SPVAR_15, 1,99, 15);
  138. AimAssistTime      = get_pvar(SPVAR_16, 1,100, 12);
  139. AimAssistSize      = get_pvar(SPVAR_17, 1,100, 10);
  140. }// end of init block
  141. /////////////////////////////////////////////////////////////////////////////
  142. ///   MAIN BLOCK                                                            
  143. /////////////////////////////////////////////////////////////////////////////
  144. main {//---------------------------------
  145.                           swap(PS4_R1, PS4_R2);
  146.     swap(PS4_L1, PS4_L2);            
  147.    /////////////////////////////////////////
  148.  if(get_ival(ADS_BTN)){
  149.      if(event_press(PS4_SHARE)){
  150.          EntireScript_OnOff    = !EntireScript_OnOff;
  151.          blinck(EntireScript_OnOff);
  152.          cls_oled(0);
  153.          draw_rectangle();
  154.          //display_mod(f_idx, f_string, mod_name, f_toggle, f_option)
  155.          display_mod( center_x(sizeof(SCRIPT_ONOFF)- 1, OLED_FONT_MEDIUM_WIDTH) ,SCRIPT_ONOFF [0],EntireScript_OnOff ,1);
  156.          show_mesage_time = 2000;
  157.  //--- Set Virtual Machine Speed to Default if script is OFF    
  158.  if(!EntireScript_OnOff) set_Virtual_Machine_Speed(VM_Default);
  159.      }
  160.  }
  161.                          
  162.  if(show_mesage_time){
  163.      show_mesage_time -= get_rtime();
  164.      if(show_mesage_time <= 0) {
  165.          cls_oled(0);    
  166.      }
  167.  }
  168.                                
  169. //============================================================
  170. // KILL SWITCH FOR ENTIRE SCRIPT
  171. //============================================================
  172.  if(EntireScript_OnOff){
  173.   //--- Set Virtual Machine Speed to Default for MENU                    
  174.     if(ModEdit || ModMenu) set_Virtual_Machine_Speed(VM_Default);
  175.     if(display_EDIT){                
  176.           // Clear OLED screen        
  177.         cls_oled(0);                        
  178.        // display_edit(f_idx, f_string, f_print, f_val)
  179.         if(EditVal[ modName_idx ] == 0 ){  
  180.               //--- print label                
  181.             line_oled(1,45,127,45,1,0);    
  182.             printf( center_x( 17, OLED_FONT_SMALL_WIDTH ), 20, OLED_FONT_SMALL, 1, NO_EDIT_VAR1[0] );
  183.             printf( center_x( 12, OLED_FONT_SMALL_WIDTH ), 33, OLED_FONT_SMALL, 1, NO_EDIT_VAR2[0] );
  184.         }                                                                                            
  185.         else {//----  ELSE BEGIN --------------  
  186.              /////////////////////////////////////////////
  187.              if(valName_idx == 0){
  188.                   display_edit(center_x(sizeof(DROPSHOT_HOLD         )- 1,OLED_FONT_MEDIUM_WIDTH),DROPSHOT_HOLD         [0],drop_shot_hold);
  189.                   drop_shot_hold = edit_val(drop_shot_hold, 100,6000);
  190.              }        
  191.              /////////////////////////////////////////////
  192.              if(valName_idx == 1){
  193.                   display_edit(center_x(sizeof(DROPSHOT_REST         )- 1,OLED_FONT_MEDIUM_WIDTH),DROPSHOT_REST         [0],drop_shot_rest);
  194.                   drop_shot_rest = edit_val(drop_shot_rest, 100,6000);
  195.              }        
  196.              /////////////////////////////////////////////
  197.              if(valName_idx == 2){
  198.                   display_edit(center_x(sizeof(RAPIDFIRE_HOLD)- 1,OLED_FONT_MEDIUM_WIDTH),RAPIDFIRE_HOLD[0],RF_hold);
  199.                   RF_hold = edit_val(RF_hold,1,1000 );
  200.              }        
  201.              /////////////////////////////////////////////
  202.              if(valName_idx == 3){
  203.                   display_edit(center_x(sizeof(RAPIDFIRE_RELEASE)- 1,OLED_FONT_MEDIUM_WIDTH),RAPIDFIRE_RELEASE[0],RF_release);
  204.                   RF_release = edit_val(RF_release,1,1000 );
  205.              }        
  206.              /////////////////////////////////////////////
  207.              if(valName_idx == 4){
  208.                   display_edit(center_x(sizeof(ANTIRECOIL_VERTICAL   )- 1,OLED_FONT_MEDIUM_WIDTH),ANTIRECOIL_VERTICAL   [0],AR_vertical);
  209.                   AR_vertical = edit_val(AR_vertical, 0,99 );
  210.              }        
  211.              /////////////////////////////////////////////
  212.              if(valName_idx == 5){
  213.                   display_edit(center_x(sizeof(ANTIRECOIL_HORIZONTAL )- 1,OLED_FONT_MEDIUM_WIDTH),ANTIRECOIL_HORIZONTAL [0],AR_horizontal);
  214.                   AR_horizontal = edit_val(AR_horizontal,-99,99 );
  215.              }        
  216.              /////////////////////////////////////////////
  217.              if(valName_idx == 6){
  218.                   display_edit(center_x(sizeof(POLAR_AA_RADIUS       )- 1,OLED_FONT_MEDIUM_WIDTH),POLAR_AA_RADIUS       [0],polar_aasist_radius);
  219.                   polar_aasist_radius = edit_val(polar_aasist_radius, 0,99);
  220.              }        
  221.              /////////////////////////////////////////////
  222.              if(valName_idx == 7){
  223.                   display_edit(center_x(sizeof(POLAR_AA_STEPS        )- 1,OLED_FONT_MEDIUM_WIDTH),POLAR_AA_STEPS        [0],polar_aasist_steps);
  224.                   polar_aasist_steps = edit_val(polar_aasist_steps, 0,99);
  225.              }        
  226.              /////////////////////////////////////////////
  227.              if(valName_idx == 8){
  228.                   display_edit(center_x(sizeof(AIMASSIST_TIME)- 1,OLED_FONT_MEDIUM_WIDTH),AIMASSIST_TIME[0],AimAssistTime);
  229.                   AimAssistTime = edit_val(AimAssistTime,1,100 );
  230.              }        
  231.              /////////////////////////////////////////////
  232.              if(valName_idx == 9){
  233.                   display_edit(center_x(sizeof(AIMASSISTSIZE)- 1,OLED_FONT_MEDIUM_WIDTH),AIMASSISTSIZE[0],AimAssistSize);
  234.                   AimAssistSize = edit_val(AimAssistSize,1,100 );
  235.              }        
  236.          }//--- ELSE END   -----------
  237.    }//  end of display edit  
  238.     if(refresh_OLED)
  239.     {
  240.         // Clear OLED screen
  241.         cls_oled(0);      
  242.                            
  243.         // Draw Rectangle
  244.         draw_rectangle();
  245.         // Display Mod Name and togle status  : ON/OFF  
  246.         if(modName_idx == 0)display_mod( center_x(sizeof(JUMPSHOT)- 1, OLED_FONT_MEDIUM_WIDTH) ,JUMPSHOT[0],jumpshot_onoff,Options[ modName_idx ]);
  247.         if(modName_idx == 1)display_mod( center_x(sizeof(DROPSHOT)- 1, OLED_FONT_MEDIUM_WIDTH) ,DROPSHOT[0],dropshot_onoff,Options[ modName_idx ]);
  248.         if(modName_idx == 2)display_mod( center_x(sizeof(RAPIDFIRE)- 1, OLED_FONT_MEDIUM_WIDTH) ,RAPIDFIRE[0],rapidfire_onoff,Options[ modName_idx ]);
  249.         if(modName_idx == 3)display_mod( center_x(sizeof(HOLDBREATH)- 1, OLED_FONT_MEDIUM_WIDTH) ,HOLDBREATH[0],holdbreath_onoff,Options[ modName_idx ]);
  250.         if(modName_idx == 4)display_mod( center_x(sizeof(ANTIRECOIL)- 1, OLED_FONT_MEDIUM_WIDTH) ,ANTIRECOIL[0],antirecoil_onoff,Options[ modName_idx ]);
  251.         if(modName_idx == 5)display_mod( center_x(sizeof(POLARAIMASSIST)- 1, OLED_FONT_MEDIUM_WIDTH) ,POLARAIMASSIST[0],polar_aim_assist_onoff,Options[ modName_idx ]);
  252.         if(modName_idx == 6)display_mod( center_x(sizeof(BATTSSTICKYAIM)- 1, OLED_FONT_MEDIUM_WIDTH) ,BATTSSTICKYAIM[0],ToggleBattsStickyAim,Options[ modName_idx ]);
  253.              
  254.          refresh_OLED = FALSE;
  255.     }
  256.     if(display_title){          
  257.           // clear OLED screen    
  258.             cls_oled(0);            
  259.             // Display Script Title      
  260.           DrawLogo(0, 0, 0);
  261.            // screen saver          
  262.              ModMenu = FALSE;  
  263.            display_title = FALSE;  
  264.            display_black = TRUE;
  265.                                    
  266.     }                            
  267.      
  268.     //-----------------------------
  269.     // Screen saver (OLED off)  
  270.     if(display_black )        
  271.     {                            
  272.         count_black += get_rtime();
  273.         if(count_black >= 5000)  
  274.         {                        
  275.             cls_oled(0);        
  276.             count_black = 0;      
  277.             display_black = FALSE;
  278.         }                        
  279.     }                          
  280.                                
  281.    /////////////////////////////////////////////////////////
  282.    // MENU EDIT VALUES            
  283.    if(ModEdit){
  284.         block_all_inputs();
  285.         if(MenuTimeOut){
  286.             CheckIfBtnIsPressed();
  287.         }
  288.        //--- Exit from EDIT MENU  
  289.        if(event_release(PS4_CIRCLE)){
  290.              ModEdit      = FALSE;          
  291.              display_EDIT = FALSE;          
  292.              ModMenu      = TRUE;            
  293.              refresh_OLED = TRUE;   // display MODS
  294.        }                    
  295.         ////////////////////////////////////////////////////////////////////////////////  
  296.         //  GO FORWARD                                                                      
  297.         if(!get_ival(ADS_BTN) && event_press(PS4_DOWN)){            
  298.                                          
  299.                valName_idx ++;                
  300.                if(valName_idx > OptRange[ modName_idx ][ 1 ])  valName_idx = OptRange[ modName_idx ][ 1 ];
  301.              refresh_OLED = FALSE;      
  302.              display_EDIT = TRUE;        
  303.         }          
  304.         ///////////////////////////////////////////////////////////////////////////////  
  305.         //  GO BACK                                                                      
  306.         if(!get_ival(ADS_BTN) && event_press(PS4_UP)){  
  307.                                                                
  308.                valName_idx --;                                      
  309.                if(valName_idx < OptRange[ modName_idx ][ 0 ]) valName_idx = OptRange[ modName_idx ][ 0 ];
  310.              refresh_OLED = FALSE;      
  311.              display_EDIT = TRUE;        
  312.         }                                                          
  313.             ///////////////////////////////////////////////////////
  314.         if(MenuTimeOut){
  315.             CheckIfBtnIsPressed();
  316.         }
  317.    }// end of EDIT MENU    
  318.    /////////////////////////////////////////////////////////
  319.    // EDIT MENU ON/OFF            
  320.    if(get_val(ADS_BTN) && event_press(PS4_OPTIONS)){  
  321.         ModMenu = TRUE;  
  322.         // toggle EditMenu ON/OFF                      
  323.                  modName_idx  = 0;                  
  324.                  refresh_OLED = TRUE;   // display Title    
  325.                  display_EDIT = FALSE;        
  326.                  MenuTimeOut  = menu_time_active;
  327.    }      
  328.    /////////////////////////////////////////////////////////
  329.    // MENU SYSTEM              
  330.    if(ModMenu){  
  331.         block_all_inputs();
  332.       //--- Exit from MENU  
  333.       if(event_press(PS4_CIRCLE)){
  334.           ModMenu = FALSE;                    
  335.           ModEdit = FALSE;              
  336.           combo_run(MESSAGE);            
  337.       }                    
  338.       //--- Enter in EDIT MENU
  339.       if(event_press(PS4_CROSS)){
  340.           ModMenu     = FALSE;  
  341.           valName_idx = OptRange[ modName_idx ][ 0 ];
  342.           ModEdit     = TRUE;  
  343.           display_EDIT= TRUE;
  344.       }                    
  345.                                  
  346.         //Display MOD NAME and togle status
  347.         // Switch MODs                    
  348.         if( !get_ival(ADS_BTN) && event_press(PS4_DOWN)){
  349.                                          
  350.                modName_idx ++;                
  351.                if(modName_idx > 6) modName_idx = 0;
  352.           //////////////////////////////////////
  353.             if(modName_idx == 0 ) {
  354.                   blinck( jumpshot_onoff);  
  355.             }                                    
  356.           /////////////////////////////////////
  357.           //////////////////////////////////////
  358.             if(modName_idx == 1 ) {
  359.                   blinck( dropshot_onoff);  
  360.             }                                    
  361.           /////////////////////////////////////
  362.           //////////////////////////////////////
  363.             if(modName_idx == 2 ) {
  364.                   blinck( rapidfire_onoff);  
  365.             }                                    
  366.           /////////////////////////////////////
  367.           //////////////////////////////////////
  368.             if(modName_idx == 3 ) {
  369.                   blinck( holdbreath_onoff);  
  370.             }                                    
  371.           /////////////////////////////////////
  372.           //////////////////////////////////////
  373.             if(modName_idx == 4 ) {
  374.                   blinck( antirecoil_onoff);  
  375.             }                                    
  376.           /////////////////////////////////////
  377.           //////////////////////////////////////
  378.             if(modName_idx == 5 ) {
  379.                   blinck( polar_aim_assist_onoff);  
  380.             }                                    
  381.           /////////////////////////////////////
  382.           //////////////////////////////////////
  383.             if(modName_idx == 6 ) {
  384.                   blinck( ToggleBattsStickyAim);  
  385.             }                                    
  386.           /////////////////////////////////////
  387.         }                          
  388.         if(!get_ival(ADS_BTN) && event_press(PS4_UP)){  
  389.                                                                
  390.               modName_idx --;                                      
  391.               if(modName_idx < 0) modName_idx = 6;
  392.           //////////////////////////////////////
  393.             if(modName_idx == 0 ) {
  394.                   blinck( jumpshot_onoff);  
  395.             }                                    
  396.           /////////////////////////////////////
  397.           //////////////////////////////////////
  398.             if(modName_idx == 1 ) {
  399.                   blinck( dropshot_onoff);  
  400.             }                                    
  401.           /////////////////////////////////////
  402.           //////////////////////////////////////
  403.             if(modName_idx == 2 ) {
  404.                   blinck( rapidfire_onoff);  
  405.             }                                    
  406.           /////////////////////////////////////
  407.           //////////////////////////////////////
  408.             if(modName_idx == 3 ) {
  409.                   blinck( holdbreath_onoff);  
  410.             }                                    
  411.           /////////////////////////////////////
  412.           //////////////////////////////////////
  413.             if(modName_idx == 4 ) {
  414.                   blinck( antirecoil_onoff);  
  415.             }                                    
  416.           /////////////////////////////////////
  417.           //////////////////////////////////////
  418.             if(modName_idx == 5 ) {
  419.                   blinck( polar_aim_assist_onoff);  
  420.             }                                    
  421.           /////////////////////////////////////
  422.           //////////////////////////////////////
  423.             if(modName_idx == 6 ) {
  424.                   blinck( ToggleBattsStickyAim);  
  425.             }                                    
  426.           /////////////////////////////////////
  427.           }                        
  428.             //////////////////////////
  429.                                  
  430.                                  
  431.         // screen saver          
  432.         display_black = FALSE;    
  433.         display_title = FALSE;    
  434.         //////////////////////////////  
  435.         // display mod name and Toggle ON/OFF | Scroll Options
  436.         if(!get_ival(ADS_BTN) ){    
  437.              if(event_press(PS4_TRIANGLE)){ //   go back
  438.                                                  
  439.                 if(modName_idx == 0 ) {
  440.                       jumpshot_onoff = f_go_back( jumpshot_onoff );
  441.                 }                                
  442.                                            
  443.                                                  
  444.                 if(modName_idx == 1 ) {
  445.                       dropshot_onoff = f_go_back( dropshot_onoff );
  446.                 }                                
  447.                                            
  448.                                                  
  449.                 if(modName_idx == 2 ) {
  450.                       rapidfire_onoff = f_go_back( rapidfire_onoff );
  451.                 }                                
  452.                                            
  453.                                                  
  454.                 if(modName_idx == 3 ) {
  455.                       holdbreath_onoff = f_go_back( holdbreath_onoff );
  456.                 }                                
  457.                                            
  458.                                                  
  459.                 if(modName_idx == 4 ) {
  460.                       antirecoil_onoff = f_go_back( antirecoil_onoff );
  461.                 }                                
  462.                                            
  463.                                                  
  464.                 if(modName_idx == 5 ) {
  465.                       polar_aim_assist_onoff = f_go_back( polar_aim_assist_onoff );
  466.                 }                                
  467.                                            
  468.                                                  
  469.                 if(modName_idx == 6 ) {
  470.                       ToggleBattsStickyAim = f_go_back( ToggleBattsStickyAim );
  471.                 }                                
  472.                                            
  473.              }// go back
  474.              if(event_press(PS4_SQUARE)){//   go forward
  475.                                                  
  476.                 if(modName_idx == 0 ) {
  477.                       jumpshot_onoff = f_go_forward( jumpshot_onoff);  
  478.                 }                                
  479.                                            
  480.                                                  
  481.                 if(modName_idx == 1 ) {
  482.                       dropshot_onoff = f_go_forward( dropshot_onoff);  
  483.                 }                                
  484.                                            
  485.                                                  
  486.                 if(modName_idx == 2 ) {
  487.                       rapidfire_onoff = f_go_forward( rapidfire_onoff);  
  488.                 }                                
  489.                                            
  490.                                                  
  491.                 if(modName_idx == 3 ) {
  492.                       holdbreath_onoff = f_go_forward( holdbreath_onoff);  
  493.                 }                                
  494.                                            
  495.                                                  
  496.                 if(modName_idx == 4 ) {
  497.                       antirecoil_onoff = f_go_forward( antirecoil_onoff);  
  498.                 }                                
  499.                                            
  500.                                                  
  501.                 if(modName_idx == 5 ) {
  502.                       polar_aim_assist_onoff = f_go_forward( polar_aim_assist_onoff);  
  503.                 }                                
  504.                                            
  505.                                                  
  506.                 if(modName_idx == 6 ) {
  507.                       ToggleBattsStickyAim = f_go_forward( ToggleBattsStickyAim);  
  508.                 }                                
  509.                                            
  510.              }// go forward
  511.        }
  512.         refresh_OLED = TRUE;  
  513.         set_val(PS4_TRIANGLE,0);
  514.         set_val(PS4_SQUARE,0);
  515.         set_val(PS4_UP,0);
  516.         set_val(PS4_DOWN,0);
  517.         if(MenuTimeOut){
  518.             CheckIfBtnIsPressed();
  519.         }
  520.     }
  521.     /////////////////////////////////////////////////////////////
  522.     ///    END OF MENU  /////////////////////////////////////////
  523.     /////////////////////////////////////////////////////////////
  524. //==========================================================================================================
  525.    if(!ModEdit && !ModMenu){//  code for MODS
  526.              //--- LED COLOR INDICATION                                    
  527.              combo_run(Blink_MOD_ON);          
  528.         //===========================================
  529.         //   RAPID FIRE ON/OFF
  530.         //===========================================
  531.         if(rapidfire_onoff && KS_RapidFire ) {
  532.             /////////////////////////////////////////
  533.             if ((rapidfire_onoff == 2 && get_ival(TACTICAL_BTN) && get_ival(GRANADE_BTN)) || (rapidfire_onoff == 1 && get_ival(GRANADE_BTN) && !get_ival(TACTICAL_BTN)) || (rapidfire_onoff == 3 && get_ival(GRANADE_BTN))) {
  534.                  combo_run(RAPID_FIRE_cmb);        
  535.             }                                      
  536.             /////////////////////////////////////////
  537.         }                                  
  538.                                          
  539.          //===========================================
  540.          //   DROP SHOT
  541.          //===========================================
  542.         if(dropshot_onoff  && KS_drop_shot) {    
  543.             if(dropshot_onoff == 1){
  544.                 //--- FIRE ONLY
  545.                 if(get_val(FIRE_BTN) && !get_val(ADS_BTN) ) combo_run(DROP_SHOT_cmb);
  546.                 /////////////////////////////////////////
  547.             }
  548.             if(dropshot_onoff == 2){
  549.                 //--- ADS & FIRE
  550.                 if(get_val(FIRE_BTN) || get_val(ADS_BTN) ) combo_run(DROP_SHOT_cmb);
  551.                 /////////////////////////////////////////
  552.             }
  553.             if(dropshot_onoff == 3){
  554.                 //--- ADS ONLY
  555.                 if(get_val(!FIRE_BTN) && get_val(ADS_BTN) ) combo_run(DROP_SHOT_cmb);
  556.                 /////////////////////////////////////////
  557.             }
  558.         }                                  
  559.             //===========================================
  560.             //   JUMP SHOT
  561.             //===========================================
  562.         if(jumpshot_onoff) {
  563.             if(jumpshot_onoff == 1){
  564.                 //--- FIRE ONLY
  565.                 if(get_val(FIRE_BTN) && !get_val(ADS_BTN) ) combo_run(JUMP_SHOT_cmb);
  566.                 /////////////////////////////////////////
  567.             }
  568.             if(jumpshot_onoff == 2){
  569.                 //--- ADS & FIRE
  570.                 if(get_val(FIRE_BTN) || get_val(ADS_BTN) ) combo_run(JUMP_SHOT_cmb);
  571.                 /////////////////////////////////////////
  572.             }
  573.             if(jumpshot_onoff == 3){
  574.                 //--- ADS ONLY
  575.                 if(!get_val(FIRE_BTN) && get_val(ADS_BTN) ) combo_run(JUMP_SHOT_cmb);
  576.                 /////////////////////////////////////////
  577.             }
  578.          }// jump shot              
  579.         //===========================================
  580.         //   HOLD BREATH
  581.         //===========================================
  582.         if(holdbreath_onoff == 1 ) { // Like CoD
  583.              //----------------------------------------------
  584.              if( get_val(ADS_BTN) ) set_val(SPRINT_BTN, 100);// SPRINT BTN
  585.              //----------------------------------------------
  586.         }
  587.         if(holdbreath_onoff == 2 ) {// Like PUBG
  588.              //-----------------------------
  589.              if( get_val(ADS_BTN) ){
  590.                  hbreath_time += get_rtime();
  591.                  if(hbreath_time > 100){
  592.                      set_val(SPRINT_BTN, 100);// SPRINT BTN
  593.                  }
  594.              }
  595.              if(event_release(ADS_BTN)){
  596.                  hbreath_time = 0;
  597.              }
  598.              //-----------------------------
  599.         }        
  600.             //===========================================
  601.             //   ANTI RECOIL
  602.             //===========================================
  603.      if(antirecoil_onoff && KS_anti_recoil){                              
  604.             if( get_val(ADS_BTN) && get_val(FIRE_BTN )) {      
  605.                 combo_run(AntiRecoil);                
  606.             }                                          
  607.                                                            
  608.             if( abs(get_val(RY)) > AR_Release || abs(get_val(RX)) > AR_Release) {
  609.                 combo_stop (AntiRecoil);              
  610.             }                                
  611.              
  612.             if(get_val(PS4_R3)){
  613.                 if(event_press(PS4_UP)){
  614.                     AR_vertical += 1;
  615.                 }
  616.                 if(event_press(PS4_DOWN)) {
  617.                     AR_vertical -= 1;
  618.                 }
  619.                 set_val(PS4_UP,0); set_val(PS4_DOWN,0);
  620.                                                        
  621.                 if(event_press(PS4_LEFT)){
  622.                     AR_horizontal -= 1;
  623.                 }
  624.                 if(event_press(PS4_RIGHT)) {
  625.                     AR_horizontal +=  1;
  626.                 }
  627.                 set_val(PS4_LEFT,0); set_val(PS4_RIGHT,0);
  628.                                                                
  629.                //===============================================
  630.                //               SAVE ANTI RECOIL                    
  631.                //===============================================
  632.                if(event_press(PS4_PS)){
  633.                     combo_run(MESSAGE);      
  634.                }
  635.                set_val(PS4_PS,0);
  636.            }
  637.                                                  
  638.      }// end of Anti Recoil    
  639.             //===========================================
  640.             //   POLAR AIM ASSIST
  641.             //===========================================
  642.   if(polar_aim_assist_onoff){
  643.                          
  644.       actual_X = get_val(X);  
  645.       actual_Y = get_val(Y);          
  646.       actual_Magnitude = isqrt(pow(actual_X, 2) + pow(actual_Y, 2));  
  647.       max_Magnitude = (actual_Magnitude < 100);                      
  648.                                                                  
  649.       if(!(time++ % STEP_INTERVAL)){                                  
  650.              angle += polar_aasist_steps;                                                
  651.       }                                                              
  652.       angle = angle % 360;                                            
  653.       sin_angle_dnatme = Polar_Array[angle % 360];                          
  654.       cos_angle_dnatme = Polar_Array[(angle + 270) % 360];                  
  655.       cos_angle_dnatme = (cos_angle_dnatme * polar_aasist_radius) / 100;                        
  656.       sin_angle_dnatme = (sin_angle_dnatme * polar_aasist_radius) / 100;                          
  657.                                                                          
  658.       if((ACTIVE_WHEN_ADS && get_val(ADS_BTN)) || (ACTIVE_WHEN_FIRING && get_val(FIRE_BTN))){
  659.            if(actual_Magnitude <= polar_aasist_radius){                                                      
  660.                 sin_angle_dnatme -= actual_Y;                                                              
  661.                 cos_angle_dnatme -= actual_X;                                                                
  662.            }else {                                                                                      
  663.                 sin_angle_dnatme = (sin_angle_dnatme * (200 - ((abs(actual_Y) + actual_Magnitude) / 10) * 10) / 200) * max_Magnitude;
  664.                 cos_angle_dnatme = (cos_angle_dnatme * (200 - ((abs(actual_X) + actual_Magnitude) / 10) * 10) / 200) * max_Magnitude;
  665.            }                                                  
  666.            set_val(X, calculate(actual_X + cos_angle_dnatme, -100, 100));
  667.            set_val(Y, calculate(actual_Y + sin_angle_dnatme, -100, 100));
  668.       }
  669.   }
  670.             //--- CLEAR OLED SCREEN after message                                      
  671.             if(time_to_clear_screen){              
  672.                 time_to_clear_screen -= get_rtime();
  673.                 if(time_to_clear_screen <= 0 ){    
  674.                     QT_MESSAGE_TIMEOUT();    
  675.                 }                              
  676.             }            
  677.                          
  678.             //===========================================
  679.             //   Batts Sticky Aim
  680.             //===========================================
  681.             if(ToggleBattsStickyAim){
  682.                 if(get_ival(GRANADE_BTN))
  683.                     combo_run(StickyAim);
  684.             }
  685.  
  686.         } //  end of MODS CODE
  687.     } //  ENTIRE SCRIPT KILL SWITCH
  688. } //  end of main block
  689. /////////////////////////////////////////////////////////////////////////////
  690. ///   COMBO BLOCK                                                            
  691. /////////////////////////////////////////////////////////////////////////////
  692. //-- VM Speed
  693. define VM_Default = 0;
  694. function set_Virtual_Machine_Speed (f_speed){
  695.     if     (f_speed == 0) vm_tctrl(-0);//10 ms Default
  696.     else if(f_speed == 1) vm_tctrl(-2);// 8 ms
  697.     else if(f_speed == 2) vm_tctrl(-4);// 6 ms
  698.     else if(f_speed == 3) vm_tctrl(-6);// 4 ms
  699.     else if(f_speed == 4) vm_tctrl(-8);// 2 ms
  700.     else if(f_speed == 5) vm_tctrl(-9);// 1 ms
  701. }
  702.            
  703. int hbreath_time;
  704. int primary_weapon = TRUE;
  705. int message_timeout;
  706. int time_to_clear_screen;
  707. function QT_MESSAGE_TIMEOUT (){    
  708.     // Clear OLED Screen              
  709.     cls_oled(0); // will clear oled  
  710.     display_title  = FALSE;          
  711. }                                  
  712.                                      
  713.                        
  714. int exit_wait = 1500;
  715. combo EXIT {    
  716.     wait(exit_wait);    
  717.     cls_oled(0);    
  718.     ModMenu = FALSE;  
  719.     ModEdit = FALSE;    
  720.     display_EDIT = FALSE;
  721.     display_title = FALSE;
  722. }                      
  723. int LED_OnOff;      
  724. int rumble_tipe = RUMBLE_A;
  725.        
  726. //===============================================
  727. //            LED BLINK                          
  728. //===============================================
  729. combo LED_BLINK {                                
  730.     colourled(LED_OnOff);                          
  731.     wait(200);                                      
  732.     colourled(ColorOFF);                            
  733.     wait(100);                                      
  734.     colourled(LED_OnOff);                          
  735.     wait(200);                                      
  736.     colourled(ColorOFF);                            
  737.     wait(100);                                      
  738. }                                                
  739. //===============================================
  740. //            PROFILE VIBRATE 1 , 2 ,3                          
  741. //===============================================
  742. int profile_numbr;                                
  743. combo PROFILES_VIBRATE_NOTIFY {                    
  744.     if(profile_numbr >= 1) set_rumble(rumble_tipe, 100);
  745.     wait(300);                                      
  746.     reset_rumble();                                  
  747.     wait(100);                                      
  748.     if(profile_numbr > 1)set_rumble(rumble_tipe, 100);
  749.     wait(300);                                      
  750.     reset_rumble();                                  
  751.     wait(100);                                      
  752.     if(profile_numbr > 2)set_rumble(rumble_tipe, 100);
  753.     wait(300);                                      
  754.     reset_rumble();                                
  755. }
  756. define PRIMARY_Profile   = 1;
  757. define SECONDARY_Profile = 2;
  758. function set_profile_notify(f_profile,rumbl_type){
  759.     profile_numbr = f_profile;
  760.     rumble_tipe   = rumbl_type;
  761.     combo_run(PROFILES_VIBRATE_NOTIFY);
  762. }
  763.  
  764. //===============================================
  765. //                 VIBRATE SETUP                
  766. //===============================================
  767. combo vibrate {                                  
  768.     set_rumble(rumble_tipe, 100);                  
  769.     wait(300);                                      
  770.     reset_rumble();                                
  771.     wait(100);                                      
  772.     set_rumble(rumble_tipe, 100);                  
  773.     wait(300);                                      
  774.     reset_rumble();                                
  775. }                                                
  776. //===============================================  
  777. //                 RUMBLE_TIPE                    
  778. //===============================================  
  779. function set_rumble_tipe ( val) {                  
  780.     if( val){ rumble_tipe = RUMBLE_A ; LED_OnOff = Green;}  
  781.     else    { rumble_tipe = RUMBLE_B ; LED_OnOff = Red  ;}
  782.     combo_run(vibrate);                    
  783.     combo_run(LED_BLINK);                  
  784. }                                        
  785. //===============================================  
  786. //             DOUBLE CLICK
  787. //===============================================  
  788. int b_dblclick;
  789.  
  790. function double_click (button) {                      
  791.     if (b_dblclick) {                                
  792.         b_dblclick -=get_rtime();                                      
  793.     }                                                
  794.     if (event_press(button) ) {
  795.         if(b_dblclick){
  796.             b_dblclick = 0;
  797.             return TRUE;
  798.         }else{
  799.             b_dblclick = 300;
  800.             return FALSE;
  801.         }
  802.     }                                                
  803.     return FALSE;                                        
  804. }          
  805.  
  806. const int8 Polar_Array[]={100,100,100,100,100,100,100,100,99,99,99,99,98,98,97,97,97,96,95,95,94,94,93,92,92,91,90,89,89,88,87,86,85,84,83,82,81,    
  807. 80,79,78,77,75,74,73,72,71,70,69,67,66,65,63,62,61,59,58,56,55,53,52,50,49,47,46,44,43,41,40,38,36,35,33,31,30,28,26,25,23,21,20,18,16,14,13,11,9,7,
  808. 6,4,2,0,-1,-3,-5,-7,-8,-10,-12,-13,-15,-17,-19,-20,-22,-24,-25,-27,-29,-30,-32,-34,-35,-37,-39,-40,-42,-43,-45,-46,-48,-50,-51,-53,-54,-55,-57,-58,  
  809. -60,-61,-62,-64,-65,-66,-68,-69,-70,-71,-73,-74,-75,-76,-77,-78,-79,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-89,-90,-91,-92,-92,-93,-93,-94,-95,-95,
  810. -96,-96,-97,-97,-97,-98,-98,-99,-99,-99,-99,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-99,-99,-99,-98,-98,-98,-97,-97,  
  811. -96,-96,-95,-94,-94,-93,-93,-92,-91,-90,-90,-89,-88,-87,-86,-85,-84,-83,-82,-81,-80,-79,-78,-77,-76,-75,-74,-72,-71,-70,-69,-67,-66,-65,-63,-62,-61,
  812. -59,-58,-56,-55,-53,-52,-50,-49,-47,-46,-44,-43,-41,-40,-38,-36,-35,-33,-31,-30,-28,-26,-25,-23,-21,-20,-18,-16,-14,-13,-11,-9,-7,-6,-4,-2,0,2,4,6,7,
  813. 9,11,13,14,16,18,20,21,23,25,26,28,30,31,33,35,36,38,40,41,43,44,46,47,49,51,52,54,55,56,58,59,61,62,63,65,66,67,69,70,70,72,73,74,75,77,78,79,80,81,
  814. 82,83,84,85,86,87,88,89,89,90,91,92,92,93,94,94,95,95,96,97,97,97,98,98,99,99,99,99,100,100,100,100,100,100,100};                                    
  815.                                                      
  816. define X = RX;                                    
  817. define Y = RY;                                    
  818. define ACTIVE_WHEN_ADS    = TRUE;                    
  819. define ACTIVE_WHEN_FIRING = TRUE;                    
  820.                                                      
  821. define RADIUS  = 13 ;        
  822. define STEPS   = 15;          
  823. define STEP_INTERVAL =  1;                            
  824.                                                      
  825. int time;                                            
  826. int angle, cos_angle_dnatme, sin_angle_dnatme;                      
  827. int actual_X, actual_Y, actual_Magnitude, max_Magnitude;
  828. define ColorOFF  = 0;
  829. define Blue      = 1;
  830. define Red       = 2;
  831. define Green     = 3;
  832. define Pink      = 4;
  833. define SkyBlue   = 5;
  834. define Yellow    = 6;
  835. define White     = 7;
  836.                      
  837. data(                
  838.   0,0,0, //0. ColorOFF
  839.   2,0,0, //1. Blue    
  840.   0,2,0, //2. Red      
  841.   0,0,2, //3. Green    
  842.   2,2,0, //4. Pink    
  843.   2,0,2, //5. SkyBlue
  844.   0,2,2, //6. Yellow  
  845.   2,2,2  //7. White    
  846. ); // end of data segment--------------
  847. // COLOR LED function        
  848. //--------------------------------------------------------------
  849.                                        
  850. int data_indx;
  851. function colourled(color) {  
  852.     for( data_indx = 0; data_indx < 3; data_indx++ ) {
  853.         set_led(data_indx,duint8 ((color * 3) + data_indx));
  854.     }
  855. }
  856.  
  857. // Refresh OLED              
  858.     int display_title = TRUE;
  859.     int display_black;      
  860.     int refresh_OLED;        
  861.     int ModMenu;    
  862.     int ModEdit;  
  863.     int display_EDIT;  
  864.     int EntireScript_OnOff = TRUE;// Kill Swith For Entire Script  
  865.     int show_mesage_time;
  866. //////////////////////////////////////
  867. ///////////////////////////////////////
  868. int count_black;                      
  869. int need_to_be_save;                
  870. int BlinckColor = 3;                
  871. int Col_ind;                        
  872. combo StickyAim {
  873.     offset(PS4_RY,AimAssistSize);
  874.     wait(AimAssistTime);
  875.     offset(PS4_RX,AimAssistSize);
  876.     offset(PS4_LX,AimAssistSize);
  877.     wait(AimAssistTime);
  878.     offset(PS4_RY,inv(AimAssistSize));
  879.     wait(AimAssistTime);
  880.     offset(PS4_RX,inv(AimAssistSize));
  881.     offset(PS4_LX,inv(AimAssistSize));
  882.     wait(AimAssistTime);
  883. }
  884. function offset(Stick,Value) {
  885.   set_val(Stick, clamp(Value * (100 - abs(get_val(Stick))) / 100 + get_val(Stick), -100, 100));
  886.   return;
  887. }
  888.  
  889. //===============================================================
  890. //   MODS COMBO SECTION
  891. //===============================================================
  892. int KS_RapidFire = TRUE;
  893. combo RAPID_FIRE_cmb {
  894.   set_val(FIRE_BTN, 100);
  895.   wait(RF_hold);
  896.   set_val(FIRE_BTN,   0);
  897.   wait(RF_release);
  898. }
  899. //-------------------------------------------------------------------------------------------
  900. define AR_Release = 28;   // change this value to set when antirecoil stops working (min: antirecoil value + 10)
  901. int KS_anti_recoil = TRUE;  
  902. //-------------------------------------------------------------------------------------------
  903. int KS_drop_shot = TRUE;
  904. combo DROP_SHOT_cmb {                  
  905.     set_val(PRONE_BTN, 100);
  906.     wait(drop_shot_hold);  
  907.     wait(drop_shot_rest);
  908. }
  909. combo JUMP_SHOT_cmb {                  
  910.     set_val(MELEE_BTN, 100);
  911.     wait(60);  
  912.     wait(1000);
  913. }
  914. int ANTI_RECOIL   = 18;
  915. int ANTI_RECOIL_H = 0;
  916. int anti_recoil;      
  917. int anti_recoil_H;    
  918. //---------------------------------//          
  919. combo AntiRecoil {  
  920.     anti_recoil = get_val(RY) + AR_vertical;      
  921.     if(anti_recoil > 100) anti_recoil = 100;      
  922.     set_val(RY, anti_recoil);                    
  923.     anti_recoil_H = get_val(RX) + AR_horizontal;  
  924.     if(anti_recoil_H > 100) anti_recoil_H = 100;  
  925.     set_val(RX, anti_recoil_H);  
  926. }          
  927. function calculate(int v, int lo, int hi) {
  928.   if(v < lo) return lo;              
  929.   if(v > hi) return hi;        
  930.   return v;    
  931. }    
  932.    //=======================================
  933.    //  DISPLAY EDIT VALUE ON THE FLY        
  934.    //=======================================
  935. function on_the_fly_display (f_string, f_print, f_val){
  936.     cls_oled(0);  
  937.     line_oled(1,18,127,18,1,1);
  938.     printf(f_string, 0, OLED_FONT_MEDIUM, OLED_WHITE, f_print);  
  939.     number_to_string(f_val, find_digits(f_val));
  940.     time_to_clear_screen  = 2000;
  941. }      
  942.        
  943. define FONT_STATS_INDEX_WIDTH    = 0;
  944. define FONT_STATS_INDEX_HEIGHT   = 1;
  945. define FONT_STATS_INDEX_MAXCHARS = 2;
  946.                                      
  947.                                      
  948. ////////////////////////////////////////////////////////////////
  949. function horizontal_center_offset(number_characters, font_size) {
  950.     return (128 - number_characters * FONT_STATS[font_size][FONT_STATS_INDEX_WIDTH]) / 2;
  951. }            
  952.              
  953. const string EXIT_TXT1 = "SETTINGS";  
  954. const string EXIT_TXT2 = "WAS SAVED";
  955.                                      
  956. //////////////////////////////////////////////////////////////////////////////
  957. ///  SAVE  
  958. function save_toggles () {  
  959.                    
  960.      set_pvar(SPVAR_1,jumpshot_onoff);
  961.      set_pvar(SPVAR_2,dropshot_onoff);
  962.      set_pvar(SPVAR_3,rapidfire_onoff);
  963.      set_pvar(SPVAR_4,holdbreath_onoff);
  964.      set_pvar(SPVAR_5,antirecoil_onoff);
  965.      set_pvar(SPVAR_6,polar_aim_assist_onoff);
  966.      set_pvar(SPVAR_7,ToggleBattsStickyAim);
  967.      set_pvar(SPVAR_8,drop_shot_hold);
  968.      set_pvar(SPVAR_9,drop_shot_rest);
  969.      set_pvar(SPVAR_10,RF_hold);
  970.      set_pvar(SPVAR_11,RF_release);
  971.      set_pvar(SPVAR_12,AR_vertical);
  972.      set_pvar(SPVAR_13,AR_horizontal);
  973.      set_pvar(SPVAR_14,polar_aasist_radius);
  974.      set_pvar(SPVAR_15,polar_aasist_steps);
  975.      set_pvar(SPVAR_16,AimAssistTime);
  976.      set_pvar(SPVAR_17,AimAssistSize);
  977.     combo_run(EXIT);                  
  978.      
  979. }// end of save  
  980.                      
  981. combo MESSAGE {      
  982.     wait(20);        
  983.     save_toggles ();  
  984.     cls_oled(0);      
  985.     printf(horizontal_center_offset(sizeof(EXIT_TXT1), OLED_FONT_MEDIUM ), 2, OLED_FONT_MEDIUM, 1, EXIT_TXT1[0]);
  986.     printf(horizontal_center_offset(sizeof(EXIT_TXT2), OLED_FONT_MEDIUM ), 23, OLED_FONT_MEDIUM, 1, EXIT_TXT2[0]);
  987.     exit_wait = 2000;    
  988. }                        
  989. function blinck ( var){  
  990.     if(var){              
  991.         BlinckColor = Green;
  992.     }else{                
  993.         BlinckColor = Red;    
  994.     }                      
  995.     combo_run(BLINK_NOTIFY);
  996. }                          
  997.                            
  998. combo BLINK_NOTIFY {        
  999.     colourled(BlinckColor);  
  1000.     wait(300);                
  1001.     colourled(ColorOFF);        
  1002.     wait(100);                  
  1003.     colourled(BlinckColor);      
  1004.     wait(300);                  
  1005.     colourled(ColorOFF);          
  1006. }                                
  1007. int MOD_Color;
  1008. int blink_n ;
  1009. combo Blink_MOD_ON   {
  1010.     colourled(ColorOFF);  
  1011.     if( blink_n == 1 ) {
  1012.         if(rapidfire_onoff && KS_RapidFire ){colourled(Green);}
  1013.     }
  1014.     wait(500);                
  1015.     colourled(ColorOFF);  
  1016.     wait(1000);
  1017.     blink_n +=1;
  1018.     if( blink_n > 1)blink_n = 1;
  1019. }                                
  1020.                                
  1021.                                
  1022. const uint8 FONT_STATS[][] = {  
  1023.     {  7, 10, 18 }, // Small    
  1024.     { 11, 18, 11 }, // Medium  
  1025.     { 16, 26,  7 }  // Large    
  1026. };                              
  1027.                                
  1028. function display_edit( f_string, f_print, f_val) {
  1029.     printf(f_string, 0, OLED_FONT_MEDIUM, OLED_WHITE, f_print);  
  1030.     number_to_string(f_val, find_digits(f_val));    
  1031. }                                                  
  1032. function f_go_forward (f_variable) {
  1033.     f_variable       +=1;  
  1034.     if(f_variable  > Min_Max_Options[modName_idx][1] )f_variable  = Min_Max_Options[modName_idx][1]; // max option
  1035.     need_to_be_save = TRUE;      
  1036.     blinck( f_variable );
  1037.     return f_variable;
  1038. }
  1039.  
  1040. function f_go_back (f_variable) {
  1041.     f_variable       -=1;  
  1042.     if(f_variable  < Min_Max_Options[modName_idx][0] )f_variable  = Min_Max_Options[modName_idx][0];
  1043.     need_to_be_save = TRUE;      
  1044.     blinck( f_variable );
  1045.     return f_variable;
  1046. }
  1047. // Variables for function number_to_string()  
  1048. int ssss;                            
  1049. int c_c_c,c_val;  
  1050. function number_to_string(f_val,f_digits) {                  
  1051. //=======================================================
  1052. //  number_to_string(value to convert, # of digits in value)
  1053. //                                                          
  1054. //  Display Up to Max 16-bit Signed Integer (-32,768 to 32,767)
  1055. //                                                      
  1056. //      Convert digits to ASCII                        
  1057. //      Add ASCII character to print buffer            
  1058. //      Print string centered X & Y on OLED            
  1059. //                                                      
  1060. //======================================================
  1061.     ssss = 1;  c_val = 10000;                            
  1062.                                                      
  1063.     if(f_val < 0) //--neg numbers                    
  1064.     {                                                
  1065.          putc_oled(ssss,45);    //--add leading "-"      
  1066.          ssss += 1;                                      
  1067.          f_val = abs(f_val);                          
  1068.     }                                                
  1069.                                                      
  1070.     for(c_c_c = 5; c_c_c >= 1; c_c_c--)                          
  1071.     {                                                
  1072.         if(f_digits >= c_c_c)                            
  1073.         {                                            
  1074.             putc_oled(ssss,ASCII_NUM[f_val / c_val]);    
  1075.             f_val = f_val % c_val;                    
  1076.             ssss +=  1;                                  
  1077.             if(c_c_c == 4)                              
  1078.             {                                        
  1079.                 putc_oled(ssss,44);   //--add ","        
  1080.                 ssss += 1;                              
  1081.             }                                        
  1082.         }                                            
  1083.         c_val /= 10;                                  
  1084.     }                                                
  1085.     puts_oled(center_x(ssss - 1,OLED_FONT_LARGE_WIDTH),37,OLED_FONT_LARGE,ssss - 1,OLED_WHITE); // adjustable value centered in X
  1086. }                                                    
  1087. int n_str_;                  
  1088. int horiz_X_center_sufix;    
  1089.                              
  1090. function print_number(f_val,f_digits ,print_s_x , print_s_y , f_font) {
  1091.                                                      
  1092.     n_str_ = 1;  c_val = 10000;                      
  1093.                                                      
  1094.     if(f_val < 0) //--neg numbers                    
  1095.     {                                                
  1096.          putc_oled(n_str_,45);    //--add leading "-"
  1097.          n_str_ += 1;                                
  1098.          f_val = abs(f_val);                          
  1099.                                                      
  1100.     }                                                
  1101.                                                      
  1102.     for(c_c_c = 5; c_c_c >= 1; c_c_c--)                          
  1103.     {                                                
  1104.         if(f_digits >= c_c_c)                            
  1105.         {                                              
  1106.             putc_oled(n_str_,ASCII_NUM[f_val / c_val]);
  1107.             f_val = f_val % c_val;                    
  1108.             n_str_ +=  1;                            
  1109.                                                      
  1110.         }                                            
  1111.         c_val /= 10;                                  
  1112.     }                                                
  1113.     puts_oled(print_s_x,print_s_y,f_font,n_str_ - 1,OLED_WHITE); // adjustable value centered in X
  1114. }                                      
  1115.                                                      
  1116.                                                      
  1117. function edit_val( f_val, f_min, f_max ) {  // antirecoil = edit_val( 0 , antirecoil, 99  , 99  )
  1118.     line_oled(1,18,127,18,1,1);                                        
  1119.     // print the range values                                          
  1120.     // on the left: min value                                          
  1121.     print_number(f_min ,find_digits(f_min) ,4 , 22 , OLED_FONT_SMALL);
  1122.     // on the right: max value                                        
  1123.     print_number(f_max ,find_digits(f_max) ,97 , 22 , OLED_FONT_SMALL);
  1124.                                          
  1125.     if(get_val(ADS_BTN)){                  
  1126.         if(press_hold(PS4_RIGHT)){            
  1127.             f_val ++;                          
  1128.             if(f_val > f_max ) f_val = f_max;  
  1129.             display_EDIT = TRUE;                
  1130.             need_to_be_save = TRUE;            
  1131.         }                                    
  1132.                                          
  1133.         if(press_hold(PS4_LEFT)){            
  1134.             f_val --;                          
  1135.             if(f_val < f_min ) f_val = f_min;  
  1136.             display_EDIT = TRUE;                
  1137.             need_to_be_save = TRUE;            
  1138.         }                                    
  1139.         if(press_hold(PS4_UP)){              
  1140.             f_val +=10;                        
  1141.             if(f_val > f_max ) f_val = f_max;  
  1142.             display_EDIT = TRUE;                
  1143.             need_to_be_save = TRUE;            
  1144.         }                                    
  1145.                                          
  1146.         if(press_hold(PS4_DOWN)){            
  1147.             f_val -=10;                        
  1148.             if(f_val < f_min ) f_val = f_min;  
  1149.             display_EDIT = TRUE;                
  1150.             need_to_be_save = TRUE;            
  1151.         }                                    
  1152.     }                                      
  1153.     return f_val;                        
  1154. }                                        
  1155.                                              
  1156.                                    
  1157. function press_hold(f_btn) {      
  1158. //  return TRUE - event_press()    
  1159. //- every 250ms when button is held
  1160.       return event_press(f_btn) || get_val(f_btn) && get_ptime(f_btn) > 250
  1161.            && get_ptime(f_btn) % (get_rtime() * 8) == 0;
  1162. }              
  1163.                
  1164. function find_digits(f_num) {                        
  1165. //  find_digits(value)                                
  1166. //        return Number of Digits in Value Passed    
  1167.                                                      
  1168.     f_num = abs(f_num);                              
  1169.     if(f_num / 10000 > 0) return 5;                  
  1170.     if(f_num /  1000 > 0) return 4;                  
  1171.     if(f_num /   100 > 0) return 3;                  
  1172.     if(f_num /    10 > 0) return 2;                  
  1173.                           return 1;                  
  1174. }                                                    
  1175. ///////////////////////////////////////////////
  1176. //  FUNCTIONS                                
  1177.                                              
  1178. function center_x(f_chars,f_font) {          
  1179. //  center_x(number of chars,font size);    
  1180. //        return X for Centering String Horizontally
  1181.                                                      
  1182.     return (OLED_WIDTH / 2) - ((f_chars * f_font) / 2);
  1183. }                                                      
  1184.                                                        
  1185. function draw_rectangle()        
  1186. {
  1187.     line_oled(1,25,127,25,1,1);
  1188.     rect_oled(0, 0,OLED_WIDTH,64,FALSE,1);
  1189. }
  1190. const string ModOption_7_0 = "Disable";
  1191. const string ModOption_7_1 = "Like CoD";
  1192. const string ModOption_7_2 = "Like PUBG";
  1193. define ShotModOptions = 31;
  1194. define FireModOptions =  9;
  1195. const string ModOption_31_0 = "Disable";
  1196. const string ModOption_31_1 = "Fire Only";
  1197. const string ModOption_31_2 = "ADS & Fire";
  1198. const string ModOption_31_3 = "ADS Only";
  1199. const string ModOption_31_4 = "On Fire";
  1200. function display_mod( f_string, mod_name, f_toggle, f_option) {  
  1201.         // Display MOD_NAME                                    
  1202.         printf(f_string, 3, OLED_FONT_MEDIUM, OLED_WHITE, mod_name);
  1203.         if(f_option == 1)                              
  1204.         {                                                    
  1205.         // Display Disable / Enable                                
  1206.             if(f_toggle == 1)                                                            
  1207.                 printf(center_x(sizeof(ON)  - 1, OLED_FONT_LARGE_WIDTH),37,OLED_FONT_LARGE,OLED_WHITE, ON[0]);// Enable
  1208.             else                                                                                              
  1209.                 printf(center_x(sizeof(OFF) - 1, OLED_FONT_LARGE_WIDTH),37,OLED_FONT_LARGE,OLED_WHITE,OFF[0]);// Disable
  1210.         }            
  1211.         if(f_option == ShotModOptions)// 31    
  1212.         {                                                    
  1213.             if(f_toggle == 0)                                                            
  1214.                 printf(center_x(sizeof(ModOption_31_0)  - 1, OLED_FONT_MEDIUM_WIDTH),37,OLED_FONT_MEDIUM,OLED_WHITE, ModOption_31_0[0]);// Disable
  1215.                                                                                                                            
  1216.             if(f_toggle == 1)                                                            
  1217.                 printf(center_x(sizeof(ModOption_31_1)  - 1, OLED_FONT_MEDIUM_WIDTH),37,OLED_FONT_MEDIUM,OLED_WHITE, ModOption_31_1[0]);// Fire Only
  1218.                                                                                                                            
  1219.             if(f_toggle == 2)                                                            
  1220.                 printf(center_x(sizeof(ModOption_31_2)  - 1, OLED_FONT_MEDIUM_WIDTH),37,OLED_FONT_MEDIUM,OLED_WHITE, ModOption_31_2[0]);// ADS & Fire
  1221.                                                                                                                            
  1222.             if(f_toggle == 3)                                                            
  1223.                 printf(center_x(sizeof(ModOption_31_3)  - 1, OLED_FONT_MEDIUM_WIDTH),37,OLED_FONT_MEDIUM,OLED_WHITE, ModOption_31_3[0]);// ADS Only
  1224.                                                                                                                            
  1225.         }            
  1226.         if(f_option == FireModOptions)// 9 FireModOptions  
  1227.         {                                                    
  1228.             if(f_toggle == 0)                                                            
  1229.                 printf(center_x(sizeof(ModOption_31_0)  - 1, OLED_FONT_MEDIUM_WIDTH),37,OLED_FONT_MEDIUM,OLED_WHITE, ModOption_31_0[0]);// Disable
  1230.                                                                                                                            
  1231.             if(f_toggle == 1)                                                            
  1232.                 printf(center_x(sizeof(ModOption_31_1)  - 1, OLED_FONT_MEDIUM_WIDTH),37,OLED_FONT_MEDIUM,OLED_WHITE, ModOption_31_1[0]);// Fire Only
  1233.                                                                                                                            
  1234.             if(f_toggle == 2)                                                            
  1235.                 printf(center_x(sizeof(ModOption_31_2)  - 1, OLED_FONT_MEDIUM_WIDTH),37,OLED_FONT_MEDIUM,OLED_WHITE, ModOption_31_2[0]);// ADS & Fire
  1236.                                                                                                                  
  1237.             if(f_toggle == 3)                                                            
  1238.                 printf(center_x(sizeof(ModOption_31_4)  - 1, OLED_FONT_MEDIUM_WIDTH),37,OLED_FONT_MEDIUM,OLED_WHITE, ModOption_31_4[0]);// On Fire
  1239.                                                                                                                  
  1240.         }        
  1241.  
  1242.         if(f_option == 7)  
  1243.         {                                                    
  1244.             if(f_toggle == 0)                                                            
  1245.                 printf(center_x(sizeof(ModOption_7_0)  - 1, OLED_FONT_MEDIUM_WIDTH),37,OLED_FONT_MEDIUM,OLED_WHITE, ModOption_7_0[0]);// Disable
  1246.                                                                                                                            
  1247.             if(f_toggle == 1)                                                            
  1248.                 printf(center_x(sizeof(ModOption_7_1)  - 1, OLED_FONT_MEDIUM_WIDTH),37,OLED_FONT_MEDIUM,OLED_WHITE, ModOption_7_1[0]);// Like CoD
  1249.                                                                                                                            
  1250.             if(f_toggle == 2)                                                            
  1251.                 printf(center_x(sizeof(ModOption_7_2)  - 1, OLED_FONT_MEDIUM_WIDTH),37,OLED_FONT_MEDIUM,OLED_WHITE, ModOption_7_2[0]);// Like PUBG
  1252.                                                                                                                            
  1253.         }            
  1254. }//display mod end          
  1255. /*    
  1256. ======================================================
  1257.      Logo Picture : أŒأ£أŒأ£أ¥.gpc
  1258. ======================================================
  1259. */                                                    
  1260.                                
  1261.  const int16 BOOT_LOGO[] = {
  1262. 128, 64,
  1263.     0x0000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x007F,0xFE00,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x03FF,0xFF80,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x07FF,0xFFC0,0x0000,0x0000,0x0000,
  1264.     0x0000,0x0000,0x0000,0x1FFF,0xFFE0,0x0000,0x0000,0x0000,0x8000,0x0000,0x0000,0x1FFF,0xFFF0,0x0000,0x0000,0x0003,0x8000,0x0000,0x0000,0x3BFF,0xFFF0,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x3FFF,0xFFF8,0x0000,0x0000,0x0007,
  1265.     0xE000,0x0000,0x0000,0x77FF,0xFFFC,0x0000,0x0000,0x000F,0xE000,0x0000,0x0000,0x77FF,0xFFFC,0x0000,0x0000,0x001F,0xF000,0x4000,0x0000,0xF7FF,0xFFFC,0x0000,0x0002,0x003F,0xF800,0x6000,0x0000,0xF7FF,0xFFFE,0x0000,0x0002,0x007F,
  1266.     0xFC00,0x7000,0x0000,0xEFFF,0xFFFE,0x0000,0x0006,0x00FE,0xFE00,0x3800,0x0000,0xEFFF,0xFFFE,0x0000,0x000E,0x00FC,0xFF00,0x3800,0x0000,0xFFFF,0xFFFE,0x0000,0x001E,0x00F8,0x3F00,0x3C00,0x0000,0xDC1F,0xE0EE,0x0000,0x003C,0x00F8,
  1267.     0x3F80,0x1E00,0x0000,0xD807,0xC07E,0x0000,0x007C,0x00F0,0x1FC0,0x1F00,0x0000,0xD807,0xC03E,0x0000,0x00F8,0x00E0,0x1FC0,0x0F80,0x0000,0xD807,0xC03E,0x0000,0x01E8,0x00C0,0x0FE0,0x0FC0,0x0000,0xDC06,0xE07C,0x0000,0x01D0,0x0080,
  1268.     0x03C0,0x07E0,0x0000,0x5C1C,0xF070,0x0000,0x03B0,0x0000,0x0180,0x03F0,0x0000,0x1E3C,0x7CF8,0x0000,0x07E0,0x0000,0x0080,0x01F8,0x0000,0x7FFC,0x3FFC,0x0000,0x0F40,0x0000,0x0000,0x01FC,0x0000,0x7FFC,0x3FFC,0x0000,0x1E80,0x0000,
  1269.     0x0000,0x00FE,0x0000,0x7FF8,0x3FFC,0x0000,0x3D80,0x0000,0x0000,0x007F,0x0000,0x1CFB,0x3FB8,0x0000,0xFB00,0x0000,0x0000,0x003F,0xC000,0x00FF,0x3F00,0x0001,0xF600,0x0003,0x0000,0x001F,0xE000,0x0C7F,0xFE60,0x0003,0xFC00,0x0003,
  1270.     0x0000,0x000F,0xF000,0x0E7F,0xFEE0,0x000F,0xD800,0x0007,0x8000,0x0007,0xF800,0x063F,0xFCE0,0x001F,0xB000,0x000F,0xC000,0x0003,0xFE00,0x070F,0xE8C0,0x003F,0x6000,0x001F,0xE000,0x0001,0xFF00,0x077F,0x4CC0,0x00FF,0xC000,0x003F,
  1271.     0xF000,0x0001,0xFF80,0x077F,0x6DC0,0x01FF,0x8000,0x00FF,0xF800,0x0000,0x7EE0,0x0700,0x01C0,0x03FF,0x0000,0x01FE,0xFE00,0x0000,0x3F78,0x073E,0xD980,0x0EFC,0x0000,0x01FC,0xFF00,0x0000,0x0F9C,0x03F6,0xDF80,0x3DF8,0x0000,0x03F8,
  1272.     0xFF80,0x0000,0x07EF,0x01FF,0xFF00,0x7BF0,0x0000,0x03F0,0x7F80,0x0000,0x03F3,0xC0FF,0xFE03,0xEFC0,0x0000,0x03E0,0x3FC0,0x0000,0x00FD,0xF07F,0xFC07,0x9F80,0x0000,0x03C0,0x1FE0,0x0000,0x007E,0x7C3F,0xF81F,0x7E00,0x0000,0x0380,
  1273.     0x0FC0,0x0000,0x001F,0x9F00,0x00FC,0xFC00,0x0000,0x0300,0x0380,0x0000,0x0007,0xE7C0,0x03F7,0xF000,0x0000,0x0200,0x0180,0x0000,0x0003,0xF3F0,0x0FEF,0xE000,0x0000,0x0000,0x0000,0x0000,0x0001,0xFCFC,0x3FBF,0x8000,0x0000,0x0000,
  1274.     0x0000,0x0000,0x0000,0x7F3F,0x9EFE,0x0000,0x0000,0x0000,0x0000,0x0000,0x1C00,0x0FEF,0xF3F8,0x0038,0x0000,0x0000,0x0000,0x0000,0x3F00,0x03F9,0xFEE0,0x00FC,0x0000,0x0000,0x0000,0x0000,0x3FC0,0x00FF,0x3FC0,0x03FE,0x0000,0x0000,
  1275.     0x8000,0x0000,0x3FE0,0x1FBF,0xC7F8,0x03FE,0x0000,0x0000,0x8000,0x0000,0x3DE1,0xFF07,0xF8FF,0x87FC,0x0000,0x0000,0xC000,0x0000,0x19F7,0xF9FD,0xFF8F,0xEF98,0x0000,0x0001,0xE000,0x0000,0x00F3,0xC7FE,0x7FE3,0xCF00,0x0000,0x0003,
  1276.     0xF800,0x0001,0x32FC,0x3FF0,0x0FFC,0x3E4C,0x8400,0x0007,0xFC00,0x00FB,0xBB7C,0xFF80,0x01FF,0xBEDD,0xDF00,0x001F,0xFE00,0x00FF,0xDFBD,0xF800,0x001F,0xBDFF,0xFF00,0x003F,0xFFC0,0x00FD,0xFFBD,0xC000,0x0003,0xBDFF,0xBF00,0x007F,
  1277.     0x7FE0,0x00F9,0xFFFC,0x0090,0x2F80,0x3DFF,0x9F00,0x00FF,0x3FE0,0x00F0,0x7F9C,0x00D3,0x2C00,0x39FE,0x0F00,0x01FF,0x1FF0,0x007C,0x001C,0x00D4,0xAF00,0x3800,0x7F00,0x03FE,0x0FF8,0x0038,0x001E,0x60B3,0xAC03,0x3800,0x1C00,0x03F8,
  1278.     0x07F0,0x0000,0x000E,0xE0B4,0xAC07,0x7800,0x0000,0x03F0,0x01E0,0x0000,0x000F,0xF097,0xAC07,0xF000,0x0000,0x03E0,0x0060,0x0000,0x000F,0xF000,0x0007,0xF000,0x0000,0x03C0,0x0000,0x0000,0x0007,0xE000,0x0007,0xE000,0x0000,0x0380
  1279.  
  1280.  } // picture
  1281. /*    
  1282. ======================================================
  1283.      DrawLogo(x, y, invert)                            
  1284. ======================================================
  1285. */                                                    
  1286. int logoX,logoX2,logoY, logoY2;                      
  1287. int logoBit,logoOffset,logoData;                      
  1288.                                                      
  1289. function DrawLogo(x, y, invert) {                    
  1290.     logoOffset = 2;                                    
  1291.     logoBit = 16;                                          
  1292.     for (logoY = 0; logoY < BOOT_LOGO[1]; logoY++) {         // Loop the Y axis
  1293.         for (logoX = 0; logoX < BOOT_LOGO[0]; logoX++) {     // Loop the X axis
  1294.             logoData = BOOT_LOGO[logoOffset]          
  1295.             logoX2 = x + logoX;                      
  1296.             logoY2 = y + logoY;                      
  1297.             if (logoX2 < 0 || logoX2 >= 128) {        
  1298.                 logoX2 -= 128;                        
  1299.             }                                        
  1300.             if (logoY2 < 0 || logoY2 >= 64) {        
  1301.                 logoY2 -= 64;                        
  1302.             }                                        
  1303.             if (test_bit(logoData, logoBit - 1)) {    
  1304.                 pixel_oled(logoX2, logoY2, !invert);  
  1305.             }else{                                    
  1306.                 pixel_oled(logoX2, logoY2, invert);    
  1307.             }                                            
  1308.             logoBit--;             // Decrement the bit flag, we are moving to the next bit
  1309.             if (!logoBit) {     // Check if we have just handled the last bit  
  1310.                 logoBit = 16;     // Reset the bit flag    
  1311.                 logoOffset++;     // Move to the next value
  1312.             }  
  1313.         }  
  1314.     }    
  1315. }    
  1316.      
  1317. const uint8 MenuButtons [] = {  
  1318.   PS4_TRIANGLE , //0. Up
  1319.   PS4_SQUARE , //1. Down
  1320.   PS4_UP , //2. go back
  1321.   PS4_DOWN , //3. go forward
  1322.   PS4_CROSS , //4. enter in Edit Menu
  1323.   PS4_CIRCLE , //5. exit  Menu
  1324.   PS4_OPTIONS , //5. enter in  Menu
  1325.   PS4_L2     //6. hold ADS
  1326. };//--- End Menu Buttons  
  1327.  
  1328. int menu_btn_indx;
  1329. int MenuTimeOut;
  1330. define menu_time_active = 30000;
  1331. function CheckIfBtnIsPressed (){  
  1332.     for(menu_btn_indx = 0; menu_btn_indx < 7; menu_btn_indx++){
  1333.          if(event_press(MenuButtons[menu_btn_indx]) ){
  1334.              MenuTimeOut = menu_time_active;
  1335.          }
  1336.          if(MenuTimeOut){              
  1337.             MenuTimeOut -=1;
  1338.             if(MenuTimeOut <= 0 ){    
  1339.                 ModMenu = FALSE;      
  1340.                 ModEdit = FALSE;      
  1341.                 display_EDIT  = FALSE;
  1342.                 display_black = TRUE;
  1343.             }
  1344.         }
  1345.     }
  1346. }
  1347.  
  1348. function display_MOD_status(f_val,f_size,f_label){  
  1349.     if(!ModMenu && !ModEdit){                                          
  1350.         // Clear OLED Screen                          
  1351.         cls_oled(0); // will clear oled  
  1352.         printf(f_size, 3, OLED_FONT_MEDIUM ,OLED_WHITE, f_label);  
  1353.         if( f_val ){
  1354.             printf(center_x(sizeof(ON)  - 1, OLED_FONT_LARGE_WIDTH),37,OLED_FONT_LARGE,OLED_WHITE, ON[0]);//MOD is ON
  1355.         }
  1356.         else{
  1357.             printf(center_x(sizeof(OFF)  - 1, OLED_FONT_LARGE_WIDTH),37,OLED_FONT_LARGE,OLED_WHITE, OFF[0]);// MOD is OFF
  1358.         }    
  1359.         time_to_clear_screen = 1500;
  1360.     }
  1361. }
  1362.  ْ¸Œ½چ½„½ٹ½ژب‏ئ÷د
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement