[RPG/MECH] Turnstile v1.9.1 - Charge players money/items to enter an area [953]

Discussion in 'Inactive/Unsupported Plugins' started by Codisimus, Mar 15, 2011.

  1. Offline

    Codisimus

    This page will no longer be updated. Please follow this project at the Bukkit Dev Page

    Turnstile - Charge players money/items to enter an area:
    Version: 1.9.1 (7/16/2011)
    Supports iConomy, BOSEconomy, Essentials, Permissions
    Download Page

    This plugin is used to create a Turnstile to prevent players from entering certain locations without paying money/items.

    The Turnstile is made up of a fence block, this block will disappear when a linked button is clicked. The block will reappear when walked through or after a certain amount of time. Money is deducted from the user when they press the button (or walk through the Turnstile if 'NoFraud' is set to true in the config). All money deducted is given to the owner/bank of the Turnstile.

    Turnstiles can also charge items by linking a chest instead of a button. Put the required item in and punch the chest to open the Turnstile.

    Format of Save file:
    Show Spoiler

    Code:
    DreknorIn;1;4;13;2;scudmaster;Codys_World;-174;55;-102;
    -175:55:-101;-174:55:-99;
    
    [Name];[Price];[Earned];[ItemID.Damage Value];[Amount of item];[Owner];[WorldName][x];[y];[z](of location of Turnstile);
    [x];[y];[z](of location of linked button/chest);[x];[y];[z] (of location of linked button/chest);

    Features:
    • Configurable properties.
    • Custom messages
    • No Fraud mode (Turnstile doesn't charge until walked through)
    • Restrict use of a specific Turnstile to a certain group
    • Make a Turnstile Free or Locked during a certain time of day
    • Autoclose timer
    • Create private Turnstiles only you can use
    • Only owners and admins can destroy Turnstile blocks, buttons, and chests
    • Edit turnstiles easily in game or in the save file
    • Only the owner/bank owner can edit a turnstile
    • Turnstiles can charge specific items instead of money
    • Durability support
    • Turnstiles can also be free to use
    • Charge users money to create turnstiles
    • Set different Turnstiles to unique prices and owners/banks
    • List and locate Turnstiles
    • MultiWorld support
    • Uses iConomy, BOSEconomy or Essentials to charge users money
    • Permissions to limit players from using turnstiles, for all commands (except help), and for admins
    • Included in CraftBukkitUpToDate for easy updating (make sure you come check the changelog if somthing is not working right)
    Commands:
    Commands can be written as /turnstile or /ts
    Show Spoiler

    • /ts make [Name] - Make target fence block into a Turnstile
    • /ts link [Name] - Link target block with Turnstile
    • /ts rename [Name] [NewName] - Renames the Turnstile
    • /ts unlink [Name] - Unlink target block with Turnstile
    • /ts delete [Name] - Delete Turnstile and unlink blocks
    • /ts price [Name] [Price] - Set cost of Turnstile
    • /ts price [Name] [ItemID(.Damage)] [Amount] - Set cost to item
    • /ts access [Name] public - Allow anyone to open the Turnstile
    • /ts access [Name] private - Allow only the owner to open
    • /ts access [Name] [Group] - Allow only specific Group to open
    • /ts free [Name] [TimeStart-TimeEnd] - Free during timespan
    • /ts locked [Name] [TimeStart-TimeEnd] - Locked during timespan
    • /ts earned [Name] - Display money the Turnstile earned
    • /ts collect - Retrieve items from the target Turnstile chest
    • /ts owner [Name] [Player] - Send money for Turnstile to Player
    • /ts bank [Name] [Player] - Send money for Turnstile to Bank
    • /ts list - List all Turnstiles
    • /ts info - Gives info of Turnstile
    • /ts help - Displays Turnstile help page

    Permission Nodes:
    Show Spoiler

    • turnstile.open - Needed to be able to activate Turnstiles
    • turnstile.openfree - Player/Group is not charged to open Turnstiles
    • turnstile.make - Needed to make/link/unlink/delete Turnstiles
    • turnstile.makefree - Player/Group is not charged to make Turnstiles
    • turnstile.set.free - Allows Player/Group to use /ts free
    • turnstile.set.locked - Allows Player/Group to use /ts locked
    • turnstile.set.price - Allows Player/Group to use /ts price
    • turnstile.set.owner - Allows Player/Group to use /ts owner
    • turnstile.set.access - Allows Player/Group to use /ts access
    • turnstile.set.bank - Allows Player/Group to use /ts bank
    • turnstile.earned - Allows Player/Group to use /ts earned
    • turnstile.admin.list - Allows Player/Group to use /ts list
    • turnstile.admin.info - Allows Player/Group to use /ts info
    • turnstile.admin.ignoreowner - Player/Group can edit any Turnstile regardless of being the owner

    Tutorial:
    NOTE: New Tutorial video, Please watch before asking questions.




    ToDo:
    • Send items to owner
    • Add option of using a door instead of a fence block
    • Add pressure plate support
    Changelog:
    Old Versions + ChangeLog can be found at Download Page
    Show Spoiler

    Version 1.9.1 (7/16/2011)
    • Added rename command
    • Now allows multiple Turnstiles per block
    • Fixed Access
    • Added color support for all customizable messages
    Version 1.9 (6/26/2011)
    • Improved OP options
    • Updated Economy support
    • Fixed collect command
    • Added option of door instead of block
    • Added pressure plate support
    Version 1.8 (6/12/2011)
    • Cleaned up code/fixed errors
    • Added /ts collect command to retrieve earned items
    Version 1.7.6 (6/4/2011)
    • Cleaned up errors and added error messages
    Version 1.7.5 (6/3/2011)
    • Various fixes and code cleanup
    Version 1.7.4 (6/3/2011)
    • Added Essentials econ support
    Version 1.7.3 (5/20/2011)
    • Fixed durability support
    Version 1.7.2 (5/20/2011)
    • Added decimal support
    Version 1.7.1 (5/16/2011)
    • Readded the useOpenFreeNode and useMakeFreeNode options in config
    Version 1.7 (5/15/2011)
    • Changed permission nodes
    • Allow right clicking a button to open
    • Made Turnstiles unbreakable
    • Added command to allow group specific Turnstiles
    Version 1.6.1 (5/4/2011)
    • Updated to iConomy 5
    • Few various fixes
    Version 1.6 (4/29/2011)
    • Added durability support
    • Added custom messages
    • Fixed reload issues
    • Added No Fraud mode (Turnstile charges when walked through)
    • Added option to restrict use of a specific Turnstile to a certain group
    • Added option of making a Turnstile Free or Locked during a certain time of day
    • Added autoclose timer
    Version 1.5 (4/15/2011)
    • Improved multiworld support
    • Other various fixes
    Version 1.4.3 (4/4/2011)
    • Fixed isOp() conflicting with Permissions
    Version 1.4.2 (3/31/2011)
    • Few minor fixes
    • Works with build #612
    Version 1.4.1 (3/30/2011)
    • Can now use with left or right hand
    Version 1.4 (3/30/2011)
    • Fixed turnstile creation
    Version 1.3.3 (3/30/2011)
    • Updated to build #602
    • Changed the way you create turnstiles. Now you must target the fence block that will become a Turnstile
    Version 1.3.2 (3/28/2011)
    • Added private Turnstiles, Set price to -808 to make it so only the owner can enter
    Version 1.3.1 (3/28/2011)
    • Fixed error of crashing if owners name is < 5 letters long
    Version 1.3 (3/26/2011)
    • Added protection for Turnstile blocks, buttons, and chests
    Version 1.2.1 (3/24/2011)
    • Various fixes
    Version 1.2 (3/23/2011)
    • Fixed multiworld support
    Version 1.1 (3/23/2011)
    • Fixed paying with items not opening Turnstile
    Version 1.0 (3/23/2011)
    • Added an autoclose timer (set to -1 as default in config file meaning it will stay open until walked through)
    • Added '/ts earned [Name]' command (no permission node)
    • Fixed config
    • Added option of setting price to all (saved as -411 in save file) which will clear a players balance as the cost
    • Fixed error of turnstile opening without enough money
    • Fixed permissions reload
    • Fixed/added lots of other things I can't even remember
    Version 0.9 (3/22/2011)
    • Fixed error of no confirmation messages for iConomy
    • Added a check to make sure the balance has enough money
    • Implemented option of paying with a specific item
    • Added config file with the following options
      • CostToMakeTurnstile=0
      • useIgnorePriceNode=False
      • useIgnoreCostNode=False
    Version 0.8.3 (3/19/2011)
    • Fixed unknown command spamming chat
    • Fixed no Economy message spamming
    • Changed /ts locate to /ts info (turnstile.admin.info)
    Version 0.8.2 (3/19/2011)
    • Added multiworld support (you must rename save files to Turnstile[WorldName].save or turnstiles will not be loaded)
    Version 0.8.1 (3/18/2011)
    • Fixed /ts bank not working
    • Added /ts bank to help page
    • /ts bank now only works with BOSEconomy linked
    Version 0.8 (3/18/2011)
    • Added support for BOSEconomy banks
    • New node turnstile.admin.bank
    • New command /ts bank [Name] [Bank]
    Version 0.7.1 (3/17/2011)
    • Mispelled commands display help screen
    • If owner is set to "server" then money is not added or deducted from the owner
    • Button now only works when turnstile is closed
    Version 0.7 (3/17/2011)
    • Turnstile now closes after being walked through
    • Fixed error of "Turnstile successfully loaded with Permissions!" being displayed multiple times
    Version 0.6.1 (3/16/2011)
    • Fixed error that Permissions was required
    Version 0.6 (3/16/2011)
    • Added support for Permissions
    Version 0.5 (3/16/2011)
    Version 0.4 (3/15/2011)
    • Limited commands to the owner of the turnstile
    • Other various fixes
    Version 0.3 (3/15/2011)
    • Initial Release
     
  2. Offline

    dak393

    try with CB #556 the last recommended build
     
  3. Offline

    riuthamus

    If your using BOSEconomy please let us know, im running build 556 and have 61 for BOSEcon and we haveing no problems with any plugins. Most commonly these are permissions file errors.
     
  4. Offline

    Mattie112

    (i don't use BOSEcon, i use Iconomy)
     
  5. Offline

    dak393

    make sure your config is set up with iConomy then looks like ts is looking for bose and not finding it (because you donn't have it)
     
  6. Offline

    Codisimus

    well my plugin doesnt know that lol... when booting up does it say "Turnstile succesfully linked with iConomy"? or does it say BOSEconomy instead
     
  7. Offline

    Mattie112

    Code:
    10:30:00 [INFO] Turnstile 1.3 is enabled!
    10:30:00 [INFO] Turnstile Successfully linked with Permissions!
    10:30:00 [INFO] Turnstile Successfully linked with iConomy!
    
    config.properties
    Code:
    #Sat Mar 26 18:09:35 CET 2011
    TurnstileAutoCloseTime=10
    CostToMakeTurnstile=0
    use'turnstile.admin.ignore.cost'node=false
    use'turnstile.admin.ignore.price'node=false
    
     
  8. Offline

    LordCrazyKing

    Quick question, when someone has the turnstile.owner/price permissions, can they change the owner/price of any turnstile or only ones they own?
     
  9. Offline

    Codisimus

    They can only edit the ones they own, unless they have the admin.ignore.owner node
     
  10. Offline

    LordCrazyKing

    Ok cool, thanks for the info. Now my builder class can install turnstiles to make some cash! :D
     
  11. Offline

    Phaedrus

    Turnstiles work for a while, but then stop, giving this error in the console.

    Bukkit 556, latest permissions, worldguard 4

    Code:
    01:10:09 [SEVERE] Could not pass event BLOCK_DAMAGED to Turnstile
    java.lang.NoClassDefFoundError: com/nijiko/permissions/PermissionHandler
            at turnstile.TurnstileMain.hasPermission(TurnstileMain.java:87)
            at turnstile.TurnstileBlockListener.onBlockDamage(TurnstileBlockListener.java:33)
            at org.bukkit.plugin.java.JavaPluginLoader$22.execute(JavaPluginLoader.java:269)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:358)
            at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
            at net.minecraft.server.NetworkManager.a(SourceFile:230)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:76)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:357)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: java.lang.ClassNotFoundException: com.nijiko.permissions.PermissionHandler
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:30)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            ... 13 more
     
  12. Offline

    Codisimus

    so is the button protected by worldguard?
     
  13. I am getting this error:
    Code:
    2011-03-29 00:24:21 [SEVERE] Could not pass event BLOCK_DAMAGED to Turnstile
    java.lang.StringIndexOutOfBoundsException: String index out of range: 5
        at java.lang.String.substring(String.java:1946)
        at turnstile.TurnstileMain.charge(TurnstileMain.java:168)
        at turnstile.Turnstile.checkBalance(Turnstile.java:107)
        at turnstile.TurnstileBlockListener.onBlockDamage(TurnstileBlockListener.java:39)
        at org.bukkit.plugin.java.JavaPluginLoader$22.execute(JavaPluginLoader.java:269)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:358)
        at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
        at net.minecraft.server.NetworkManager.a(SourceFile:230)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:76)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:357)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    
    It first appears when I add a price to using it.
    if I don't add a price to then it works fine.

    I dont have the button protected by worldguard, or any other plugin.
     
  14. Offline

    Codisimus

    well this looks unrelated to previous post, wut are you typing to add a price? can i see your save file?
     
  15. i'm typing in /ts price [name] [price]

    then says its been updated to X amount of currency.
    Then I hit the button and I get this error, and yes ofcourse:

    Test;30;0;0;0;Zoun;world;2922;92;583;
    2921:92:584;
     
  16. Offline

    Codisimus

    ok i see wut the issue is, it crashes if the owner is under 5 characters long so ill fix that right now
     
  17. Ah great thank you :)
     
  18. Offline

    Codisimus

    Fixed in Version 1.3.1
     
  19. Offline

    Hant

    Nice! it work's! i love it :)
     
  20. Offline

    Phaedrus

    It is in a worldguard protected area, yes. Which is why I had some suspicions.
     
  21. Offline

    Codisimus


    on server start do you see "Turnstile successfully linked with Permissions!"
     
  22. Offline

    Phaedrus

    yes.

    Code:
    03:02:35 [INFO] Turnstile 1.3 is enabled!
    03:02:35 [INFO] [TradeMod] BOSEconomy is not configured, skipping!
    03:02:35 [INFO] Turnstile Successfully linked with Permissions!
    03:02:35 [INFO] Turnstile Successfully linked with iConomy!
    03:02:35 [INFO] Turnstile Successfully linked with BankAccount!
     
  23. Offline

    Codisimus

    Would you be able to test it with worldguard disabled?
     
  24. Offline

    Phaedrus

    Disabling worldguard right now would be too risky, but it does seem a little broken at the moment, so i wouldn't be surprised if it's the culprit. Sometimes other buttons in protected areas do not function since bukkit 556. WG has an update pending though. So hopefully that will take care of it.
     
  25. Offline

    ch96li

    I like the idea, but could you make it so that turnstiles could also be linked to a certain player? So only certain people can use a certain turnstile. Thanks
     
  26. Offline

    Codisimus

    i didnt really see a use for this but just recently i come across wanting it myself so ill code it right now

    update to version 1.3.2. Added private Turnstiles, Set price to -808 to make it so only the owner can enter

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 12, 2016
  27. Offline

    ch96li

    Cool thanks
     
  28. Offline

    MineralMC

    Codisimus, is an update for 602 in the works? We use turnstile as a core part of our server's subway system, so I'm holding off on a server update until I've got at least the core mods updated and tested.

    Keep up the good work!
     
  29. Offline

    Codisimus

    umm ya i think im done with it but didnt test it yet.
     
  30. Offline

    MineralMC

    Excellent, thank you for the quick response. :)
     
  31. Offline

    Devok

    Hello, I'm getting a issue where only people are are OP status can use turnstiles. I've added the correct permissions and we are using GroupManager for our permissions system. It was working at one point completely fine. Even if the Owners group is set to "*" permissions, it won't work for them.

    Code:
    CONSOLE: Turnstile Successfully linked with Permissions!
    CONSOLE: Turnstile Successfully linked with iConomy!
    
     

Share This Page