Wulfer Posted July 21, 2017 Report Share Posted July 21, 2017 I'm getting error mpmissions\DayZ_Overpoch11.Chernarus\scripts\traders\server_traders.sqf, line 1: '.':"" encountered instead '=' serverTraders = [ "RU_Citizen3","Rocker4","Profiteer4","Rita_Ensler_EP1","CIV_EuroMan01_EP1","CIV_EuroMan02_EP1","TK_GUE_Soldier_5_EP1","GUE_Soldier_MG","Worker2","Worker3","Woodlander1","UN_CDF_Soldier_Pilot_EP1","RU_WorkWoman1","Dr_Annie_Baker_EP1","RU_Citizen4","RU_WorkWoman5","RU_Citizen1","RU_Villager3","TK_CIV_Takistani04_EP1","Pilot_EP1","RU_Profiteer4","Woodlander3","Dr_Hladik_EP1","Doctor","HouseWife1","GUE_Woodlander2", "RU_Functionary1","GUE_Soldier_MG"]; Link to comment Share on other sites More sharing options...
ReDBaroN Posted July 21, 2017 Report Share Posted July 21, 2017 37 minutes ago, Wulfer said: I'm getting error mpmissions\DayZ_Overpoch11.Chernarus\scripts\traders\server_traders.sqf, line 1: '.':"" encountered instead '=' serverTraders = [ "RU_Citizen3","Rocker4","Profiteer4","Rita_Ensler_EP1","CIV_EuroMan01_EP1","CIV_EuroMan02_EP1","TK_GUE_Soldier_5_EP1","GUE_Soldier_MG","Worker2","Worker3","Woodlander1","UN_CDF_Soldier_Pilot_EP1","RU_WorkWoman1","Dr_Annie_Baker_EP1","RU_Citizen4","RU_WorkWoman5","RU_Citizen1","RU_Villager3","TK_CIV_Takistani04_EP1","Pilot_EP1","RU_Profiteer4","Woodlander3","Dr_Hladik_EP1","Doctor","HouseWife1","GUE_Woodlander2", "RU_Functionary1","GUE_Soldier_MG"]; can you put the whole file in a spoiler pls Link to comment Share on other sites More sharing options...
Wulfer Posted July 21, 2017 Report Share Posted July 21, 2017 Please Spoiler serverTraders = [ "RU_Citizen3","Rocker4","Profiteer4","Rita_Ensler_EP1","CIV_EuroMan01_EP1","CIV_EuroMan02_EP1","TK_GUE_Soldier_5_EP1","GUE_Soldier_MG","Worker2","Worker3","Woodlander1","UN_CDF_Soldier_Pilot_EP1","RU_WorkWoman1","Dr_Annie_Baker_EP1","RU_Citizen4","RU_WorkWoman5","RU_Citizen1","RU_Villager3","TK_CIV_Takistani04_EP1","Pilot_EP1","RU_Profiteer4","Woodlander3","Dr_Hladik_EP1","Doctor","HouseWife1","GUE_Woodlander2", "RU_Functionary1", // hero "GUE_Soldier_MG" // bandit ]; // Hero Vendor menu_RU_Functionary1 = [ [["Attachments",693],["Ammunition",478],["Currency and gems",1100],["Clothes",476],["Helicopter Armed",493],["Military Armed",562],["Trucks Armed",479],["Weapons",477],["LMG Variants",1008],["Sniper Variants",1001]], [], "hero" ]; // Bandit Traders menu_GUE_Soldier_MG = [ [["Attachments",693],["Ammunition",577],["Currency and gems",1100],["Clothing",575],["Helicopter Armed",512],["Military Armed",569],["Trucks Armed",534],["Weapons",627],["LMG Variants",1008],["Sniper Variants",1001]], [], "hostile" ]; // Ammunition neutral menu_RU_Citizen3 = [ [["Assault Rifle Ammo",621],["Light Machine Gun Ammo",622],["Pistol Ammo",625],["Shotguns and Single-shot Ammo",623],["Sniper Rifle Ammo",624],["Submachine Gun Ammo",626]], [], "neutral" ]; // Weapons neutral menu_Rocker4 = [ [["Attachments",693],["HK416 Variants",1004],["HK417 Variants",1002],["AK Variants",1003],["G3 Variants",1007],["Masada Variants",1009],["SCAR Variants",1011],["Assault Rifle",485],["Light Machine Gun",486],["Pistols",489],["Shotguns and Single-shot",574],["Sniper Rifle",487],["Submachine Guns",488]], [], "neutral" ]; // neutral Vehicles menu_Profiteer4 = [ [["Bikes and ATV",608],["Buses and Vans",563],["Cargo Trucks",564],["Fuel Trucks",492],["Military Unarmed",491],["Trucks",495],["Used Cars",585],["Utility Vehicles",565],["Cop cars",1012],["Nissan 350z",1013]], [], "neutral" ]; // General Store menu_Rita_Ensler_EP1 = [ [["Backpacks",538],["Currency and gems",1100],["Clothes",628],["Cooked Meats",630],["Drinks",601],["Packaged Food",629]], [["ItemTinBar","TrashJackDaniels",1,1,"buy","Empty Whiskey Bottle","Tin Bar",101]], "neutral" ]; // Weapons neutral menu_CIV_EuroMan01_EP1 = [ [["Attachments",693],["HK416 Variants",1004],["HK417 Variants",1002],["AK Variants",1003],["G3 Variants",1007],["Masada Variants",1009],["SCAR Variants",1011],["Assault Rifle",485],["Light Machine Gun",486],["Pistols",489],["Shotguns and Single-shot",574],["Sniper Rifle",487],["Submachine Guns",488]], [], "neutral" ]; // Ammunition Neutral menu_CIV_EuroMan02_EP1 = [ [["Assault Rifle Ammo",621],["Light Machine Gun Ammo",622],["Pistol Ammo",625],["Shotguns and Single-shot Ammo",623],["Sniper Rifle Ammo",624],["Submachine Gun Ammo",626]], [], "neutral" ]; // Neutral Building/Parts menu_TK_GUE_Soldier_5_EP1 = [ [["Building Supplies",678],["Currency and gems",1100],["Tools",679],["Vehicle Parts",677]], [], "neutral" ]; // Aircraft Dealer menu_Worker2 = [ [["Airplanes",517],["Currency and gems",1100],["Helicopter Unarmed",519],["Overwatch Camels (Armed)",1014]], [], "neutral" ]; // Vehicles Neutral menu_Worker3 = [ [["Bikes and ATV",608],["Buses and Vans",563],["Cargo Trucks",564],["Fuel Trucks",492],["Military Unarmed",491],["Trucks",495],["Used Cars",585],["Utility Vehicles",565],["Cop cars",1012],["Nissan 350z",1013]], [], "neutral" ]; // neutral Building/Parts menu_Woodlander1 = [ [["Building Supplies",678],["Tools",679],["Vehicle Parts",677]], [], "neutral" ]; // neutral Vehicles 2 menu_UN_CDF_Soldier_Pilot_EP1 = [ [["Bikes and ATV",608],["Buses and Vans",563],["Cargo Trucks",564],["Fuel Trucks",492],["Military Unarmed",491],["Trucks Unarmed",535],["Used Cars",585],["Utility Vehicles",565],["Cop cars",1012],["Nissan 350z",1013]], [], "neutral" ]; // General Store 2 menu_RU_WorkWoman1 = [ [["Backpacks",538],["Clothes",628],["Cooked Meats",630],["Currency and gems",1100],["Drinks",601],["Packaged Food",629]], [["ItemTinBar","TrashJackDaniels",1,1,"buy","Empty Whiskey Bottle","Tin Bar",101]], "neutral" ]; // Medical Supplies menu_Dr_Annie_Baker_EP1 = [ [["Chem-lites/Flares",542],["Medical Supplies",541],["Smoke Grenades",543]], [["FoodBioMeat","ItemZombieParts",1,1,"buy","Zombie Parts","Bio Meat",101]], "neutral" ]; // East Wholesaler menu_RU_Citizen4 = [ [["Wholesale",675],["Currency and gems",1100]], [], "neutral" ]; // General Store 3 menu_RU_WorkWoman5 = [ [["Backpacks",538],["Clothes",628],["Cooked Meats",630],["Currency and gems",1100],["Drinks",601],["Packaged Food",629]], [["ItemTinBar","TrashJackDaniels",1,1,"buy","Empty Whiskey Bottle","Tin Bar",101]], "neutral" ]; // West Wholesaler menu_RU_Citizen1 = [ [["Wholesale",675],["Currency and gems",1100]], [], "neutral" ]; // Boat Vendor menu_RU_Villager3 = [ [["Boats Armed",673],["Boats Unarmed",672]], [], "neutral" ]; // Weapons neutral 2 menu_TK_CIV_Takistani04_EP1 = [ [["Attachments",693],["HK416 Variants",1004],["HK417 Variants",1002],["AK Variants",1003],["G3 Variants",1007],["Masada Variants",1009],["SCAR Variants",1011],["Assault Rifle",485],["Light Machine Gun",486],["Pistols",489],["Shotguns and Single-shot",574],["Sniper Rifle",487],["Submachine Guns",488]], [], "neutral" ]; // Ammunition Neutral 2 menu_Pilot_EP1 = [ [["Assault Rifle Ammo",621],["Light Machine Gun Ammo",622],["Pistol Ammo",625],["Shotguns and Single-shot Ammo",623],["Sniper Rifle Ammo",624],["Submachine Gun Ammo",626]], [], "neutral" ]; // Vehicles Neutral 2 menu_RU_Profiteer4 = [ [["Bikes and ATV",608],["Buses and Vans",563],["Cargo Trucks",564],["Fuel Trucks",492],["Military Unarmed",491],["Trucks",495],["Used Cars",585],["Utility Vehicles",565],["Cop cars",1012],["Nissan 350z",1013]], [], "neutral" ]; // Neutral Building/Parts menu_Woodlander3 = [ [["Building Supplies",678],["Tools",679],["Vehicle Parts",677]], [], "neutral" ]; // Medical Supplies 2 menu_Dr_Hladik_EP1 = [ [["Chem-lites/Flares",542],["Medical Supplies",541],["Smoke Grenades",543]], [["FoodBioMeat","ItemZombieParts",1,1,"buy","Zombie Parts","Bio Meat",101]], "neutral" ]; // Medical Supplies 3 menu_Doctor = [ [["Chem-lites/Flares",542],["Medical Supplies",541],["Smoke Grenades",543]], [["FoodBioMeat","ItemZombieParts",1,1,"buy","Zombie Parts","Bio Meat",101]], "neutral" ]; // Boat Trader 2 menu_HouseWife1 = [ [["Boats Armed",673],["Boats Unarmed",672]], [], "neutral" ]; // Black market menu_GUE_Woodlander2 = [ [["Attachments",693],["Currency and gems",1100],["Overwatch Ammo",1006],["Black Market Ammo",527],["Black Market Weapons",526],["Explosives",529]], [], "neutral" ]; Link to comment Share on other sites More sharing options...
ReDBaroN Posted July 21, 2017 Report Share Posted July 21, 2017 and you're using overwatch traders yes? so, did you leave the call in the init to look like this: call compile preprocessFileLineNumbers "scripts\traders\server_traders.sqf"; and then copy the contents of server_traders - overwatch.sqf into server_traders.sqf ? Link to comment Share on other sites More sharing options...
Wulfer Posted July 21, 2017 Report Share Posted July 21, 2017 ReDBaroN thanks for help, it just started working correctly... I don't know why too... ReDBaroN 1 Link to comment Share on other sites More sharing options...
JohnnyBravo666 Posted July 22, 2017 Report Share Posted July 22, 2017 @salival Hey I noticed you had at the end of the install instructions here a line of code to give players money either in their wallets or in the bank if they are new. Would you know to put a specific item on the player only when they are new ? I tried that method and putting in some code and it's not working for me. Not sure if I put it in the same spot or in the ESSV3 mod. Link to comment Share on other sites More sharing options...
salival Posted July 22, 2017 Author Report Share Posted July 22, 2017 14 minutes ago, JohnnyBravo666 said: @salival Hey I noticed you had at the end of the install instructions here a line of code to give players money either in their wallets or in the bank if they are new. Would you know to put a specific item on the player only when they are new ? I tried that method and putting in some code and it's not working for me. Not sure if I put it in the same spot or in the ESSV3 mod. You would need to put it into ESS since it would fuck with the inventory of the player during spawning. If you wanted to add it to the players body: https://github.com/ebayShopper/ESSV3/blob/master/spawn/main.sqf#L130 If you want to add it to the players backpack: https://github.com/ebayShopper/ESSV3/blob/master/spawn/main.sqf#L133-L138 You would need to check against: PVCDZ_plr_Login select 8 to see if they are a new player or not. I do this on my server for starterkits for new players and it works great. Link to comment Share on other sites More sharing options...
JohnnyBravo666 Posted July 22, 2017 Report Share Posted July 22, 2017 9 minutes ago, salival said: You would need to put it into ESS since it would fuck with the inventory of the player during spawning. If you wanted to add it to the players body: https://github.com/ebayShopper/ESSV3/blob/master/spawn/main.sqf#L130 If you want to add it to the players backpack: https://github.com/ebayShopper/ESSV3/blob/master/spawn/main.sqf#L133-L138 You would need to check against: PVCDZ_plr_Login select 8 to see if they are a new player or not. I do this on my server for starterkits for new players and it works great. Hahaha that's exactly what I was using this for lol. Much easier than having to tp to the new player once they find their spot. With checking against the PVCDZ_plr_Login select 8, would it be similar to this? Spoiler //Do Connection Attempt _doLoop = 0; while {_doLoop < 5} do { _key = format["CHILD:101:%1:%2:%3:",_playerID,dayZ_instance,_playerName]; _primary = _key call server_hiveReadWrite; if (count _primary > 0) then { if ((_primary select 0) != "ERROR") then { _doLoop = 9; }; }; _doLoop = _doLoop + 1; }; if (isNull _playerObj or !isPlayer _playerObj) exitWith { diag_log ("LOGIN RESULT: Exiting, player object null: " + str(_playerObj)); }; if ((_primary select 0) == "ERROR") exitWith { diag_log format ["LOGIN RESULT: Exiting, failed to load _primary: %1 for player: %2 ",_primary,_playerID]; }; //Process request _newPlayer = _primary select 1; _isNew = count _primary < 10; //_result select 1; _charID = _primary select 2; //diag_log ("LOGIN RESULT: " + str(_primary)); /* PROCESS */ _hiveVer = 0; Sorry I'm not entirely sure how to check for something like this.. Link to comment Share on other sites More sharing options...
Cherdenko Posted July 25, 2017 Report Share Posted July 25, 2017 @salival and all the others: if you are using this coin script+infistar+start money, you will need this fix: Link to comment Share on other sites More sharing options...
DAKA Posted July 25, 2017 Report Share Posted July 25, 2017 This is one option i changed and I seem to load into the game better. I am also wondering, how do you add coins to new players when they join the server? I have never been able to figure this out. Link to comment Share on other sites More sharing options...
salival Posted July 25, 2017 Author Report Share Posted July 25, 2017 13 minutes ago, DAKA said: This is one option i changed and I seem to load into the game better. I am also wondering, how do you add coins to new players when they join the server? I have never been able to figure this out. https://github.com/oiad/ZSC#giving-new-players-coins-on-their-first-login Link to comment Share on other sites More sharing options...
_Lance_ Posted July 29, 2017 Report Share Posted July 29, 2017 Hey Salival, I've been trying to tighten up my be filters since I had someone clear my db (luckily I take snapshots heh) and in the process I've been working some important parts from the stock epoch/overpoch scripts file into my "weak" infistar scripts file - and I had most everything worked out I thought but when I re-added the suggested changes for this mod back in - I'm getting a scripts kick now at logon. I tried to patch it up a couple different ways but it seems I'm making the exception incorrectly still. Was wondering if you would look at it and tell me the correct way to make an exception for this? Line (line14 in mine) in scripts.txt that is causing the kick: 5 closeDisplay !="((ctrlParent (_this select 0)) closeDisplay 9000);" What's showing up in the logs: - #14 " 102; _valueText = _paramCtrl lbText 1; (findDisplay 146) CloseDisplay 2; _test = count (toArray _valueText); disableUserInput f" seems to happen to everyone who logs in, myself included. For now I have it set to log only so players can get logged in. Any help/advice would be greatly appreciated. Link to comment Share on other sites More sharing options...
salival Posted July 30, 2017 Author Report Share Posted July 30, 2017 13 hours ago, _Lance_ said: Hey Salival, I've been trying to tighten up my be filters since I had someone clear my db (luckily I take snapshots heh) and in the process I've been working some important parts from the stock epoch/overpoch scripts file into my "weak" infistar scripts file - and I had most everything worked out I thought but when I re-added the suggested changes for this mod back in - I'm getting a scripts kick now at logon. I tried to patch it up a couple different ways but it seems I'm making the exception incorrectly still. Was wondering if you would look at it and tell me the correct way to make an exception for this? Line (line14 in mine) in scripts.txt that is causing the kick: 5 closeDisplay !="((ctrlParent (_this select 0)) closeDisplay 9000);" What's showing up in the logs: - #14 " 102; _valueText = _paramCtrl lbText 1; (findDisplay 146) CloseDisplay 2; _test = count (toArray _valueText); disableUserInput f" seems to happen to everyone who logs in, myself included. For now I have it set to log only so players can get logged in. Any help/advice would be greatly appreciated. I would just do: !"(findDisplay 146) CloseDisplay 2;" So you would do: 5 closeDisplay !="((ctrlParent (_this select 0)) closeDisplay 9000);" !"(findDisplay 146) CloseDisplay 2;" _Lance_ 1 Link to comment Share on other sites More sharing options...
_Lance_ Posted July 30, 2017 Report Share Posted July 30, 2017 Ok will give this a try for the closedisplay kick. When I set that one to log only then I started getting login kicks for createmarker, set that to log only and then got login kicks for deletemarker, set that to log only and got a login kick for createdialog lol - finally after setting that one to log only, players and I were able to login - so it looks like I have 4 kicks total- most due to different community mods I'm using -and some work to do but this is a great start, hopefully the other kicks will be more straightforward to make exceptions for. Beyond filters I'm blocking new steam accounts now and anyone connecting through a vpn or proxy so things are much tighter already than they were on Friday morning. Thanks again! Link to comment Share on other sites More sharing options...
JasonTM Posted July 30, 2017 Report Share Posted July 30, 2017 1 hour ago, _Lance_ said: Ok will give this a try for the closedisplay kick. When I set that one to log only then I started getting login kicks for createmarker, set that to log only and then got login kicks for deletemarker, set that to log only and got a login kick for createdialog lol - finally after setting that one to log only, players and I were able to login - so it looks like I have 4 kicks total- most due to different community mods I'm using -and some work to do but this is a great start, hopefully the other kicks will be more straightforward to make exceptions for. Beyond filters I'm blocking new steam accounts now and anyone connecting through a vpn or proxy so things are much tighter already than they were on Friday morning. Thanks again! Those kicks are for some other mod. ZSC does not create or delete markers. Be careful that you escape double quotes in your scripts.txt with backslashes \. Use the find feature in notepad ++ and mark all double quotes and make sure they are escaped except for the start and end double quotes. You should be doing this stuff on a test server BTW. Link to comment Share on other sites More sharing options...
_Lance_ Posted July 30, 2017 Report Share Posted July 30, 2017 1 hour ago, JasonTM said: Those kicks are for some other mod. ZSC does not create or delete markers. Be careful that you escape double quotes in your scripts.txt with backslashes \. Use the find feature in notepad ++ and mark all double quotes and make sure they are escaped except for the start and end double quotes. You should be doing this stuff on a test server BTW. In my post I said they were from a different mod, they appear to be from the "locate vehicles" script so if I can't get exceptions working for those I'll post in that thread and ask for a hand. Have made a ton of working exceptions this weekend but these last 4 are tricky. - I don't know what you mean about escaping double quotes in the scripts.txt with backslashes - right over my head man - even at the 9 month mark I just haven't learned that far yet. - And trust me after this weekend I'll setup a test server again so I don't stress out my regular visitors while patching up and learning more about security. Link to comment Share on other sites More sharing options...
JasonTM Posted August 2, 2017 Report Share Posted August 2, 2017 On 7/30/2017 at 3:10 PM, _Lance_ said: In my post I said they were from a different mod, they appear to be from the "locate vehicles" script so if I can't get exceptions working for those I'll post in that thread and ask for a hand. Have made a ton of working exceptions this weekend but these last 4 are tricky. - I don't know what you mean about escaping double quotes in the scripts.txt with backslashes - right over my head man - even at the 9 month mark I just haven't learned that far yet. - And trust me after this weekend I'll setup a test server again so I don't stress out my regular visitors while patching up and learning more about security. Ebay explains how to escape double quotes in his battleye filter guide. http://opendayz.net/threads/a-guide-to-battleye-filters.21066/ If you don't, your filters won't work right. Link to comment Share on other sites More sharing options...
_Lance_ Posted August 2, 2017 Report Share Posted August 2, 2017 I had never messed with ANY code before I started running an server last fall so I didn't know the terminology - but YES I am clear on the correct way to make MOST exceptions, I just have trouble with some of the more complicated ones like I posted above (its complicated for me anyways until I learn more) - thx man Link to comment Share on other sites More sharing options...
irok Posted August 8, 2017 Report Share Posted August 8, 2017 Salival I installed This and i got the currency to work and so on.. And im trying to install so we can save money in the bank.. So far i got the bank dude so you can see him in the traderzones but when you walk up to him there is no menu.. Can you think what i might forgot? /Irok Link to comment Share on other sites More sharing options...
JasonTM Posted August 8, 2017 Report Share Posted August 8, 2017 1 hour ago, irok said: Salival I installed This and i got the currency to work and so on.. And im trying to install so we can save money in the bank.. So far i got the bank dude so you can see him in the traderzones but when you walk up to him there is no menu.. Can you think what i might forgot? /Irok Replace the fn_selfActions.sqf with the one included in the global_banking folder. It is in this directory in the download: global_banking/dayz_code/compile/ Thug 1 Link to comment Share on other sites More sharing options...
Thug Posted August 8, 2017 Report Share Posted August 8, 2017 @irok Have you added anything else to the fn_selfActions.sqf file? If so, merge the two files that JasonTM is talking about. If not do what he said above. Link to comment Share on other sites More sharing options...
irok Posted August 8, 2017 Report Share Posted August 8, 2017 I have replaced all the files from global banking.. The only thing i cannot replace is the init and the description.. since im renting my server from survival.. And thier system is.. yeah.. anywho.. I tryed to add all the lines and need to add in the init and the description.. still no luck :(( Thx for response! Link to comment Share on other sites More sharing options...
_Lance_ Posted August 8, 2017 Report Share Posted August 8, 2017 14 minutes ago, irok said: I have replaced all the files from global banking.. The only thing i cannot replace is the init and the description.. since im renting my server from survival.. And thier system is.. yeah.. anywho.. I tryed to add all the lines and need to add in the init and the description.. still no luck :(( Thx for response! If you're not getting menus from what your cursor is on, it's related to fn_selfActions.sqf - Be sure you used the global banking one, and if you have VKC you need to check your merge. I had the same problem and had to re-merge, I was using diffmerge and already had vehicle key changer edits already in my selfactions so it was a tricky merge. I ended up having to ask for help, and while waiting for a response I tried winmerge and got it right on the 2nd try (winmerge is just better, try it if you're not using it already) recompare your fn_selfactions especially if you're using vehicle key changer and you probably just need to attempt a re-merge. Good luck! EDIT: Also it's a known thing that it take a couple seconds for those menus to popup sometimes, especially right after the server starts. Make sure you gave it a few seconds, try looking through your rifle sights at the functionary as well to make sure that's not all it is. If it's fn_selfactions causing your problem you may not get menus from any npc your cursor is on. Link to comment Share on other sites More sharing options...
irok Posted August 8, 2017 Report Share Posted August 8, 2017 Yeah i know the thing with looking thru the rifle sight or zooming in on the trader.. Im not extatly sure what you mean when you say "merge" I used the fn_selfActions.sqf from the global banking folder.. So i shouldent have to change anything in it, right?? Thx for good response! Ps. all the other trader menus are working.. maybe that dosent mean anything.. but thought i tell you that Link to comment Share on other sites More sharing options...
DAKA Posted August 8, 2017 Report Share Posted August 8, 2017 30 minutes ago, irok said: I have replaced all the files from global banking.. The only thing i cannot replace is the init and the description.. since im renting my server from survival.. And thier system is.. yeah.. anywho.. I tryed to add all the lines and need to add in the init and the description.. still no luck :(( Thx for response! I rented from them and should have full FTP access to modify those 2 files. I did it all the time. If they have truely locked you out of those files, you will have a hard time do a lot of mods, since those files are used in so many mods. I would be more than happy to assist, since I have rented from them before. Just send me a private message. Link to comment Share on other sites More sharing options...
Recommended Posts