TeleportGUI

TeleportGUI 2.0.37

Added support for ZoneManager "notp" zones.

Added two new config options:
- CanTeleportIntoZone (default: true)
- CanTeleportFromZone (default: true)

Disabling either of these will block teleporting to/from ZoneManager zones with the "notp" flag set to true.

Thanks to Doc for the suggestion, please bear in mind these changes are currently untested although theoretically should work fine.

I have also made a small tweak so typing "bind <key> tpgui" should now work correctly. I may add a chat message or two for this at some point.
Teleportation with sleepers is here! Yay!

So you now have the ability to teleport to sleepers, and also use the TP here function on them too. You will need the "teleportgui.sleepers" permission (or admin) to use it, and a new button will show up on your GUI next to the cancel/back/here buttons. This changes the UI to showing sleepers, which you can then either teleport to, or toggle on the "here" function to teleport them to you.

It's worth bearing in mind, that due to a sleeper not being able to accept at TPR (duh!) this teleport is instant, with no cooldown or currency charges, so I wouldn't recommend giving this ability to your players; keep it to admins and staff only.

A final thing to note on the topic of sleeper teleportation is that there are currently no chat commands in place for this. I figured that most of you admins are going to be using the GUI anyway, so it would be waste of time to add it to the chat command system too.

I also fixed a bug where the tphere button was getting rendered 'behind' the actual player name button on the large GUI, causing the tphere button to not be clickable. This is now fixed.

I also write a new class for holding players' GUI settings, eg whether they have sleepers enabled, if tphere is enabled, and the page they are on (for the large GUI). This makes adding new functionality much easier to do in the future and also means that settings are remembered between opening and closing the GUI. I could add this to the data file so it's even saved between restarts/reloads but I feel this is a little unnecessary - although let me know if you'd like this!
/tp {x} {y} {z} now works correctly and fixed a bug where the large GUI would always open
Cancelling your teleport in any way refunds your cooldown and Eco/SR money
The old "AllowTeleportIntoBuildBlock" config option is now called "AllowTeleportToBuildingBlockedPlayer" to better describe it's functionality.

I've also re-used this old option, "AllowTeleportIntoBuildBlock", as an option for whether the plugin checks if the player has build priv. in the place they're trying to teleport to. So even if the teleport receiver has build access, if the sender doesn't, they won't be able to teleport.
/tpc now cancels home teleports

Added "CancelAllTeleports" hook, which cancels all tpr's or homes. Feel free to use this in your own plugins.
So TPHere is finally in on the GUI. I decided it didn't look too great to have it always showing, so it's now a toggle button in the top bar (god it's getting a little cramped up there!). As with the others, it will only show if you have the permission.

This is also a precursor to being able to teleport to/from sleepers, I'm going to use the same toggle idea to be able to toggle to a menu of sleeping players. Stay tuned...
A small update today;

- /tp {x} {y} {z} will instantly teleport you to those co-ords. It should work the same way as teleport.topos in console. This is admin only, but I'll add a permission if you guys want.

- Daily limit. Prior to this update the way to disable the daily limit was to set it to 9999, which was messy to say the least. Now, if you set the "DefaultDailyLimit" to -1 it will completely disable it for everyone, hiding the message and making the limit have no effect.

TPHere on the GUI is in the works, but it current looks crap. If anyone has any suggestions to make it look not crap, please let me know.
Hey guys - big update today.

In summary:
- /tpc - Cancels your teleport
- /tpb - Teleports you back to your previous location
- /tphere - Teleports someone to you
- There is now a warning if you're using an outdated config
- Teleporting is now blocked if someone takes damage

/tpc
So cancelling your teleport is in (finally). Here's how it works at the moment:
If you have sent someone a teleport request, which they have not accepted, and you then cancel the request, then your economics will be refunded, you will not have a cooldown, and a use will not be taken up.
If you have sent someone a teleport request which they have accepted, and you then cancel the request, then your economics currency will not be refunded, your teleport will go on cooldown, and a use will be taken.
This is definitely subject to change. Please let me know your thoughts on this and I'll edit functionality accordingly.
This is also in the GUI now. You'll see a nice orange cancel button if you have permission to use the command, but it'll appear grey if you don't have a request or teleport to cancel.
Permission: teleportgui.tpcancel

/tpb
You can now teleport back to your previous location. This is intended to be admin only, it doesn't have a cooldown, cost, or time before teleport etc, it just instantly teleports you back to where you were. I can definitely change this in the future if that's what you guys would like, but I figured it's better to push it out now as it so you have something to use.
This is also in the GUI, a nice blue button in the top right next to the cancel one, it will only show if you have permission to use it. It'll also show grey if you have the permission but don't have any previously recorded teleports.
Bear in mind that the previous teleports are forgotten on restart/on reload. Permission: teleportgui.tpback

/tphere
Does what it says on the tin. Not currently in the GUI since it would take precious space of players' name areas, but I will add it in if you guys use it enough. This is also intended to be admin only for the moment - it will instantly teleport them, with no cooldown, uses, economy charge etc.
Permission: teleportgui.tphere

Since many of you have been having issues with the plugin failing to read non-existent config values after updating the plugin but not regenerating the config (this is not your fault, just how Oxide works), I have added a new failsafe to this system. If the plugin tries to read a config value which doesn't exist it will warn you in the console with a message. If you see this message, simply rename your config file to "TeleportGUI-old" or something similar, reload the plugin, and manually transfer your custom settings back into the newly generated config. Hopefully this should make it more obvious when there's an issue with your config.

Teleporting is now blocked if you're in the 'time-until-teleport' process and take damage. There's a config option to disable this if you wish - it's enabled by default. Let me know your thoughts on this, nobody's suggested it but I figured it'd be a good addition (options are never bad, right?).

While I was adding in the new buttons I noticed the accept/deny buttons were hilariously huge (especially on the larger GUI) so I've toned them down a bit. I've also made the "request from" text a bit smaller in order to fit the new buttons in.

I've attached a screenshot of the small UI so you can take a look and see what it looks like ingame.

I also added a few things behind the scenes to make it easier to work on the plugin - don't worry, this won't affect your servers (it will only work on mine) - but it should make developing a little easier and faster.
If you happen to find some of the commands I've added, please don't try to fuck with them. You shouldn't be able to use them but if you do that's on you and I won't be helping you with any issues you may run into.

If you've got any questions about this fairly big update then the support thread is as alive as usual and I'll try to get in contact with you there.

Attachments

  • ss (2017-03-11 at 07.02.05).jpg
    ss (2017-03-11 at 07.02.05).jpg
    849.7 KB · Views: 579
  • Like
Reactions: Dmitry
The Rust devs have been at it again renaming random functions - now fixed to work with the latest update.