HELP Declaration syntax error. MY source code is in thread.

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

HELP Declaration syntax error. MY source code is in thread.

Postby fullerorb7 » Sun Jun 05, 2022 2:42 pm

GPC error: r66.gpc(575): Declaration syntax error 'combo'
GPC error: r66.gpc(580): Declaration syntax error '('

yeah not sure whats wrong. ive been stuck on this for an extremely long time.
Please help. Copy cppde
Code: Select all
//#pragma METAINFO("ANTIRECOIL, horizontal, vertical, adjust in-game, interactive config, autosave", 1, 02, "ETB")
#pragma METAINFO("SUROS Mod Pack", 2, 2, "The_Rabid_Taco")
 
#define MENU    BUTTON_3
#define ABILITY BUTTON_4
#define SHOOT   BUTTON_5
#define KNIFE   BUTTON_6
#define GRENADE BUTTON_7
#define ADS     BUTTON_8
#define SPRINT  BUTTON_9
#define DUP     BUTTON_10
#define DDOWN   BUTTON_11
#define DLEFT   BUTTON_12
#define DRIGHT  BUTTON_13
#define WEAPONS BUTTON_14
#define CROUCH  BUTTON_15
#define JUMP    BUTTON_16
#define RELOAD  BUTTON_17
#define LYAXIS  STICK_2_Y
#define LXAXIS  STICK_2_X
#define TRUE    !FALSE
 
bool flags[16];
bool weaponFlags[4];   
bool Sprintflag= TRUE;
bool pressed;
 
int X;
int8 ReloadTime = 5000;
 
/////////////////////////////////// Frist of all, thanks to RedbeardCrunch, J2Kbr, Layman, Scachi, and Antithesis
 
// Anti Recoil
// Hold Both Triggers & Press DPAD UP, DOWN, LEFT, RIGHT to adjust.
fix32 RECOIL_V             = 30.0;    // Vertical Recoil  range -100.0 to 100.0
fix32 RECOIL_H             = 0.0;     // Horizontal Recoil  range -100.0 to 100.0
fix32 ADJUSTMENT_STEP_V    = 0.001;     // increment to adjust recoil per interation range 1.0 to 10.0
fix32 ADJUSTMENT_STEP_H`        = 0.001;     // increment to adjust recoil per interation range 1.0 to 10.0
fix32 RY;                           // reserved
fix32 RX;                           // reserved
 
// ADS Toggle
// Hold Both Triggers & Press Right Stick (button)
uint8 RecoilADS         = TRUE;    // Toggle ADS Default
 
fix32 STICK_NOISE        = 4.32;    // Change this value to adjust the size of the Deadzone to ignore when using a Xim Apex.
// Adjustable in game time.  This is the time that the KNIFE button is released between presses.
 
bool PMUpdate            = FALSE;   // To save/write down the value to pmem set this flag to TRUE in the main loop.
bool AT                  = FALSE;
bool PingT               = FALSE;
bool RapidFireT          = FALSE;
bool RapidFireT1         = FALSE;
bool RapidFireT2         = FALSE;
bool WeaponSwap          = FALSE;
bool print1              = TRUE;
bool print2                   = TRUE;
bool print3               = TRUE;
bool print4                    = TRUE;
bool print5               = TRUE;
bool print6                   = TRUE;
bool print7                   = TRUE;
bool print8                   = TRUE;
bool print9                   = TRUE;
bool F                      = FALSE;
 
 
// assign pmem locations (remember to match interactive config byteoffsets)
uint8 STICK_NOISE_PMEM   = 0;       // pmem slot
uint8 RECOIL_V_PMEM      = 4;       // pmem slot
uint8 RECOIL_H_PMEM      = 8;       // pmem slot
uint8 RecoilADS_PMEM    = 12;      // pmem slot
 
 
// Adjustable in game time.  This is the time that the KNIFE button is released between presses.
int16    KNIFEReleaseTime = 100;
// Sets the times for Primary Rapid fire.  Adjustable in game.
int16    PriFireRate = 3500// Optimized time for button press.
int16    PriHoldRate = 4800// Time that button is released.
// Sets the times for Secondary Rapid fire.  Adjustable in game.
int16    SecFireRate = 3500// Optimized time for button press.
int16    SecHoldRate = 4800// Time that button is released.
// These are set by script to allow for differet times for primary and secondary.
int16    FireRate; 
int16    HoldRate;
int16    ScopeWait = 100;
 
 
uint32 scriptToggleTime;
uint32 weaponSwapTime;
uint32 secondarySwapFireTime;
 
 
 
 
 
init {
    pmem_load(); // load the ui pmem
    pmem_read(STICK_NOISE_PMEM, &STICK_NOISE); // read the value to change from the ui
    pmem_read(RECOIL_V_PMEM, &RECOIL_V); // read the value to change from the ui
    pmem_read(RECOIL_H_PMEM, &RECOIL_H); // read the value to change from the ui
    pmem_read(RecoilADS_PMEM, &RecoilADS); // read the value to change from the ui
    STICK_NOISE = clamp(STICK_NOISE,0.0,255.0); // just to make sure the value is in the correct value range
    RECOIL_V = clamp(RECOIL_V,-100.0,100.0); // just to make sure the value is in the correct value range
    RECOIL_H = clamp(RECOIL_H,-100.0,100.0); // just to make sure the value is in the correct value range
    ADJUSTMENT_STEP_V = clamp(ADJUSTMENT_STEP_V,0.01,.1); // just to make sure the value is in the correct value range
    ADJUSTMENT_STEP_H = clamp(ADJUSTMENT_STEP_H,0.01,.1); // just to make sure the value is in the correct value range
    printf("STICK_NOISE: %.04f", STICK_NOISE);
    printf("RECOIL_V: %.04f", RECOIL_V);
    printf("RECOIL_H: %.04f", RECOIL_H);
    printf("ADJUSTMENT_STEP: %.04f", ADJUSTMENT_STEP_V);
    printf("ADJUSTMENT_STEP: %.04f", ADJUSTMENT_STEP_H);
    printf("RecoilADS: %d", RecoilADS);
 
    // Set all flags to false by default.
    for(X = 0; X <= 2; X++)
    {
        flags[X] = FALSE
    }
 
    // Set only primary weapon flag to true.  Set the rest to false by default.
    for(X = 1; X <= 3; X++)
    {
        weaponFlags[X] = FALSE;
 
    flags[0] = TRUE;
    weaponFlags[0] = !weaponFlags[0];
}
 
 
main {
    if(event_actived(IF(combo_run (ToggleA)) ColorLED('G');
    if(event_actived()) ColorLED('R');
    if(event_actived()) ColorLED('B');
    if(event_actived()) ColorLED('P');
    if(event_actived()) ColorLED('C');
    if(event_actived()) ColorLED('A');
    if(event_actived()) ColorLED('W');
 
    if(event_active(DLEFT)) RainbowFlag = !RainbowFlag;
 
    if(RainbowFlag == TRUE) combo_run(Rainbow);
    else if(RainbowFlag == FALSE) combo_stop(Rainbow)
 
 
 
    if (PMUpdate)
    {
        PMSave();         // This function should be called on every iteration if changes are detected.
        //printf("settings saved: %d", 1);
    }
 
    // DEADZONE REMOVER
    if(abs(get_actual(STICK_1_X)) < STICK_NOISE) { set_val(STICK_1_X, 0.0); }
    if(abs(get_actual(STICK_1_Y)) < STICK_NOISE) { set_val(STICK_1_Y, 0.0); }
    if(abs(get_actual(STICK_2_X)) < STICK_NOISE) { set_val(STICK_2_X, 0.0); }
    if(abs(get_actual(STICK_2_Y)) < STICK_NOISE) { set_val(STICK_2_Y, 0.0); }
 
    // ANTI-RECOIL
    if(get_val(BUTTON_5) && (!RecoilADS || get_val(BUTTON_8)))
    {
        AntiRecoil(STICK_1_Y,RECOIL_V);
        AntiRecoil(STICK_1_X,RECOIL_H);
    }
    // Code block used to set the state of the entire script.
    if(get_val(PADDLE_4))
    {
        scriptToggleTime = time_active(PADDLE_4);
    }
    if(event_release(PADDLE_4) && scriptToggleTime > 500)
    {
        flags[0] = flagSwap(flags[0])// Used to enable or disable the script entirely.
    }
    if(event_release(PADDLE_4) && scriptToggleTime < 500 && flags[11] == FALSE)
    {
        combo_run(PrimarySetup);
        printf("Primary Setup Launched", 1);
    }
    // Script toggles
    if(get_val(DRIGHT) && event_active(PADDLE_2)                            && flags[0] == TRUE){flags[1]  = flagSwap(flags[1]);printf("RF enabled1", 1);}  // Set rapid fire primary full (D-Pad Right + Shoot)
    if(get_val(DRIGHT) && event_active(PADDLE_2)                            && flags[0] == TRUE){flags[2]  = flagSwap(flags[2]);printf("RF enabled2", 1);}
    if(get_val(DLEFT)  && event_active(SHOOT)  && event_active(PADDLE_2)  && flags[0] == TRUE){flags[3]  = flagSwap(flags[3]);}  // Set rapid fire secondary full (D-Pad Left + Shoot)
    if(get_val(DLEFT)  && event_active(ADS)    && event_active(PADDLE_2)  && flags[0] == TRUE){flags[4]  = flagSwap(flags[4]);}
    if(get_val(DRIGHT) && event_active(SPRINT) && event_active(PADDLE_2)  && flags[0] == TRUE){flags[5]  = flagSwap(flags[5]);}  // Toggle Auto Sprint (D-Pad Right + Sprint)
    if(get_val(DRIGHT) && event_active(KNIFE)  && event_active(PADDLE_2)  && flags[0] == TRUE){flags[6]  = flagSwap(flags[6]);}  // Toggle Auto KNIFE (D-Pad Right + KNIFE)
    if(get_val(DLEFT)  && event_active(JUMP)   && event_active(PADDLE_2)  && flags[0] == TRUE){flags[7]  = flagSwap(flags[7]);} 
    if(get_val(DRIGHT) && event_active(RELOAD) && event_active(PADDLE_2)  && flags[0] == TRUE){flags[8]  = flagSwap(flags[8]);} 
    if(get_val(DRIGHT) && event_active(JUMP)   && event_active(PADDLE_2)  && flags[0] == TRUE){flags[9]  = flagSwap(flags[9]);}
    if(get_val(DRIGHT) && event_active(CROUCH) && event_active(PADDLE_2)  && flags[0] == TRUE){flags[10] = flagSwap(flags[10]);}
    if(get_val(DDOWN)  && event_active(KNIFE)  && event_active(PADDLE_2)  && flags[0] == TRUE){flags[11] = flagSwap(flags[11]);}
    if(get_val(DDOWN)  && event_active(ADS)    && event_active(PADDLE_2)  && flags[0] == TRUE){flags[12] = flagSwap(flags[12]);}
    if(get_val(DDOWN)  && event_active(SHOOT)  && event_active(PADDLE_2)  && flags[0] == TRUE){flags[13] = flagSwap(flags[13]);}
    if(get_val(DUP)    && event_active(SHOOT)  && event_active(PADDLE_2)  && flags[0] == TRUE){flags[14] = flagSwap(flags[13]);}
    if(get_val(DUP)    && event_active(ADS)    && event_active(PADDLE_2)  && flags[0] == TRUE){flags[15] = flagSwap(flags[15]);} // Toggle Quick Scope (D-Pad Up + ADS)
 
 
 
    if(is_active(BUTTON_14) && RapidFireT1)
    combo_run (RapidFire);
    if (F)
    {
        RapidFireT1 = !RapidFireT1;
        RapidFireT2 = !RapidFireT2;
        WeaponSwap = !WeaponSwap;
        if(print3)
        {
            printf("Weapons Swapped", 1);
            (print3) = (!print3);
        }
    }
 
 
    if(RapidFireT1 = TRUE)
    {
        combo_run(RapidFire);
        if(print1)
        {
            printf("RapidFireT1", 1);
            (print1) = (!print1);
        }
    }
    if(RapidFireT2 = TRUE)
    {
        combo_run(RapidFire);
        if(print2)
        {
            printf("RapidFireT2", 1);
            (print2) = (!print2);
        }
    }
 
 
    if(event_active(RELOAD))
    {
        combo_run(SprintPause);
    }
 
 
    if(get_val(KNIFE) && flags[0] == TRUE && flags[6] == TRUE)
    {
        combo_run(RapidKNIFE);
    }
 
    // Auto Sprint Cancel on Reload
    if(event_release(RELOAD) && flags[0] == TRUE && flags[5] == TRUE)
    {
        combo_run(SprintPause);
    }
 
    // Increase or decrease the rate of fire.
    // D-Pad Left while shooting for increased rate of fire.
    // D-Pad Right while shooting for decreased rate of fire.u
    if(get_val(SHOOT) && !get_val(PADDLE_4) && get_val(BUTTON_8))
    {
        if(event_active(DLEFT))
        {
            PriHoldRate = PriHoldRate + 1;
            if(PriHoldRate > 32750)
            {
                PriHoldRate = 32750;
            }
        }
 
        if(event_active(DRIGHT))
        {
            PriHoldRate = PriHoldRate - 1;
            if(PriHoldRate < 1) PriHoldRate = 1;
            printf("%d", PriHoldRate);   
        }
    }
 
    if (get_val(PADDLE_2) && get_val(BUTTON_15))
    {
        combo_run (RapidTeaBag);
        //printf("Rapid Tea Bag");
    }
    if (get_val(PADDLE_2) && get_val(BUTTON_14))
    {
        combo_run (RapidSwapToggle);
        //printf("Rapid Swap", 1);
    }
    if (get_val(PADDLE_2) && get_val(BUTTON_4))
    {
        combo_run (RapidAbility);
        //printf("Rapid Ability", 1);
    }
    if (get_val(BUTTON_5) && time_release(BUTTON_5) < 200)
    {
        combo_run (RapidFire);
        //printf("RT double tapped", 1);
    }
    if (get_val(PADDLE_2) && get_val(BUTTON_10))
    {
        (PingT=!PingT);
        //printf("Ping Ping Activated", 1);
    }
    if (get_val(PADDLE_2) && get_val(BUTTON_16))
    {
        // ...and Press A
        (AT=!AT);
        //printf("AT Activated ", 1);}
    }
 
 
    if (PingT)         
    {
        combo_run (Ping);
    }
    //printf("PingT Toggled On", 1);     
    if (!PingT)        
    {
        combo_stop(Ping);
    }
    //printf("PingT Toggled Off", 1);   
    if (AT)            
    {
        combo_run (ToggleA) ;
    }
    //printf("A button Toggled On", 1);   
    if (!AT)           
    {
        combo_stop(ToggleA)
    }
    //printf("A button Toggled Off", 1);   
    if (RapidFireT1)     
    {
        combo_run(RapidFire);
    }
    //printf("RapidFire Toggled On", 1);       
    if (!RapidFireT1)   
    {
        combo_stop(RapidFire);
    } 
    //printf("RapidFire Toggled Off", 1);   
    if (RapidFireT2)     
    {
        combo_run(RapidFire);
    } 
    //printf("RapidFire Toggled on", 1);     
    if (!RapidFireT2)   
    {
        combo_stop(RapidFire);
    } 
    //printf("RapidFire Toggled Off", 1);    }
    if (get_val(BUTTON_5) && is_active(PADDLE_2) && (is_active(BUTTON_10)))
    {
        printf("RECOIL_V: %.04f", RECOIL_V);
        printf("RECOIL_H: %.04f", RECOIL_H);
        if(RECOIL_V > -100.0)
        {
            RECOIL_V = (RECOIL_V - ADJUSTMENT_STEP_V);
            pmem_write(RECOIL_V_PMEM,(fix32) RECOIL_V); // update the pmem value
            PMUpdate=TRUE; // pmem and gui value throttle   
        }
    }
    if (get_val(BUTTON_5) && is_active(PADDLE_2) && (is_active(BUTTON_11)))
    { // ...and Press DPAD_DOWN
        if(RECOIL_V < 100.0)
        {
            RECOIL_V = (RECOIL_V + ADJUSTMENT_STEP_V);
            pmem_write(RECOIL_V_PMEM,(fix32) RECOIL_V); // update the pmem value
            PMUpdate=TRUE; // pmem and gui value throttle
        }
    }
    if (get_val(BUTTON_5) && is_active(PADDLE_2) && (is_active(BUTTON_12)) && !is_active(BUTTON_8))
    {// ...Press DPAD_LEFT
        if(RECOIL_H > -100.0)
        {
            RECOIL_H = (RECOIL_H - ADJUSTMENT_STEP_H);
            pmem_write(RECOIL_H_PMEM,(fix32) RECOIL_H); // update the pmem value
            PMUpdate=TRUE; // pmem and gui value throttle
            printf("RECOIL_H: %.04f", RECOIL_H);
        }
    }
    if (get_val(BUTTON_5) && is_active(PADDLE_2) && (is_active(BUTTON_13)) && (!is_active(BUTTON_8)))
    { // ...and Press DPAD_RIGHT
        if ( RECOIL_H < 100.0)
        {
            RECOIL_H = (RECOIL_H + ADJUSTMENT_STEP_H);
            pmem_write(RECOIL_H_PMEM,(fix32) RECOIL_H); // update the pmem value
            PMUpdate=TRUE; // pmem and gui value throttle   
            printf("RECOIL_H: %.04f", RECOIL_H);
        }
    }
} //start to end
 
    // Verifies the time pressed and dependent on current weapon swaps out to 
    // new weapon.
//    if(event_release(WEAPONS)
//    if(weaponSwapTime < 250) && if(weaponFlags[0] == TRUE))
//    {
//        combo_run(SecondarySetup);
//    } else if(weaponFlags[1] == TRUE || weaponFlags[2] == TRUE)
//    {
//        combo_run(PrimarySetup);
//        weaponSwapTime = 0;
//    } else if(event_release(BUTTON_4) && weaponSwapTime >= 250 && weaponSwapTime < 2500)
//    {
//        combo_run(HeavySetup);
//        weaponSwapTime = 0;
//    }
 
 
 
combo RapidSwapToggle
{
    set_val(BUTTON_14, 100);
    wait(35);
    set_val(BUTTON_14, 0);
    wait(40);
    //printf("SwapToggle", 1);
}
combo Ping
{
    set_val(BUTTON_10, 100);
    wait(35);
    set_val(BUTTON_10, 0);
    wait(40);
    //printf("PingT", );
}
 
combo RapidAbility
{
    set_val(ABILITY, 100);
    wait(35);
    set_val(ABILITY, 0);
    wait(40);
}
 
combo RapidTeaBag
{
    set_val(BUTTON_15, 100);
    wait(35);
    set_val(BUTTON_15, 0);
    wait(40);
}
 
combo RapidFire
{
    //printf("RapidFire", 1);
    wait(40);
    set_val(BUTTON_5, 100);
    wait(40);
    set_val(BUTTON_5, 0);
}
 
combo AutoSprint
{
    set_val(SPRINT, 100);
    wait(40);
}
 
combo RapidKNIFE
{
    set_val(KNIFE, 100);
    wait(35);
    set_val(KNIFE, 0);
    wait(KNIFEReleaseTime);
}
 
combo ToggleA
{
    set_val(BUTTON_16, 100);
    wait(35);
    set_val(BUTTON_16, 0);
    wait(40);
}
 
combo QuickScope
{
    set_val(ADS, 100);
    wait(ScopeWait);
    set_val(ADS, 100);
    set_val(SHOOT, 100);
    wait(35);
    set_val(ADS, 0);
    set_val(SHOOT, 0);
}
 
combo SprintPause
{
    Sprintflag = FALSE;
    wait(ReloadTime);
    Sprintflag = TRUE;
}
 
combo PrimarySetup
{
    //ColorLED(LEDColor[0]);
    weaponFlags[0] = TRUE;
    weaponFlags[1] = FALSE;
    weaponFlags[2] = FALSE;
}
 
combo SecondarySetup
{   
    //ColorLED(LEDColor[1]);
    weaponFlags[0] = FALSE;
    weaponFlags[1] = TRUE;
    weaponFlags[2] = FALSE;
}
 
combo HeavySetup
{}
 
 
 
void PMSave() {
    static uint32 PMSLast = 0;
    if (PMUpdate && PMSLast < system_time())
    {
        printf("STICK_NOISE: %.04f", STICK_NOISE);
        printf("RECOIL_V: %.04f", RECOIL_V);
        printf("RECOIL_H: %.04f", RECOIL_H);
        printf("ADJUSTMENT_STEP: %.04f", ADJUSTMENT_STEP);
        printf("TOGGLE_ADS: %d", TOGGLE_ADS);
        PMUpdate = TRUE;
        printf("ic update");
        printf("GCMD:InteractiveConfiguration.Refresh");
        PMSLast = system_time() + 1000;
        pmem_save();
 
        // Light Blue led = ADS enabled, White led = ADS disabled
        set_light(TOGGLE_ADS? 'W': 'S');
    }
}
 
void AntiRecoil (uint8 axis, fix32 recoil)
{
     RY = get_actual(STICK_1_Y);
     RX = get_actual(STICK_1_X);
 
    if (get_val(BUTTON_5) && (sqrt(RX*RX + RY*RY)) <= abs(recoil))
    {
        if(abs(RY) <= abs(recoil))
        {
            set_val(axis,(recoil * (100.0 - abs(get_val(axis)))) / 100.0 + get_val(axis));
        }
    }
}
 
void set_light(unsigned char new_light)
{
  static unsigned char old_light;
  static uint32 timestamp;
  if(new_light != old_light && (system_time() - timestamp > 50)) {
    switch(new_light) {
      timestamp = system_time(), old_light = new_light;
      // PINK LED
      case 'P' :led_set(LED_1, 0.0, 0), led_set(LED_2, 0.0, 0), led_set(LED_3, 0.0, 0),led_set(LED_4, 5.0, 0); return;
      // BLUE LED
      case 'B': led_set(LED_1, 25.0, 0),led_set(LED_2, 0.0, 0), led_set(LED_3, 0.0, 0),led_set(LED_4, 0.0, 0); return;
      // SKY BLUE LED
      case 'S': led_set(LED_1, 50.0, 0),led_set(LED_2, 0.0, 0), led_set(LED_3, 50.0, 0),led_set(LED_4, 0.0, 0); return;
      // RED LED
      case 'R': led_set(LED_1, 0.0, 0),led_set(LED_2, 25.0, 0), led_set(LED_3, 0.0, 0),led_set(LED_4, 0.0, 0); return;
      // WHITE LED
      case 'W': led_set(LED_1, 25.0, 0), led_set(LED_2, 25.0, 0), led_set(LED_3, 25.0, 0), led_set(LED_4, 25.0, 0); return;
      // YELLOW LED
      case 'Y': led_set(LED_1, 0.0, 0),led_set(LED_2, 30.0, 0), led_set(LED_3, 10.0, 0), led_set(LED_4, 0.0, 0); return;
      // GREEN LED
      case 'G': led_set(LED_1, 0.0, 0), led_set(LED_2, 0.0, 0), led_set(LED_3, 25.0, 0), led_set(LED_4, 0.0, 0); return;
      // NO LED
      case 'N':led_set(LED_1, 0.0, 0),led_set(LED_2, 0.0, 0), led_set(LED_3, 0.0, 0), led_set(LED_4, 0.0, 0);
      }
  }
  return;
}
User avatar
fullerorb7
Master Sergeant
Master Sergeant
 
Posts: 37
Joined: Sun Feb 21, 2016 8:09 pm

Re: HELP Declaration syntax error. MY source code is in thre

Postby Mad » Sun Jun 05, 2022 10:20 pm

The whole script is riddled with errors.

You're missing a closing bracket on init. After fixing that you're going to have a bunch more errors.

Code: Select all
    if(event_actived(IF(combo_run (ToggleA)) ColorLED('G');
    if(event_actived()) ColorLED('R');
    if(event_actived()) ColorLED('B');
    if(event_actived()) ColorLED('P');
    if(event_actived()) ColorLED('C');
    if(event_actived()) ColorLED('A');
    if(event_actived()) ColorLED('W');

For starters it's event_active but even so you haven't assigned any buttons and the first statement is completely messed up.

Then you've got a bunch of missing variables, combos.. I'm not even going to look at what else is wrong.

Id advise you don't try modify someone else's script so that you understand what everything does. Don't go changing so much at once, make one change at a time and compile.

You can build most of the stuff you wanted from minor modifications to the example code in the wiki:
https://www.consoletuner.com/wiki/index ... examples_1

And you should always be referring to the GPC language reference: https://www.consoletuner.com/wiki/index ... _reference
ConsoleTuner Support Team || ConsoleTuner Discord || InputSense Discord
Mad
Major General
Major General
 
Posts: 4536
Joined: Wed May 22, 2019 5:39 am

Re: HELP Declaration syntax error. MY source code is in thre

Postby fullerorb7 » Mon Jun 06, 2022 12:14 am

im only trying to fix the active bugs to make it run.
8d consider what I posted to be the rough draft of the rough draft
i was planning on upgrading this and making it more efficient over time.

id consider this my learning starter project... ive learned a little bit

_____if this were in VBA/VB+SQL, I could produce high quality projects allllll day., but it's not... I'm just learning the language. I'm at the stage right now where what I produce is not going to run the most efficiently..... thats ok
I think this sloppy mess of a merge is a GR8 first project. Alot to fix, alot of experience to be gained it many different areas.
User avatar
fullerorb7
Master Sergeant
Master Sergeant
 
Posts: 37
Joined: Sun Feb 21, 2016 8:09 pm


Return to GPC2 Script Programming

Who is online

Users browsing this forum: No registered users and 98 guests