Inactive [TP] xWarp v3.1.7 - MyWarp fork (w/ prices, economy, visibility) [1.2.5-R1.0]

Discussion in 'Inactive/Unsupported Plugins' started by xZise, Jan 17, 2011.

  1. Offline

    xZise

    Hello everyone,
    I forked the MyWarp project and added some functionality. In basic it is the same as the MyWarp.

    Now on BukkitDev
    This plugin is already on BukkitDev. I will transfer this post to BukkitDev.

    Download
    3.1.7 + marker (Tested: 1.2.5-R1.0)
    3.1.7 (Tested: 1.2.5-R1.0)
    2.12.0 (Tested: cb819, Should run ≥ cb691)
    All downloads

    The versions for other builds are normally only compatibly updates. So they don't provide other features. This means version “a-cb684” is the same (in basic) as “a-cb556” or simply “a”.
    Notice: With version 2.3.0, 2.6.0, 2.8.0, 2.9.0, 3.0.0 (or later) I changed the database layout. Previous versions of xWarp couldn't read this database. So backup it for sure.

    Ressources

    Changes
    Changelog moved to BukkitDev. The full changelog is still on github.

    Prices
    Since 2.8.0 it is possible to use prices for warp and creation. It uses the Permissions nodes to change define basic prices. Also it is possible to define a price for each warp. At the moment iConomy version 4 and 5, Essentials Economy (at least Dev build 2.2.104) and BOSEconomy supported.
    Global/Public/Private warps
    With the Version 2.0.0 beta 13 I introduce the new state of global warps. Every user can create warps for its own (public/private) like before and hasn't be aware of already existing one's from others. So Player “A” could create a warp named “foo” and another Player “B” could also create a warp called “foo”. Now to access these warps you have to specify which warp do you want to use.
    Therefore I added a parameter to specify the owner of the warp. To warp to the “foo” warp of Player “A” you simply type:
    /warp foo A
    You could exchange the second parameter (= A) with a B to warp to B's warp “foo”.
    Now to shorten the warps you could globalize a warp with
    /warp global <name> <owner>
    Now you don't have to add the owner of the warp. For example if somebody globalized the warp “foo” of player “A” you now can simply type:
    /warp foo
    There is one rule: “If you don't define the owner it searches the global warps.”
    But a global warp also has a owner (in our case Player “A”) so you also define the owner.
    So there is one major change: If your warp contains a space you have to escape it, otherwise it will guess the second part as a owner (to escape see the section above).
    For further information visit the wiki.
    Sign Warps
    Creating a sign warp is really easy. You have 3 layouts: MyWarp, Single Line and xWarp.
    In MyWarp your sign has two lines. In the first place only “MyWarp” and in the second the name of the warp. This works only if the warp is in the global map.
    The “Single Line” layout only needs a line with “Warp: <name>”. If there are more than one lines with this layout on one sign it won't work. The colon is optional, the W could be lowercase and the spaces between “Warp:” and the name have to be at least one.
    With xWarp layout you could place “xWarp” in the first line (case-insensitive) or “Warp”/“warp” and optional a colon.
    In the second line is the name of the warp and in the third the owner (optional)
    Upcoming changes
    Backups? (unknown)
    If possible I maybe make it possible to backup the warps with others backup plugins. It is only an idea at a moment, but maybe sometimes xWarp supports this.
    tkelly's suggestion system (Suspended)
    tkelly created a system, that can get a warp similar named if you didn't spell it right.

    Fabian aka xZise
     
    RazorFlint, Taranis01 and uitology like this.
  2. Offline

    Phaedrus

    Example of setting prices and limits in the permissions file for someone out there who may be confused.

    Code:
        info:
                warp:
                    timers:
                        warmup:
                            public: 10
                            private: 10
                            global: 10
                        cooldown:
                            public: 60
                            private: 30
                            global: 120
                    prices:
                        to:
                            public: 50
                            private: 25
                            global: 150
                        create:
                            public: 200
                            private: 100
                            global: 250
                    limit:
                        total: 10
                        public: 3
                        private: 10
                        global: 1
    
    And a text description of what those permissions mean for that particular group.

    • There is now a warm-up and cool-down timer associated with warping. This is to limit people running away from a fight.
    • There is now a small cost associated with creating and using a warp.
      • You can earn money when other players use warps you've created
    • There is now a limit to the number of warps you can create up to a Max total of 10.
    • Use /warp create to see how many warps you have created of each type and their limits..
    • The limits and costs are as follows:
      • Global Warp
        • Usable from any world.
        • Visible to everyone.
        • Limit of 1 per person.
        • Cost to create: 250$
        • Cost to use: 150$
        • 10 sec warm-up, 2 min cool-down
      • Public Warp
        • Usable only within the world it was created.
        • Visible to everyone.
        • Limit of 3 per person.
        • Cost to create: 200$
        • Cost to use: 50$
        • 10 sec warm-up, 1 min cool-down
      • Private Warp
        • Usable only within the world it was created.
        • Visible only to yourself, unless you invite others to use it.
        • Limit of 10 per person.
        • Cost to create: 100$
        • Cost to use: 25$
        • 10 sec warm-up, 30 sec cool-down
    Also, @xZise Is there any eta on iconomy 5 support?
     
  3. Offline

    xZise

    Nice example, but I want to make some additions/corrections:
    Acutally you could be more nice and can prohibit, that the user moves/get hurt while warming up. This configuration is available via the Settings.

    There are two prices: A basic price which you define via the permissions (in jasonznack's example this price is 150 to warp to global warps). In 2.10.0 you can define in the settings, which user this money will get. And then every user could define a warp specific price (via warp price command). This money will get the owner of the warp.

    For example the warp foobar is global and the owner is snafu. By default the price is 0 so if somebody (I name the person Alice) warps to foobar, Alice have to pay 150. With 2.10.0 these 150 will get the player which is defined in the settings. Before 2.10.0 or by default nobody is defined so nobody will get the money.

    Now if the price of the warp foobar is set to 10 and Bob is using it, Bob has to pay 150 + 10! 150 goes (like Alice) to nobody or somebody defined in the settings and 10 goes to the owner. The user snafu will get these 10.

    That is not completely correct: Global, Public and Private was defined before Bukkit is supporting multiverse, so it doesn't relate to “usable in which world”. Instead it is uniqueness:
    The warp to command as two values: The name and the owner. Now if the owner is defined the visibility of the warp is not relevant, because the owner + name is defining one unique warp.

    But we are all lazy, so you don't have to define which owner you mean. But then you have to pick one. So if you have the name of the warp following test are done:
    If there exists one warp of this name, it selects this one (its unique).
    If there exists more than one warp it first check if there exists one global warp of this name and return this (there are only one or none global warps with this name).
    If there are more than one warp with the same name, and there is no global warp with this name it returns your warp (if you own a warp named like this).
    And if there wasn't determined any warp until here it returns, that no global warp, you defined exists.

    It is now working great with iConomy 4, BOSEconomy and Essentials Economy. iConomy 5 I didn't test really but should also work. Today I will make a larger test to test the new features and if the economy connection does what it should.

    Fabian

    Okay it is going forward: iConomy 4 is fully functional, iConomy 5 untested right now, BOSEconomy is ... weird and Essentials Economy is also acting kind of weird, but there I'm talking directly to a developer so this should be done.

    Also the feature request to prevent warp signs is done and tested. I also fixed the bug, that with SQLite it doesn't reads the price of a warp. So hopefully I will quickly test iConomy 5 and maybe releasing it today.

    Because of some changes I want to release 3 versions: One for 1.5, one for 561 and higher and one for 560 and lower (this was legacy). I have at the moment only the change to test the first one, but the other two have only minor changes, so should these versions work also very well. And there are more than 10 % downloads of the legacy version, ALTHOUGH I think, that many of you downloaded this version twice. Because of this I only want to say, that there is an update if the version number changes. So if you have 2.9.3-legacy and I update 2.9.5 and there is always the 2.9.3-legacy download, then there was no change in between.

    I'm following the mantra: If I change any functionality I will release this under a new version number. So you could be sure, that you have the newest version.

    Fabian

    Okay version 2.10.0 is now out (with the 2 “branches”). I will update the documentation now. And at the moment it is still sunday == today.

    [update]Okay ... 4 - 5 sec in monday[/update]
    [update]Documentation is now up to date.[/update]

    Fabian

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 6, 2016
    jasonznack likes this.
  4. Hi there

    we're going to use xWarp on our server so I was checking how it works and the permissions, and there doesn't seem to be a "list" permission or setting on your wiki.

    The idea would be to have only public warps on a war server. Everyone could then use every warps on the condition to know it's name/owner. By disabling the "/warp list" command to non-op players, those warps would then remain secret for each person/team/faction/guild/whatever (unless there's a leak by some member or op :p)

    Is there a way to do this that I didn't find on your wiki ?
     
  5. Offline

    xZise

    Ehr why you didn't find settings/permission? They are both linked in the OP and on the home page (Section “Features”).

    Now to your question about “is it possible”. To be honest at the moment maybe and I don't know ;)

    To create only public warps, give simply only the public warp creation permission. The problem is, that you (at the moment) couldn't stop users from using “/warp list”. As long as they can warp to this warp, it will be shown on the list. But I could add a separated permission. The problem could be, if you want to allow, that the users could only see the warps of his own/team/whatever. Then it would be more helpful, if you create private warps and invite only members to it. Then give the “ops” the permission to warp also to private warps and you are done.

    In the future I will add a feature to add a group.

    Fabian
     
  6. Well, I found your settings/permission, and precisely, I didn't find a permission for "/warp list" as it seems (if I understand you correctly) there's currently none.

    Private warps wouldn't be usable by the enemy.
    I think a simple permission for warp.list would do the trick.
    No regular player could use the list.
    So you'd have to know your friends warps names in order to use them.
    And giving access (warp name) to the wrong person could lead to betrayal and invasion of the enemy > and that is cool ^^

    well, apparently that can't be done right now ^__^

    Also, I'm not sure about an other point : if you disable warp.to.* and allow sign.* for everyone, will it force people to use signs in order to teleport to their warps (use signs instead of /commands) ?
     
  7. Offline

    xZise

    Jep this will done it. I will release a new update soon, because the warp creation permission is failed :D As it test if you have at least one of the permissions :) And because this list deactivation feature isn't very complex I will also enable this.

    Fabian
     
  8. thank you very much ^^

    now there is this little "plus" I think could be interesting.
    I tried allowing only warp.sign.* but as a result my character couldn't use the sign as warp.to.* wasn't allowed.

    I think it could be interesting to force people to use signs instead of /commands
    "Player wants to go back to base, but he can't use '/warp to base' : he has to find or place a sign in order to clic it... but if he wants his base's place to stay secret, he will have to carrefully hide his sign"
     
  9. Offline

    xZise

    Did you set the world limits?

    Fabian
     
  10. huh... no ?
    Honnestly, right now I don't know how to do that : I'm just testing possibilities on my personnal computer before our admin starts setting it up on our server, in order to see what's possible and what's not right now.

    I can try to see this world limit though, I just don't see what that have to do with this : shouldn't it be a permission matter ?
     
  11. Offline

    Bashoogers

    Im sorry, but this is out-date!
    Iconomy say that :/
     
  12. Offline

    xZise

    By default the user couldn't warp within/to any world. I have no idea, why this with the warp.to.* permissions is working. Simply try it please ;)

    lol :D Show me your error message because I tested it with iConomy 5.0 and 2.10.0. So lot more information please before you telling me, that my plugin is out dated.

    Fabian


    Okay permissions added and it checking now correctly the warp.sign.create.* permission.

    And to your problem Catox … oh man: To warp within a world named <world> you need the permission “warp.to.world.within.<world>” and this permission is in “warp.to.*”. So if you grant the permission “warp.to.*” you automatically grant “warp.to.world.within.<any world>” and “warp.to.world.to.<any world>”.

    And in please note that I change the permission for using sign warps and adding a “to”: “warp.sign.to.(private|public|global)”. So it will be possible to use “warp.sign.to.*”.

    Fabian

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

    but2002

    I get a 404 error on the download link. What's up?
     
  14. Offline

    THEK

    yeah DL link is dead.
     
  15. Offline

    xZise

    I forgotten to upload the main file. But if this happens again simply select “All downloads”. There you normally have all downloads including the newest. I upload the main file twice “xWarp.jar” and “xWarp <version>.jar” to allow a static link. But to prevent confusion I remove the xWarp.jar, update all changelogs (and maybe documentation) and then I upload the xWarp. So your download is never an outdated version when I updated the changelog before I updated the xWarp.jar. And you never retrieve a newer version, to prevent that you update something you don't want.

    Fabian
     
  16. Thank you for the "list" permission, that works nicely.

    I still don't see what "worlds" considerations could do with my problem : my test is done on a very simple server with only bukkit+xwarp : only one world there.

    Actually, to put my idea with other words, the idea would be to have others "Special commands permissions" added to (or in place of) the existing ones.
    for instance : warp.command.to and warp.command.create

    Let's say the permissions looked like this :
    -"warp.to.*"
    -"warp.sign.*"
    -"-warp.command.list"
    -"-warp.command.to"
    I could then warp, but only by using signs. "/warp to" would not work, exactly like "/warp list" doesn't work.

    Thank you again for the list thing anyway ^_^
     
  17. Offline

    xZise

    Okay, with 2.9.5 I'm added world limits: This means, you have to grant the users the permission to warp within or to a world. These permissions are: warp.to.world.to.<worldname> and warp.to.world.within.<worldname>. So if you want to allow that the user can warp to the world “foo” and within all worlds you have to grant: warp.to.world.to.foo and warp.to.world.within.* Otherwise xWarp will tell the user, that he has no permission to do this.

    Now you granted “warp.to.*” and this permission includes “warp.to.world.*”. So you “accidentally” allowed your users, to warp within all worlds and warp to all worlds. So there is no error any more. But you don't want them to use the “warp to” command. Then simply remove “warp.to.*” and instead grant the specific world limit permissions.

    AND BOSEconomy isn't acting weird. I got the answer yesterday evening and so everything is okay with this plugin.

    Fabian
     
  18. Offline

    murdrums

    Hi, just wondering if you could help me out, I have all of the permission added to a certain group (non-admins/ops), and they cannot warp, even if they have the permission 'warp.admin.to.all'. Could someone explain to me why this is? However, ops/admins can warp, since they have all permissions enabled, what permissions would I need to add to allow non-ops/admins to warp?
     
  19. Offline

    xZise

    Which permission do the non ops have? Maybe take a look at the section “Warp into/within world limits” on the Permissions page.

    Fabian
     
  20. Offline

    murdrums

    I only have the one world, but these are the permissions each group has, the Unverified, Crafters and Moderators cannot warp, yet the admins can. What permissions am I missing from these groups?

    Code:
    groups:
        Unverified:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: false
            inheritance:
            permissions:
                - ''
        Crafter:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
                - 'weather.get'
                - 'warp.to.own'
                - 'warp.to.invited'
                - 'warp.to.other'
                - 'warp.to.global'
                - 'warp.admin.to.all'
                - 'warp.admin.warp.others'
                - 'warp.create.public'
                - 'warp.edit.rename'
                - 'warp.edit.delete'
                - 'residence.create'
                - 'lwc.protect'
        Moderator:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
                - 'warp.to.own'
                - 'warp.to.invited'
                - 'warp.to.other'
                - 'warp.to.global'
                - 'warp.create.public'
                - 'warp.create.private'
                - 'warp.create.global'
                - 'warp.edit.delete'
                - 'warp.edit.rename'
                - 'warp.edit.update'
                - 'warp.edit.message'
                - 'warp.edit.owner'
                - 'warp.edit.creator'
                - 'warp.admin.to.all'
                - 'warp.admin.delete'
                - 'weather.get'
                - 'weather.set.normal'
                - 'weather.set.storm'
                - 'weather.set.thunder'
                - 'residence.create'
                - 'residence.admin'
                - 'lwc.mod'
        Admin:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
                - '*'
     
  21. Offline

    RyanTheLeach

    Can you add support for /warp list global private and public?
    also possibly /warp plist playername
    which would come up with the warps that player could see if they used /warp list or warps that player has access to
    it would make administration so much easier.

    also the possibility for hidden warps, that is warps that are public but do not show on /list
    also could the documentation contain a color key of some kind for what /warp list has?

    this would make my minecraft experiance so much easier

    also if you own a warp it currently shows up teal on list, but theres no way to tell whether its Global Public or Private. this is bad if your making an admin only warp and you forget to make it private, and you can never tell.
     
  22. Offline

    Donny

    Prices are confusing. If the global price is set to 500 you have to make each warp u want free's price -500. but if you change the global price to say 250 then the warp pays 250 =o ='(

    Not to mention it charges the owner even if its public. =o
     
  23. Offline

    xZise

    @murdrums: Take a look at the section “Warp into/within world limits” on the Permissions page.


    There will maybe come a feature like that.
    Is already implemented. (→ Commands wiki page)

    Maybe I add something like that.
    Is already implemented: /warp list legend and maybe it will showup with /warp help list

    The list should be alphabetical.

    What is “G Pu or Pr” and what do you want to tell me?

    Fabian

    Okay the first setting is nice :D This will transfer 500 from to the base account and 500 from the warp owner to you :D

    But I have no idea, why it costs 250 if the global price is 250. And why you change the price to -500 and the global price to 500? Instead of make the (global) price 0.

    Fabian

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

    RyanTheLeach

    Sorry i edited my post before i realized you replied... thanks for replying tho.

    also, is there a way to make certain user groups warp for free?

    also possibly /warp plist playername
    which would come up with the warps that player could see if they used /warp list or warps that player has access to it would make administration so much easier.

    also how does group price's work? do they override the existing prices? is it an additional fee?
    or does it pick the cheapest one?

    Also is there a way to set fee's for warping to different warps WITHOUT the player getting the money for it?

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

    xZise

    The nearest one: If you define the base price for a user, it uses this value. Like permissions: It searches for the first definition of the value, beginning by the player.

    As I said: It is already implemented and you can see it on the wiki page: /warp list xZise

    There are two prices. It is everything described here section “Prices”. So, define a permissions node and you have a fee and the owner is getting nothing for it (as long as the player doesn't add it's own price).

    Fabian
     
  26. Offline

    RyanTheLeach

    If you read my post correctly you would see that its different than what is already included.
    It is my suggestion that there be a seperate command /warp plist name that would show warps as if that player typed in /warp list.
    e.g. there are 2 warps set up both owned by loopyluke
    1st is called pool and is public
    2nd is called mine and is private

    if i as an admin call /warp list loopyluke i see both, as both are owned by loopy,
    if i do /warp plist loopyluke i also see both, as loopy can see his own warps.
    however if i do /warp list andytheenginerd i get nothing as andy does not own any warps.
    but if i do /warp plist andytheenginerd i should be able to see the public warp pool and any other private warps he is invited to, as if andy himself used /warp list.

    for the prices will it work in a group?

    Peasant:
    default: false
    info:
    prefix: '&8[&7Peasant&8] &7'
    suffix:
    build: true
    warp.prices.to.private: 100
    warp.prices.to.public: 100
    warp.prices.to.global: 25
    inheritance:

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 6, 2016
  27. Excellent !
    I finaly understood ^__^
    thank you very much !!
     
  28. Offline

    SeeD419

    Once again, thanks for explaining the parser to me.

    Now that we know that, this works flawlessly!

    Edit: I might as well note though, that I miss tkelly's suggestion system. (example) Doing:
    /warp cnt
    instead of
    /warp cntqwerty's mansion
    was just so much easier
     
  29. Offline

    Wanderer89

    http://forums.bukkit.org/threads/tp...my-visibility-733-740.857/page-10#post-216299

    Please add this info to the wiki/OP, hardest thing to figure out about configuration, as currently the wiki isn't clear on how this works/is set up.

    e: Wait thought I had it configured, but people are still not being charged for using warps by default.
    config:
    Code:
        Builder:
            default: false
            info:
                prefix: '&2Builder&f'
                suffix: '&2'
                build: true
                warp.timers.cooldown.public: 60
                warp.timers.cooldown.global: 90
                warp.timers.cooldown.private: 30
                warp.prices.to.private: 10
                warp.prices.to.public: 15
     
  30. Offline

    xZise

    @RyanTheLeach: A okay:
    • /warp list <owner> – List all warps the owner owns
    • /warp plist <player> – List the warps like the player executes the /warp list command
    I have to see, but some day in the future I will implement a more complex list command. Something like this:
    /warp list o:<owner> p:<player> v:<visibility> c:<creator> s:<sequence/order> #<page>
    You could also define more visibilities, reorder the parameters and left parameters out.

    Yep: User → User's group → User's group's inheritance → ... → 0
    And for the future use a pastebin to paste code/permissions or the code-tag.

    @Catox: You are welcome.

    @SeeD419: At the moment I'm working on bringing Qukkiz to iConomy 5, but I will maybe implement the feature. Depends on how complex it is.

    @Wanderer89: I will reorganize the documentation to limits. But to your edit: Did you a reload? And there is no error on the console. And which economy plugin do you use?

    Fabian
     
  31. Offline

    Donny

    If the all warps cost 500$ to make but I want to make one free what do I do?
     

Share This Page