About MyTeleport
MyTeleport – an advanced and modern teleportation system for players, offering flexible teleport requests, homes, warps and powerful admin controls.
Functions:
1. Player & Admin Teleportation
- Player teleport requests and accepts
- Admin teleport to players, coordinates and map markers
- Teleport all players to a position or to a player
- Dynamic height detection (use y to auto-detect ground level)
- Fast, optimized teleport pipeline
2. Homes System
- Set / teleport / remove personal homes
- Admin management for player homes (list / remove / tp)
- Home set mode: command or item
- Min distance between homes, build-zone checks and allowed block/item lists
- Custom icons and colors for homes
3. Warps
- Create permission-based or public warps
- Teleport to warps and list warps
- Warp creation/removal with optional permission flag
4. Requests & Trust
- /tp <player> — send teleport request
- Accept / cancel / auto-retry requests
- Trust system for instant teleports to trusted players
- UI request panel (configurable) and sound notifications
5. Moderation & Restrictions
- Combat block with configurable triggers and duration
- Restrict teleports by status (hunger, bleed, rad, cold, swim, building blocked, safe zones)
- Monument radius and restricted monuments list
- Option to deny teleport if target's vehicle has no free seats
6. Status & Notifications
- Notification type: chat / toast / both (notify setting)
- Sounds for teleport, request received, request accepted
- Simple Status integration for active teleport UI (customizable text, colors, icon, progress)
7. Transport behavior (important)
- If target player is in a vehicle, you will be automatically seated into a free seat when teleported.
- If there are no free seats, the teleport will be denied with a notification.
Admin Commands:
- tp <player> — Teleport to a player
- tp <x> <y/"y"> <z> — Teleport to specific coordinates (use "y" to automatically determine the terrain height)
- tp <player> <target> — Teleport one player to another
- tpm — Enable or disable teleportation to a map marker
- tp.all — Teleport all players to yourself
- tp.all <x> <y/"y"> <z> — Teleport all players to specified coordinates (use "y" for automatic height)
- tp.all <player> — Teleport all players to a specific player
- a.home <player> list — Show all home points of a player
- a.home <player> teleport/tp <home.name> — Teleport to a specific home of a player
- a.home <player> remove/rem <home.name> — Remove a specific home of a player
- warp list — Show a list of all created warps
- warp create/add <name> <permission>* — Create a warp at your current location with the given name (permission optional)
- warp remove/rem <name> — Remove a specific warp
Player Commands:
- tp <player> — Send a teleport request to the specified player
- accept — Accept a teleport request
- cancel — Cancel an active teleport request
- trust <player> — Add or remove a player from your trusted list (allows teleportation without confirmation)
- <warp.name> — Teleport to a specified warp (if permission is granted)
Permissions:
- myteleport.moder – access to administrative commands
- myteleport.tp.request – allow sending teleport requests
- myteleport.tp.accept – allow accepting requests
- myteleport.warp.tp – default permission for warp teleportation
- myteleport.warp.list – permission to list warps
- myteleport.warp.create – permission to create warps
- myteleport.warp.remove – permission to delete warps
Configuration:
{ "Settings: General": { "Notification type (chat - 1 | toast - 2 | both - 3)": 3, "Teleport request expiration time (sec)": 15, "Allow teleportation requests only to teammates": true, "Enable sending teleport requests to teammates via map marker": true, "Apply a personal cooldown for teleporting to a specific player instead of the global cooldown": false, "Apply a personal cooldown for teleporting to a specific home instead of the global cooldown": false, "Apply personal cooldown for specific warp instead of global cooldown": false, "Enable UI request panel": true, "Automatically seat player in target's vehicle during teleport": true, "Chat Commands": { "Teleport commands": [ "tp", "tpr" ], "Accept teleport request commands": [ "a", "acc", "accept", "tpa" ], "Cancel teleport/teleport request commands": [ "c", "can", "cancel", "tpc", "deny" ], "Commands for managing trusted players": [ "atp", "trust" ], "Teleport-to-home commands": [ "h", "home" ], "Set home commands": [ "sh", "sethome" ], "Remove home commands": [ "rh", "remhome", "removehome" ], "Warp commands": [ "warp" ], "Admin commands for teleportation to a marker": [ "tpm", "tp.marker" ], "Admin commands for managing player home points": [ "a.home" ], "Commands for teleporting all players": [ "tp.all" ], "Commands to open the settings menu": [ "hs", "setting", "hsetting" ] }, "Sounds": { "Teleport sound": "assets/bundled/prefabs/fx/notice/loot.drag.dropsuccess.fx.prefab", "Request received sound": "assets/bundled/prefabs/fx/notice/loot.drag.dropsuccess.fx.prefab", "Request accepted sound": "assets/bundled/prefabs/fx/notice/loot.drag.dropsuccess.fx.prefab" } }, "Settings: Homes": { "Home set mode (0 - by command | 1 - by item)": 0, "Minimum distance between home points": 100.0, "Allow setting home only within your authorized building zone": true, "Block teleportation if the building zone is missing at the home point": true, "Require friendly foundation": false, "Allowed building blocks": [ "foundation", "floor" ], "Allowed items (ShortName)": [ "sleepingbag", "beachtowel" ], "Customization": { "Icons (max 6)": [ "MT_ICON_HOME", "MT_ICON_PING", "MT_ICON_SEWING", "MT_ICON_SKULL", "MT_ICON_WEAPON", "MT_ICON_ORE" ], "Colors (max 6)": [ "FBFF2E", "0066E3", "709E35", "7D0000", "A051AC", "00FFCD" ] } }, "Settings: Restrictions": { "Situations": { "Hunger": true, "Bleeding": true, "Radiation": true, "Cold": true, "Swimming": false, "Mounted (in transport)": false, "Building blocked zone": true, "Safe zone": false, "There are no free seats in the target's vehicle": true }, "Monuments": { "Extra radius added to monument bounds (meters)": 50.0, "Restricted monument list": [ "compound", "bandit_town", "sphere_tank", "arctic_research_base", "powerplant", "launch_site", "water_treatment_plant", "desert_military_base", "ferry_terminal", "satellite_dish", "nuclear_missile_silo" ] } }, "Settings: Combat Block": { "Combat block duration (sec)": 30.0, "Combat Triggers": { "Attack triggers": { "On player attack": true, "On NPC attack": true, "On sleeping player attack": false }, "Damage triggers": { "Damage from player": true, "Damage from NPC": true } } }, "Settings: Statuses": { "default": { "Timings": { "Teleport-to-player timings": { "Delay before teleport (sec)": 15, "Teleport cooldown (sec)": 300 }, "Teleport-to-home timings": { "Delay before teleport (sec)": 30, "Teleport cooldown (sec)": 300 }, "Teleport timings for warp": { "Delay before teleport (sec)": 30, "Teleport cooldown (sec)": 300 } }, "Max saved homes per player": 1 }, "premium": { "Timings": { "Teleport-to-player timings": { "Delay before teleport (sec)": 10, "Teleport cooldown (sec)": 180 }, "Teleport-to-home timings": { "Delay before teleport (sec)": 15, "Teleport cooldown (sec)": 180 }, "Teleport timings for warp": { "Delay before teleport (sec)": 15, "Teleport cooldown (sec)": 180 } }, "Max saved homes per player": 3 }, "vip": { "Timings": { "Teleport-to-player timings": { "Delay before teleport (sec)": 12, "Teleport cooldown (sec)": 240 }, "Teleport-to-home timings": { "Delay before teleport (sec)": 25, "Teleport cooldown (sec)": 240 }, "Teleport timings for warp": { "Delay before teleport (sec)": 25, "Teleport cooldown (sec)": 240 } }, "Max saved homes per player": 2 } }, "Settings: Simple Status Integration": { "Customization of active teleport status": { "Background color": "1 1 1 0.04", "Title": "Teleportation", "Title color": "1 1 1 0.75", "Text": "%time% sec.", "Text color": "1 1 1 0.5", "Icon (key from ImageLibrary)": "MT_ICON_PING", "Icon color": "1 1 1 0.5", "Initial progress value": 0.0, "Progress bar color": "1 1 1 0.12", "Status rank": 0 } } }
API:
void API_Teleport(BasePlayer player, Vector3 position); // Teleport a player to a specified position bool API_ActiveRequest(ulong userID); // Check if a player has an active teleport request bool API_ActiveTeleport(ulong userID); // Check if a player has an active teleport Dictionary<string, Vector3> API_GetHomes(ulong userID); // Get all home points of a player by their ID
Hooks:
OnPlayerTeleport(BasePlayer player, BasePlayer target, Vector3 pos); // Called when a player teleports OnTeleportationRequest(BasePlayer player, BasePlayer target); // Called when a player sends a teleport request OnAcceptRequest(BasePlayer player, BasePlayer sender); // Called when a player accepts a teleport request OnCreateHome(BasePlayer player, string name, Vector3 pos); // Called when a home point is created OnCancelRequest(BasePlayer sender, BasePlayer target); // Called when a teleport request is cancelled OnRemovingActiveTeleport(BasePlayer player); // Called when an active teleport is removed
