|
 HarvestBot 3.00 is here : EverQuest 2 Premium Discussions - Page 2
|
|
Posted: May 23rd, 2005, 9:17 pm
|
|
|
|
thewatcher
thewatcher's Reps:
|
Ok, so If I read this right there are no known bugs and nobody has any additional feature requests before I release the next version?
|
|
|
|
|
Posted: May 24th, 2005, 2:49 am
|
|
|
|
affector
affector's Reps:
|
phatfuture";p="65536 (!empty($user->lang['WROTE'])) ? $user->lang['WROTE'] : ucwords(strtolower(str_replace('_', ' ', 'WROTE'))): affector, i had the same thing. But that is accually not the error. The error is with the DeleteMe part, you CANNOT delete this, you have to set it to False. When i did that, everything worked nicely.
Hm, I have set this to false as per instructions, I've not deleted any lines in the ini, only configured them. Does "False" and "false" make a difference?
|
|
|
|
|
Posted: May 24th, 2005, 6:15 am
|
|
|
|
phatfuture
phatfuture's Reps:
|
I think it does, tho im not 100% certain. Worth a try imo 
|
|
|
|
|
Posted: May 24th, 2005, 7:26 am
|
|
|
|
affector
affector's Reps:
|
This is my ini file.
I suppose I might have done something wrong here; can anyone see anything?
(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', 'CODE'))): ; ini file for HarvestBot version 3.00
[Harvester] ; You must delete the DeleteMe line or change it to False DeleteMe = False
;DebugLevel = 0-10 Generally 1 is sufficient if you're not debugging, 0 to turn ; off all but the extreme basics 10 will generate a LOT of data. DebugLevel = 8 ;Avoidplayers = True/False If True, this will mark a node bad if another player is nearby AvoidPlayers = True ;CampOnEnd = True/False if True will camp to desktop once harvesting ends CampOnEnd = False ;EraseBadSpawns= True/False if True will erase bad spawn locations when moving to ; a new location EraseBadSpawns = True ; How many times should we attempt to harvest a node before ; marking it bad and moving on. MaxHarvestAttempts = 20 ;QuitonTimeout = True/False End script you have not harvested in timeout minutes. QuitonTimeout = False ;Timeout = # Max time in minutes since last harvested item before ; Quitting if QuitOnTimeout is True and you get stuck ; or some other unforseen event happens Timeout = 15 ;QuitOnTells = True/False /q if you recieve a tell QuitonTells = False ;PlayonTells = True/False Should I play a sound when you get a tell? PlayonTells = True ;TellSound = filename.wav This wav file will be played if the above is true. ; This file MUST be a wav file and must be in the scripts folder. ; If you set PlayonTells it will NOT quit on tells even if ; QuiteOnTells is true. TellSound = ding.wav
;Hotbar = # number of the hotbar 0-9 that you have the harvesting hotkeys ; on, if hotbar is 0 hotbars will not be used. Hotbar = 9 ;defaultzone = zonename this is the zone the script will assume you are in ; ONLY if the zone detected is not defined in the script defaultzone = antonica ;EQ2Path = directory directory where EQ2 is installed and must end with \ ; EQ2Path = "C:\Program Files\Sony\EverQuest II\"
; Here you configure your keys, The forward key MUST be your AutoRun key! ; NearestPC is the key to target the nearest pc, normally F7 ; You can also reconfigure your jump key if needed.
[KeyConfig] Forward = \ Backward = s Left = a Right = d Jump = {SPACE} NearestPC = {F7}
[Resources] ;nodetype = #, #, True/False first number is Priority and is 0 based, ; IMPORTANT NOTE: you can NOT have 2 of the same priority, if ; you do only the last of that priority will be used.
; True/False harvest this type of node? ; If you use hotbars third is the hotkey ; Last is do you continue to harvest this when it becomes ; Trivial. If you are just trying to level your harvesting ; set all of these to false. COLLECT = 0, True, 6, False MISC = 1, True, 3, False ORE = 2, True, 1, True STONE = 3, True, 1, False WOOD = 4, True, 3, True SHRUB = 5, True, 2, False DEN = 6, True, 4, False FISH = 7, True, 5, False ROOTS = 8, True, 2, False FUNGI = 9, False, 2, False
;This section is for defining the buffs for your characters. Set the section name to ;your characters first name ie [Johnydoe] ;NumofBuffs = # set this to the number of buffs you wish to cast ;Buff# = name, duration in min, cast time in seconds, ; The name MUST be spelled correctly, it is used to cast the spell. [Johnydoe] Numofbuffs = 3 buff1 = Fire seed, 8, 2 buff2 = Agitation, 13, 1 buff3 = Provocation, 13, 1
;Zone sections ;[zonename] ;maxwander = # this value is a radius around your starting point and is ; ONLY used if you do not use waypoints ;UseWayPoints = True/False set to True to use waypoints, otherwise False ;NumofPoints = # set this to the number of waypointsyou define for this zone ;Waypoint# = X, Y, R set this to the X, Y coordinates and a harvest radius around ; it set the radius to zero if you just wish to travel through ; this location ;nodetype = resource set the appropriate resource name for this type of node
;This set of waypointswill path you from the entrance of the zone completely around the keep ;ignoring any nodes found within it. Notice the last waypointhas a radius of 0. This is ;only a travel node to help path you back to the start point. [The Forest Ruins] Maxwander = 100 UseWayPoints = True Numofpoints = 24 waypoint1 = 906, -562, 35 waypoint2 = 952, -562, 35 waypoint3 = 996, -575, 45 waypoint4 = 1014, -622, 10 waypoint5 = 1033, -607, 15 waypoint6 = 1055, -594, 30 waypoint7 = 1075, -595, 40 waypoint8 = 1090, -605, 0 waypoint9 = 1105, -655, 30 waypoint10 = 1117, -708, 0 waypoint11 = 1138, -733, 0 waypoint12 = 1172, -749, 50 waypoint13 = 1140, -811, 50 waypoint14 = 1083, -840, 50 waypoint15 = 1075, -814, 15 waypoint16 = 1019, -825, 50 waypoint17 = 971, -815, 50 waypoint18 = 958, -757, 50 waypoint19 = 956, -703, 50 waypoint20 = 948, -661, 30 waypoint21 = 956, -641, 20 waypoint22 = 984, -635, 15 waypoint23 = 1004, -622, 10 waypoint24 = 992, -591, 35 COLLECT = ? FUNGI = natural herb garden ORE = blemished ore FISH = array of fish ROOTS = damp roots DEN = creature den SHRUB = natural garden WOOD = aged arbor STONE = unearthed stones
[Antonica] maxwander = 100 UseWayPoints = true Numofpoints = 13 waypoint1 = -520, 607, 100 waypoint2 = -662, 620, 100 waypoint3 = -639, 532, 100 waypoint4 = -575, 507, 100 waypoint5 = -615, 459, 100 waypoint6 = -577, 410, 100 waypoint7 = -572, 351, 100 waypoint8 = -635, 265, 100 waypoint9 = -703, 276, 100 waypoint10 = -710, 353, 100 waypoint11 = -633, 403, 100 waypoint12 = -601, 503, 100 waypoint13 = -558, 586, 100 COLLECT = ? ORE = callous ore STONE = sandwashed rock WOOD = wind felled tree SHRUB = plains shrubbery FUNGI = plains fungi ROOTS = plains roots DEN = critter den FISH = shoal of fish MISC = withered bones
[The Enchanted Lands] MaxWander = 50 UseWayPoints = False COLLECT = ? ORE = residual ORE STONE = rhythmic STONE WOOD = wretched arbor SHRUB = mystical natural garDEN FUNGI = fairy ring ROOTS = velvety ROOTS DEN = deer DEN FISH = throng of fish MISC = withered bones
[The Commonlands] Maxwander = 100 UseWayPoints = False COLLECT = ? ORE = cloven ore STONE = wind swept rock FUNGI = oasis fungi SHRUB = oasis shrubbery ROOTS = desert roots FISH = band of fish DEN = armadillo den WOOD = wind felled tree
[The Thundering Steppes] MaxWander = 100 UseWayPoints = False Numofpoints = 0 COLLECT = ? ORE = stonecrest ore STONE = wind swept stones WOOD = felled high plains arbor SHRUB = high plains shrubbery FUNGI = high plains fungi ROOTS = mesquite catch weed DEN = badger den FISH = mob of fish
[Zek, the Orcish Wastes] Maxwander = 100 UseWayPoints = False COLLECT = ? ORE = ferric ore STONE = mud stone WOOD = marred arbor SHRUB = flattened bed of thistle FUNGI = flattened natural herb garden ROOTS = vestigial roots DEN = lioness den FISH = fury of fish
[The Feerrott] maxwander = 100 UseWayPoints = False Numofpoints = 0 COLLECT = ? ORE = alluvium ORE STONE = hermetic STONE WOOD = putrid arbor SHRUB = overgrown bed of greenslade FUNGI = overgrown fairy ring ROOTS = dusty ROOTS DEN = manticORE DEN FISH = hatch of fish
[Rivervale] Maxwander = 100 UseWayPoints = False COLLECT = ? ORE = sedimentary ore STONE = lithic STONE FUNGI = tainted fairy ring SHRUB = tainted natural garden ROOTS = insidious roots FISH = bedlam of fish DEN = dire wolf den WOOD = corrupted arbor
|
|
|
|
|
Posted: May 24th, 2005, 8:37 am
|
|
|
|
blueknight
Total Posts: 136
Location: So Cal.
Joined: January 24th, 2005, 2:06 pm
blueknight's Reps: 2
|
Heya Watcher. Sorry for a delayed responce but am in Finals week at College. I am not sure if this is a bug or not so I hesitate to put it in the tracker. When I am out harvesting I come across nodes that when I try to harvest it tells me I am too far away. This will happen even if I am right on top of them. The problem is that the bot does not seem to be adding these to the bad node list and I end up stuck there. Is anyone else having this problem?
As to a feature request, it sounds like you have added "enter" to pause the bot? If not can you add some way to pause it? If you are using waypoints and stop/restart the bot, it will take you back tot he begining of the run even if it is across the whole zone from where you are.
Also, can you add a feature to stop the bot and log once your bags are full? Sorry if this is in there too. I have not had a chance to play with ver 3 yet.
|
|
|
|
|
Posted: May 24th, 2005, 9:37 am
|
|
|
|
thewatcher
thewatcher's Reps:
|
blueknight";p="65583 (!empty($user->lang['WROTE'])) ? $user->lang['WROTE'] : ucwords(strtolower(str_replace('_', ' ', 'WROTE'))): Heya Watcher. Sorry for a delayed responce but am in Finals week at College. I am not sure if this is a bug or not so I hesitate to put it in the tracker. When I am out harvesting I come across nodes that when I try to harvest it tells me I am too far away. This will happen even if I am right on top of them. The problem is that the bot does not seem to be adding these to the bad node list and I end up stuck there. Is anyone else having this problem?
As to a feature request, it sounds like you have added "enter" to pause the bot? If not can you add some way to pause it? If you are using waypoints and stop/restart the bot, it will take you back tot he begining of the run even if it is across the whole zone from where you are.
Also, can you add a feature to stop the bot and log once your bags are full? Sorry if this is in there too. I have not had a chance to play with ver 3 yet.
Easy one first... I have considered adding how close you have to be before you are considered 'there' to the INI file so that those with slower systems and faster systems could make that fine tuning adjustment for themseleves, maybe that should be done to correct the 'too far away' problem. Let me check into that. In all my harvesting I have had 1 node that was too far away, I gave it a push forward and harvested the node... guess I should have waited and tested what would happen. It Should add it to the bad nodes after it has tried MaxHarvestAttempts (in the ini file) * 6 second per attempt which is 120 seconds or 2 minutes.
Yes, Enter to chat has been added, enter again to continue in the version in testing now.
If you are using waypoints and you start the bot it finds the closest waypoint to where you are standing and continues it's loop from there, this cool code was put in by Retsek I believe, but before I started maintaining the bot, the same is true of the inventory full check. When full the bot stops, I have fallen asleep in my chair while testing and woken with full bags and an idle toon.
|
|
|
|
|
Posted: May 24th, 2005, 10:06 am
|
|
|
|
tallaron
tallaron's Reps:
|
affector";p="65571 (!empty($user->lang['WROTE'])) ? $user->lang['WROTE'] : ucwords(strtolower(str_replace('_', ' ', 'WROTE'))): phatfuture";p="65536 (!empty($user->lang['WROTE'])) ? $user->lang['WROTE'] : ucwords(strtolower(str_replace('_', ' ', 'WROTE'))): affector, i had the same thing. But that is accually not the error. The error is with the DeleteMe part, you CANNOT delete this, you have to set it to False. When i did that, everything worked nicely.
Hm, I have set this to false as per instructions, I've not deleted any lines in the ini, only configured them. Does "False" and "false" make a difference?
Mine is set at False so maybe there is another problem associated with the Deleteme that is causing this to happen to others even though it says False.
[Harvester]
; You must delete the DeleteMe line or change it to False
DeleteMe = False
|
|
|
|
|
Posted: May 24th, 2005, 10:10 am
|
|
|
|
tallaron
tallaron's Reps:
|
tallaron";p="65589 (!empty($user->lang['WROTE'])) ? $user->lang['WROTE'] : ucwords(strtolower(str_replace('_', ' ', 'WROTE'))): affector";p="65571 (!empty($user->lang['WROTE'])) ? $user->lang['WROTE'] : ucwords(strtolower(str_replace('_', ' ', 'WROTE'))): phatfuture";p="65536 (!empty($user->lang['WROTE'])) ? $user->lang['WROTE'] : ucwords(strtolower(str_replace('_', ' ', 'WROTE'))): affector, i had the same thing. But that is accually not the error. The error is with the DeleteMe part, you CANNOT delete this, you have to set it to False. When i did that, everything worked nicely.
Hm, I have set this to false as per instructions, I've not deleted any lines in the ini, only configured them. Does "False" and "false" make a difference? Mine is set at False so maybe there is another problem associated with the Deleteme that is causing this to happen to others even though it says False. [Harvester] ; You must delete the DeleteMe line or change it to False DeleteMe = False
By the way, I'm Smokey Watcher 
|
|
|
|
|
Posted: May 24th, 2005, 10:30 am
|
|
|
|
thewatcher
thewatcher's Reps:
|
affector";p="65579 (!empty($user->lang['WROTE'])) ? $user->lang['WROTE'] : ucwords(strtolower(str_replace('_', ' ', 'WROTE'))): This is my ini file. I suppose I might have done something wrong here; can anyone see anything? (!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', 'CODE'))): ; ini file for HarvestBot version 3.00
[Harvester] ; You must delete the DeleteMe line or change it to False DeleteMe = False
;DebugLevel = 0-10 Generally 1 is sufficient if you're not debugging, 0 to turn ; off all but the extreme basics 10 will generate a LOT of data. DebugLevel = 8 ;Avoidplayers = True/False If True, this will mark a node bad if another player is nearby AvoidPlayers = True ;CampOnEnd = True/False if True will camp to desktop once harvesting ends CampOnEnd = False ;EraseBadSpawns= True/False if True will erase bad spawn locations when moving to ; a new location EraseBadSpawns = True ; How many times should we attempt to harvest a node before ; marking it bad and moving on. MaxHarvestAttempts = 20 ;QuitonTimeout = True/False End script you have not harvested in timeout minutes. QuitonTimeout = False ;Timeout = # Max time in minutes since last harvested item before ; Quitting if QuitOnTimeout is True and you get stuck ; or some other unforseen event happens Timeout = 15 ;QuitOnTells = True/False /q if you recieve a tell QuitonTells = False ;PlayonTells = True/False Should I play a sound when you get a tell? PlayonTells = True ;TellSound = filename.wav This wav file will be played if the above is true. ; This file MUST be a wav file and must be in the scripts folder. ; If you set PlayonTells it will NOT quit on tells even if ; QuiteOnTells is true. TellSound = ding.wav
;Hotbar = # number of the hotbar 0-9 that you have the harvesting hotkeys ; on, if hotbar is 0 hotbars will not be used. Hotbar = 9 ;defaultzone = zonename this is the zone the script will assume you are in ; ONLY if the zone detected is not defined in the script defaultzone = antonica ;EQ2Path = directory directory where EQ2 is installed and must end with \ ; EQ2Path = "C:\Program Files\Sony\EverQuest II"
; Here you configure your keys, The forward key MUST be your AutoRun key! ; NearestPC is the key to target the nearest pc, normally F7 ; You can also reconfigure your jump key if needed.
[KeyConfig] Forward = \ Backward = s Left = a Right = d Jump = {SPACE} NearestPC = {F7}
[Resources] ;nodetype = #, #, True/False first number is Priority and is 0 based, ; IMPORTANT NOTE: you can NOT have 2 of the same priority, if ; you do only the last of that priority will be used.
; True/False harvest this type of node? ; If you use hotbars third is the hotkey ; Last is do you continue to harvest this when it becomes ; Trivial. If you are just trying to level your harvesting ; set all of these to false. COLLECT = 0, True, 6, False MISC = 1, True, 3, False ORE = 2, True, 1, True STONE = 3, True, 1, False WOOD = 4, True, 3, True SHRUB = 5, True, 2, False DEN = 6, True, 4, False FISH = 7, True, 5, False ROOTS = 8, True, 2, False FUNGI = 9, False, 2, False
;This section is for defining the buffs for your characters. Set the section name to ;your characters first name ie [Johnydoe] ;NumofBuffs = # set this to the number of buffs you wish to cast ;Buff# = name, duration in min, cast time in seconds, ; The name MUST be spelled correctly, it is used to cast the spell. [Johnydoe] Numofbuffs = 3 buff1 = Fire seed, 8, 2 buff2 = Agitation, 13, 1 buff3 = Provocation, 13, 1
;Zone sections ;[zonename] ;maxwander = # this value is a radius around your starting point and is ; ONLY used if you do not use waypoints ;UseWayPoints = True/False set to True to use waypoints, otherwise False ;NumofPoints = # set this to the number of waypointsyou define for this zone ;Waypoint# = X, Y, R set this to the X, Y coordinates and a harvest radius around ; it set the radius to zero if you just wish to travel through ; this location ;nodetype = resource set the appropriate resource name for this type of node
;This set of waypointswill path you from the entrance of the zone completely around the keep ;ignoring any nodes found within it. Notice the last waypointhas a radius of 0. This is ;only a travel node to help path you back to the start point. [The Forest Ruins] Maxwander = 100 UseWayPoints = True Numofpoints = 24 waypoint1 = 906, -562, 35 waypoint2 = 952, -562, 35 waypoint3 = 996, -575, 45 waypoint4 = 1014, -622, 10 waypoint5 = 1033, -607, 15 waypoint6 = 1055, -594, 30 waypoint7 = 1075, -595, 40 waypoint8 = 1090, -605, 0 waypoint9 = 1105, -655, 30 waypoint10 = 1117, -708, 0 waypoint11 = 1138, -733, 0 waypoint12 = 1172, -749, 50 waypoint13 = 1140, -811, 50 waypoint14 = 1083, -840, 50 waypoint15 = 1075, -814, 15 waypoint16 = 1019, -825, 50 waypoint17 = 971, -815, 50 waypoint18 = 958, -757, 50 waypoint19 = 956, -703, 50 waypoint20 = 948, -661, 30 waypoint21 = 956, -641, 20 waypoint22 = 984, -635, 15 waypoint23 = 1004, -622, 10 waypoint24 = 992, -591, 35 COLLECT = ? FUNGI = natural herb garden ORE = blemished ore FISH = array of fish ROOTS = damp roots DEN = creature den SHRUB = natural garden WOOD = aged arbor STONE = unearthed stones
[Antonica] maxwander = 100 UseWayPoints = true Numofpoints = 13 waypoint1 = -520, 607, 100 waypoint2 = -662, 620, 100 waypoint3 = -639, 532, 100 waypoint4 = -575, 507, 100 waypoint5 = -615, 459, 100 waypoint6 = -577, 410, 100 waypoint7 = -572, 351, 100 waypoint8 = -635, 265, 100 waypoint9 = -703, 276, 100 waypoint10 = -710, 353, 100 waypoint11 = -633, 403, 100 waypoint12 = -601, 503, 100 waypoint13 = -558, 586, 100 COLLECT = ? ORE = callous ore STONE = sandwashed rock WOOD = wind felled tree SHRUB = plains shrubbery FUNGI = plains fungi ROOTS = plains roots DEN = critter den FISH = shoal of fish MISC = withered bones
[The Enchanted Lands] MaxWander = 50 UseWayPoints = False COLLECT = ? ORE = residual ORE STONE = rhythmic STONE WOOD = wretched arbor SHRUB = mystical natural garDEN FUNGI = fairy ring ROOTS = velvety ROOTS DEN = deer DEN FISH = throng of fish MISC = withered bones
[The Commonlands] Maxwander = 100 UseWayPoints = False COLLECT = ? ORE = cloven ore STONE = wind swept rock FUNGI = oasis fungi SHRUB = oasis shrubbery ROOTS = desert roots FISH = band of fish DEN = armadillo den WOOD = wind felled tree
[The Thundering Steppes] MaxWander = 100 UseWayPoints = False Numofpoints = 0 COLLECT = ? ORE = stonecrest ore STONE = wind swept stones WOOD = felled high plains arbor SHRUB = high plains shrubbery FUNGI = high plains fungi ROOTS = mesquite catch weed DEN = badger den FISH = mob of fish
[Zek, the Orcish Wastes] Maxwander = 100 UseWayPoints = False COLLECT = ? ORE = ferric ore STONE = mud stone WOOD = marred arbor SHRUB = flattened bed of thistle FUNGI = flattened natural herb garden ROOTS = vestigial roots DEN = lioness den FISH = fury of fish
[The Feerrott] maxwander = 100 UseWayPoints = False Numofpoints = 0 COLLECT = ? ORE = alluvium ORE STONE = hermetic STONE WOOD = putrid arbor SHRUB = overgrown bed of greenslade FUNGI = overgrown fairy ring ROOTS = dusty ROOTS DEN = manticORE DEN FISH = hatch of fish
[Rivervale] Maxwander = 100 UseWayPoints = False COLLECT = ? ORE = sedimentary ore STONE = lithic STONE FUNGI = tainted fairy ring SHRUB = tainted natural garden ROOTS = insidious roots FISH = bedlam of fish DEN = dire wolf den WOOD = corrupted arbor
Hmm, just got a strange idea, could you change your autorun key to something aside from \ and try again? This is a very unique key in VB and could very well be causing problems. Let me know the result please.
|
|
|
|
|
Posted: May 24th, 2005, 10:35 am
|
|
|
|
thewatcher
thewatcher's Reps:
|
tallaron";p="65590 (!empty($user->lang['WROTE'])) ? $user->lang['WROTE'] : ucwords(strtolower(str_replace('_', ' ', 'WROTE'))): By the way, I'm Smokey Watcher 
Yea, took me a min but I figured that out ). I really want to see your problem resolved before I release this next version so I hope you are looking into it as well.
|
|
|
|
|
Posted: May 24th, 2005, 11:05 am
|
|
|
|
thewatcher
thewatcher's Reps:
|
;RunToRange = 8 How close do we get to a what we are running to before we
; stop and consider ourselves 'there'.
; Use caution playing with this.
RunToRange = 8
Added Keyboard config options in the INI for the chat key and the shutdown key.
Chat = {ENTER}
ShutdownBot = {F11}
Last edited by Guest on May 24th, 2005, 12:44 pm, edited 1 time in total.
|
|
|
|
|
Posted: May 24th, 2005, 11:51 am
|
|
|
|
tallaron
tallaron's Reps:
|
Hehe, I look and look at this script stuff and try to figure it out but really don't know much about it. Hopefully you've seen my post from the Xunleashed log I made at Bug Tracker....it gives the line I guess the bugs on so hopefully that helps. Does that mean its EQ2Service problem or something up with your script? That would help me a bit so I stop staring at your script for hours if I don't need to, hehe 
|
|
|
|
|
Posted: May 24th, 2005, 12:41 pm
|
|
|
|
thewatcher
thewatcher's Reps:
|
Could you post your ini to the bugtracker for me under the bug you posted please? Just add a note.
|
|
|
|
|
Posted: May 24th, 2005, 6:59 pm
|
|
|
|
highkeep
highkeep's Reps:
|
EQ2Service load error 5 Invalid procedure call or argument, retrying.
I got that error above, so I reinstalled everything and reconfigured the .ini still not working.
|
|
|
|
|
Posted: May 24th, 2005, 8:01 pm
|
|
|
|
thewatcher
thewatcher's Reps:
|
I'd really like to know what could be causing that, works perfectly on my system and obviously on a lot of others. I'm really without ideas, anyone have suggestions?
|
|
|
|
|
Who is online |
|
Users browsing this forum: No registered users and 79 guests |
|
|
|