problem converting t1 script to t2, please help me

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

problem converting t1 script to t2, please help me

Postby gjm76 » Fri Feb 22, 2019 1:33 pm

Hi i just got a titan two today after using a titan one, im trying to get the elvish eso script to work on the titan two, i followed the guide on how to use t1 scripts on t2, but get a compiling error of

GPC error: eso.gpc(306): syntax error, unexpected IDENTIFIER, expecting C 'IF'.

heres the script

Code: Select all
#pragma METAINFO("eso elvish", 1, 0, "gav")
#include <titanone.gph>
 
 
//////////////////////////////////////
//Elder Scrolls Online Gamepack V2.1//
//////////////////////////////////////
 
/*  ///////////////////////
    //Section 1: CONTROLS//
    ///////////////////////
 
  Reset Controls
        -Press Start to turn scripts off
            1. If you hold down Left Stick Click while pressing start no scripts will be turned off
        -Press and hold Start for 4 seconds to reset any persistant variables.
            1. This currently consists of the light weave time, and the initial on/off settings for the
                light weave skills.
            **NOTES**
                -If you are holding Left Stick Click no scripts will be turned off
 
  Auto Walking Controls
        -Press and hold Right Stick Down and hold Left Stick Click for about 2 seconds or until you feel a rumble to activate the script
            **NOTES**
                -Activate the script any time, initial settings are set to press sprint every 10.
                -If sprint is already on the button will still be pressed and as such will turn sprinting off.
 
  Lockpicking Controls
        -Press and hold Right Stick Down and hold D Pad Left for about 2 seconds or until you feel a rumble to activate the script
            **NOTES**
                -Max rumble beeds to be set to 6 for Xbox One and 75 for PS4 for this script to work properly
                -Look at the lock to be picked and then activate the script
                -If you are not looking at a lock you will need to press start to get right trigger turned off
 
  Fishing Controls
        -Press and hold Right Stick Down and hold D Pad Up for about 2 seconds or until you feel a rumble to activate the script
            Then press A/Cross while looking at a fishing hole, it will fish it out for you.
 
  Farming Controls
        -Press and hold Right Stick Down and hold D Pad Right for about 2 seconds or until you feel a rumble to activate the script
            **Notes**
                -Stand ontop of something (dresser, nightstand, backpack) then activate the script
                -For best results stand on something flat (Backpacks are not flat, but dressers are) and look
                    down. Spin in 360 degreese to ensure you are looking at the desired object no matter what
                    direction you face. That is not to say you CAN'T loot backpacks, but in my experience my
                    toon falls off of them after 5 - 10 minutes of cycling.
 
  Light Weave Controls
        -Press and hold Right stick down and then hold D Pad Down for about 2 seconds or until you feel a rumble to activate the script
        -Press and hold any ablity button to toggle it being on or off (1 rumble means off, 2 rumbles means on)
        -In order to use your ultimate you must first press and hold down Left Stick Click, then press the buttons to cast ultimate
        -To set a new light weave time in-game preform a light weave attack with D Pad Down held down, or in other words:
            1. With D Pad Down held down
                A. Press right trigger
                B. Then press any ability button(Controller will rumble to acknowledge the input)
        -If you hold Left Stick Click then while light weave is active no light weave abilities will be used
            **NOTES**
                -You can turn light weaving on and off for specific buttons regardless if the light weaving
                    script is currently active or not.
                -Your settings will be save even with the Titan One turned off. Hold start for 4 seconds to
                    clear your settings back to the initial settings.
 
*/
       
 
/*  ////////////////////////////////
    //Section 2: NOTES ON SETTINGS//
    ////////////////////////////////
  Misc Settings
        -Rumble Notification defines the rumble strength of notifications. These notifications
            will happen every time user enters a menu or changes a setting. Set this high enough
            that you will feel the rumble indication.
                1. Three Rumbles means a script is being turn on or off
                2. Two rumbles means a light weave ability is toggled on or light weave time is now set.
                3. One Rumble means that a light weave ability is toggled off
 
  Lockpick Settings
        -Max_Rumble defines when to move to the next pin of the lock. Set to 6 if on Xbox One or
            set to 75 if you are on PS4.
 
  Auto Farming Settings
        -Log In Timer dictates the time inbetween pressing A to select your character and logging out
        -Lot Out Timer dictates the time inbetween pressing log out in game and pressing A to log back
            in (Remember it takes 9 extra seconds if you are in an unsafe zone)
        -Max Random decides how greatly the times to log in and out can be raised (Set to 0 to dissable)
 
  Auto Walk Settings
        -SprintSpeed defines after how many seconds to press the sprint button, this can be
            deactivated by setting to 0.
 
  Light Weaving Settings
        -LightWeaveTime defines how many Miliseconds to wait after pressing right trigger before
            casting an ability. Because this script runs every 5 MS this should be set in an
            increment of 5 MS.
        -LWTime defines how many seconds you must hold a skill button to toggle it being on or off.
        -The LW_Action skills define if light weaving is set to on or off for that particular skill,
            this can be changed in game. But you may modify them here if you know what you want for
            starting points every time you load the script.
 
   */
//////////////////////
    //Section 3: Settings//
    ///////////////////////
  //Misc Settings
    int RumbleNotification = 20; //The rumble strength for all notifications
 
  //Auto Lockpick Settings   
    int Max_Rumble = 6; //set to 6 for xbox one and 75 for PS4 (Lockpick rumble detection)
 
  //Auto Walk Settings
    int SprintSpeed = 10; //This is how many seconds inbtween left stick clicks(it will turn sprint off if already sprinting. 0 will dissable.)
 
  //Auto farm scripts
    int LogInTimer = 35; //Time it takes to log on
    int LogOutTimer = 34; //Time it takes to log off
    int Max_Random = 10; //The amount of time in which logging in or out can change
 
  //Light Weaving Settings
    int LWTime = 4; //Seconds you must hold a button to toggle the lightweave for a skill on or off
    int LightWeaveTime = 70; //The time you wait after hitting right trigger and before using an ability
    //Initial On-Off values for the light weaving skills
    int LW_ActionOneOn = TRUE;   //Xbox One: X  ||  PS4: Square  //
    int LW_ActionTwoOn = TRUE;   //Xbox One: Y  ||  PS4: Triangle//
    int LW_ActionThreeOn = TRUE; //Xbox One: B  ||  PS4: Circle  //
    int LW_ActionFourOn = TRUE//Xbox One: LB ||  PS4: L1      //
    int LW_ActionFiveOn = TRUE//Xbox One: RB ||  PS4: R1      //
 
/*  //=============================\\
    ||DO NOT MODIFY BELOW THIS LINE||
    ||DO NOT MODIFY BELOW THIS LINE||
    ||DO NOT MODIFY BELOW THIS LINE||
    \\=============================//   */

 
/*Button definitions. As these are all the same index on Xbox One and PS4 these
    deffinitions will work on both consoles. Make sure to adjust the settings
    section though!*/

define Button_One = 19//Xbox One: A  ||  PS4: Cross   //
define Button_Two = 20//Xbox One: X  ||  PS4: Square  //
define Button_Three = 17;//Xbox One: Y  ||  PS4: Triangle//
define Button_Four = 18; //Xbox One: B  ||  PS4: Circle  //
define Right_Bumper = 3;
define Right_Trigger = 4;
define Right_Stick_Click = 5;
define Left_Bumper = 6;
define Left_Trigger = 7;
define Left_Stick_Click = 8;
define Select_Button = 1;
define Center_Button = 0;
define Start_Button = 2;
define D_Up = 13;
define D_Right = 16;
define D_Down = 14;
define D_Left = 15;
define LeftStick_X = 11;//Left stick left(-100) and right(+100)
define LeftStick_Y = 12;//Left stick up(-100) and down(+100)
define RightStick_X = 9;//Right stick left(-100) and right(+100)
define RightStick_Y = 10;//Right stick up(-100) and down(+100)
 
//Rumble Packs
define Rumble_Soft = RUMBLE_B;
define Rumble_Hard = RUMBLE_A;
 
//Booleans
int ReadyForInput = TRUE;
int AutoLockPick = FALSE;
int OpeningLock = FALSE;
int Depressing = FALSE;
int LightWeaveOn = FALSE;
int AutoWalk = FALSE;
int Waiting = FALSE;
int logged_In = TRUE;
int AutoFishing = FALSE;
int AutoFarming = FALSE;
 
//Variables
int MSElapsed = 0;
int Randomizer_Timer = 0;
int TumblersToOpen = 0;
int LW_Timer = 0;
int SprintTimer = 0;
int FarmingTimer = 0;
int LW_Button = 0;
int Random_Timer_Inc = 1337;
int Random_Second = 0;
int FishingTimer = 0;
 
init{
    set_pvar(SPVAR_7, LightWeaveTime);
    LightWeaveTime = get_pvar(SPVAR_6, 0, 300, 70);
    if(get_pvar(SPVAR_1, 0, 1, 1) == 0){LW_ActionOneOn = FALSE;}
    if(get_pvar(SPVAR_2, 0, 1, 1) == 0){LW_ActionTwoOn = FALSE;}
    if(get_pvar(SPVAR_3, 0, 1, 1) == 0){LW_ActionThreeOn = FALSE;}
    if(get_pvar(SPVAR_4, 0, 1, 1) == 0){LW_ActionFourOn = FALSE;}
    if(get_pvar(SPVAR_5, 0, 1, 1) == 0){LW_ActionFiveOn = FALSE;}
}
 
main {
    vm_tctrl(-5); //This should run every 5 MS now
    set_val(TRACE_1, LightWeaveTime);
    //Initiate the Light weaving script timer which also controls random second timer   
    LW_Timer = LW_Timer + get_rtime();
    if(LW_Timer >= 1337) {
        LW_Timer = 0;
        Randomizer_Timer = Randomizer_Timer + 1;
        if(Randomizer_Timer > Max_Random){Randomizer_Timer = 0;}
    }
 
    //Fishing Script
    if(AutoFishing && get_rumble(Rumble_Soft) > 0){FishingTimer = FishingTimer + get_rtime();}
    else if(AutoFishing && !get_rumble(Rumble_Soft) <= 0){
        FishingTimer = 0;}
    if(AutoFishing && FishingTimer >= 1500){
        combo_run(ReCast_Fishing);
    }
 
    //Initiate the real time timer
    MSElapsed = MSElapsed + get_rtime();
    if(MSElapsed >= 1000){
        MSElapsed = 0;
        FarmingTimer = FarmingTimer + 1;
        SprintTimer = SprintTimer + 1;       
        if(SprintTimer >= 600){SprintTimer = 0;}
        if(FarmingTimer >= 1200){FarmingTimer = 0;}
    }
    //Reset all persistant variables if start is held down for 4 seconds
    if(get_ptime(Start_Button) >= 4000 && get_val(Start_Button) == 100 && !get_val(Left_Stick_Click)){
        combo_run(Notification_Rumble);
        combo_run(ResetPvars);
    }
 
    //Reset all on start press if not pressing left stick click
    if(event_press(Start_Button) && !get_val(Left_Stick_Click)){
        combo_run(ResetAll);
        if(AutoLockPick || LightWeaveOn || AutoWalk || AutoFarming || AutoFishing){combo_run(Notification_Rumble);}
    }
    //Left stick click for 2 seconds and Right Stick Click activates Auto Walk
    if(ReadyForInput && get_ptime(Left_Stick_Click) >= 2000 && get_val(Left_Stick_Click) == 100 && get_val(Right_Stick_Click)){
        ReadyForInput = FALSE;
        AutoWalk = TRUE;
        combo_run(Notification_Rumble);
    }   
    //D Pad Left activates Auto Lockpick
    if(ReadyForInput && get_ptime(D_Left) >= 2000 && get_val(D_Left) == 100 && get_val(Right_Stick_Click)){
        ReadyForInput = FALSE;
        AutoLockPick = TRUE;
        combo_run(Notification_Rumble);
    }
    //D Pad Up activates Auto Fish
    if(ReadyForInput && get_ptime(D_Up) >= 2000 && get_val(D_Up) == 100 && get_val(Right_Stick_Click)){
        ReadyForInput = FALSE;
        AutoFishing = TRUE;
        combo_run(Notification_Rumble);
    }
    //D Pad Right activates Farming
    if(ReadyForInput && get_ptime(D_Right) >= 2000 && get_val(D_Right) == 100 && get_val(Right_Stick_Click)){
        Random_Second = Randomizer_Timer;
        ReadyForInput = FALSE;
        FarmingTimer = LogInTimer - 3;
        AutoFarming = TRUE;
        combo_run(Notification_Rumble);
    }
    //D Pad Down activates Light Weaving
    if(ReadyForInput && get_ptime(D_Down) >= 2000 && get_val(D_Down) == 100 && get_val(Right_Stick_Click)){
        ReadyForInput = FALSE;
        LightWeaveOn = TRUE;
        combo_run(Notification_Rumble);
    }
    //Toggle for light weave abilities
    if(get_ptime(Button_Two) >= (LWTime * 1000) && get_val(Button_Two) == 100 && !Waiting){
        Waiting = TRUE;
        LW_ActionOneOn = !LW_ActionOneOn;
        if(LW_ActionOneOn){
            set_pvar(SPVAR_1, 1);
            combo_run(On_Rumble);}
        else if(!LW_ActionOneOn){
            set_pvar(SPVAR_1, 0);
            combo_run(Off_Rumble);}}
    if(get_ptime(Button_Three) >= (LWTime * 1000) && get_val(Button_Three) == 100 && !Waiting){
        Waiting = TRUE;
        LW_ActionTwoOn = !LW_ActionTwoOn;
        if(LW_ActionTwoOn){
            combo_run(On_Rumble);
            set_pvar(SPVAR_2, 1);}
        else if(!LW_ActionTwoOn){
            combo_run(Off_Rumble);
            set_pvar(SPVAR_2, 0);}}
    if(get_ptime(Button_Four) >= (LWTime * 1000) && get_val(Button_Four) == 100 && !Waiting){
        Waiting = TRUE;
        LW_ActionThreeOn = !LW_ActionThreeOn;
        if(LW_ActionThreeOn){
            combo_run(On_Rumble);
            set_pvar(SPVAR_3, 1);}
        else if(!LW_ActionThreeOn){
            combo_run(Off_Rumble);
            set_pvar(SPVAR_3, 0);}}
    if(get_ptime(Left_Bumper) >= (LWTime * 1000) && get_val(Left_Bumper) == 100 && !Waiting){
        Waiting = TRUE;
        LW_ActionFourOn = !LW_ActionFourOn;
        if(LW_ActionFourOn){
            combo_run(On_Rumble);
            set_pvar(SPVAR_4, 1);}
        else if(!LW_ActionFourOn){
            combo_run(Off_Rumble);
            set_pvar(SPVAR_4, 0);}}
    if(get_ptime(Right_Bumper) >= (LWTime * 1000) && get_val(Right_Bumper) == 100 && !Waiting){
        Waiting = TRUE;
        LW_ActionFiveOn = !LW_ActionFiveOn
        IF(LW_ActionFiveOn){
            combo_run(On_Rumble);
            set_pvar(SPVAR_5, 1);}
        else if(!LW_ActionFiveOn){
            combo_run(Off_Rumble);
            set_pvar(SPVAR_5, 0);}
    }
 
    //LockPick Scripts
    if(ReadyForInput && AutoLockPick){
        AutoLockPick = FALSE;
        combo_run(InitOpenChestScript);}
    if(ReadyForInput && OpeningLock){set_val(Right_Trigger, 100);}
    if(ReadyForInput && OpeningLock && get_rumble(Rumble_Soft) > Max_Rumble && !Depressing){
        Depressing = TRUE;
        combo_run(OpenChestScript);
    }
 
    //Auto Run Scripts
    if(ReadyForInput && AutoWalk){
        set_val(LeftStick_Y, -100);
        if(SprintTimer >= SprintSpeed && SprintSpeed > 0){
            combo_run(AutoWalkCheck);
        }
    }
 
    //Auto Farming Scripts
    if(ReadyForInput && AutoFarming && (FarmingTimer >= LogInTimer + Random_Second) && logged_In){
        Random_Second = Randomizer_Timer;
        FarmingTimer = 0;
        logged_In = FALSE;
        combo_run(LogOutCombo);}
    if(ReadyForInput && AutoFarming && (FarmingTimer >= LogOutTimer + Random_Second) && !logged_In){
        Random_Second = Randomizer_Timer;
        FarmingTimer = 0;
        logged_In = TRUE;
        combo_run(LogInCombo);
    }
 
    //Light Weaving scripts
    if(get_val(D_Down) && event_press(Right_Trigger)){
        LW_Timer = 0;}
    if(get_val(D_Down) && (event_press(Button_Four) || event_press(Button_Two) || event_press(Button_Three) || event_press(Right_Bumper) || event_press(Left_Bumper))){
        LightWeaveTime = LW_Timer;
        set_pvar(SPVAR_6, LightWeaveTime);
        combo_run(On_Rumble);}
    if(LightWeaveOn && !get_val(Left_Stick_Click)){   
    //If user inputs a skill button press with light weave on
        if(event_press(Button_Two) || event_press(Button_Three) || event_press(Button_Four) || event_press(Left_Bumper) || event_press(Right_Bumper)){   
            LW_Button = 0;
            if(get_val(Button_Two) && LightWeaveOn && LW_ActionOneOn){LW_Button = 1;}
            else if(get_val(Button_Three) && LightWeaveOn && LW_ActionTwoOn){LW_Button = 2;}
            else if(get_val(Button_Four) && LightWeaveOn && LW_ActionThreeOn){LW_Button = 3;}
            else if(get_val(Left_Bumper) && LightWeaveOn && LW_ActionFourOn){LW_Button = 4;}
            else if(get_val(Right_Bumper) && LightWeaveOn && LW_ActionFiveOn){LW_Button = 5;}
            if(LW_Button > 0){combo_run(LW_Combo);}
        }
        if(LW_ActionOneOn){block(Button_Two, 300);}
        if(LW_ActionTwoOn){block(Button_Three, 300);}
        if(LW_ActionThreeOn){block(Button_Four, 300);}
        if(LW_ActionFourOn){block(Left_Bumper, 300);}
        if(LW_ActionFiveOn){block(Right_Bumper, 300);}
    }
}
 
combo InitOpenChestScript
{
//Open chest, move to far left tumbler. Set 5 tumblers left, move on to next script.
    set_val(Button_One, 100);    wait(200);
    set_val(Button_One, 0);    wait(750);
    set_val(LeftStick_X, -100);    wait(400);
    set_val(LeftStick_X, 0);
    TumblersToOpen = 5;
    OpeningLock = TRUE;
}
 
combo OpenChestScript
{
    set_val(Right_Trigger, 0);
    if(TumblersToOpen > 1){
        set_val(LeftStick_X, 100);
    }
    wait(200);
    set_val(LeftStick_X, 0);
    if(TumblersToOpen < 2){
        set_val(Right_Trigger, 0);
        OpeningLock = FALSE;//Once all pins are depressed turn off the script
    }
    TumblersToOpen = TumblersToOpen - 1;
    Depressing = FALSE;
}
 
combo ReCast_Fishing
{
    set_val(Button_One, 100);   wait(100);
    set_val(Button_One, 0);     wait(2600);
    set_val(Button_One, 100);   wait(100);
    set_val(Button_One, 0)
    FishingTimer = 0;
}
 
combo AutoWalkCheck
{
    SprintTimer = 0;
    set_val(Left_Stick_Click, 100);     wait(200);
    set_val(Left_Stick_Click, 0);       wait(100);
}
 
combo LogInCombo
{
    set_val(Button_One, 100);   wait(200);
    set_val(Button_One, 0);    wait(100);
    FarmingTimer = 0;
    logged_In = FALSE;
}
 
combo LogOutCombo
{
    //Look down, press A
    set_val(RightStick_Y, 100);    wait(1200);
    set_val(RightStick_Y, 0);    wait(100);
    set_val(Button_One, 100);    wait(100);
    set_val(Button_One, 0);    wait(200);
 
    //Open menu, press right trigger, and log out.
    set_val(Start_Button, 100);    wait(100);
    set_val(Start_Button, 0);    wait(250);
    set_val(Right_Trigger, 100);    wait(100);
    set_val(Right_Trigger, 0);    wait(100);
    set_val(Button_One, 100);    wait(100);
    set_val(Button_One, 0);    wait(100);
    set_val(Button_One, 100);    wait(100);
    set_val(Button_One, 0);    wait(100);
 
    FarmingTimer = 0;
    logged_In = TRUE;
}
 
combo LW_Combo
{
    set_val(Right_Trigger, 100);    wait(100);
    set_val(Right_Trigger, 0);      wait(LightWeaveTime);
    if(LW_Button == 1){set_val(Button_Two, 100);}
    else if(LW_Button == 2){set_val(Button_Three, 100);}
    else if(LW_Button == 3){set_val(Button_Four, 100);}
    else if(LW_Button == 4){set_val(Left_Bumper, 100);}
    else if(LW_Button == 5){set_val(Right_Bumper, 100);}
    wait(100);
    set_val(Button_One, 0);
    set_val(Button_Three, 0);
    set_val(Button_Four, 0);
    set_val(Right_Bumper, 0);
    set_val(Left_Bumper, 0);
}
 
combo Notification_Rumble
{
    set_rumble(Rumble_Hard, RumbleNotification);    wait(150);
    set_rumble(Rumble_Hard, 0);                     wait(200);
    set_rumble(Rumble_Hard, RumbleNotification);    wait(150);
    set_rumble(Rumble_Hard, 0);                     wait(200);
    set_rumble(Rumble_Hard, RumbleNotification);    wait(150);
    set_rumble(Rumble_Hard, 0);                     wait(1150);
 
    ReadyForInput = TRUE;
}
 
combo On_Rumble
{
    set_rumble(Rumble_Hard, RumbleNotification);    wait(200);
    set_rumble(Rumble_Hard, 0);                     wait(500);
    set_rumble(Rumble_Hard, RumbleNotification);    wait(200);
    set_rumble(Rumble_Hard, 0);                     wait(2000);   
    Waiting = FALSE;
}
 
combo Off_Rumble
{
    set_rumble(Rumble_Hard, RumbleNotification);    wait(200);
    set_rumble(Rumble_Hard, 0);                     wait(2000);
    Waiting = FALSE;
}
 
combo ResetAll
{
    set_val(Right_Trigger, 0);
    set_val(LeftStick_Y, 0);
 
    ReadyForInput = TRUE;
    AutoLockPick = FALSE;
    OpeningLock = FALSE;
    Depressing = FALSE;
    LightWeaveOn = FALSE;
    AutoWalk = FALSE;
    Waiting = FALSE;
    AutoFarming = FALSE;
    AutoFishing = FALSE;
}
 
combo ResetPvars
{
    set_pvar(SPVAR_1, 1);
    set_pvar(SPVAR_2, 1);
    set_pvar(SPVAR_3, 1);
    set_pvar(SPVAR_4, 1);
    set_pvar(SPVAR_5, 1);
    set_pvar(SPVAR_6, get_pvar(SPVAR_7, 0, 300, 70));
 
    LightWeaveTime = get_pvar(SPVAR_7, 0, 300, 70);
    LW_ActionOneOn = TRUE;   //Xbox One: X  ||  PS4: Square  //
    LW_ActionTwoOn = TRUE;   //Xbox One: Y  ||  PS4: Triangle//
    LW_ActionThreeOn = TRUE; //Xbox One: B  ||  PS4: Circle  //
    LW_ActionFourOn = TRUE//Xbox One: LB ||  PS4: L1      //
    LW_ActionFiveOn = TRUE//Xbox One: RB ||  PS4: R1      //   
}





line 306 is ; if(LW_ActionFiveOn){

i am really confused at this..
User avatar
gjm76
Sergeant
Sergeant
 
Posts: 9
Joined: Mon Jan 28, 2019 11:45 am

Re: problem converting t1 script to t2, please help me

Postby Scachi » Fri Feb 22, 2019 4:25 pm

line 305 is missing a ; at the end
line 306 "IF" has to be lower case: if
here lines 305 & 306:
Code: Select all
 
LW_ActionFiveOn = !LW_ActionFiveOn; // 305
if(LW_ActionFiveOn){                           // 306
 
User avatar
Scachi
Brigadier General
Brigadier General
 
Posts: 3044
Joined: Wed May 11, 2016 6:25 am
Location: Germany

Re: problem converting t1 script to t2, please help me

Postby gjm76 » Fri Feb 22, 2019 4:59 pm

I can try that when I get home, I did change to lowercase if and it still didn’t fix.

Weird though as it was a direct copy and paste from the Titan one script and it worked on that.
User avatar
gjm76
Sergeant
Sergeant
 
Posts: 9
Joined: Mon Jan 28, 2019 11:45 am

Re: problem converting t1 script to t2, please help me

Postby Scachi » Fri Feb 22, 2019 5:21 pm

gjm76 wrote:I can try that when I get home, I did change to lowercase if and it still didn’t fix.

Weird though as it was a direct copy and paste from the Titan one script and it worked on that.

It isn't just the lower case, the ; a line before is as important as the lower case if.
The T1 was less restrictive code sytnax wise. A script that compiles on T1 may need some fixes to compile on the T2.

Here is the complete code for T2 copy&paste:
Code: Select all
#pragma METAINFO("eso elvish", 1, 0, "gav")
#include <titanone.gph>
 
 
//////////////////////////////////////
//Elder Scrolls Online Gamepack V2.1//
//////////////////////////////////////
 
/* ///////////////////////
//Section 1: CONTROLS//
///////////////////////
 
Reset Controls
-Press Start to turn scripts off
1. If you hold down Left Stick Click while pressing start no scripts will be turned off
-Press and hold Start for 4 seconds to reset any persistant variables.
1. This currently consists of the light weave time, and the initial on/off settings for the
light weave skills.
**NOTES**
-If you are holding Left Stick Click no scripts will be turned off
 
Auto Walking Controls
-Press and hold Right Stick Down and hold Left Stick Click for about 2 seconds or until you feel a rumble to activate the script
**NOTES**
-Activate the script any time, initial settings are set to press sprint every 10.
-If sprint is already on the button will still be pressed and as such will turn sprinting off.
 
Lockpicking Controls
-Press and hold Right Stick Down and hold D Pad Left for about 2 seconds or until you feel a rumble to activate the script
**NOTES**
-Max rumble beeds to be set to 6 for Xbox One and 75 for PS4 for this script to work properly
-Look at the lock to be picked and then activate the script
-If you are not looking at a lock you will need to press start to get right trigger turned off
 
Fishing Controls
-Press and hold Right Stick Down and hold D Pad Up for about 2 seconds or until you feel a rumble to activate the script
Then press A/Cross while looking at a fishing hole, it will fish it out for you.
 
Farming Controls
-Press and hold Right Stick Down and hold D Pad Right for about 2 seconds or until you feel a rumble to activate the script
**Notes**
-Stand ontop of something (dresser, nightstand, backpack) then activate the script
-For best results stand on something flat (Backpacks are not flat, but dressers are) and look
down. Spin in 360 degreese to ensure you are looking at the desired object no matter what
direction you face. That is not to say you CAN'T loot backpacks, but in my experience my
toon falls off of them after 5 - 10 minutes of cycling.
 
Light Weave Controls
-Press and hold Right stick down and then hold D Pad Down for about 2 seconds or until you feel a rumble to activate the script
-Press and hold any ablity button to toggle it being on or off (1 rumble means off, 2 rumbles means on)
-In order to use your ultimate you must first press and hold down Left Stick Click, then press the buttons to cast ultimate
-To set a new light weave time in-game preform a light weave attack with D Pad Down held down, or in other words:
1. With D Pad Down held down
A. Press right trigger
B. Then press any ability button(Controller will rumble to acknowledge the input)
-If you hold Left Stick Click then while light weave is active no light weave abilities will be used
**NOTES**
-You can turn light weaving on and off for specific buttons regardless if the light weaving
script is currently active or not.
-Your settings will be save even with the Titan One turned off. Hold start for 4 seconds to
clear your settings back to the initial settings.
 
*/

 
/* ////////////////////////////////
//Section 2: NOTES ON SETTINGS//
////////////////////////////////
Misc Settings
-Rumble Notification defines the rumble strength of notifications. These notifications
will happen every time user enters a menu or changes a setting. Set this high enough
that you will feel the rumble indication.
1. Three Rumbles means a script is being turn on or off
2. Two rumbles means a light weave ability is toggled on or light weave time is now set.
3. One Rumble means that a light weave ability is toggled off
 
Lockpick Settings
-Max_Rumble defines when to move to the next pin of the lock. Set to 6 if on Xbox One or
set to 75 if you are on PS4.
 
Auto Farming Settings
-Log In Timer dictates the time inbetween pressing A to select your character and logging out
-Lot Out Timer dictates the time inbetween pressing log out in game and pressing A to log back
in (Remember it takes 9 extra seconds if you are in an unsafe zone)
-Max Random decides how greatly the times to log in and out can be raised (Set to 0 to dissable)
 
Auto Walk Settings
-SprintSpeed defines after how many seconds to press the sprint button, this can be
deactivated by setting to 0.
 
Light Weaving Settings
-LightWeaveTime defines how many Miliseconds to wait after pressing right trigger before
casting an ability. Because this script runs every 5 MS this should be set in an
increment of 5 MS.
-LWTime defines how many seconds you must hold a skill button to toggle it being on or off.
-The LW_Action skills define if light weaving is set to on or off for that particular skill,
this can be changed in game. But you may modify them here if you know what you want for
starting points every time you load the script.
 
*/
//////////////////////
//Section 3: Settings//
///////////////////////
//Misc Settings
int RumbleNotification = 20; //The rumble strength for all notifications
 
//Auto Lockpick Settings
int Max_Rumble = 6; //set to 6 for xbox one and 75 for PS4 (Lockpick rumble detection)
 
//Auto Walk Settings
int SprintSpeed = 10; //This is how many seconds inbtween left stick clicks(it will turn sprint off if already sprinting. 0 will dissable.)
 
//Auto farm scripts
int LogInTimer = 35; //Time it takes to log on
int LogOutTimer = 34; //Time it takes to log off
int Max_Random = 10; //The amount of time in which logging in or out can change
 
//Light Weaving Settings
int LWTime = 4; //Seconds you must hold a button to toggle the lightweave for a skill on or off
int LightWeaveTime = 70; //The time you wait after hitting right trigger and before using an ability
//Initial On-Off values for the light weaving skills
int LW_ActionOneOn = TRUE; //Xbox One: X || PS4: Square //
int LW_ActionTwoOn = TRUE; //Xbox One: Y || PS4: Triangle//
int LW_ActionThreeOn = TRUE; //Xbox One: B || PS4: Circle //
int LW_ActionFourOn = TRUE; //Xbox One: LB || PS4: L1 //
int LW_ActionFiveOn = TRUE; //Xbox One: RB || PS4: R1 //
 
/* //=============================\\
||DO NOT MODIFY BELOW THIS LINE||
||DO NOT MODIFY BELOW THIS LINE||
||DO NOT MODIFY BELOW THIS LINE||
\\=============================// */

 
/*Button definitions. As these are all the same index on Xbox One and PS4 these
deffinitions will work on both consoles. Make sure to adjust the settings
section though!*/

define Button_One = 19; //Xbox One: A || PS4: Cross //
define Button_Two = 20; //Xbox One: X || PS4: Square //
define Button_Three = 17;//Xbox One: Y || PS4: Triangle//
define Button_Four = 18; //Xbox One: B || PS4: Circle //
define Right_Bumper = 3;
define Right_Trigger = 4;
define Right_Stick_Click = 5;
define Left_Bumper = 6;
define Left_Trigger = 7;
define Left_Stick_Click = 8;
define Select_Button = 1;
define Center_Button = 0;
define Start_Button = 2;
define D_Up = 13;
define D_Right = 16;
define D_Down = 14;
define D_Left = 15;
define LeftStick_X = 11;//Left stick left(-100) and right(+100)
define LeftStick_Y = 12;//Left stick up(-100) and down(+100)
define RightStick_X = 9;//Right stick left(-100) and right(+100)
define RightStick_Y = 10;//Right stick up(-100) and down(+100)
 
//Rumble Packs
define Rumble_Soft = RUMBLE_B;
define Rumble_Hard = RUMBLE_A;
 
//Booleans
int ReadyForInput = TRUE;
int AutoLockPick = FALSE;
int OpeningLock = FALSE;
int Depressing = FALSE;
int LightWeaveOn = FALSE;
int AutoWalk = FALSE;
int Waiting = FALSE;
int logged_In = TRUE;
int AutoFishing = FALSE;
int AutoFarming = FALSE;
 
//Variables
int MSElapsed = 0;
int Randomizer_Timer = 0;
int TumblersToOpen = 0;
int LW_Timer = 0;
int SprintTimer = 0;
int FarmingTimer = 0;
int LW_Button = 0;
int Random_Timer_Inc = 1337;
int Random_Second = 0;
int FishingTimer = 0;
 
init{
set_pvar(SPVAR_7, LightWeaveTime);
LightWeaveTime = get_pvar(SPVAR_6, 0, 300, 70);
if(get_pvar(SPVAR_1, 0, 1, 1) == 0){LW_ActionOneOn = FALSE;}
if(get_pvar(SPVAR_2, 0, 1, 1) == 0){LW_ActionTwoOn = FALSE;}
if(get_pvar(SPVAR_3, 0, 1, 1) == 0){LW_ActionThreeOn = FALSE;}
if(get_pvar(SPVAR_4, 0, 1, 1) == 0){LW_ActionFourOn = FALSE;}
if(get_pvar(SPVAR_5, 0, 1, 1) == 0){LW_ActionFiveOn = FALSE;}
}
 
main {
vm_tctrl(-5); //This should run every 5 MS now
set_val(TRACE_1, LightWeaveTime);
//Initiate the Light weaving script timer which also controls random second timer
LW_Timer = LW_Timer + get_rtime();
if(LW_Timer >= 1337) {
LW_Timer = 0;
Randomizer_Timer = Randomizer_Timer + 1;
if(Randomizer_Timer > Max_Random){Randomizer_Timer = 0;}
}
 
//Fishing Script
if(AutoFishing && get_rumble(Rumble_Soft) > 0){FishingTimer = FishingTimer + get_rtime();}
else if(AutoFishing && !get_rumble(Rumble_Soft) <= 0){
FishingTimer = 0;}
if(AutoFishing && FishingTimer >= 1500){
combo_run(ReCast_Fishing);
}
 
//Initiate the real time timer
MSElapsed = MSElapsed + get_rtime();
if(MSElapsed >= 1000){
MSElapsed = 0;
FarmingTimer = FarmingTimer + 1;
SprintTimer = SprintTimer + 1;
if(SprintTimer >= 600){SprintTimer = 0;}
if(FarmingTimer >= 1200){FarmingTimer = 0;}
}
//Reset all persistant variables if start is held down for 4 seconds
if(get_ptime(Start_Button) >= 4000 && get_val(Start_Button) == 100 && !get_val(Left_Stick_Click)){
combo_run(Notification_Rumble);
combo_run(ResetPvars);
}
 
//Reset all on start press if not pressing left stick click
if(event_press(Start_Button) && !get_val(Left_Stick_Click)){
combo_run(ResetAll);
if(AutoLockPick || LightWeaveOn || AutoWalk || AutoFarming || AutoFishing){combo_run(Notification_Rumble);}
}
//Left stick click for 2 seconds and Right Stick Click activates Auto Walk
if(ReadyForInput && get_ptime(Left_Stick_Click) >= 2000 && get_val(Left_Stick_Click) == 100 && get_val(Right_Stick_Click)){
ReadyForInput = FALSE;
AutoWalk = TRUE;
combo_run(Notification_Rumble);
}
//D Pad Left activates Auto Lockpick
if(ReadyForInput && get_ptime(D_Left) >= 2000 && get_val(D_Left) == 100 && get_val(Right_Stick_Click)){
ReadyForInput = FALSE;
AutoLockPick = TRUE;
combo_run(Notification_Rumble);
}
//D Pad Up activates Auto Fish
if(ReadyForInput && get_ptime(D_Up) >= 2000 && get_val(D_Up) == 100 && get_val(Right_Stick_Click)){
ReadyForInput = FALSE;
AutoFishing = TRUE;
combo_run(Notification_Rumble);
}
//D Pad Right activates Farming
if(ReadyForInput && get_ptime(D_Right) >= 2000 && get_val(D_Right) == 100 && get_val(Right_Stick_Click)){
Random_Second = Randomizer_Timer;
ReadyForInput = FALSE;
FarmingTimer = LogInTimer - 3;
AutoFarming = TRUE;
combo_run(Notification_Rumble);
}
//D Pad Down activates Light Weaving
if(ReadyForInput && get_ptime(D_Down) >= 2000 && get_val(D_Down) == 100 && get_val(Right_Stick_Click)){
ReadyForInput = FALSE;
LightWeaveOn = TRUE;
combo_run(Notification_Rumble);
}
//Toggle for light weave abilities
if(get_ptime(Button_Two) >= (LWTime * 1000) && get_val(Button_Two) == 100 && !Waiting){
Waiting = TRUE;
LW_ActionOneOn = !LW_ActionOneOn;
if(LW_ActionOneOn){
set_pvar(SPVAR_1, 1);
combo_run(On_Rumble);}
else if(!LW_ActionOneOn){
set_pvar(SPVAR_1, 0);
combo_run(Off_Rumble);}}
if(get_ptime(Button_Three) >= (LWTime * 1000) && get_val(Button_Three) == 100 && !Waiting){
Waiting = TRUE;
LW_ActionTwoOn = !LW_ActionTwoOn;
if(LW_ActionTwoOn){
combo_run(On_Rumble);
set_pvar(SPVAR_2, 1);}
else if(!LW_ActionTwoOn){
combo_run(Off_Rumble);
set_pvar(SPVAR_2, 0);}}
if(get_ptime(Button_Four) >= (LWTime * 1000) && get_val(Button_Four) == 100 && !Waiting){
Waiting = TRUE;
LW_ActionThreeOn = !LW_ActionThreeOn;
if(LW_ActionThreeOn){
combo_run(On_Rumble);
set_pvar(SPVAR_3, 1);}
else if(!LW_ActionThreeOn){
combo_run(Off_Rumble);
set_pvar(SPVAR_3, 0);}}
if(get_ptime(Left_Bumper) >= (LWTime * 1000) && get_val(Left_Bumper) == 100 && !Waiting){
Waiting = TRUE;
LW_ActionFourOn = !LW_ActionFourOn;
if(LW_ActionFourOn){
combo_run(On_Rumble);
set_pvar(SPVAR_4, 1);}
else if(!LW_ActionFourOn){
combo_run(Off_Rumble);
set_pvar(SPVAR_4, 0);}}
if(get_ptime(Right_Bumper) >= (LWTime * 1000) && get_val(Right_Bumper) == 100 && !Waiting){
Waiting = TRUE;
LW_ActionFiveOn = !LW_ActionFiveOn;
if(LW_ActionFiveOn){
combo_run(On_Rumble);
set_pvar(SPVAR_5, 1);}
else if(!LW_ActionFiveOn){
combo_run(Off_Rumble);
set_pvar(SPVAR_5, 0);}
}
 
//LockPick Scripts
if(ReadyForInput && AutoLockPick){
AutoLockPick = FALSE;
combo_run(InitOpenChestScript);}
if(ReadyForInput && OpeningLock){set_val(Right_Trigger, 100);}
if(ReadyForInput && OpeningLock && get_rumble(Rumble_Soft) > Max_Rumble && !Depressing){
Depressing = TRUE;
combo_run(OpenChestScript);
}
 
//Auto Run Scripts
if(ReadyForInput && AutoWalk){
set_val(LeftStick_Y, -100);
if(SprintTimer >= SprintSpeed && SprintSpeed > 0){
combo_run(AutoWalkCheck);
}
}
 
//Auto Farming Scripts
if(ReadyForInput && AutoFarming && (FarmingTimer >= LogInTimer + Random_Second) && logged_In){
Random_Second = Randomizer_Timer;
FarmingTimer = 0;
logged_In = FALSE;
combo_run(LogOutCombo);}
if(ReadyForInput && AutoFarming && (FarmingTimer >= LogOutTimer + Random_Second) && !logged_In){
Random_Second = Randomizer_Timer;
FarmingTimer = 0;
logged_In = TRUE;
combo_run(LogInCombo);
}
 
//Light Weaving scripts
if(get_val(D_Down) && event_press(Right_Trigger)){
LW_Timer = 0;}
if(get_val(D_Down) && (event_press(Button_Four) || event_press(Button_Two) || event_press(Button_Three) || event_press(Right_Bumper) || event_press(Left_Bumper))){
LightWeaveTime = LW_Timer;
set_pvar(SPVAR_6, LightWeaveTime);
combo_run(On_Rumble);}
if(LightWeaveOn && !get_val(Left_Stick_Click)){
//If user inputs a skill button press with light weave on
if(event_press(Button_Two) || event_press(Button_Three) || event_press(Button_Four) || event_press(Left_Bumper) || event_press(Right_Bumper)){
LW_Button = 0;
if(get_val(Button_Two) && LightWeaveOn && LW_ActionOneOn){LW_Button = 1;}
else if(get_val(Button_Three) && LightWeaveOn && LW_ActionTwoOn){LW_Button = 2;}
else if(get_val(Button_Four) && LightWeaveOn && LW_ActionThreeOn){LW_Button = 3;}
else if(get_val(Left_Bumper) && LightWeaveOn && LW_ActionFourOn){LW_Button = 4;}
else if(get_val(Right_Bumper) && LightWeaveOn && LW_ActionFiveOn){LW_Button = 5;}
if(LW_Button > 0){combo_run(LW_Combo);}
}
if(LW_ActionOneOn){block(Button_Two, 300);}
if(LW_ActionTwoOn){block(Button_Three, 300);}
if(LW_ActionThreeOn){block(Button_Four, 300);}
if(LW_ActionFourOn){block(Left_Bumper, 300);}
if(LW_ActionFiveOn){block(Right_Bumper, 300);}
}
}
 
combo InitOpenChestScript
{
//Open chest, move to far left tumbler. Set 5 tumblers left, move on to next script.
set_val(Button_One, 100); wait(200);
set_val(Button_One, 0); wait(750);
set_val(LeftStick_X, -100); wait(400);
set_val(LeftStick_X, 0);
TumblersToOpen = 5;
OpeningLock = TRUE;
}
 
combo OpenChestScript
{
set_val(Right_Trigger, 0);
if(TumblersToOpen > 1){
set_val(LeftStick_X, 100);
}
wait(200);
set_val(LeftStick_X, 0);
if(TumblersToOpen < 2){
set_val(Right_Trigger, 0);
OpeningLock = FALSE;//Once all pins are depressed turn off the script
}
TumblersToOpen = TumblersToOpen - 1;
Depressing = FALSE;
}
 
combo ReCast_Fishing
{
set_val(Button_One, 100); wait(100);
set_val(Button_One, 0); wait(2600);
set_val(Button_One, 100); wait(100);
set_val(Button_One, 0);
FishingTimer = 0;
}
 
combo AutoWalkCheck
{
SprintTimer = 0;
set_val(Left_Stick_Click, 100); wait(200);
set_val(Left_Stick_Click, 0); wait(100);
}
 
combo LogInCombo
{
set_val(Button_One, 100); wait(200);
set_val(Button_One, 0); wait(100);
FarmingTimer = 0;
logged_In = FALSE;
}
 
combo LogOutCombo
{
//Look down, press A
set_val(RightStick_Y, 100); wait(1200);
set_val(RightStick_Y, 0); wait(100);
set_val(Button_One, 100); wait(100);
set_val(Button_One, 0); wait(200);
 
//Open menu, press right trigger, and log out.
set_val(Start_Button, 100); wait(100);
set_val(Start_Button, 0); wait(250);
set_val(Right_Trigger, 100); wait(100);
set_val(Right_Trigger, 0); wait(100);
set_val(Button_One, 100); wait(100);
set_val(Button_One, 0); wait(100);
set_val(Button_One, 100); wait(100);
set_val(Button_One, 0); wait(100);
 
FarmingTimer = 0;
logged_In = TRUE;
}
 
combo LW_Combo
{
set_val(Right_Trigger, 100); wait(100);
set_val(Right_Trigger, 0); wait(LightWeaveTime);
if(LW_Button == 1){set_val(Button_Two, 100);}
else if(LW_Button == 2){set_val(Button_Three, 100);}
else if(LW_Button == 3){set_val(Button_Four, 100);}
else if(LW_Button == 4){set_val(Left_Bumper, 100);}
else if(LW_Button == 5){set_val(Right_Bumper, 100);}
wait(100);
set_val(Button_One, 0);
set_val(Button_Three, 0);
set_val(Button_Four, 0);
set_val(Right_Bumper, 0);
set_val(Left_Bumper, 0);
}
 
combo Notification_Rumble
{
set_rumble(Rumble_Hard, RumbleNotification); wait(150);
set_rumble(Rumble_Hard, 0); wait(200);
set_rumble(Rumble_Hard, RumbleNotification); wait(150);
set_rumble(Rumble_Hard, 0); wait(200);
set_rumble(Rumble_Hard, RumbleNotification); wait(150);
set_rumble(Rumble_Hard, 0); wait(1150);
 
ReadyForInput = TRUE;
}
 
combo On_Rumble
{
set_rumble(Rumble_Hard, RumbleNotification); wait(200);
set_rumble(Rumble_Hard, 0); wait(500);
set_rumble(Rumble_Hard, RumbleNotification); wait(200);
set_rumble(Rumble_Hard, 0); wait(2000);
Waiting = FALSE;
}
 
combo Off_Rumble
{
set_rumble(Rumble_Hard, RumbleNotification); wait(200);
set_rumble(Rumble_Hard, 0); wait(2000);
Waiting = FALSE;
}
 
combo ResetAll
{
set_val(Right_Trigger, 0);
set_val(LeftStick_Y, 0);
 
ReadyForInput = TRUE;
AutoLockPick = FALSE;
OpeningLock = FALSE;
Depressing = FALSE;
LightWeaveOn = FALSE;
AutoWalk = FALSE;
Waiting = FALSE;
AutoFarming = FALSE;
AutoFishing = FALSE;
}
 
combo ResetPvars
{
set_pvar(SPVAR_1, 1);
set_pvar(SPVAR_2, 1);
set_pvar(SPVAR_3, 1);
set_pvar(SPVAR_4, 1);
set_pvar(SPVAR_5, 1);
set_pvar(SPVAR_6, get_pvar(SPVAR_7, 0, 300, 70));
 
LightWeaveTime = get_pvar(SPVAR_7, 0, 300, 70);
LW_ActionOneOn = TRUE; //Xbox One: X || PS4: Square //
LW_ActionTwoOn = TRUE; //Xbox One: Y || PS4: Triangle//
LW_ActionThreeOn = TRUE; //Xbox One: B || PS4: Circle //
LW_ActionFourOn = TRUE; //Xbox One: LB || PS4: L1 //
LW_ActionFiveOn = TRUE; //Xbox One: RB || PS4: R1 //
}
 
User avatar
Scachi
Brigadier General
Brigadier General
 
Posts: 3044
Joined: Wed May 11, 2016 6:25 am
Location: Germany

Re: problem converting t1 script to t2, please help me

Postby Vonburner » Wed Oct 09, 2019 6:00 am

Is it just me or this there is something wrong with this script i would be using the Lightwave but I'll bar swap with left button go into another ability but it won't light attack until about the third input which defeats the purpose of the lightwave script is that normal?
User avatar
Vonburner
Sergeant First Class
Sergeant First Class
 
Posts: 25
Joined: Wed Oct 09, 2019 1:47 am

Re: problem converting t1 script to t2, please help me

Postby Vonburner » Sat Oct 12, 2019 6:05 pm

This is working at all on the T2
User avatar
Vonburner
Sergeant First Class
Sergeant First Class
 
Posts: 25
Joined: Wed Oct 09, 2019 1:47 am

Re: problem converting t1 script to t2, please help me

Postby Scachi » Sun Oct 13, 2019 6:28 am

Vonburner wrote:This is working at all on the T2

Did you try other scripts to check if your setup is correct ?
If you are on PS4 you have to do the first time configuration or scripts may have no effect at all:
https://www.consoletuner.com/wiki/index ... figuration
On (your) PlayStation 4 (console), enable wired communication:
Settings → Devices → Controllers → Communication Method: Use USB Cable.

For other consoles check the other guides:
https://www.consoletuner.com/wiki/index ... es:systems
User avatar
Scachi
Brigadier General
Brigadier General
 
Posts: 3044
Joined: Wed May 11, 2016 6:25 am
Location: Germany

Re: problem converting t1 script to t2, please help me

Postby Vonburner » Tue Oct 15, 2019 6:22 am

I did all that before i tried it. Funny thing is all this works

int RumbleNotification = 20; //The rumble strength for all notifications = No problem at

However, the //Light Weaving Settings doesn't work at all. when the options where you can hold done the button to disable
seems to work according to the rumble notifications.
I can't seem to understand why it doesn't work at ll
User avatar
Vonburner
Sergeant First Class
Sergeant First Class
 
Posts: 25
Joined: Wed Oct 09, 2019 1:47 am

Re: problem converting t1 script to t2, please help me

Postby Vonburner » Tue Oct 15, 2019 11:35 am

I almost forgot it works with no problems when I use test and debug
User avatar
Vonburner
Sergeant First Class
Sergeant First Class
 
Posts: 25
Joined: Wed Oct 09, 2019 1:47 am


Return to GPC2 Script Programming

Who is online

Users browsing this forum: No registered users and 112 guests