Skip to content

Motion-Scripts/motion_tpmenu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧭 TP Menu

A modern, category-based teleport menu for FiveM servers.

Built for performance, clean UI, and full framework compatibility through motion_bridge.

⚠️ motion_bridge must start before motion_tpmenu.

Support: https://discord.gg/jAbJ8rVUqw


✨ Features

  • πŸ”Œ Auto Framework Detection (QBX β†’ QB β†’ ESX β†’ OX β†’ Standalone)
  • πŸ” Framework & ACE Permissions
  • πŸ—‚ Category Sidebar System
  • πŸ–Ό Location Image Preview Support
  • ⭐ Recent Teleport System
  • 🎨 Fully Customizable Theme
  • πŸš— Optional Vehicle Handling
  • πŸ”” Advanced Notification Support
  • πŸ–₯ Grid & List View Modes
  • ⚑ Teleport Fade Effect

πŸ“¦ Requirements

Ensure the following resources are started:

ensure motion_bridge
ensure motion_notify (not required but reccomended)

βš™οΈ Configuration

All configuration is handled inside:

config.lua

🧠 Framework

Config.Framework = "auto"

Available Options

  • "auto" (Recommended)
  • "esx"
  • "qb"
  • "qbx"
  • "ox"
  • "standalone"

"auto" will detect in this order:

QBX β†’ QB-Core β†’ ESX β†’ OX β†’ Standalone

πŸ” Permissions

Config.Permissions = "framework"
Config.AdminGroups = { "admin", "superadmin", "god", "mod" }

Permission Modes

Mode Description
"framework" Uses framework player groups
"ace" Uses FiveM ACE permission (tpmenu.admin)
"none" Everyone can access all locations

ACE Example

add_ace group.admin tpmenu.admin allow

⌨ Command & Keybind

Config.EnableCommand = true
Config.EnableKeybind = true
Config.Command = "tp"
Config.Keybind = "F5"

Set to false to disable either option.


πŸ”” Notifications (Recommended: motion_notify)

Config.Notify = "motion_notify"

⭐ Why motion_notify?

  • βœ… Clean & modern design
  • βœ… Fully integrated with motion_bridge
  • βœ… Consistent styling across Motion resources
  • βœ… Optimized performance
  • βœ… Framework-independent

Make sure it is started:

ensure motion_notify

Other Supported Notify Options

Option Description
"motion_notify" Direct Motion Notify (Recommended)
"bridge" Uses motion_bridge auto-detection
"ox_lib" Uses ox_lib notifications
"qb" Uses QB-Core notify
"esx" Uses ESX showNotification
"custom" Fully custom notify system

Custom Notify Setup

If using "custom":

Config.Notify = "custom"

Add inside client.lua:

_G.CustomNotify = function(ntype, title, message, duration)
    -- ntype = "success", "error", "info"
end

πŸ–₯ Menu Settings

Config.ConfirmTP      = true
Config.ShowRecent     = true
Config.MaxRecent      = 5
Config.ShowCoords     = false
Config.DefaultView    = "grid"
Config.TeleportEffect = "fade"
Config.LeaveVehicle   = false

Options Explained

  • ConfirmTP β€” Show confirmation dialog before teleport
  • ShowRecent β€” Show recent locations at top
  • MaxRecent β€” Maximum saved recent locations
  • ShowCoords β€” Display XYZ in list view
  • DefaultView β€” "grid" or "list"
  • TeleportEffect β€” "fade" or "none"
  • LeaveVehicle β€” Eject player before teleporting

🎨 Theme Customization

Config.Theme = {
    accentColor = "#60a5fa",
    accentGlow  = "rgba(96,165,250,0.15)",
    menuWidth   = "860px",
    menuHeight  = "580px",
}

You can customize:

  • Accent color
  • Glow effect
  • Menu width & height

πŸ—‚ Categories

Config.LocationCategories = {
    { id = "city",    label = "City",       icon = "building"  },
    { id = "airport", label = "Airport",    icon = "plane"     },
    { id = "gang",    label = "Gang Zones", icon = "crosshair" },
    { id = "police",  label = "Police",     icon = "shield"    },
    { id = "medical", label = "Medical",    icon = "heart"     },
    { id = "leisure", label = "Leisure",    icon = "star"      },
}

Supported Icons

building, plane, shield, heart, star,
crosshair, car, tree, dollar,
music, zap, map, anchor,
home, flag

πŸ“ Locations

Example location format:

{
    id = "lsc",
    name = "Los Santos Customs",
    category = "city",
    desc = "Vehicle mods & paint",
    coords = vector4(-349.7, -137.3, 39.0, 60.0),
    badge = nil,
    image = "https://example.com/image.jpeg"
}

Location Fields

Field Description
id Unique identifier
name Display name
category Must match category id
desc Location description
coords vector4(x, y, z, heading)
badge nil or "admin"
image URL or nil

πŸ›‘ Admin-Only Locations

To restrict a location to admins:

badge = "admin"

This respects your selected permission mode.


πŸš€ Adding New Locations

  1. Choose a valid category id
  2. Add a new entry inside Config.Locations
  3. Restart tp_menu

πŸ›  Troubleshooting

Menu not opening?

  • Ensure motion_bridge starts before tp_menu
  • Check Config.Framework
  • Verify permission setup

Notifications not showing?

  • Set:
Config.Notify = "motion_notify"
  • Ensure:
ensure motion_notify

πŸ“„ License

Free to use and modify.
Do not resell without permission.


Made for modern FiveM servers.

About

Free FiveM TP Menu

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors