Error Question
35 posts
• Page 1 of 4 • 1, 2, 3, 4
Error Question
so I don't know what this Error means and I'm hoping someone could help
-
Mysticpurple90 - Command Sergeant Major
- Posts: 175
- Joined: Mon Mar 28, 2016 5:48 am
Re: Error Question
image is https://1drv.ms/i/s!AiBOaH4b40GGi0_P4om5bRqu89C0 (Don't worry its a one drive link)
-
Mysticpurple90 - Command Sergeant Major
- Posts: 175
- Joined: Mon Mar 28, 2016 5:48 am
Re: Error Question
Please post all your code and I'll take a look.
Also have you looked at my guide yet?
viewtopic.php?f=23&t=4609
Also have you looked at my guide yet?
viewtopic.php?f=23&t=4609
Setup: XIM Apex, T2, K780 keyboard, G Pro Wireless mouse, SteelSeries 4HD pad, DXRacer armrest, LucidSound LS30 headset, Netduma router, Ubiquiti UniFi AP LR
My R6 script: https://youtu.be/x-9NtxyySVM
My R6 script: https://youtu.be/x-9NtxyySVM
-
pablosscripts - Brigadier General
- Posts: 1976
- Joined: Tue Nov 24, 2015 6:27 am
Re: Error Question
- Code: Select all
#include <xb360.gph>
#include <ps3.gph>
#define select = 1;
#define shoot = 4;
#define ADS = 7;
#define jump = 19;
#define melee = 18;
#define reload = 20;
#define switch = 17;
#define tactical = 6;
#define leathal = 3;
#define D_PAD_UP = 13;
#define D_PAD_DOWN = 14;
#define D_PAD_LEFT = 15;
#define D_PAD_RIGHT = 16;
#define ANTI_RECOIL = 0; //change "0" to compensate vertical recoil (0 - 100)
#define ANTI_RECOIL_LEFT = 0; //change this value to compensate to the left (0 - 100)
#define ANTI_RECOIL_RIGHT = 0; //change this value to compensate to the right (0 - 100)
#define RoF = 1.79; //Used for the jitters Only change between 1 and 1.9
bool XYYjitter_ONoff = FALSE;
bool RapidFire_ONoff = FALSE;
bool Hybridjitter_ONoff = FALSE;
bool FSRapidFire_ONoff = FALSE;
bool Dueltrigger_ONoff = FALSE;
bool silentshot_ONoff = FALSE;
bool FastReload_ONoff = FALSE;
bool AntiRecoil_ONoff = FALSE;
bool anti_recoil;
bool anti_recoil_left;
bool anti_recoil_right;
#define TRUE !FALSE
main {
if((event_actived(ADS) && get_val(D_PAD_UP)) || (event_actived(D_PAD_UP) && get_val(ADS))){ // Turns ON/OFF RapidFire
RapidFire_ONoff = !RapidFire_ONoff;
}
if(RapidFire_ONoff) { combo_run(RumbleNotifier);
XYYjitter_ONoff = FALSE; FSRapidFire_ONoff = FALSE; Hybridjitter_ONoff = FALSE; Dueltrigger_ONoff = FALSE;
}
}
if(RapidFire_ONoff && get_val(shoot)){combo_run(RapidFire); }
if((event_actived(ADS) && get_val(D_PAD_LEFT)) || (event_actived(D_PAD_LEFT) && get_val(ADS))){ // Turns ON/OFF FSRapidFire
FSRapidFire_ONoff = !FSRapidFire_ONoff;
if(FSRapidFire_ONoff) { combo_run(RumbleNotifier);
XYYjitter_ONoff = FALSE; RapidFire_ONoff = FALSE; Hybridjitter_ONoff = FALSE; Dueltrigger_ONoff = FALSE;
}
}
if(FSRapidFire_ONoff && get_val(shoot)){combo_run(FSRapidFire); }
if((event_actived(ADS) && get_val(D_PAD_RIGHT)) || (event_actived(D_PAD_RIGHT) && get_val(ADS))){ // Turns ON/OFF Hybridjitter
Hybridjitter_ONoff = !Hybridjitter_ONoff; // Use Fast Hands And Dexterity
if(Hybridjitter_ONoff) { combo_run(RumbleNotifier);
RapidFire_ONoff = FALSE; FSRapidFire_ONoff = FALSE; XYYjitter_ONoff = FALSE; Dueltrigger_ONoff = FALSE; FastReload_ONoff = FALSE;
}
}
if(Hybridjitter_ONoff && get_val(shoot)){combo_run(Hybridjitter); }
if(Hybridjitter_ONoff && get_val(ADS)){ Hybridjitter = FALSE; }
if((event_actived(ADS) && get_val(D_PAD_DOWN)) || (event_actived(D_PAD_DOWN) && get_val(ADS))){ // Turns ON/OFF XYYjitter
XYYjitter_ONoff = !XYYjitter_ONoff;
if(XYYjitter_ONoff) { combo_run(RumbleNotifier);
RapidFire_ONoff = FALSE; FSRapidFire_ONoff = FALSE; Hybridjitter_ONoff = FALSE; Dueltrigger_ONoff = FALSE;
}
}
if(XYYjitter_ONoff && get_val(shoot)){combo_run(XYYjitter); }
if(XYYjitter_ONoff && get_val(ADS)){ XYYjitter = FALSE; }
if((event_actived(D_PAD_UP) && get_val(jump)) || (event_actived(jump) && get_val(D_PAD_UP))){
Dueltrigger_ONoff = !Dueltrigger_ONoff;
if(Dueltrigger_ONoff) {combo_run(RumbleNotifier);
RapidFire_ONoff = FALSE; FSRapidFire_ONoff = FALSE; Hybridjitter_ONoff = FALSE; XYYjitter_ONoff = FALSE;
}
}
if(Dueltrigger_ONoff && get_val(shoot)){combo_run(Dueltrigger); }
if(Dueltrigger_ONoff && get_val(ADS)){ Dueltrigger = FALSE; }
if((event_actived(D_PAD_UP) && get_val(reload)) || (event_actived(reload) && get_val(D_PAD_UP))){ // Turns ON/OFF silentshot
silentshot_ONoff = !silentshot_ONoff;
if(silentshot_ONoff) { combo_run(RumbleNotifier);
Hybridjitter_ONoff = FALSE; XYYjitter_ONoff = FALSE;
}
}
if(silentshot_ONoff && get_val(shoot) > 15){combo_run(silentshot); }
if((event_actived(select) && get_val(reload)) || (event_actived(reload) && get_val(select))){ //Turns ON/OFF FastReload
FastReload_ONoff = !FastReload_ONoff;
if(FastReload_ONoff) { combo_run(RumbleNotifier);
Hybridjitter_ONoff = FALSE; XYYjitter_ONoff = FALSE;
}
}
if(FastReload_ONoff && get_val(reload)){combo_run(FastReload);}
if((event_actived(ADS) && get_val(reload)) || (event_actived(reload) && get_val(ADS))){
AntiRecoil_ONoff = !AntiRecoil_ONoff;
if(AntiRecoil_ONoff) {combo_run(RumbleNotifier);
}
}
if(AntiRecoil_ONoff && get_val(ADS) && get_val(shoot)){ combo_run(AntiRecoil);}
}
combo RapidFire{
set_val(4,15);
wait(29)
set_val(4,0);
wait(79);
}
combo FSRapidFire{
set_val(4,15);
wait(10)
set_val(4,0);
wait(79)
}
combo Hybridjitter{
set_val(4, 100);
wait(10/RoF);
set_val(4, 100);
set_val(20, 100);
wait(11/RoF);
set_val(4, 100);
set_val(12, -99);
set_val(20, 0);
wait(10/RoF);
set_val(4, 0);
set_val(8, 100);
set_val(12, -0);
wait(10/RoF);
set_val(4, 0);
set_val(8, 0);
set_val(12, -0);
set_val(17, 100);
wait(10/RoF);
set_val(4, 0);
set_val(8, 100);
set_val(12, -99);
set_val(17, 100);
wait(11/RoF); /////// Have Fun
set_val(4, 0);
set_val(8, 0);
set_val(12, -0);
set_val(17, 0);
wait(10/RoF);
set_val(4, 0);
set_val(8, 100);
set_val(12, -0);
wait(10/RoF);
set_val(4, 0);
set_val(8, 0);
set_val(12, -90);
set_val(17, 100);
wait(9/RoF);
set_val(4, 0);
set_val(8, 100);
set_val(12, -0);
set_val(17, 100);
wait(10/RoF);
set_val(4, 0);
set_val(8, 0);
set_val(12, -0);
set_val(17, 0);
wait(1/RoF); // Switch to wait(10) iif you care about ammo
set_val(4, 100);
set_val(8, 100);
set_val(12, -99);
set_val(17, 0);
wait(2/RoF)
}
combo XYYjitter { //Standerd Jitter For S12 And Burst Weapons
set_val(20, 100)
set_val(17, 100)
set_val(17, 100)
wait(15.15/RoF)
set_val(20, 0)
set_val(17, 0)
set_val(17, 0)
wait(10/RoF)
set_val(20, 0)
set_val(17, 0)
set_val(17, 0)
vm_tctrl(-1/RoF)
}
combo silentshot{ //Uses Leathal switch 3 to 6 To use tactical
wait(25)
set_val(3, 100)
wait(80);
set_val(3, 100);
set_val(17, 100);
wait(130);
set_val(3, 100);
set_val(17, 0);
wait(70);
set_val(3, 0);
}
combo Dueltrigger{ //Set for All pistols
set_val(4,15);
set_val(7,15);
wait(32)
set_val(4,0);
set_val(7,0);
wait(79)
}
combo FastReload{
set_val(20, 100);
wait(120);
set_val(20, 0);
wait(1290); // Change this value for different guns
set_val(12, -40);
wait(10);
set_val(8, 100);
set_val(12, -83);
wait(10);
set_val(8, 100);
set_val(12, -100);
wait(10);
set_val(8, 100);
set_val(12, -100);
wait(10);
set_val(8, 0);
set_val(12, -100);
wait(10);
set_val(8, 0);
set_val(12, -71);
wait(10);
set_val(12, -38);
wait(10);
set_val(12, 0);
}
combo RumbleNotifier {
set_rumble(RUMBLE_B, 100);
wait(300);
reset_rumble();
}
combo AntiRecoil { // This combo must be the last one
if(get_val(shoot)) {
anti_recoil = get_val(10) + ANTI_RECOIL;
if(anti_recoil > 100) anti_recoil = 100;
set_val(10, anti_recoil);
anti_recoil_left = get_val(9) -ANTI_RECOIL_LEFT;
if(anti_recoil_left > 100) anti_recoil_left = 100;
set_val(9, anti_recoil_left);
anti_recoil_right = get_val(9) +ANTI_RECOIL_RIGHT;
if(anti_recoil_right > 100) anti_recoil_right = 100;
set_val(9, anti_recoil_right);
}
}
-
Mysticpurple90 - Command Sergeant Major
- Posts: 175
- Joined: Mon Mar 28, 2016 5:48 am
Re: Error Question
Got a lot of it working, it still doesn't like the math in the wait statements, but lunch is over unfortunately. I'll take another look later. For now though the most of it works fine. (Compiles anyways.)
Just a few missing ; in places and it didn't like the number assignments for the button values.
Just a few missing ; in places and it didn't like the number assignments for the button values.
- Code: Select all
#include <xb360.gph>
#include <ps3.gph>
#define select BUTTON_2
#define shoot BUTTON_4
#define ADS BUTTON_7
#define jump BUTTON_16
#define melee = 18;
#define reload BUTTON_17
#define switch = 17;
#define tactical = 6;
#define leathal = 3;
#define D_PAD_UP BUTTON_10
#define D_PAD_DOWN BUTTON_11
#define D_PAD_LEFT BUTTON_12
#define D_PAD_RIGHT BUTTON_13
#define ANTI_RECOIL = 0; //change "0" to compensate vertical recoil (0 - 100)
#define ANTI_RECOIL_LEFT = 0; //change this value to compensate to the left (0 - 100)
#define ANTI_RECOIL_RIGHT = 0; //change this value to compensate to the right (0 - 100)
#define RoF = 1.79; //Used for the jitters Only change between 1 and 1.9
bool XYYjitter_ONoff = FALSE;
bool RapidFire_ONoff = FALSE;
bool Hybridjitter_ONoff = FALSE;
bool FSRapidFire_ONoff = FALSE;
bool Dueltrigger_ONoff = FALSE;
bool silentshot_ONoff = FALSE;
bool FastReload_ONoff = FALSE;
bool AntiRecoil_ONoff = FALSE;
bool anti_recoil;
bool anti_recoil_left;
bool anti_recoil_right;
#define TRUE !FALSE
main {
if((event_actived(ADS) && get_val(D_PAD_UP)) || (event_actived(D_PAD_UP) && get_val(ADS))){ // Turns ON/OFF RapidFire
if(RapidFire_ONoff == FALSE) {
RapidFire_ONoff = TRUE;
} else if(RapidFire_ONoff == TRUE) {
RapidFire_ONoff = FALSE;
}
}
if(RapidFire_ONoff) {
combo_run(RumbleNotifier);
XYYjitter_ONoff = FALSE;
FSRapidFire_ONoff = FALSE;
Hybridjitter_ONoff = FALSE;
Dueltrigger_ONoff = FALSE;
}
if(RapidFire_ONoff && get_val(shoot)){combo_run(RapidFire); }
if((event_actived(ADS) && get_val(D_PAD_LEFT)) || (event_actived(D_PAD_LEFT) && get_val(ADS))){ // Turns ON/OFF FSRapidFire
FSRapidFire_ONoff = !FSRapidFire_ONoff;
if(FSRapidFire_ONoff) { combo_run(RumbleNotifier);
XYYjitter_ONoff = FALSE; RapidFire_ONoff = FALSE; Hybridjitter_ONoff = FALSE; Dueltrigger_ONoff = FALSE;
}
}
if(FSRapidFire_ONoff && get_val(shoot)){combo_run(FSRapidFire); }
if((event_actived(ADS) && get_val(D_PAD_RIGHT)) || (event_actived(D_PAD_RIGHT) && get_val(ADS))){ // Turns ON/OFF Hybridjitter
Hybridjitter_ONoff = !Hybridjitter_ONoff; // Use Fast Hands And Dexterity
if(Hybridjitter_ONoff) { combo_run(RumbleNotifier);
RapidFire_ONoff = FALSE; FSRapidFire_ONoff = FALSE; XYYjitter_ONoff = FALSE; Dueltrigger_ONoff = FALSE; FastReload_ONoff = FALSE;
}
}
if(Hybridjitter_ONoff && get_val(shoot)){combo_run(Hybridjitter); }
if(Hybridjitter_ONoff && get_val(ADS)){ Hybridjitter = FALSE; }
if((event_actived(ADS) && get_val(D_PAD_DOWN)) || (event_actived(D_PAD_DOWN) && get_val(ADS))){ // Turns ON/OFF XYYjitter
XYYjitter_ONoff = !XYYjitter_ONoff;
if(XYYjitter_ONoff) { combo_run(RumbleNotifier);
RapidFire_ONoff = FALSE; FSRapidFire_ONoff = FALSE; Hybridjitter_ONoff = FALSE; Dueltrigger_ONoff = FALSE;
}
}
if(XYYjitter_ONoff && get_val(shoot)){combo_run(XYYjitter); }
if(XYYjitter_ONoff && get_val(ADS)){ XYYjitter = FALSE; }
if((event_actived(D_PAD_UP) && get_val(jump)) || (event_actived(jump) && get_val(D_PAD_UP))){
Dueltrigger_ONoff = !Dueltrigger_ONoff;
if(Dueltrigger_ONoff) {combo_run(RumbleNotifier);
RapidFire_ONoff = FALSE; FSRapidFire_ONoff = FALSE; Hybridjitter_ONoff = FALSE; XYYjitter_ONoff = FALSE;
}
}
if(Dueltrigger_ONoff && get_val(shoot)){combo_run(Dueltrigger); }
if(Dueltrigger_ONoff && get_val(ADS)){ Dueltrigger = FALSE; }
if((event_actived(D_PAD_UP) && get_val(reload)) || (event_actived(reload) && get_val(D_PAD_UP))){ // Turns ON/OFF silentshot
silentshot_ONoff = !silentshot_ONoff;
if(silentshot_ONoff) { combo_run(RumbleNotifier);
Hybridjitter_ONoff = FALSE; XYYjitter_ONoff = FALSE;
}
}
if(silentshot_ONoff && get_val(shoot) > 15f){combo_run(silentshot); }
if((event_actived(select) && get_val(reload)) || (event_actived(reload) && get_val(select))){ //Turns ON/OFF FastReload
FastReload_ONoff = !FastReload_ONoff;
if(FastReload_ONoff) { combo_run(RumbleNotifier);
Hybridjitter_ONoff = FALSE; XYYjitter_ONoff = FALSE;
}
}
if(FastReload_ONoff && get_val(reload)){combo_run(FastReload);}
if((event_actived(ADS) && get_val(reload)) || (event_actived(reload) && get_val(ADS))){
AntiRecoil_ONoff = !AntiRecoil_ONoff;
if(AntiRecoil_ONoff) {combo_run(RumbleNotifier);
}
}
if(AntiRecoil_ONoff && get_val(ADS) && get_val(shoot)){ combo_run(AntiRecoil);}
}
combo RapidFire{
set_val(shoot, 15);
wait(29);
set_val(shoot, 0);
wait(79);
}
combo FSRapidFire{
set_val(4,15);
wait(10);
set_val(4,0);
wait(79);
}
combo Hybridjitter{
set_val(4, 100);
wait(10/RoF);
set_val(4, 100);
set_val(20, 100);
wait(11/RoF);
set_val(4, 100);
set_val(12, -99);
set_val(20, 0);
wait(10/RoF);
set_val(4, 0);
set_val(8, 100);
set_val(12, -0);
wait(10/RoF);
set_val(4, 0);
set_val(8, 0);
set_val(12, -0);
set_val(17, 100);
wait(10/RoF);
set_val(4, 0);
set_val(8, 100);
set_val(12, -99);
set_val(17, 100);
wait(11/RoF); /////// Have Fun
set_val(4, 0);
set_val(8, 0);
set_val(12, -0);
set_val(17, 0);
wait(10/RoF);
set_val(4, 0);
set_val(8, 100);
set_val(12, -0);
wait(10/RoF);
set_val(4, 0);
set_val(8, 0);
set_val(12, -90);
set_val(17, 100);
wait(9/RoF);
set_val(4, 0);
set_val(8, 100);
set_val(12, -0);
set_val(17, 100);
wait(10/RoF);
set_val(4, 0);
set_val(8, 0);
set_val(12, -0);
set_val(17, 0);
wait(1/RoF); // Switch to wait(10) iif you care about ammo
set_val(4, 100);
set_val(8, 100);
set_val(12, -99);
set_val(17, 0);
wait(2/RoF)
}
combo XYYjitter { //Standerd Jitter For S12 And Burst Weapons
set_val(20, 100)
set_val(17, 100)
set_val(17, 100)
wait(15.15/RoF)
set_val(20, 0)
set_val(17, 0)
set_val(17, 0)
wait(10/RoF)
set_val(20, 0)
set_val(17, 0)
set_val(17, 0)
vm_tctrl(-1/RoF)
}
combo silentshot{ //Uses Leathal switch 3 to 6 To use tactical
wait(25)
set_val(3, 100)
wait(80);
set_val(3, 100);
set_val(17, 100);
wait(130);
set_val(3, 100);
set_val(17, 0);
wait(70);
set_val(3, 0);
}
combo Dueltrigger{ //Set for All pistols
set_val(4,15);
set_val(7,15);
wait(32)
set_val(4,0);
set_val(7,0);
wait(79)
}
combo FastReload{
set_val(20, 100);
wait(120);
set_val(20, 0);
wait(1290); // Change this value for different guns
set_val(12, -40);
wait(10);
set_val(8, 100);
set_val(12, -83);
wait(10);
set_val(8, 100);
set_val(12, -100);
wait(10);
set_val(8, 100);
set_val(12, -100);
wait(10);
set_val(8, 0);
set_val(12, -100);
wait(10);
set_val(8, 0);
set_val(12, -71);
wait(10);
set_val(12, -38);
wait(10);
set_val(12, 0);
}
combo RumbleNotifier {
set_rumble(RUMBLE_B, 100);
wait(300);
reset_rumble();
}
combo AntiRecoil { // This combo must be the last one
if(get_val(shoot)) {
anti_recoil = get_val(10) + ANTI_RECOIL;
if(anti_recoil > 100) anti_recoil = 100;
set_val(10, anti_recoil);
anti_recoil_left = get_val(9) -ANTI_RECOIL_LEFT;
if(anti_recoil_left > 100) anti_recoil_left = 100;
set_val(9, anti_recoil_left);
anti_recoil_right = get_val(9) +ANTI_RECOIL_RIGHT;
if(anti_recoil_right > 100) anti_recoil_right = 100;
set_val(9, anti_recoil_right);
}
}
-
The_Rabid_Taco - Major
- Posts: 1066
- Joined: Wed Mar 16, 2016 6:04 pm
- Location: Pensacola, FL
Re: Error Question
I thought shoot button is BUTTON_5?
- bonefisher
- Lieutenant General
- Posts: 5413
- Joined: Thu Jan 29, 2015 10:49 am
Re: Error Question
- Code: Select all
#ifndef PS4_GPH_
#define PS4_GPH_
#define PS4_PS BUTTON_1
#define PS4_SHARE BUTTON_2
#define PS4_OPTIONS BUTTON_3
#define PS4_R1 BUTTON_4
#define PS4_R2 BUTTON_5
#define PS4_R3 BUTTON_6
#define PS4_L1 BUTTON_7
#define PS4_L2 BUTTON_8
#define PS4_L3 BUTTON_9
#define PS4_UP BUTTON_10
#define PS4_DOWN BUTTON_11
#define PS4_LEFT BUTTON_12
#define PS4_RIGHT BUTTON_13
#define PS4_TRIANGLE BUTTON_14
#define PS4_CIRCLE BUTTON_15
#define PS4_CROSS BUTTON_16
#define PS4_SQUARE BUTTON_17
#define PS4_TOUCH BUTTON_18
#define PS4_TOUCH1 BUTTON_19
#define PS4_TOUCH2 BUTTON_20
#define PS4_RX STICK_1_X
#define PS4_RY STICK_1_Y
#define PS4_LX STICK_2_X
#define PS4_LY STICK_2_Y
#define PS4_TOUCH1X POINT_1_X
#define PS4_TOUCH1Y POINT_1_Y
#define PS4_TOUCH2X POINT_2_X
#define PS4_TOUCH2Y POINT_2_Y
#define PS4_ACCX ACCEL_1_X
#define PS4_ACCY ACCEL_1_Y
#define PS4_ACCZ ACCEL_1_Z
#define PS4_GYROX GYRO_1_X
#define PS4_GYROY GYRO_1_Y
#define PS4_GYROZ GYRO_1_Z
#endif /* PS4_GPH_ */
- bonefisher
- Lieutenant General
- Posts: 5413
- Joined: Thu Jan 29, 2015 10:49 am
Re: Error Question
bonefisher wrote:I thought shoot button is BUTTON_5?
Yeah you're right:
https://docs.google.com/spreadsheets/d/ ... edit#gid=0
Setup: XIM Apex, T2, K780 keyboard, G Pro Wireless mouse, SteelSeries 4HD pad, DXRacer armrest, LucidSound LS30 headset, Netduma router, Ubiquiti UniFi AP LR
My R6 script: https://youtu.be/x-9NtxyySVM
My R6 script: https://youtu.be/x-9NtxyySVM
-
pablosscripts - Brigadier General
- Posts: 1976
- Joined: Tue Nov 24, 2015 6:27 am
Re: Error Question
I was going by the posted code having the header files for PS3 / XB360. Back then it was R1 (Shoot) / L1 (ADS).
#include <xb360.gph>
#include <ps3.gph>
Thought it was off too until I saw those headers. Guess it depends on the system it's meant to be ran on.
#include <xb360.gph>
#include <ps3.gph>
Thought it was off too until I saw those headers. Guess it depends on the system it's meant to be ran on.
-
The_Rabid_Taco - Major
- Posts: 1066
- Joined: Wed Mar 16, 2016 6:04 pm
- Location: Pensacola, FL
Re: Error Question
With the Titan Two script language I wanted avoid hard references to any system, so generic naming were used, such BUTTON, STICKER, etc. And any console specific naming should be provided by header files. For this purpose we have some "default" header files like ps4.gph, xb360.gph, PS3.gph and xb1.gph, as posted above by The_Rabit_Taco.
ConsoleTuner Support Team
-
J2Kbr - General of the Army
- Posts: 20323
- Joined: Tue Mar 18, 2014 1:39 pm
35 posts
• Page 1 of 4 • 1, 2, 3, 4
Return to GPC2 Script Programming
Who is online
Users browsing this forum: midg3t2 and 51 guests