Inactive [SEC/MECH/ECON] Residence v2.4.2 - Self serve area protection system! Buy/Sell Land! Economy! [1185]

Discussion in 'Inactive/Unsupported Plugins' started by bekvon, Mar 21, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    bekvon

    MOVED TO DEV BUKKIT:
    [​IMG]
    News

    v2.4.2 Released - 9/24/2011​
    See the change log for details.​
    Everyone using PermissionsEx, Essentials, or anything else besides the regular permissions plugin or PermissionsBukkit should add or change this in their config under the Global section:
    LegacyPermissions: true
    As of 2.4.0 the bPermissions plugin is supported directly.​
    As of 2.3.7 the PermissionsBukkit plugin is supported directly.​
    This support is not done through the new built in Permissions that bukkit provides, because there is no way to get a players group using the built in methods. However, by supporting this directly, you can now use the new permissions system while still keeping Residence, and not having to use old permissions at all anymore.​

    Latest Recommended Build
    Version: v2.4.2
    Download: Residence

    Latest Development Build
    Latest Snapshot: Residence.jar
    Latest Config: config.yml

    Links
    Developer API: Wiki
    GitHub Source: GitHub
    DevBukkit Project Page: DevBukkit

    [​IMG]

    Contributors:
    Daniel Few (Wiki)​
    Linaks (Residence Logo)​
    SirHedgehog (Code)
    GSValore (Code)​
    Samkio (Wiki Video)​
    JustinGuy (Code)​

    Addons:
    Residence Signs (by KarnEdge)​

    NOTE: All Residence usage information has been moved to the wiki!

    About:
    Residence is different from most protection plugins in that it aims for the users to be able to protect their own homes without having to bother the admin to do it. Residence has support for a variety of different protection types including preventing movement through areas, all of which can be configured by the land owner, and limited by the admin.​
    Features:
    Features (open)

    • Allows players to define protected areas for themselves.
    • Individual permissions for each protected area. Land owner can give / deny permissions globally or to other specific players.
    • Different permissions per land include: move, build, use, pvp, fire, teleport, monsters spawn, damage prevention
    • Support for group permissions on protections.
    • Multi-World support.
    • Teleport system to allow users to teleport to residences.
    • Collision detection system to prevent residences from overlapping.
    • Limits to protected size can be set up by the admin.
    • Limits to number of protected areas per player can be set.
    • Two ways to select land including using the select command, or using a item to select 2 points.
    • Messages when you enter / leave a residence. (customizable)
    • Land "leasing" system which requires users to renew the lease on their protection every X number of days or loose the protection. (off by default, see config file)
    • Recursive Sub-zoning. Create zones within zones, and then zones within those zones...
    • TONS of configuration for admins. Customize every single flag that players can or cannot use in the config file, based on their permissions group.
    • (Optional) IConomy support, can set up cost per X number of blocks protected.
    • (Optional) Permissions support.
    • In-game help / commands descriptions

    ChangeLog
    v2.4.2
    • Fix bug affecting some people with the new save system
    v2.4.1
    • Support for iConomy 6
    • Prevent enderman from messing with blocks in residences with the -build flag.
    • Paintings are now protected properly (Thanks JustinGuy!)
    • Fix Rent auto-renew bug.
    • Fix other miscellaneous small bugs.
    ChangeLog (open)

    v2.4.0
    • Support for bPermissions
    • Add "/res pset <residence> [player] removeall" command to remove all flags for that player
    • Added console only command "/resworld remove [world]" to remove all residences in a world.
    • "/res remove" now requires confirmation using the "/res confirm" command, before removing a residence.
    • Fixed subzone flag.
    • Fixed a few null pointer exceptions related to the "/res message" command, and a few other issues with it as well.
    • Fixed few cosmetic rent message bugs.
    • Fixed few mispellings...
    v2.3.9
    - Added name filter to Residences to prevent characters that mess up YML from being used. This should fix many of the errored YML files that people have been getting.
    - Fixed arrow damage in no-pvp zones (bug introduced in the Residence 1060 update).
    - Added a "Permissions Group" line of text into /res limits, this will show your Permissions group as reported by Residence.

    v2.3.8
    - Fixes to better handle the piston flag, and world "flow" flags (thx JustinGuy :) )
    - "Use" flag now covers trap doors.
    - Lease renewal can now be pulled from the Residence's bank.
    - Buying a residence now causes the default flags to be set for the user who is buying it.
    - Minor fixes to new PermissionsBukkit support (fix message about permissions not being detected when it actually was)
    - Added a few miscellaneous forgotten commands to the in-game Residence help.

    v2.3.7
    • Added direct support for PermissionsBukkit (doesn't go through the bukkit API)
    • Added LegacyPermissions true/false config option.
    v2.3.6
    • Support for residence.admin and residence.create permission nodes using new permission system.
    • Recommend using SuperPermsBridge or something that ensures backwards compatibility with old permissions.
    • Few permission changes to hopefully make it work better.
    v2.3.5
    • Fix for firespread flag with CB1000.
    • Added "piston" flag.
    v2.3.4
    • Fixes for CB1000
    • Fixes for a few minor bugs, and for concurrent modification issue with the Lease Manager.
    v2.3.3
    • Removed subzone list from /res info, and gave it its own command that supports multiple pages, /res sublist <residence> <page>
    • If the save file errors, it will now be preserved rather then overwritten, it will be renamed res-ERRORED.yml, the plugin will now disable itself upon error as well unless the StopOnSaveFault option in the config is set to false.
    • Fixed non-working per-world flags.
    • Fixed a few message bugs.
    • Add /resadmin removeall <player> admin command to remove all residences owned by a player.
    v2.3.2
    • Changed MaxUpDown in the default config to 128...
    • Fixed issue with /res vert still selecting more then the MaxUpDown allowed.
    v2.3.1
    • Fixed a few initial issues with a couple language localization messages.
    • Removed area list from /res info, use /res area list [residence] or /res area listall [residence] now.
    v2.3
    • New language localization system, upon first run v2.3 will create a Languages folder under your Residence config folder with the default English.yml file.
    • New in-game help system. (part of the new language localization system)
    • All commands now run without admin privileges unless you specify /resadmin before.
    • Added config option to allow rented residences to be modifiable. (PreventRentModify option)
    • Fixes to improve compatibility with Permissions 3.X
    • /res listall now has pages
    • Added the "physics" flag to control block movement. (separated from the flow flag more like)
    • New ResidenceTPEvent, and ResidenceRentEvent API events
    • Fixed residences not being properly removed from lease / rent system, upon deletion.
    • Fixed bug related to default group option in the config.
    • Fixed global "container" flag bug.
    • Fixed some NPE's related to explosions.
    • Added /resload command to load the save file after you make changes to it (UNSAFE, as it does not save residences first, and so you may loose new residences that were just created)
    v2.2
    • Added per residence Blacklist/Ignorelists that will allow you to specify certain block types to be ignored from residence protections, or unable to be placed in residences.
    • Added Server owned land, use /resadmin server <residence> to change the owner to "Server Owned"
    • Added global Ignorelists which allow certain block types to become unprotectable for the whole world / for a specific user group.
    v2.1.3
    • Fixed a couple bugs with the lease system, including being enabled when it shouldn't be and the lease auto-renew option.
    v2.1.2
    • Added "/res area replace" command, allows you to resize / move a physical area. If the new area is bigger, it will only charge you for the difference in size.
    • Added 'waterflow' and 'lavaflow' flags which override the flow flag if set.
    • Fixed a bug causing money to still be charged when failing to add a area to a residence.
    v2.1.1
    • Fix case sensitivity bug in rent system.
    v2.1
    • BOSEconomy support.
    • Essentials Economy support.
    • RealShop Economy support.
    • Added the 'place' and 'destroy' flags, which if used overrule the 'build' flag. These allow you to give only block placement permissions in a certain area, or only block destroy permissions.
    • /res check [residence] [flag] <player> command, this command evaluates if <player> is affected by [flag] at [residence]. You can leave off <player> and it will use your name.
    • Added a LeaseAutoRenew config option, that will cause leases to automatically renew so long as the player has the money to do so. Note that, if economy is disabled this doesn't work, as there would be no point to leases. Needs Testing! :)
    • Global FlagPermission config section, that allows you to give permission to use a flag to all groups, useful for the build / move / use flag that you almost definitely want everyone to have access to. Flags under each individual group will overrule these.
    • You can now set a limits on how deep or how high protections can go into the group, using each groups MinHeight and MaxHeight settings.
    • /res select sky, and /res select bedrock commands, these auto adjust to the above mentioned MinHeight and MaxHeight settings, so it won't select into a area you can't protect.
    • Rent system implemented.
    • Many bug fixes, including proper creeper explosion prevention now. Also, fixed some bugs when renaming residences.
    • New healing flag.
    • The monsters flag has been split up into "animals" and "monsters" now.
    • New Developer API, including custom Bukkit events.
    • New Global CreatorDefault / GroupDefault / ResidenceDefault flag sections to help clean up the Groups section, and remove redundant flags.
    • Probably some other minor things I've forgot :)
    v2.0
    - Residence 2.0 now in alpha testing, core code has been mostly rewritten.​
    - Supports multiple areas per residence using '/res area <add/remove>' commands.​
    - Added new selection commands '/res select expand' and '/res select shift'​
    - Added Predefined permission lists that can be applyed to residences.​
    - Enter / Leave messages now support %player, %owner and %area variables.​
    - Config file has been cleaned up and most things are better named.​
    - Should be fixed to work with newer iConomy versions.​
    - Save system now only uses yml as save format.​
    - Save system wont corrupt the whole file if one residences gets corrupted, you just loose that one residence.​
    - When a residence changes owner, flags are set to default for that owner.​
    - Added '/res default' command to manually reset flags to default.​
    - Released source code for v2.0​

    v1.2.8 - BETA
    - Fixed broken flag setting permissions.​

    v1.2.7 - BETA
    - Fixed chests being able to be opened from outside protected area.​
    - Fixed enter/leave message (hopefully)​
    v1.2.6 - BETA
    - Updated for CB 612 / Minecraft 1.4​
    v1.2.5 - BETA
    - Fixed tiny bug in saving messages.​
    - yml is now the default save format because its more reliable.​

    v1.2.4 - BETA
    - Fixed bug related to fire / ignite event.​
    - Added ability to remove enter / leave messages​

    v1.2.3 - BETA
    - Added a optional different save system, you can now save residences in pure YML format (same format as config files). See the config file for how to enable.​

    v1.2.2 - BETA
    - Fixed TP bug.​

    v1.2.1 - BETA
    - Fixed bug in new saving system.​

    v1.2 - BETA
    - New save system, will attempt to auto-convert from old system.
    - Fixed some permission bugs when not using permissions plugin.​
    - OPs are now residence admins when not using permissions.​
    - Fixed collisions detection issues related to having multiple worlds.​
    - Added global pvp setting.​
    - Added a "flow" flag to control water/lava flow in residences.​
    v1.1.9 - BETA
    - Fixed a severe bug when not using permissions.​

    v1.1.8 - BETA
    - Fixed a subzone bug.​
    v1.1.7 - BETA
    - Added ability to buy and sell land using /res market commands.​
    - Added a land leasing system which can be configured to expire protections if they are not renewed after a period of time. See the /res lease command. (this is off by default, turn it on and customize it in the config)​
    - Implemented a Auto-Save interval. Saves residence areas every X minutes.​
    - Fixed minor onBlockIgnite error.​
    - Added a few admins commands using /resadmin.​

    v1.1.6 - BETA
    - Fixed spaces not working in enter / leave messages.​

    v1.1.5 - BETA
    - Added Enter / Leave messages for Residences, as well as a permission option in the config to allow / deny changing of them.​
    - Fixed residence admins not being able to modify the outside world when using deny build rights outside of residences.​
    - Fixed issue related to default group.​
    - Added a config option to specify the default group.​

    v1.1.4 - BETA
    - Fixed bug in group permissions...​
    v1.1.3 - BETA
    - Changed the configuration vastly again, server admins now have control over every flag for every group.​
    - Group permissions implemented, but in need of TESTING! :)
    - World permission implemented (default world permissions for when you are not in a residence zone)​
    - Fixes subzone collision bug.​

    v1.1.2 - BETA
    - Fixed residence admins still requiring IConomy money.​
    - Fixed a bug with TNT explosions.​

    v1.1.1 - BETA
    - Fixed bug breaking subzone permissions.​

    v1.1 - BETA
    - Recusive sub-zoning, make subzones within zones, and then subzones within those subzones :)
    - Different limits based on permissions group​
    - New setting for choosing the selection tool item id.​
    - Anti-lag configuration option.​
    - Moved some permissions into the config file.​
    - All protections are now OFF by default.​

    v1.0.1 - 3/21/2011
    - Added permissions / config option to disable teleports.​

    v1.0 - 3/20/2011
    - Initial Release​

    Bug Reports:
    Please include at minimum the following information with all bug reports:
    • CraftBukkit Version
    • Residence Version
    • What you were doing when the error occurred.
    If available, also include:
    • Any server console error messages
    • Other plugins that may be causing the issue
     
  2. Offline

    Bios Element

    Any idea why cows refuse to spawn when monsters are disabled? I don't think they're actually a 'monster'. >.>
     
  3. Offline

    cpalms

    im trying to use this alongside Towny but all the /res commands register to towny rather than residence.
    any way to fix this?
     
  4. Offline

    Fuzzwolf

    I think Towny's config allows you to define the command roots. For example, you could delete /res in Towny and only use /r.
     
  5. Offline

    KarnEdge

    @bekvon
    Residence v2.3.3

    Method for ResidenceManager is spelled wrong (in the coding, not wiki):
    - Code: ResidenceManager rmanager = Residence.getResidenceManger();

    .getRentableCount and .getRentCount methods require String values, but I don't know what value to use?
    - I've tried using player and residence names toString but they always return 0

    A big help to Developer API would be releasing the JavaDOCS, would you be able to release that?

    Using .rent method under RentManager seems to completely circumvent any settings in the config except money wise. With my plugin, I have it so you can rent a house by right clicking a sign and it does some preliminary checks to make sure it's rentable and it isn't already rented, but I can't figure out how to check against if the player right-clicking is allowed to rent or if they aren't already at their max rents. I thought the .rent method would automatically check against this and give the error itself but I guess not. It will give a succes message and allow people to rent more than their MaxRents.
    Code:
    RentManager rm = Residence.getRentManager();
    rm.rent(player, landName, true, true);
    One last question, what is the last boolean value for in the rent and setForRent methods?
    Code:
    rm.rent(player, landName, true, true);
    rm.setForRent(player, landName, cost, days, true, true);
    I know the first boolean is for AutoRenew but theirs no documentation on the last one.

    Thanks!
     
  6. Offline

    bekvon

    Lol at the misspelling, can't believe i never noticed that :D wonder if I should fix it or not, if I do fix it anyone using it will have to fix it too. The Netbeans IDE I use always auto-completes the functions as I type them, which is probably why I never noticed it :D

    The getRentableCount should take the player name as a argument, it shouldnt be case sensitive either. Use player.getName() to send it the player name, NOT player.toString()

    I havn't built any JavaDOCS yet, I dont really need or use them. But I guess I could try to make / upload some.

    The last boolean in the .rent method tells it to run as admin or not. If it does run as admin, limits will be ignored.

    Hopefully that helps :)

    Il look at that heh, I might have forgotten cows :)

    No, but all commands have to start with /resadmin now, otherwise the run without admin privledges. This is to allow admins to play the game as a regular player still.

    Found it, its a minor issue that can happen if you do "/res select" without anything after it. Will fix it. :)
     
  7. Offline

    thernztrom

    Hmm, I've never thought about it, but how does Residence store the residences? I can never remember i filled in any mysql info, neither there are any sql/h2 files in the residence folder. :confused:
    I started thinking of this as I've noticed that residences I've set have dissapeared several times.. :(
     
  8. Offline

    Insanehero

    Does this plugin override WorldGuard regions? Say I want to make a Residence plot in a city protected by WorldGuard. Is that possible?
     
  9. Offline

    ROFLBOB

    I'm having another problem. I set up a market place and my idea was to have rentable plots on which people could purchase. But when I finally opened it and had some people rent the plots, they can't place any blocks. As far as I can tell, my permissions are set up properly. Any ideas?
     
  10. Offline

    simcop2387

    I've noticed today that I'm unable to use the plugin from the console. I can get the help but that's it, no info command or even pset. Is there any way to enable this? I understand that creation of a Residence doesn't make sense but being able to fix permissions or do other admin stuff (set owner, etc) would be nice.
     
  11. Offline

    KarnEdge

    Yes, it does... after I wrote that post. I tried switching the last boolean to false and it solved the problem with people going beyond their limits lol, so I figured it was like /resadmin pretty much. As for the player.getName(), sorry I guess it slipped my mind to even use that.

    For the JavaDocs, it's not a huge deal but would help when finding specific methods and classes to use. I use eclipse and it autocompletes as well, so that's why I noticed the getResidenceManger thing.

    Thanks again! I should have a Residence Sign mod up soon to compliment this great mod.
     
  12. Offline

    Pixelzz

    whats the difference between towny and residence?
     
  13. Offline

    Sharpie-o

    I've got a lil BIG problem. I'm using CB 953, Permissions 3.x and Residence. I allowed users to create their own residences, but even if they FLAG the default group, other users STILL can break trhough. Build=false isn't working.. :S

    What can I do?
     
  14. Offline

    MunkyCheez

    okay, so i am starting to get a little frustrated. i can not get more than just the default group to work.
    my question, that happens to have no answer anywhere on the web, is this.

    How do you add extra groups and it WORK?

    i am using permissions 3.x, and iconomy.

    please.
     
  15. Offline

    GmK

    Put this line in your config.yml:

    PreventRentModify: false

    Always check the updated config.yml when you update versions! (https://raw.github.com/bekvon/Residence/master/src/config.yml )
     
  16. Offline

    KrebsCOHO

    Is there a way to sell subzones properly? Seems like I'm able to put subzones onto the market however I can't put a proper price on them.

    For example, Residence called Test with subzone 1 = Test.1

    /res market sell Test.1 200

    That makes Test.1 go for sale for 1 dollar
     
  17. Offline

    Phanku

    2011-07-18 05:50:51 [INFO] [Residence] - Saved Residences...
    2011-07-18 05:50:51 [WARNING] Task of 'Residence' generated an exception
    java.util.ConcurrentModificationException
    at java.util.LinkedHashMap$LinkedHashIterator.remove(Unknown Source)
    at com.bekvon.bukkit.residence.protection.LeaseManager.doExpirations(LeaseManager.java:185)
    at com.bekvon.bukkit.residence.Residence$3.run(Residence.java:113)
    at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:137)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:438)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    2011-07-18 05:50:51 [INFO] [Residence] - Rent Expirations checked!

    Any ideas?

    There server doesn't crash and everything seems to be working after that.
     
  18. Offline

    Doppelkeks

    Hello, My problem is then my Users rented a Residence they can build
    I set
    PreventRentModify: false
    but the can't open containers.

    Please Help me

    Keksi
     
  19. Offline

    Nielscorn

    Can there PLEASE be some way to add an owner?! It's really frustrating! I want to protect an area for me and my girlfriend and she can't build! Seriously, would it be that hard to make a /res addowner/member, which has the same righhts as you.0...
     
  20. Offline

    JustinGuy

    This is easy to do. You can set flags for individual users on a residence. For example to let your girl friend build on your res use (while standing in the res):

    Code:
    /res pset GirlFriendName build true
    You can view a list of all flag commands here : http://residencebukkitmod.wikispaces.com/Command+List
    And you can view an explantion of all the possible flags here:
    http://residencebukkitmod.wikispaces.com/Creating,+protecting+and+modifying+a+seclection#Flag

    I just wanted to say thank you for building such an awesome plugin, our server would not be what it is without it! I have one simple suggestion, the ability to TP a specified player to a res. A good example would be this (doesn't change the current way TP works):

    Code:
    /res tp [residence] <PlayerName>
    Additionally there are two methods people are using to grief. First they are making boats and mine carts and pushing them into other players residences. Second is using pistons to push / steal blocks from residences. Not sure if either of these can be solved just putting it out there.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 17, 2016
  21. Offline

    e_zach

    must be a bug with the newest version, in 2.2 this was working fine.
    as @JustinGuy stated, just flip a couple flags for her, it's not as convenient, but it works. takes 5 minutes tops.
    there is a way to check if a piston is attempting to push blocks and it can be cancelled, bevkon just needs to get around to it when he has some free time. (it might even be in the next build for all i know :))
     
  22. Offline

    DivineKyuuji

    Whenever an Admin creates a residence it doesn't have a welcome or leave message, and from what I've experienced, when it doesn't have the welcome or leave message it's not seeing it as a residence or something because people can still build inside. But I can use /res info residencename and still get info so it's there. I don't know what's doing this but I would like to have it fixed.
     
  23. Offline

    repeat

    can you make support array for add list players with same permissions or support PEX group (when player in one group have same permissions)

    something like this
    Code:
    ...
    Permissions:
        PlayerFlags:
            dimaxa, zoom, bump:
                container: true
                use: true
                build: true
                move: true
            yurik:
                container: true
        GroupFlags:
            gFinvillage:
                container: true
                use: true
                move: true
    ...
     
  24. Offline

    DivineKyuuji

    In addition to my last post, I tried creating a residence and it said it collided with another residence, but the residence it was colliding with I made really far away. I even used /res tp to the residence to make sure I wasn't colliding with it.
     
  25. Offline

    Chekkaa

  26. Offline

    DivineKyuuji

    Ok I just updated to newest residence version and now it's messed up. I'm an Admin, and an op, and I have it set to make ops admins in the config file. But I have a limit of 4 residences, which is for my builder group, and whenever I use selection commands it says I don't have access to the selection commands.
     
  27. Offline

    hofec

    @bekvon

    Hi man !
    This exception blows up when i'm trying to run your Res 2.3.3 on #1000 RB

    Show Spoiler
    Code:
    [SEVERE] Could not pass event ENTITY_DAMAGE to Residence
    java.lang.NullPointerException
        at com.bekvon.bukkit.residence.listeners.ResidenceEntityListener.onEntityDamage(ResidenceEntityListener.java:146)
        at org.bukkit.plugin.java.JavaPluginLoader$58.execute(JavaPluginLoader.java:649)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
        at net.minecraft.server.EntityArrow.m_(EntityArrow.java:183)
        at net.minecraft.server.World.entityJoinedWorld(World.java:1198)
        at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:48)
        at net.minecraft.server.World.playerJoinedWorld(World.java:1180)
        at net.minecraft.server.World.cleanUp(World.java:1104)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:447)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  28. Offline

    KarnEdge

    I get NPE's when trying use getByName method for a given residence name string and the residence doesn't exist:
    Code:
    String resName = resManager.getByName("NonExistant").getName();
    Instead I have to use the following to check if the residence exists:
    Code:
    String resName = resManager.getNameByRes((ClaimedResidence) resManager.getByName("NonExistant"));
    This one actually returns null which allows me to check against it.

    It's a little odd, and a bit of a headache, but I'm just letting you know @bekvon !
     
  29. Offline

    mahari3

    is this compatable with cersion 1.7.3? if not when will it be?
     
  30. Offline

    bekvon

    Updated to fix a few bugs a issue with CB1000. :)
    EDIT: released again to fix the firespread issue. Also, added the piston flag real fast, but didn't really get to test it. Someone let me know if it works or not :D

    This is how I might would do it:
    Code:
    ClaimedResidence res = resManager.getByName("NonExistant");
    if(res != null)
    {
         String resName = res.getName();
         //do stuff
    }
    
    Hope that helps :)

    Think it should be fixed now, let me know if its not. :)
    Should be now, let me know if you find issues.
     
  31. Offline

    javabudd

    With this new update i am unable to remove res's as an admin. I get an error about not having permissions even though I have residence.admin in my admin permissions section. Any solutions?
     
Thread Status:
Not open for further replies.

Share This Page