Files
Docs/de/API documentation/Client-Side/index.html

5083 lines
204 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="de" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="This website serves as the new BeamMP Documentation site for general self serve support, guides and documentation. Best of all it is source available so you the community can help us to A. keep it up-to-date and B. providing the content you require.">
<link rel="canonical" href="https://docs.beammp.com/de/API%20documentation/Client-Side/">
<link rel="alternate" href="../../../API%20documentation/Client-Side/" hreflang="en">
<link rel="alternate" href="../../../es/API%20documentation/Client-Side/" hreflang="es">
<link rel="alternate" href="./" hreflang="de">
<link rel="alternate" href="../../../fr/API%20documentation/Client-Side/" hreflang="fr">
<link rel="alternate" href="../../../it/API%20documentation/Client-Side/" hreflang="it">
<link rel="alternate" href="../../../ru/API%20documentation/Client-Side/" hreflang="ru">
<link rel="icon" href="../../../assets/core/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.6">
<title>Client Side - BeamMP Docs</title>
<link rel="stylesheet" href="../../../assets/stylesheets/main.484c7ddc.min.css">
<link rel="stylesheet" href="../../../assets/stylesheets/palette.ab4e12ef.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link rel="stylesheet" href="../../../stylesheets/custom.css">
<script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script id="__analytics">function __md_analytics(){function e(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],e("js",new Date),e("config","G-8T6ETLZCMC"),document.addEventListener("DOMContentLoaded",(function(){document.forms.search&&document.forms.search.query.addEventListener("blur",(function(){this.value&&e("event","search",{search_term:this.value})}));document$.subscribe((function(){var t=document.forms.feedback;if(void 0!==t)for(var a of t.querySelectorAll("[type=submit]"))a.addEventListener("click",(function(a){a.preventDefault();var n=document.location.pathname,d=this.getAttribute("data-md-value");e("event","feedback",{page:n,data:d}),t.firstElementChild.disabled=!0;var r=t.querySelector(".md-feedback__note [data-md-value='"+d+"']");r&&(r.hidden=!1)})),t.hidden=!1})),location$.subscribe((function(t){e("config","G-8T6ETLZCMC",{page_path:t.pathname})}))}));var t=document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtag/js?id=G-8T6ETLZCMC",document.getElementById("__analytics").insertAdjacentElement("afterEnd",t)}</script>
<script>if("undefined"!=typeof __md_analytics){var consent=__md_get("__consent");consent&&consent.analytics&&__md_analytics()}</script>
<meta property="og:type" content="website" />
<meta property="og:title" content="Client Side - BeamMP Docs" />
<meta property="og:description" content="This website serves as the new BeamMP Documentation site for general self serve support, guides and documentation. Best of all it is source available so you the community can help us to A. keep it up-to-date and B. providing the content you require." />
<meta property="og:image" content="https://docs.beammp.com/assets/images/social/de/API%20documentation/Client-Side.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:url" content="https://docs.beammp.com/de/API%20documentation/Client-Side/" />
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:title" content="Client Side - BeamMP Docs" />
<meta property="twitter:description" content="This website serves as the new BeamMP Documentation site for general self serve support, guides and documentation. Best of all it is source available so you the community can help us to A. keep it up-to-date and B. providing the content you require." />
<meta property="twitter:image" content="https://docs.beammp.com/assets/images/social/de/API%20documentation/Client-Side.png" />
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="indigo">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#table-of-contents" class="md-skip">
Zum Inhalt
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Kopfzeile">
<a href="/" title="BeamMP Docs" class="md-header__button md-logo" aria-label="BeamMP Docs" data-md-component="logo">
<img src="../../../assets/core/beammp_dark.png" alt="logo" class="logo-light" />
<img src="../../../assets/core/beammp_light.png" alt="logo" class="logo-dark" />
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
BeamMP Docs
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Client Side
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="indigo" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3zm3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95zm-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31"/></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5s-1.65.15-2.39.42zM3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29zm.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14zM20.65 7l-1.77 3.79a7.02 7.02 0 0 0-2.38-4.15zm-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29zM12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44z"/></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__option">
<div class="md-select">
<button class="md-header__button md-icon" aria-label="Sprache wechseln">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"/></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a href="../../../API%20documentation/Client-Side/" hreflang="en" class="md-select__link">
English
</a>
</li>
<li class="md-select__item">
<a href="../../../es/API%20documentation/Client-Side/" hreflang="es" class="md-select__link">
Español
</a>
</li>
<li class="md-select__item">
<a href="./" hreflang="de" class="md-select__link">
Deutsch
</a>
</li>
<li class="md-select__item">
<a href="../../../fr/API%20documentation/Client-Side/" hreflang="fr" class="md-select__link">
Français
</a>
</li>
<li class="md-select__item">
<a href="../../../it/API%20documentation/Client-Side/" hreflang="it" class="md-select__link">
Italiano
</a>
</li>
<li class="md-select__item">
<a href="../../../ru/API%20documentation/Client-Side/" hreflang="ru" class="md-select__link">
Pусский
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Suche" placeholder="Suche" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</label>
<nav class="md-search__options" aria-label="Suche">
<a href="javascript:void(0)" class="md-search__icon md-icon" title="Teilen" aria-label="Teilen" data-clipboard data-clipboard-text="" data-md-component="search-share" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91s2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08"/></svg>
</a>
<button type="reset" class="md-search__icon md-icon" title="Zurücksetzen" aria-label="Zurücksetzen" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
</button>
</nav>
<div class="md-search__suggest" data-md-component="search-suggest"></div>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Suche wird initialisiert
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/beammp/docs" title="Zum Repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
</div>
<div class="md-source__repository">
beammp/docs
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<nav class="md-tabs" aria-label="Hauptnavigation" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item">
<a href="../../" class="md-tabs__link">
Hauptseite
</a>
</li>
<li class="md-tabs__item">
<a href="../../game/getting-started/" class="md-tabs__link">
Support
</a>
</li>
<li class="md-tabs__item">
<a href="../../FAQ/How-to-check-for-CGNAT/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="../../guides/" class="md-tabs__link">
Entwicklungsanleitungen
</a>
</li>
<li class="md-tabs__item">
<a href="../../beamng/" class="md-tabs__link">
BeamNG-Dokumentation
</a>
</li>
<li class="md-tabs__item">
<a href="../../scripting/mod-reference/" class="md-tabs__link">
Scripting-Referenz
</a>
</li>
<li class="md-tabs__item">
<a href="../../contributing/" class="md-tabs__link">
Mitwirken
</a>
</li>
<li class="md-tabs__item">
<a href="../../community/" class="md-tabs__link">
Gemeinschaft
</a>
</li>
</ul>
</div>
</nav>
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="/" title="BeamMP Docs" class="md-nav__button md-logo" aria-label="BeamMP Docs" data-md-component="logo">
<img src="../../../assets/core/beammp_dark.png" alt="logo" class="logo-light" />
<img src="../../../assets/core/beammp_light.png" alt="logo" class="logo-dark" />
</a>
BeamMP Docs
</label>
<div class="md-nav__source">
<a href="https://github.com/beammp/docs" title="Zum Repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
</div>
<div class="md-source__repository">
beammp/docs
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../" class="md-nav__link">
<span class="md-ellipsis">
Hauptseite
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2" >
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-ellipsis">
Support
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
Support
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2_1" >
<label class="md-nav__link" for="__nav_2_1" id="__nav_2_1_label" tabindex="0">
<span class="md-ellipsis">
BeamMP spielen
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_1">
<span class="md-nav__icon md-icon"></span>
BeamMP spielen
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../game/getting-started/" class="md-nav__link">
<span class="md-ellipsis">
BeamMP Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../game/error-codes/" class="md-nav__link">
<span class="md-ellipsis">
Fehlercodes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../game/multiplayer-settings/" class="md-nav__link">
<span class="md-ellipsis">
Einstellungen anpassen
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2_2" >
<label class="md-nav__link" for="__nav_2_2" id="__nav_2_2_label" tabindex="0">
<span class="md-ellipsis">
Running a BeamMP-Server
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_2">
<span class="md-nav__icon md-icon"></span>
Running a BeamMP-Server
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../server/create-a-server/" class="md-nav__link">
<span class="md-ellipsis">
Server Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../server/port-forwarding/" class="md-nav__link">
<span class="md-ellipsis">
Port Forwarding
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../server/server-maintenance/" class="md-nav__link">
<span class="md-ellipsis">
Server Wartung
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../server/error-codes/" class="md-nav__link">
<span class="md-ellipsis">
Fehlercodes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../server/manual/" class="md-nav__link">
<span class="md-ellipsis">
Server Handbuch
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2_3" >
<label class="md-nav__link" for="__nav_2_3" id="__nav_2_3_label" tabindex="0">
<span class="md-ellipsis">
Mod- & Ressourcenerstellung
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_3">
<span class="md-nav__icon md-icon"></span>
Mod- & Ressourcenerstellung
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../guides/mod-creation/server/getting-started/" class="md-nav__link">
<span class="md-ellipsis">
Serverseite
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<span class="md-ellipsis">
FAQ
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
FAQ
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../FAQ/How-to-check-for-CGNAT/" class="md-nav__link">
<span class="md-ellipsis">
Wie überprüft man auf CGNAT?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../FAQ/where-to-find-my-IP/" class="md-nav__link">
<span class="md-ellipsis">
Wo finde ich meine IP Adresse?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../FAQ/How-to-deactivate-mods/" class="md-nav__link">
<span class="md-ellipsis">
Wie deaktiviere ich meine Mods?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../FAQ/Update-launcher/" class="md-nav__link">
<span class="md-ellipsis">
Den Launcher Manuell updaten
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../FAQ/Change-launcher-port/" class="md-nav__link">
<span class="md-ellipsis">
Ändern des Launcher Ports
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../FAQ/Defender-exclusions/" class="md-nav__link">
<span class="md-ellipsis">
Ausnahmen erstellen (Defender)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../FAQ/player-faq/" class="md-nav__link">
<span class="md-ellipsis">
Spieler-FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../FAQ/game-faq/" class="md-nav__link">
<span class="md-ellipsis">
Spiel FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../FAQ/server-faq/" class="md-nav__link">
<span class="md-ellipsis">
Server FAQ
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<div class="md-nav__link md-nav__container">
<a href="../../guides/" class="md-nav__link ">
<span class="md-ellipsis">
Entwicklungsanleitungen
</span>
<span class="md-status md-status--new" title="Recently added">
</span>
</a>
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Entwicklungsanleitungen
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../guides/beammp-dev/beammp-dev/" class="md-nav__link">
<span class="md-ellipsis">
Development Environment Setup
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
<span class="md-ellipsis">
Mod-Erstellung
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Mod-Erstellung
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../scripting/mod-reference/" class="md-nav__link">
<span class="md-ellipsis">
Client Scripting Reference
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
<span class="md-ellipsis">
Ressourcenerstellung
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Ressourcenerstellung
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../guides/mod-creation/server/getting-started/" class="md-nav__link">
<span class="md-ellipsis">
Serverseite
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<div class="md-nav__link md-nav__container">
<a href="../../beamng/" class="md-nav__link ">
<span class="md-ellipsis">
BeamNG-Dokumentation
</span>
</a>
<label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
BeamNG-Dokumentation
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_2" >
<div class="md-nav__link md-nav__container">
<a href="../../beamng/dev/" class="md-nav__link ">
<span class="md-ellipsis">
Content Development
</span>
</a>
<label class="md-nav__link " for="__nav_5_2" id="__nav_5_2_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_2">
<span class="md-nav__icon md-icon"></span>
Content Development
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_2_2" >
<label class="md-nav__link" for="__nav_5_2_2" id="__nav_5_2_2_label" tabindex="0">
<span class="md-ellipsis">
Programming
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_5_2_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_2_2">
<span class="md-nav__icon md-icon"></span>
Programming
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../beamng/dev/modding/ui-apps/" class="md-nav__link">
<span class="md-ellipsis">
UI Apps (HTML)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../beamng/dev/modding/imgui-window-tutorial/" class="md-nav__link">
<span class="md-ellipsis">
ImGui Window Tutorial
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../beamng/dev/modding/lua-mods/" class="md-nav__link">
<span class="md-ellipsis">
Lua Mods (Scripts)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_2_3" >
<label class="md-nav__link" for="__nav_5_2_3" id="__nav_5_2_3_label" tabindex="0">
<span class="md-ellipsis">
Content
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_5_2_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_2_3">
<span class="md-nav__icon md-icon"></span>
Content
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../beamng/dev/content/maps/" class="md-nav__link">
<span class="md-ellipsis">
Maps
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../beamng/dev/content/props/" class="md-nav__link">
<span class="md-ellipsis">
Props
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../beamng/dev/content/vehicles/" class="md-nav__link">
<span class="md-ellipsis">
Vehicles
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../beamng/lua-snippets/" class="md-nav__link">
<span class="md-ellipsis">
Lua Code Snippets
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../beamng/css-snippets/" class="md-nav__link">
<span class="md-ellipsis">
CSS Code Snippets
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../beamng/imgui-snippets/" class="md-nav__link">
<span class="md-ellipsis">
ImGui Code Snippets
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../beamng/cef-snippets/" class="md-nav__link">
<span class="md-ellipsis">
CEF Code Snippets
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
<span class="md-ellipsis">
Scripting-Referenz
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Scripting-Referenz
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../scripting/mod-reference/" class="md-nav__link">
<span class="md-ellipsis">
Client Scripting Reference
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6_2" >
<label class="md-nav__link" for="__nav_6_2" id="__nav_6_2_label" tabindex="0">
<span class="md-ellipsis">
Server
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_2">
<span class="md-nav__icon md-icon"></span>
Server
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../scripting/server/latest-server-reference/" class="md-nav__link">
<span class="md-ellipsis">
Version 3.X (Latest)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../scripting/server/v2-server-reference/" class="md-nav__link">
<span class="md-ellipsis">
Version 2.X (Deprecated)
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Mitwirken
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Mitwirken
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../contributing/" class="md-nav__link">
<span class="md-ellipsis">
Erste Schritte
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_8" >
<div class="md-nav__link md-nav__container">
<a href="../../community/" class="md-nav__link ">
<span class="md-ellipsis">
Gemeinschaft
</span>
</a>
<label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8">
<span class="md-nav__icon md-icon"></span>
Gemeinschaft
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../community/rules/" class="md-nav__link">
<span class="md-ellipsis">
Rules
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Inhaltsverzeichnis">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Inhaltsverzeichnis
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#table-of-contents" class="md-nav__link">
<span class="md-ellipsis">
Table of Contents
</span>
</a>
<nav class="md-nav" aria-label="Table of Contents">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#mpvehiclege" class="md-nav__link">
<span class="md-ellipsis">
MPVehicleGE
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mpconfig" class="md-nav__link">
<span class="md-ellipsis">
MPConfig
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mpcorenetwork" class="md-nav__link">
<span class="md-ellipsis">
MPCoreNetwork
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mpgamenetwork" class="md-nav__link">
<span class="md-ellipsis">
MPGameNetwork
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mphelpers" class="md-nav__link">
<span class="md-ellipsis">
MPHelpers
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#vehicle-functions" class="md-nav__link">
<span class="md-ellipsis">
Vehicle Functions
</span>
</a>
<nav class="md-nav" aria-label="Vehicle Functions">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#getgamevehicleidservervehicleid" class="md-nav__link">
<span class="md-ellipsis">
getGameVehicleID(serverVehicleID)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#getservervehicleidgamevehicleid" class="md-nav__link">
<span class="md-ellipsis">
getServerVehicleID(gameVehicleID)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#getvehiclebyserveridservervehicleid" class="md-nav__link">
<span class="md-ellipsis">
getVehicleByServerID(serverVehicleID)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#getvehiclebygameidgamevehicleid" class="md-nav__link">
<span class="md-ellipsis">
getVehicleByGameID(gameVehicleID)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#isowngamevehicleid" class="md-nav__link">
<span class="md-ellipsis">
isOwn(gameVehicleID)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#getownmap" class="md-nav__link">
<span class="md-ellipsis">
getOwnMap()
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#getvehiclemap" class="md-nav__link">
<span class="md-ellipsis">
getVehicleMap()
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#getdistancemap" class="md-nav__link">
<span class="md-ellipsis">
getDistanceMap()
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#getnicknamemap" class="md-nav__link">
<span class="md-ellipsis">
getNicknameMap()
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#getvehicles" class="md-nav__link">
<span class="md-ellipsis">
getVehicles()
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#player-functions" class="md-nav__link">
<span class="md-ellipsis">
Player Functions
</span>
</a>
<nav class="md-nav" aria-label="Player Functions">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#getplayerbynamename" class="md-nav__link">
<span class="md-ellipsis">
getPlayerByName(name)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#getplayers" class="md-nav__link">
<span class="md-ellipsis">
getPlayers()
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#nametag-functions" class="md-nav__link">
<span class="md-ellipsis">
Nametag Functions
</span>
</a>
<nav class="md-nav" aria-label="Nametag Functions">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#setplayernickprefixtargetname-tagsource-text" class="md-nav__link">
<span class="md-ellipsis">
setPlayerNickPrefix(targetName, tagSource, text)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#setplayernicksuffixtargetname-tagsource-text" class="md-nav__link">
<span class="md-ellipsis">
setPlayerNickSuffix(targetName, tagSource, text)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#hidenicknameshide" class="md-nav__link">
<span class="md-ellipsis">
hideNicknames(hide)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#togglenicknames" class="md-nav__link">
<span class="md-ellipsis">
toggleNicknames()
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#role-functions" class="md-nav__link">
<span class="md-ellipsis">
Role Functions
</span>
</a>
<nav class="md-nav" aria-label="Role Functions">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#setplayerroleplayerid-tag-shorttag-red-green-blue" class="md-nav__link">
<span class="md-ellipsis">
setPlayerRole(playerID, tag, shorttag, red, green, blue)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#clearplayerroleplayerid" class="md-nav__link">
<span class="md-ellipsis">
clearPlayerRole(playerID)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#setvehicleroleplayeridvehicleid-tag-shorttag-red-green-blue" class="md-nav__link">
<span class="md-ellipsis">
setVehicleRole(playerIDVehicleID, tag, shorttag, red, green, blue)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#clearvehicleroleplayeridvehicleid" class="md-nav__link">
<span class="md-ellipsis">
clearVehicleRole(playerIDVehicleID)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#navigation-functions" class="md-nav__link">
<span class="md-ellipsis">
Navigation Functions
</span>
</a>
<nav class="md-nav" aria-label="Navigation Functions">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#groundmarkertoplayertargetname" class="md-nav__link">
<span class="md-ellipsis">
groundmarkerToPlayer(targetName)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#groundmarkerfollowplayertargetname-dontfollow" class="md-nav__link">
<span class="md-ellipsis">
groundmarkerFollowPlayer(targetName, dontfollow)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#queryroadnodetopositiontargetposition-owner" class="md-nav__link">
<span class="md-ellipsis">
queryRoadNodeToPosition(targetPosition, owner)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#object-methods" class="md-nav__link">
<span class="md-ellipsis">
Object Methods
</span>
</a>
<nav class="md-nav" aria-label="Object Methods">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#player-object-methods" class="md-nav__link">
<span class="md-ellipsis">
Player Object Methods
</span>
</a>
<nav class="md-nav" aria-label="Player Object Methods">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#playersetnickprefixtagsource-text" class="md-nav__link">
<span class="md-ellipsis">
player:setNickPrefix(tagSource, text)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#playersetnicksuffixtagsource-text" class="md-nav__link">
<span class="md-ellipsis">
player:setNickSuffix(tagSource, text)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#playersetcustomrolerole" class="md-nav__link">
<span class="md-ellipsis">
player:setCustomRole(role)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#playerclearcustomrole" class="md-nav__link">
<span class="md-ellipsis">
player:clearCustomRole()
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#vehicle-object-methods" class="md-nav__link">
<span class="md-ellipsis">
Vehicle Object Methods
</span>
</a>
<nav class="md-nav" aria-label="Vehicle Object Methods">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#vehiclegetowner" class="md-nav__link">
<span class="md-ellipsis">
vehicle:getOwner()
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#vehiclesetcustomrolerole" class="md-nav__link">
<span class="md-ellipsis">
vehicle:setCustomRole(role)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#vehicleclearcustomrole" class="md-nav__link">
<span class="md-ellipsis">
vehicle:clearCustomRole()
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#vehiclesetdisplaynamedisplayname" class="md-nav__link">
<span class="md-ellipsis">
vehicle:setDisplayName(displayName)
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#event-hooks" class="md-nav__link">
<span class="md-ellipsis">
Event Hooks
</span>
</a>
<nav class="md-nav" aria-label="Event Hooks">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#hook-pattern" class="md-nav__link">
<span class="md-ellipsis">
Hook Pattern
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#available-event-hooks" class="md-nav__link">
<span class="md-ellipsis">
Available Event Hooks
</span>
</a>
<nav class="md-nav" aria-label="Available Event Hooks">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#onupdatedt" class="md-nav__link">
<span class="md-ellipsis">
onUpdate(dt)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#onprerenderdt" class="md-nav__link">
<span class="md-ellipsis">
onPreRender(dt)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#onvehiclespawnedgamevehicleid" class="md-nav__link">
<span class="md-ellipsis">
onVehicleSpawned(gameVehicleID)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#onvehicledestroyedgamevehicleid" class="md-nav__link">
<span class="md-ellipsis">
onVehicleDestroyed(gameVehicleID)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#onvehicleswitchedoldgamevehicleid-newgamevehicleid" class="md-nav__link">
<span class="md-ellipsis">
onVehicleSwitched(oldGameVehicleID, newGameVehicleID)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#onvehicleresettedgamevehicleid" class="md-nav__link">
<span class="md-ellipsis">
onVehicleResetted(gameVehicleID)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#onvehiclecolorchangedgamevehicleid-index-paint" class="md-nav__link">
<span class="md-ellipsis">
onVehicleColorChanged(gameVehicleID, index, paint)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#onvehiclereadygamevehicleid" class="md-nav__link">
<span class="md-ellipsis">
onVehicleReady(gameVehicleID)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#onuiinitialised" class="md-nav__link">
<span class="md-ellipsis">
onUIInitialised()
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#onsettingschanged" class="md-nav__link">
<span class="md-ellipsis">
onSettingsChanged()
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#mpconfig-functions" class="md-nav__link">
<span class="md-ellipsis">
MPConfig Functions
</span>
</a>
<nav class="md-nav" aria-label="MPConfig Functions">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#mpconfiggetplayerserverid" class="md-nav__link">
<span class="md-ellipsis">
MPConfig.getPlayerServerID()
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mpconfiggetnickname" class="md-nav__link">
<span class="md-ellipsis">
MPConfig.getNickname()
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mpconfiggetconfig" class="md-nav__link">
<span class="md-ellipsis">
MPConfig.getConfig()
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mpconfigsetconfigsettingname-settingval" class="md-nav__link">
<span class="md-ellipsis">
MPConfig.setConfig(settingName, settingVal)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#mpcorenetwork-functions" class="md-nav__link">
<span class="md-ellipsis">
MPCoreNetwork Functions
</span>
</a>
<nav class="md-nav" aria-label="MPCoreNetwork Functions">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#mpcorenetworkgetcurrentserver" class="md-nav__link">
<span class="md-ellipsis">
MPCoreNetwork.getCurrentServer()
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#event-system-functions" class="md-nav__link">
<span class="md-ellipsis">
Event System Functions
</span>
</a>
<nav class="md-nav" aria-label="Event System Functions">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#triggerservereventname-data" class="md-nav__link">
<span class="md-ellipsis">
TriggerServerEvent(name, data)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#triggerclienteventname-data" class="md-nav__link">
<span class="md-ellipsis">
TriggerClientEvent(name, data)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#addeventhandlerevent_name-func-name" class="md-nav__link">
<span class="md-ellipsis">
AddEventHandler(event_name, func, name)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#removeeventhandlerevent_name-name" class="md-nav__link">
<span class="md-ellipsis">
RemoveEventHandler(event_name, name)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#keypress-functions" class="md-nav__link">
<span class="md-ellipsis">
Keypress Functions
</span>
</a>
<nav class="md-nav" aria-label="Keypress Functions">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#onkeypressedkeyname-func" class="md-nav__link">
<span class="md-ellipsis">
onKeyPressed(keyname, func)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#onkeyreleasedkeyname-func" class="md-nav__link">
<span class="md-ellipsis">
onKeyReleased(keyname, func)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#addkeyeventlistenerkeyname-func-type" class="md-nav__link">
<span class="md-ellipsis">
addKeyEventListener(keyname, func, type)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#getkeystatekeyname" class="md-nav__link">
<span class="md-ellipsis">
getKeyState(keyname)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#ui-functions" class="md-nav__link">
<span class="md-ellipsis">
UI Functions
</span>
</a>
<nav class="md-nav" aria-label="UI Functions">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#mpgamenetworkspawnuidialogdialoginfo" class="md-nav__link">
<span class="md-ellipsis">
MPGameNetwork.spawnUiDialog(dialogInfo)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#mpgamenetwork-callbacks" class="md-nav__link">
<span class="md-ellipsis">
MPGameNetwork Callbacks
</span>
</a>
<nav class="md-nav" aria-label="MPGameNetwork Callbacks">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#mpgamenetworkonupdatedt" class="md-nav__link">
<span class="md-ellipsis">
MPGameNetwork.onUpdate(dt)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mpgamenetworkonvehiclereadygamevehicleid" class="md-nav__link">
<span class="md-ellipsis">
MPGameNetwork.onVehicleReady(gameVehicleID)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#encoding-functions" class="md-nav__link">
<span class="md-ellipsis">
Encoding Functions
</span>
</a>
<nav class="md-nav" aria-label="Encoding Functions">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#mphelpersb64encodestring" class="md-nav__link">
<span class="md-ellipsis">
MPHelpers.b64encode(string)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mphelpersb64decodestring" class="md-nav__link">
<span class="md-ellipsis">
MPHelpers.b64decode(string)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#color-functions" class="md-nav__link">
<span class="md-ellipsis">
Color Functions
</span>
</a>
<nav class="md-nav" aria-label="Color Functions">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#mphelpershex2rgbhex" class="md-nav__link">
<span class="md-ellipsis">
MPHelpers.hex2rgb(hex)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#string-functions" class="md-nav__link">
<span class="md-ellipsis">
String Functions
</span>
</a>
<nav class="md-nav" aria-label="String Functions">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#mphelperssplitstringtotablestring-delimiter-convert_into" class="md-nav__link">
<span class="md-ellipsis">
MPHelpers.splitStringToTable(string, delimiter, convert_into)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#table-functions" class="md-nav__link">
<span class="md-ellipsis">
Table Functions
</span>
</a>
<nav class="md-nav" aria-label="Table Functions">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#mphelperstablediffold-new" class="md-nav__link">
<span class="md-ellipsis">
MPHelpers.tableDiff(old, new)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#debug-functions" class="md-nav__link">
<span class="md-ellipsis">
Debug Functions
</span>
</a>
<nav class="md-nav" aria-label="Debug Functions">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#mphelperssimpletraceslevel" class="md-nav__link">
<span class="md-ellipsis">
MPHelpers.simpletraces(level)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mphelperssimpletracelevel" class="md-nav__link">
<span class="md-ellipsis">
MPHelpers.simpletrace(level)
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<a href="https://github.com/beammp/docs/edit/main/docs/en/API documentation/Client-Side.md" title="Seite editieren" class="md-content__button md-icon" rel="edit">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4zm10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1z"/></svg>
</a>
<a href="https://github.com/beammp/docs/raw/main/docs/en/API documentation/Client-Side.md" title="Quellcode der Seite anzeigen" class="md-content__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.2 8.2 0 0 1-1.23-2"/></svg>
</a>
<h1>Client Side</h1>
<h2 id="table-of-contents">Table of Contents</h2>
<h3 id="mpvehiclege">MPVehicleGE</h3>
<ul>
<li><a href="#vehicle-functions">Vehicle Functions</a></li>
<li><a href="#player-functions">Player Functions</a></li>
<li><a href="#nametag-functions">Nametag Functions</a></li>
<li><a href="#role-functions">Role Functions</a></li>
<li><a href="#navigation-functions">Navigation Functions</a></li>
<li><a href="#object-methods">Object Methods</a></li>
<li><a href="#event-hooks">Event Hooks</a></li>
</ul>
<h3 id="mpconfig">MPConfig</h3>
<ul>
<li><a href="#mpconfig-functions">MPConfig Functions</a></li>
</ul>
<h3 id="mpcorenetwork">MPCoreNetwork</h3>
<ul>
<li><a href="#mpcorenetwork-functions">MPCoreNetwork Functions</a></li>
</ul>
<h3 id="mpgamenetwork">MPGameNetwork</h3>
<ul>
<li><a href="#event-system-functions">Event System Functions</a></li>
<li><a href="#keypress-functions">Keypress Functions</a></li>
<li><a href="#ui-functions">UI Functions</a></li>
<li><a href="#mpgamenetwork-callbacks">MPGameNetwork Callbacks</a></li>
</ul>
<h3 id="mphelpers">MPHelpers</h3>
<ul>
<li><a href="#encoding-functions">Encoding Functions</a></li>
<li><a href="#color-functions">Color Functions</a></li>
<li><a href="#string-functions">String Functions</a></li>
<li><a href="#table-functions">Table Functions</a></li>
<li><a href="#debug-functions">Debug Functions</a></li>
</ul>
<hr />
<h2 id="vehicle-functions">Vehicle Functions</h2>
<h3 id="getgamevehicleidservervehicleid"><code>getGameVehicleID(serverVehicleID)</code></h3>
<p>Resolves a serverVehicleID into the gameVehicleID</p>
<p><strong>Parameters:</strong>
- <code>serverVehicleID</code> (string) - Format: "X-Y" where X is PlayerID and Y is VehicleID</p>
<p><strong>Returns:</strong>
- (number) - The game's internal vehicle ID
- (number) <code>-1</code> - If vehicle is unknown</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">gameID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getGameVehicleID</span><span class="p">(</span><span class="s2">&quot;0-0&quot;</span><span class="p">)</span>
</span></code></pre></div></p>
<hr />
<h3 id="getservervehicleidgamevehicleid"><code>getServerVehicleID(gameVehicleID)</code></h3>
<p>Resolves a gameVehicleID into the serverVehicleID</p>
<p><strong>Parameters:</strong>
- <code>gameVehicleID</code> (number) - The game's internal vehicle ID</p>
<p><strong>Returns:</strong>
- (string) - Server vehicle ID (e.g., "0-0")
- (nil) - If gameVehicleID is unknown</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">serverID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getServerVehicleID</span><span class="p">(</span><span class="mi">11171</span><span class="p">)</span>
</span></code></pre></div></p>
<hr />
<h3 id="getvehiclebyserveridservervehicleid"><code>getVehicleByServerID(serverVehicleID)</code></h3>
<p>Returns the complete vehicle table for this vehicle</p>
<p><strong>Parameters:</strong>
- <code>serverVehicleID</code> (string) - Format: "X-Y"</p>
<p><strong>Returns:</strong>
- (table) - Vehicle information (name, gameVehicleID, jbeam, ownerID, ownerName, isLocal, isSpawned, etc.)
- (nil) - If serverVehicleID is invalid</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">vehicle</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getVehicleByServerID</span><span class="p">(</span><span class="s2">&quot;0-0&quot;</span><span class="p">)</span>
</span><span id="__span-2-2"><a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a><span class="kr">if</span><span class="w"> </span><span class="nv">vehicle</span><span class="w"> </span><span class="kr">then</span>
</span><span id="__span-2-3"><a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Owner: &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">vehicle</span><span class="p">.</span><span class="py">ownerName</span><span class="p">)</span>
</span><span id="__span-2-4"><a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h3 id="getvehiclebygameidgamevehicleid"><code>getVehicleByGameID(gameVehicleID)</code></h3>
<p>Returns the complete vehicle table for this vehicle</p>
<p><strong>Parameters:</strong>
- <code>gameVehicleID</code> (number) - The game's internal vehicle ID</p>
<p><strong>Returns:</strong>
- (table) - Vehicle information
- (nil) - If gameVehicleID is invalid</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-3-1"><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">vehicle</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getVehicleByGameID</span><span class="p">(</span><span class="mi">11171</span><span class="p">)</span>
</span></code></pre></div></p>
<hr />
<h3 id="isowngamevehicleid"><code>isOwn(gameVehicleID)</code></h3>
<p>Checks if the given vehicle belongs to this client</p>
<p><strong>Parameters:</strong>
- <code>gameVehicleID</code> (number) - The game's internal vehicle ID</p>
<p><strong>Returns:</strong>
- (boolean) - True if vehicle belongs to this client</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-4-1"><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="kr">if</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">isOwn</span><span class="p">(</span><span class="mi">11171</span><span class="p">)</span><span class="w"> </span><span class="kr">then</span>
</span><span id="__span-4-2"><a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;This is my vehicle&quot;</span><span class="p">)</span>
</span><span id="__span-4-3"><a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h3 id="getownmap"><code>getOwnMap()</code></h3>
<p>Returns a table containing all vehicles owned by this client</p>
<p><strong>Parameters:</strong>
- None</p>
<p><strong>Returns:</strong>
- (table) - Map of owned vehicles <code>{[gameVehicleID] = vehicles_subtable}</code></p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-5-1"><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">myVehicles</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getOwnMap</span><span class="p">()</span>
</span></code></pre></div></p>
<hr />
<h3 id="getvehiclemap"><code>getVehicleMap()</code></h3>
<p>Returns a table of all known multiplayer vehicles</p>
<p><strong>Parameters:</strong>
- None</p>
<p><strong>Returns:</strong>
- (table) - Map of all vehicles <code>{[serverVehicleID] = gameVehicleID}</code></p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-6-1"><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">allVehicles</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getVehicleMap</span><span class="p">()</span>
</span></code></pre></div></p>
<hr />
<h3 id="getdistancemap"><code>getDistanceMap()</code></h3>
<p>Returns the distance from each multiplayer vehicle to this client's point of view</p>
<p><strong>Parameters:</strong>
- None</p>
<p><strong>Returns:</strong>
- (table) - Map of distances <code>{[gameVehicleID] = distanceInMeters}</code></p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-7-1"><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">distances</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getDistanceMap</span><span class="p">()</span>
</span></code></pre></div></p>
<hr />
<h3 id="getnicknamemap"><code>getNicknameMap()</code></h3>
<p>Returns all multiplayer gameVehicleIDs with their owner names</p>
<p><strong>Parameters:</strong>
- None</p>
<p><strong>Returns:</strong>
- (table) - Map of nicknames <code>{[gameVehicleID] = ownerName}</code></p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-8-1"><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">nicknameMap</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getNicknameMap</span><span class="p">()</span>
</span></code></pre></div></p>
<hr />
<h3 id="getvehicles"><code>getVehicles()</code></h3>
<p>Returns the complete vehicles table</p>
<p><strong>Parameters:</strong>
- None</p>
<p><strong>Returns:</strong>
- (table) - All vehicles <code>{[serverVehicleID] = vehicles_subtable}</code></p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-9-1"><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">vehicles</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getVehicles</span><span class="p">()</span>
</span><span id="__span-9-2"><a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a><span class="kr">for</span><span class="w"> </span><span class="nv">serverID</span><span class="p">,</span><span class="w"> </span><span class="nv">vehicle</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nb">pairs</span><span class="p">(</span><span class="nv">vehicles</span><span class="p">)</span><span class="w"> </span><span class="kr">do</span>
</span><span id="__span-9-3"><a id="__codelineno-9-3" name="__codelineno-9-3" href="#__codelineno-9-3"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Vehicle: &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">vehicle</span><span class="p">.</span><span class="py">jbeam</span><span class="p">)</span>
</span><span id="__span-9-4"><a id="__codelineno-9-4" name="__codelineno-9-4" href="#__codelineno-9-4"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h2 id="player-functions">Player Functions</h2>
<h3 id="getplayerbynamename"><code>getPlayerByName(name)</code></h3>
<p>Returns this player's table and ID</p>
<p><strong>Parameters:</strong>
- <code>name</code> (string) - The player's name</p>
<p><strong>Returns:</strong>
- (table) - Player information (name, playerID, role, vehicles, etc.)
- (number) - The player's ID
- (nil) - If player not found</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-10-1"><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">player</span><span class="p">,</span><span class="w"> </span><span class="nv">playerID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getPlayerByName</span><span class="p">(</span><span class="s2">&quot;John&quot;</span><span class="p">)</span>
</span><span id="__span-10-2"><a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a><span class="kr">if</span><span class="w"> </span><span class="nv">player</span><span class="w"> </span><span class="kr">then</span>
</span><span id="__span-10-3"><a id="__codelineno-10-3" name="__codelineno-10-3" href="#__codelineno-10-3"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Player ID: &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">playerID</span><span class="p">)</span>
</span><span id="__span-10-4"><a id="__codelineno-10-4" name="__codelineno-10-4" href="#__codelineno-10-4"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h3 id="getplayers"><code>getPlayers()</code></h3>
<p>Returns the complete players table</p>
<p><strong>Parameters:</strong>
- None</p>
<p><strong>Returns:</strong>
- (table) - All players <code>{[playerID] = players_subtable}</code></p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-11-1"><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">players</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getPlayers</span><span class="p">()</span>
</span><span id="__span-11-2"><a id="__codelineno-11-2" name="__codelineno-11-2" href="#__codelineno-11-2"></a><span class="kr">for</span><span class="w"> </span><span class="nv">playerID</span><span class="p">,</span><span class="w"> </span><span class="nv">player</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nb">pairs</span><span class="p">(</span><span class="nv">players</span><span class="p">)</span><span class="w"> </span><span class="kr">do</span>
</span><span id="__span-11-3"><a id="__codelineno-11-3" name="__codelineno-11-3" href="#__codelineno-11-3"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Player: &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">player</span><span class="p">.</span><span class="py">name</span><span class="p">)</span>
</span><span id="__span-11-4"><a id="__codelineno-11-4" name="__codelineno-11-4" href="#__codelineno-11-4"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h2 id="nametag-functions">Nametag Functions</h2>
<h3 id="setplayernickprefixtargetname-tagsource-text"><code>setPlayerNickPrefix(targetName, tagSource, text)</code></h3>
<p>Adds a prefix to a player's nametag (displayed before the name)</p>
<p><strong>Parameters:</strong>
- <code>targetName</code> (string) - The player's name
- <code>tagSource</code> (string) - Unique identifier for this prefix
- <code>text</code> (string) - Text to display before the name</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-12-1"><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">setPlayerNickPrefix</span><span class="p">(</span><span class="s2">&quot;John&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;RANK&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;1st.&quot;</span><span class="p">)</span>
</span><span id="__span-12-2"><a id="__codelineno-12-2" name="__codelineno-12-2" href="#__codelineno-12-2"></a><span class="c1">-- Result: &quot;1st. John&quot;</span>
</span></code></pre></div></p>
<hr />
<h3 id="setplayernicksuffixtargetname-tagsource-text"><code>setPlayerNickSuffix(targetName, tagSource, text)</code></h3>
<p>Adds a suffix to a player's nametag (displayed after the name)</p>
<p><strong>Parameters:</strong>
- <code>targetName</code> (string) - The player's name
- <code>tagSource</code> (string) - Unique identifier for this suffix
- <code>text</code> (string) - Text to display after the name</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-13-1"><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">setPlayerNickSuffix</span><span class="p">(</span><span class="s2">&quot;John&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;STATUS&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;[AFK]&quot;</span><span class="p">)</span>
</span><span id="__span-13-2"><a id="__codelineno-13-2" name="__codelineno-13-2" href="#__codelineno-13-2"></a><span class="c1">-- Result: &quot;John [AFK]&quot;</span>
</span></code></pre></div></p>
<hr />
<h3 id="hidenicknameshide"><code>hideNicknames(hide)</code></h3>
<p>Turns on or off the nametag drawing from BeamMP</p>
<p><strong>Parameters:</strong>
- <code>hide</code> (boolean) - True to hide nametags, false to show them</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-14-1"><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">hideNicknames</span><span class="p">(</span><span class="kc">true</span><span class="p">)</span><span class="w"> </span><span class="c1">-- Hide</span>
</span><span id="__span-14-2"><a id="__codelineno-14-2" name="__codelineno-14-2" href="#__codelineno-14-2"></a><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">hideNicknames</span><span class="p">(</span><span class="kc">false</span><span class="p">)</span><span class="w"> </span><span class="c1">-- Show</span>
</span></code></pre></div></p>
<hr />
<h3 id="togglenicknames"><code>toggleNicknames()</code></h3>
<p>Toggles the displaying of nametags</p>
<p><strong>Parameters:</strong>
- None</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-15-1"><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">toggleNicknames</span><span class="p">()</span>
</span></code></pre></div></p>
<hr />
<h2 id="role-functions">Role Functions</h2>
<h3 id="setplayerroleplayerid-tag-shorttag-red-green-blue"><code>setPlayerRole(playerID, tag, shorttag, red, green, blue)</code></h3>
<p>Sets a custom role for a player</p>
<p><strong>Parameters:</strong>
- <code>playerID</code> (number) - ID of the player
- <code>tag</code> (string) - Role tag (e.g., "VIP")
- <code>shorttag</code> (string) - Short version (e.g., "V")
- <code>red</code> (number) - Red channel (0-255)
- <code>green</code> (number) - Green channel (0-255)
- <code>blue</code> (number) - Blue channel (0-255)</p>
<p><strong>Returns:</strong>
- (boolean, string) - <code>false, "player not found"</code> if player doesn't exist
- (boolean, string) - <code>false, error</code> if invalid arguments
- (nil) - Nothing on success</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-16-1"><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">success</span><span class="p">,</span><span class="w"> </span><span class="nb">error</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">setPlayerRole</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;VIP&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;V&quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">255</span><span class="p">,</span><span class="w"> </span><span class="mi">215</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span>
</span><span id="__span-16-2"><a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a><span class="kr">if</span><span class="w"> </span><span class="nv">success</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="kc">false</span><span class="w"> </span><span class="kr">then</span>
</span><span id="__span-16-3"><a id="__codelineno-16-3" name="__codelineno-16-3" href="#__codelineno-16-3"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Error: &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nb">error</span><span class="p">)</span>
</span><span id="__span-16-4"><a id="__codelineno-16-4" name="__codelineno-16-4" href="#__codelineno-16-4"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h3 id="clearplayerroleplayerid"><code>clearPlayerRole(playerID)</code></h3>
<p>Clears a custom role for a player</p>
<p><strong>Parameters:</strong>
- <code>playerID</code> (number) - ID of the player</p>
<p><strong>Returns:</strong>
- (boolean) - Always returns <code>false</code> (implementation quirk - use to check if player exists)</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-17-1"><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">clearPlayerRole</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
</span></code></pre></div></p>
<hr />
<h3 id="setvehicleroleplayeridvehicleid-tag-shorttag-red-green-blue"><code>setVehicleRole(playerIDVehicleID, tag, shorttag, red, green, blue)</code></h3>
<p>Sets a custom role for a specific vehicle</p>
<p><strong>Parameters:</strong>
- <code>playerIDVehicleID</code> (string) - Vehicle ID (format: "0-0")
- <code>tag</code> (string) - Role tag
- <code>shorttag</code> (string) - Short version
- <code>red</code> (number) - Red (0-255)
- <code>green</code> (number) - Green (0-255)
- <code>blue</code> (number) - Blue (0-255)</p>
<p><strong>Returns:</strong>
- (boolean, string) - <code>false, "vehicle not found"</code> if vehicle doesn't exist
- (boolean, string) - <code>false, error</code> if invalid arguments
- (nil) - Nothing on success</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-18-1"><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">success</span><span class="p">,</span><span class="w"> </span><span class="nb">error</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">setVehicleRole</span><span class="p">(</span><span class="s2">&quot;0-0&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;Police&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;POL&quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">255</span><span class="p">)</span>
</span><span id="__span-18-2"><a id="__codelineno-18-2" name="__codelineno-18-2" href="#__codelineno-18-2"></a><span class="kr">if</span><span class="w"> </span><span class="nv">success</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="kc">false</span><span class="w"> </span><span class="kr">then</span>
</span><span id="__span-18-3"><a id="__codelineno-18-3" name="__codelineno-18-3" href="#__codelineno-18-3"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Error: &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nb">error</span><span class="p">)</span>
</span><span id="__span-18-4"><a id="__codelineno-18-4" name="__codelineno-18-4" href="#__codelineno-18-4"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h3 id="clearvehicleroleplayeridvehicleid"><code>clearVehicleRole(playerIDVehicleID)</code></h3>
<p>Clears a custom role for a vehicle</p>
<p><strong>Parameters:</strong>
- <code>playerIDVehicleID</code> (string) - Vehicle ID (format: "0-0")</p>
<p><strong>Returns:</strong>
- (boolean) - Always returns <code>false</code> (implementation quirk - use to check if vehicle exists)</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-19-1"><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">clearVehicleRole</span><span class="p">(</span><span class="s2">&quot;0-0&quot;</span><span class="p">)</span>
</span></code></pre></div></p>
<hr />
<h2 id="navigation-functions">Navigation Functions</h2>
<h3 id="groundmarkertoplayertargetname"><code>groundmarkerToPlayer(targetName)</code></h3>
<p>Sets a ground marker route to target player's position (static)</p>
<p><strong>Parameters:</strong>
- <code>targetName</code> (string) - Player's name, or nil to clear</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-20-1"><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">groundmarkerToPlayer</span><span class="p">(</span><span class="s2">&quot;John&quot;</span><span class="p">)</span><span class="w"> </span><span class="c1">-- Set</span>
</span><span id="__span-20-2"><a id="__codelineno-20-2" name="__codelineno-20-2" href="#__codelineno-20-2"></a><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">groundmarkerToPlayer</span><span class="p">(</span><span class="kc">nil</span><span class="p">)</span><span class="w"> </span><span class="c1">-- Clear</span>
</span></code></pre></div></p>
<hr />
<h3 id="groundmarkerfollowplayertargetname-dontfollow"><code>groundmarkerFollowPlayer(targetName, dontfollow)</code></h3>
<p>Sets a ground marker route that follows target player</p>
<p><strong>Parameters:</strong>
- <code>targetName</code> (string) - Player's name, or nil to stop
- <code>dontfollow</code> (boolean) - If true, creates static marker</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-21-1"><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">groundmarkerFollowPlayer</span><span class="p">(</span><span class="s2">&quot;John&quot;</span><span class="p">)</span><span class="w"> </span><span class="c1">-- Follow</span>
</span><span id="__span-21-2"><a id="__codelineno-21-2" name="__codelineno-21-2" href="#__codelineno-21-2"></a><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">groundmarkerFollowPlayer</span><span class="p">(</span><span class="s2">&quot;John&quot;</span><span class="p">,</span><span class="w"> </span><span class="kc">true</span><span class="p">)</span><span class="w"> </span><span class="c1">-- Static</span>
</span><span id="__span-21-3"><a id="__codelineno-21-3" name="__codelineno-21-3" href="#__codelineno-21-3"></a><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">groundmarkerFollowPlayer</span><span class="p">(</span><span class="kc">nil</span><span class="p">)</span><span class="w"> </span><span class="c1">-- Stop</span>
</span></code></pre></div></p>
<hr />
<h3 id="queryroadnodetopositiontargetposition-owner"><code>queryRoadNodeToPosition(targetPosition, owner)</code></h3>
<p>Finds the closest road nodes to a target position</p>
<p><strong>Parameters:</strong>
- <code>targetPosition</code> (vec3 or table) - Target position with x, y, z
- <code>owner</code> (string) - Optional identifier (default: "target")</p>
<p><strong>Returns:</strong>
- (boolean) - Success status
- (number) - nodeID (if successful)</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-22-1"><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">pos</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nf">vec3</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">200</span><span class="p">,</span><span class="w"> </span><span class="mi">50</span><span class="p">)</span>
</span><span id="__span-22-2"><a id="__codelineno-22-2" name="__codelineno-22-2" href="#__codelineno-22-2"></a><span class="kd">local</span><span class="w"> </span><span class="nv">success</span><span class="p">,</span><span class="w"> </span><span class="nv">nodeID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">queryRoadNodeToPosition</span><span class="p">(</span><span class="nv">pos</span><span class="p">)</span>
</span></code></pre></div></p>
<hr />
<h2 id="object-methods">Object Methods</h2>
<h3 id="player-object-methods">Player Object Methods</h3>
<h4 id="playersetnickprefixtagsource-text"><code>player:setNickPrefix(tagSource, text)</code></h4>
<p>Sets a prefix for this player's nametag</p>
<p><strong>Parameters:</strong>
- <code>tagSource</code> (string) - Unique identifier
- <code>text</code> (string) - Text to display (or nil to remove)</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-23-1"><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">player</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getPlayerByName</span><span class="p">(</span><span class="s2">&quot;John&quot;</span><span class="p">)</span>
</span><span id="__span-23-2"><a id="__codelineno-23-2" name="__codelineno-23-2" href="#__codelineno-23-2"></a><span class="kr">if</span><span class="w"> </span><span class="nv">player</span><span class="w"> </span><span class="kr">then</span>
</span><span id="__span-23-3"><a id="__codelineno-23-3" name="__codelineno-23-3" href="#__codelineno-23-3"></a><span class="w"> </span><span class="nv">player</span><span class="p">:</span><span class="nf">setNickPrefix</span><span class="p">(</span><span class="s2">&quot;STATUS&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;[AFK]&quot;</span><span class="p">)</span>
</span><span id="__span-23-4"><a id="__codelineno-23-4" name="__codelineno-23-4" href="#__codelineno-23-4"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h4 id="playersetnicksuffixtagsource-text"><code>player:setNickSuffix(tagSource, text)</code></h4>
<p>Sets a suffix for this player's nametag</p>
<p><strong>Parameters:</strong>
- <code>tagSource</code> (string) - Unique identifier
- <code>text</code> (string) - Text to display (or nil to remove)</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-24-1"><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">player</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getPlayerByName</span><span class="p">(</span><span class="s2">&quot;John&quot;</span><span class="p">)</span>
</span><span id="__span-24-2"><a id="__codelineno-24-2" name="__codelineno-24-2" href="#__codelineno-24-2"></a><span class="kr">if</span><span class="w"> </span><span class="nv">player</span><span class="w"> </span><span class="kr">then</span>
</span><span id="__span-24-3"><a id="__codelineno-24-3" name="__codelineno-24-3" href="#__codelineno-24-3"></a><span class="w"> </span><span class="nv">player</span><span class="p">:</span><span class="nf">setNickSuffix</span><span class="p">(</span><span class="s2">&quot;MISSION&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;[In Mission]&quot;</span><span class="p">)</span>
</span><span id="__span-24-4"><a id="__codelineno-24-4" name="__codelineno-24-4" href="#__codelineno-24-4"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h4 id="playersetcustomrolerole"><code>player:setCustomRole(role)</code></h4>
<p>Sets a custom role for this player</p>
<p><strong>Parameters:</strong>
- <code>role</code> (table) - Role table: <code>{backcolor = {r, g, b}, tag = string, shorttag = string}</code></p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-25-1"><a id="__codelineno-25-1" name="__codelineno-25-1" href="#__codelineno-25-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">player</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getPlayerByName</span><span class="p">(</span><span class="s2">&quot;John&quot;</span><span class="p">)</span>
</span><span id="__span-25-2"><a id="__codelineno-25-2" name="__codelineno-25-2" href="#__codelineno-25-2"></a><span class="kr">if</span><span class="w"> </span><span class="nv">player</span><span class="w"> </span><span class="kr">then</span>
</span><span id="__span-25-3"><a id="__codelineno-25-3" name="__codelineno-25-3" href="#__codelineno-25-3"></a><span class="w"> </span><span class="nv">player</span><span class="p">:</span><span class="nf">setCustomRole</span><span class="p">({</span>
</span><span id="__span-25-4"><a id="__codelineno-25-4" name="__codelineno-25-4" href="#__codelineno-25-4"></a><span class="w"> </span><span class="nv">backcolor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="nv">r</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">255</span><span class="p">,</span><span class="w"> </span><span class="nv">g</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="nv">b</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">},</span>
</span><span id="__span-25-5"><a id="__codelineno-25-5" name="__codelineno-25-5" href="#__codelineno-25-5"></a><span class="w"> </span><span class="nv">tag</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot; [VIP]&quot;</span><span class="p">,</span>
</span><span id="__span-25-6"><a id="__codelineno-25-6" name="__codelineno-25-6" href="#__codelineno-25-6"></a><span class="w"> </span><span class="nv">shorttag</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot; [V]&quot;</span>
</span><span id="__span-25-7"><a id="__codelineno-25-7" name="__codelineno-25-7" href="#__codelineno-25-7"></a><span class="w"> </span><span class="p">})</span>
</span><span id="__span-25-8"><a id="__codelineno-25-8" name="__codelineno-25-8" href="#__codelineno-25-8"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h4 id="playerclearcustomrole"><code>player:clearCustomRole()</code></h4>
<p>Clears the custom role for this player</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-26-1"><a id="__codelineno-26-1" name="__codelineno-26-1" href="#__codelineno-26-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">player</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getPlayerByName</span><span class="p">(</span><span class="s2">&quot;John&quot;</span><span class="p">)</span>
</span><span id="__span-26-2"><a id="__codelineno-26-2" name="__codelineno-26-2" href="#__codelineno-26-2"></a><span class="kr">if</span><span class="w"> </span><span class="nv">player</span><span class="w"> </span><span class="kr">then</span>
</span><span id="__span-26-3"><a id="__codelineno-26-3" name="__codelineno-26-3" href="#__codelineno-26-3"></a><span class="w"> </span><span class="nv">player</span><span class="p">:</span><span class="nf">clearCustomRole</span><span class="p">()</span>
</span><span id="__span-26-4"><a id="__codelineno-26-4" name="__codelineno-26-4" href="#__codelineno-26-4"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h3 id="vehicle-object-methods">Vehicle Object Methods</h3>
<h4 id="vehiclegetowner"><code>vehicle:getOwner()</code></h4>
<p>Returns the owner of this vehicle</p>
<p><strong>Returns:</strong>
- (table) - Player object
- (number) - Player's ID</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-27-1"><a id="__codelineno-27-1" name="__codelineno-27-1" href="#__codelineno-27-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">vehicle</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getVehicleByServerID</span><span class="p">(</span><span class="s2">&quot;0-0&quot;</span><span class="p">)</span>
</span><span id="__span-27-2"><a id="__codelineno-27-2" name="__codelineno-27-2" href="#__codelineno-27-2"></a><span class="kr">if</span><span class="w"> </span><span class="nv">vehicle</span><span class="w"> </span><span class="kr">then</span>
</span><span id="__span-27-3"><a id="__codelineno-27-3" name="__codelineno-27-3" href="#__codelineno-27-3"></a><span class="w"> </span><span class="kd">local</span><span class="w"> </span><span class="nv">owner</span><span class="p">,</span><span class="w"> </span><span class="nv">ownerID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">vehicle</span><span class="p">:</span><span class="nf">getOwner</span><span class="p">()</span>
</span><span id="__span-27-4"><a id="__codelineno-27-4" name="__codelineno-27-4" href="#__codelineno-27-4"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Owner: &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">owner</span><span class="p">.</span><span class="py">name</span><span class="p">)</span>
</span><span id="__span-27-5"><a id="__codelineno-27-5" name="__codelineno-27-5" href="#__codelineno-27-5"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h4 id="vehiclesetcustomrolerole"><code>vehicle:setCustomRole(role)</code></h4>
<p>Sets a custom role for this vehicle</p>
<p><strong>Parameters:</strong>
- <code>role</code> (table) - Role table: <code>{backcolor = {r, g, b}, tag = string, shorttag = string}</code></p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-28-1"><a id="__codelineno-28-1" name="__codelineno-28-1" href="#__codelineno-28-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">vehicle</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getVehicleByServerID</span><span class="p">(</span><span class="s2">&quot;0-0&quot;</span><span class="p">)</span>
</span><span id="__span-28-2"><a id="__codelineno-28-2" name="__codelineno-28-2" href="#__codelineno-28-2"></a><span class="kr">if</span><span class="w"> </span><span class="nv">vehicle</span><span class="w"> </span><span class="kr">then</span>
</span><span id="__span-28-3"><a id="__codelineno-28-3" name="__codelineno-28-3" href="#__codelineno-28-3"></a><span class="w"> </span><span class="nv">vehicle</span><span class="p">:</span><span class="nf">setCustomRole</span><span class="p">({</span>
</span><span id="__span-28-4"><a id="__codelineno-28-4" name="__codelineno-28-4" href="#__codelineno-28-4"></a><span class="w"> </span><span class="nv">backcolor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="nv">r</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="nv">g</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="nv">b</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">255</span><span class="p">},</span>
</span><span id="__span-28-5"><a id="__codelineno-28-5" name="__codelineno-28-5" href="#__codelineno-28-5"></a><span class="w"> </span><span class="nv">tag</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot; [Police]&quot;</span><span class="p">,</span>
</span><span id="__span-28-6"><a id="__codelineno-28-6" name="__codelineno-28-6" href="#__codelineno-28-6"></a><span class="w"> </span><span class="nv">shorttag</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot; [POL]&quot;</span>
</span><span id="__span-28-7"><a id="__codelineno-28-7" name="__codelineno-28-7" href="#__codelineno-28-7"></a><span class="w"> </span><span class="p">})</span>
</span><span id="__span-28-8"><a id="__codelineno-28-8" name="__codelineno-28-8" href="#__codelineno-28-8"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h4 id="vehicleclearcustomrole"><code>vehicle:clearCustomRole()</code></h4>
<p>Clears the custom role for this vehicle</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-29-1"><a id="__codelineno-29-1" name="__codelineno-29-1" href="#__codelineno-29-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">vehicle</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getVehicleByServerID</span><span class="p">(</span><span class="s2">&quot;0-0&quot;</span><span class="p">)</span>
</span><span id="__span-29-2"><a id="__codelineno-29-2" name="__codelineno-29-2" href="#__codelineno-29-2"></a><span class="kr">if</span><span class="w"> </span><span class="nv">vehicle</span><span class="w"> </span><span class="kr">then</span>
</span><span id="__span-29-3"><a id="__codelineno-29-3" name="__codelineno-29-3" href="#__codelineno-29-3"></a><span class="w"> </span><span class="nv">vehicle</span><span class="p">:</span><span class="nf">clearCustomRole</span><span class="p">()</span>
</span><span id="__span-29-4"><a id="__codelineno-29-4" name="__codelineno-29-4" href="#__codelineno-29-4"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h4 id="vehiclesetdisplaynamedisplayname"><code>vehicle:setDisplayName(displayName)</code></h4>
<p>Sets a custom display name for this vehicle</p>
<p><strong>Parameters:</strong>
- <code>displayName</code> (string) - Custom name to display</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-30-1"><a id="__codelineno-30-1" name="__codelineno-30-1" href="#__codelineno-30-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">vehicle</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getVehicleByServerID</span><span class="p">(</span><span class="s2">&quot;0-0&quot;</span><span class="p">)</span>
</span><span id="__span-30-2"><a id="__codelineno-30-2" name="__codelineno-30-2" href="#__codelineno-30-2"></a><span class="kr">if</span><span class="w"> </span><span class="nv">vehicle</span><span class="w"> </span><span class="kr">then</span>
</span><span id="__span-30-3"><a id="__codelineno-30-3" name="__codelineno-30-3" href="#__codelineno-30-3"></a><span class="w"> </span><span class="nv">vehicle</span><span class="p">:</span><span class="nf">setDisplayName</span><span class="p">(</span><span class="s2">&quot;Patrol Car #1&quot;</span><span class="p">)</span>
</span><span id="__span-30-4"><a id="__codelineno-30-4" name="__codelineno-30-4" href="#__codelineno-30-4"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h2 id="event-hooks">Event Hooks</h2>
<p>BeamMP provides event hooks that you can override to execute custom code when specific events occur. <strong>Do not call these functions directly</strong> - instead, override them while preserving the original functionality.</p>
<h3 id="hook-pattern">Hook Pattern</h3>
<p>Always preserve the original function when overriding:</p>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-31-1"><a id="__codelineno-31-1" name="__codelineno-31-1" href="#__codelineno-31-1"></a><span class="c1">-- Save the original function</span>
</span><span id="__span-31-2"><a id="__codelineno-31-2" name="__codelineno-31-2" href="#__codelineno-31-2"></a><span class="kd">local</span><span class="w"> </span><span class="nv">originalCallback</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onVehicleSpawned</span>
</span><span id="__span-31-3"><a id="__codelineno-31-3" name="__codelineno-31-3" href="#__codelineno-31-3"></a>
</span><span id="__span-31-4"><a id="__codelineno-31-4" name="__codelineno-31-4" href="#__codelineno-31-4"></a><span class="c1">-- Override with your custom logic</span>
</span><span id="__span-31-5"><a id="__codelineno-31-5" name="__codelineno-31-5" href="#__codelineno-31-5"></a><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onVehicleSpawned</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">gameVehicleID</span><span class="p">)</span>
</span><span id="__span-31-6"><a id="__codelineno-31-6" name="__codelineno-31-6" href="#__codelineno-31-6"></a><span class="w"> </span><span class="c1">-- Call the original first</span>
</span><span id="__span-31-7"><a id="__codelineno-31-7" name="__codelineno-31-7" href="#__codelineno-31-7"></a><span class="w"> </span><span class="nf">originalCallback</span><span class="p">(</span><span class="nv">gameVehicleID</span><span class="p">)</span>
</span><span id="__span-31-8"><a id="__codelineno-31-8" name="__codelineno-31-8" href="#__codelineno-31-8"></a>
</span><span id="__span-31-9"><a id="__codelineno-31-9" name="__codelineno-31-9" href="#__codelineno-31-9"></a><span class="w"> </span><span class="c1">-- Your custom code here</span>
</span><span id="__span-31-10"><a id="__codelineno-31-10" name="__codelineno-31-10" href="#__codelineno-31-10"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Vehicle spawned: &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">gameVehicleID</span><span class="p">)</span>
</span><span id="__span-31-11"><a id="__codelineno-31-11" name="__codelineno-31-11" href="#__codelineno-31-11"></a><span class="kr">end</span>
</span></code></pre></div>
<hr />
<h3 id="available-event-hooks">Available Event Hooks</h3>
<h4 id="onupdatedt"><code>onUpdate(dt)</code></h4>
<p>Called every frame while connected to multiplayer</p>
<p><strong>Parameters:</strong>
- <code>dt</code> (number) - Delta time in seconds since last frame</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-32-1"><a id="__codelineno-32-1" name="__codelineno-32-1" href="#__codelineno-32-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">originalOnUpdate</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onUpdate</span>
</span><span id="__span-32-2"><a id="__codelineno-32-2" name="__codelineno-32-2" href="#__codelineno-32-2"></a><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onUpdate</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">dt</span><span class="p">)</span>
</span><span id="__span-32-3"><a id="__codelineno-32-3" name="__codelineno-32-3" href="#__codelineno-32-3"></a><span class="w"> </span><span class="nf">originalOnUpdate</span><span class="p">(</span><span class="nv">dt</span><span class="p">)</span>
</span><span id="__span-32-4"><a id="__codelineno-32-4" name="__codelineno-32-4" href="#__codelineno-32-4"></a><span class="w"> </span><span class="c1">-- Your frame-by-frame logic here</span>
</span><span id="__span-32-5"><a id="__codelineno-32-5" name="__codelineno-32-5" href="#__codelineno-32-5"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h4 id="onprerenderdt"><code>onPreRender(dt)</code></h4>
<p>Called every frame before rendering</p>
<p><strong>Parameters:</strong>
- <code>dt</code> (number) - Delta time in seconds</p>
<p><strong>Note:</strong>
This handles nametag rendering, distance calculations, and ground markers internally.</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-33-1"><a id="__codelineno-33-1" name="__codelineno-33-1" href="#__codelineno-33-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">originalOnPreRender</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onPreRender</span>
</span><span id="__span-33-2"><a id="__codelineno-33-2" name="__codelineno-33-2" href="#__codelineno-33-2"></a><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onPreRender</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">dt</span><span class="p">)</span>
</span><span id="__span-33-3"><a id="__codelineno-33-3" name="__codelineno-33-3" href="#__codelineno-33-3"></a><span class="w"> </span><span class="nf">originalOnPreRender</span><span class="p">(</span><span class="nv">dt</span><span class="p">)</span>
</span><span id="__span-33-4"><a id="__codelineno-33-4" name="__codelineno-33-4" href="#__codelineno-33-4"></a><span class="w"> </span><span class="c1">-- Your pre-render logic here</span>
</span><span id="__span-33-5"><a id="__codelineno-33-5" name="__codelineno-33-5" href="#__codelineno-33-5"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h4 id="onvehiclespawnedgamevehicleid"><code>onVehicleSpawned(gameVehicleID)</code></h4>
<p>Called when a vehicle spawns (both local and remote)</p>
<p><strong>Parameters:</strong>
- <code>gameVehicleID</code> (number) - The game's internal vehicle ID</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-34-1"><a id="__codelineno-34-1" name="__codelineno-34-1" href="#__codelineno-34-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">originalOnVehicleSpawned</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onVehicleSpawned</span>
</span><span id="__span-34-2"><a id="__codelineno-34-2" name="__codelineno-34-2" href="#__codelineno-34-2"></a><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onVehicleSpawned</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">gameVehicleID</span><span class="p">)</span>
</span><span id="__span-34-3"><a id="__codelineno-34-3" name="__codelineno-34-3" href="#__codelineno-34-3"></a><span class="w"> </span><span class="nf">originalOnVehicleSpawned</span><span class="p">(</span><span class="nv">gameVehicleID</span><span class="p">)</span>
</span><span id="__span-34-4"><a id="__codelineno-34-4" name="__codelineno-34-4" href="#__codelineno-34-4"></a>
</span><span id="__span-34-5"><a id="__codelineno-34-5" name="__codelineno-34-5" href="#__codelineno-34-5"></a><span class="w"> </span><span class="kd">local</span><span class="w"> </span><span class="nv">vehicle</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getVehicleByGameID</span><span class="p">(</span><span class="nv">gameVehicleID</span><span class="p">)</span>
</span><span id="__span-34-6"><a id="__codelineno-34-6" name="__codelineno-34-6" href="#__codelineno-34-6"></a><span class="w"> </span><span class="kr">if</span><span class="w"> </span><span class="nv">vehicle</span><span class="w"> </span><span class="kr">then</span>
</span><span id="__span-34-7"><a id="__codelineno-34-7" name="__codelineno-34-7" href="#__codelineno-34-7"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="nv">vehicle</span><span class="p">.</span><span class="py">ownerName</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="s2">&quot; spawned a &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">vehicle</span><span class="p">.</span><span class="py">jbeam</span><span class="p">)</span>
</span><span id="__span-34-8"><a id="__codelineno-34-8" name="__codelineno-34-8" href="#__codelineno-34-8"></a><span class="w"> </span><span class="kr">end</span>
</span><span id="__span-34-9"><a id="__codelineno-34-9" name="__codelineno-34-9" href="#__codelineno-34-9"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h4 id="onvehicledestroyedgamevehicleid"><code>onVehicleDestroyed(gameVehicleID)</code></h4>
<p>Called when a vehicle is destroyed/removed</p>
<p><strong>Parameters:</strong>
- <code>gameVehicleID</code> (number) - The game's internal vehicle ID</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-35-1"><a id="__codelineno-35-1" name="__codelineno-35-1" href="#__codelineno-35-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">originalOnVehicleDestroyed</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onVehicleDestroyed</span>
</span><span id="__span-35-2"><a id="__codelineno-35-2" name="__codelineno-35-2" href="#__codelineno-35-2"></a><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onVehicleDestroyed</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">gameVehicleID</span><span class="p">)</span>
</span><span id="__span-35-3"><a id="__codelineno-35-3" name="__codelineno-35-3" href="#__codelineno-35-3"></a><span class="w"> </span><span class="kd">local</span><span class="w"> </span><span class="nv">vehicle</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPVehicleGE</span><span class="p">.</span><span class="nf">getVehicleByGameID</span><span class="p">(</span><span class="nv">gameVehicleID</span><span class="p">)</span>
</span><span id="__span-35-4"><a id="__codelineno-35-4" name="__codelineno-35-4" href="#__codelineno-35-4"></a><span class="w"> </span><span class="kr">if</span><span class="w"> </span><span class="nv">vehicle</span><span class="w"> </span><span class="kr">then</span>
</span><span id="__span-35-5"><a id="__codelineno-35-5" name="__codelineno-35-5" href="#__codelineno-35-5"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Vehicle &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">vehicle</span><span class="p">.</span><span class="py">jbeam</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="s2">&quot; was destroyed&quot;</span><span class="p">)</span>
</span><span id="__span-35-6"><a id="__codelineno-35-6" name="__codelineno-35-6" href="#__codelineno-35-6"></a><span class="w"> </span><span class="kr">end</span>
</span><span id="__span-35-7"><a id="__codelineno-35-7" name="__codelineno-35-7" href="#__codelineno-35-7"></a>
</span><span id="__span-35-8"><a id="__codelineno-35-8" name="__codelineno-35-8" href="#__codelineno-35-8"></a><span class="w"> </span><span class="nf">originalOnVehicleDestroyed</span><span class="p">(</span><span class="nv">gameVehicleID</span><span class="p">)</span>
</span><span id="__span-35-9"><a id="__codelineno-35-9" name="__codelineno-35-9" href="#__codelineno-35-9"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h4 id="onvehicleswitchedoldgamevehicleid-newgamevehicleid"><code>onVehicleSwitched(oldGameVehicleID, newGameVehicleID)</code></h4>
<p>Called when player switches between vehicles</p>
<p><strong>Parameters:</strong>
- <code>oldGameVehicleID</code> (number) - Previous vehicle ID (or -1)
- <code>newGameVehicleID</code> (number) - New vehicle ID (or -1)</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-36-1"><a id="__codelineno-36-1" name="__codelineno-36-1" href="#__codelineno-36-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">originalOnVehicleSwitched</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onVehicleSwitched</span>
</span><span id="__span-36-2"><a id="__codelineno-36-2" name="__codelineno-36-2" href="#__codelineno-36-2"></a><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onVehicleSwitched</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">oldID</span><span class="p">,</span><span class="w"> </span><span class="nv">newID</span><span class="p">)</span>
</span><span id="__span-36-3"><a id="__codelineno-36-3" name="__codelineno-36-3" href="#__codelineno-36-3"></a><span class="w"> </span><span class="nf">originalOnVehicleSwitched</span><span class="p">(</span><span class="nv">oldID</span><span class="p">,</span><span class="w"> </span><span class="nv">newID</span><span class="p">)</span>
</span><span id="__span-36-4"><a id="__codelineno-36-4" name="__codelineno-36-4" href="#__codelineno-36-4"></a>
</span><span id="__span-36-5"><a id="__codelineno-36-5" name="__codelineno-36-5" href="#__codelineno-36-5"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Switched from vehicle &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">oldID</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="s2">&quot; to &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">newID</span><span class="p">)</span>
</span><span id="__span-36-6"><a id="__codelineno-36-6" name="__codelineno-36-6" href="#__codelineno-36-6"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h4 id="onvehicleresettedgamevehicleid"><code>onVehicleResetted(gameVehicleID)</code></h4>
<p>Called when a vehicle is reset (local vehicles only)</p>
<p><strong>Parameters:</strong>
- <code>gameVehicleID</code> (number) - The game's internal vehicle ID</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-37-1"><a id="__codelineno-37-1" name="__codelineno-37-1" href="#__codelineno-37-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">originalOnVehicleResetted</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onVehicleResetted</span>
</span><span id="__span-37-2"><a id="__codelineno-37-2" name="__codelineno-37-2" href="#__codelineno-37-2"></a><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onVehicleResetted</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">gameVehicleID</span><span class="p">)</span>
</span><span id="__span-37-3"><a id="__codelineno-37-3" name="__codelineno-37-3" href="#__codelineno-37-3"></a><span class="w"> </span><span class="nf">originalOnVehicleResetted</span><span class="p">(</span><span class="nv">gameVehicleID</span><span class="p">)</span>
</span><span id="__span-37-4"><a id="__codelineno-37-4" name="__codelineno-37-4" href="#__codelineno-37-4"></a>
</span><span id="__span-37-5"><a id="__codelineno-37-5" name="__codelineno-37-5" href="#__codelineno-37-5"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Vehicle &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">gameVehicleID</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="s2">&quot; was reset&quot;</span><span class="p">)</span>
</span><span id="__span-37-6"><a id="__codelineno-37-6" name="__codelineno-37-6" href="#__codelineno-37-6"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h4 id="onvehiclecolorchangedgamevehicleid-index-paint"><code>onVehicleColorChanged(gameVehicleID, index, paint)</code></h4>
<p>Called when a vehicle's paint color is changed</p>
<p><strong>Parameters:</strong>
- <code>gameVehicleID</code> (number) - The game's internal vehicle ID
- <code>index</code> (number) - Paint slot index (0, 1, or 2)
- <code>paint</code> (table) - Paint data with color information</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-38-1"><a id="__codelineno-38-1" name="__codelineno-38-1" href="#__codelineno-38-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">originalOnVehicleColorChanged</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onVehicleColorChanged</span>
</span><span id="__span-38-2"><a id="__codelineno-38-2" name="__codelineno-38-2" href="#__codelineno-38-2"></a><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onVehicleColorChanged</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">gameVehicleID</span><span class="p">,</span><span class="w"> </span><span class="nv">index</span><span class="p">,</span><span class="w"> </span><span class="nv">paint</span><span class="p">)</span>
</span><span id="__span-38-3"><a id="__codelineno-38-3" name="__codelineno-38-3" href="#__codelineno-38-3"></a><span class="w"> </span><span class="nf">originalOnVehicleColorChanged</span><span class="p">(</span><span class="nv">gameVehicleID</span><span class="p">,</span><span class="w"> </span><span class="nv">index</span><span class="p">,</span><span class="w"> </span><span class="nv">paint</span><span class="p">)</span>
</span><span id="__span-38-4"><a id="__codelineno-38-4" name="__codelineno-38-4" href="#__codelineno-38-4"></a>
</span><span id="__span-38-5"><a id="__codelineno-38-5" name="__codelineno-38-5" href="#__codelineno-38-5"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Vehicle &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">gameVehicleID</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="s2">&quot; changed paint slot &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">index</span><span class="p">)</span>
</span><span id="__span-38-6"><a id="__codelineno-38-6" name="__codelineno-38-6" href="#__codelineno-38-6"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h4 id="onvehiclereadygamevehicleid"><code>onVehicleReady(gameVehicleID)</code></h4>
<p>Called when a vehicle's extensions have loaded and the vehicle is fully ready</p>
<p><strong>Parameters:</strong>
- <code>gameVehicleID</code> (number) - The game's internal vehicle ID</p>
<p><strong>Note:</strong>
Use this instead of <code>onVehicleSpawned</code> if you need vehicle extensions to be loaded.</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-39-1"><a id="__codelineno-39-1" name="__codelineno-39-1" href="#__codelineno-39-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">originalOnVehicleReady</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onVehicleReady</span>
</span><span id="__span-39-2"><a id="__codelineno-39-2" name="__codelineno-39-2" href="#__codelineno-39-2"></a><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onVehicleReady</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">gameVehicleID</span><span class="p">)</span>
</span><span id="__span-39-3"><a id="__codelineno-39-3" name="__codelineno-39-3" href="#__codelineno-39-3"></a><span class="w"> </span><span class="nf">originalOnVehicleReady</span><span class="p">(</span><span class="nv">gameVehicleID</span><span class="p">)</span>
</span><span id="__span-39-4"><a id="__codelineno-39-4" name="__codelineno-39-4" href="#__codelineno-39-4"></a>
</span><span id="__span-39-5"><a id="__codelineno-39-5" name="__codelineno-39-5" href="#__codelineno-39-5"></a><span class="w"> </span><span class="c1">-- Safe to interact with vehicle extensions here</span>
</span><span id="__span-39-6"><a id="__codelineno-39-6" name="__codelineno-39-6" href="#__codelineno-39-6"></a><span class="w"> </span><span class="kd">local</span><span class="w"> </span><span class="nv">veh</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">be</span><span class="p">:</span><span class="nf">getObjectByID</span><span class="p">(</span><span class="nv">gameVehicleID</span><span class="p">)</span>
</span><span id="__span-39-7"><a id="__codelineno-39-7" name="__codelineno-39-7" href="#__codelineno-39-7"></a><span class="w"> </span><span class="kr">if</span><span class="w"> </span><span class="nv">veh</span><span class="w"> </span><span class="kr">then</span>
</span><span id="__span-39-8"><a id="__codelineno-39-8" name="__codelineno-39-8" href="#__codelineno-39-8"></a><span class="w"> </span><span class="nv">veh</span><span class="p">:</span><span class="nf">queueLuaCommand</span><span class="p">(</span><span class="s2">&quot;print(&#39;Vehicle is ready!&#39;)&quot;</span><span class="p">)</span>
</span><span id="__span-39-9"><a id="__codelineno-39-9" name="__codelineno-39-9" href="#__codelineno-39-9"></a><span class="w"> </span><span class="kr">end</span>
</span><span id="__span-39-10"><a id="__codelineno-39-10" name="__codelineno-39-10" href="#__codelineno-39-10"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h4 id="onuiinitialised"><code>onUIInitialised()</code></h4>
<p>Called when the BeamMP UI is initialized</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-40-1"><a id="__codelineno-40-1" name="__codelineno-40-1" href="#__codelineno-40-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">originalOnUIInitialised</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onUIInitialised</span>
</span><span id="__span-40-2"><a id="__codelineno-40-2" name="__codelineno-40-2" href="#__codelineno-40-2"></a><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onUIInitialised</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kr">function</span><span class="p">()</span>
</span><span id="__span-40-3"><a id="__codelineno-40-3" name="__codelineno-40-3" href="#__codelineno-40-3"></a><span class="w"> </span><span class="nf">originalOnUIInitialised</span><span class="p">()</span>
</span><span id="__span-40-4"><a id="__codelineno-40-4" name="__codelineno-40-4" href="#__codelineno-40-4"></a>
</span><span id="__span-40-5"><a id="__codelineno-40-5" name="__codelineno-40-5" href="#__codelineno-40-5"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;BeamMP UI initialized&quot;</span><span class="p">)</span>
</span><span id="__span-40-6"><a id="__codelineno-40-6" name="__codelineno-40-6" href="#__codelineno-40-6"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h4 id="onsettingschanged"><code>onSettingsChanged()</code></h4>
<p>Called when BeamMP settings are changed</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-41-1"><a id="__codelineno-41-1" name="__codelineno-41-1" href="#__codelineno-41-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">originalOnSettingsChanged</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onSettingsChanged</span>
</span><span id="__span-41-2"><a id="__codelineno-41-2" name="__codelineno-41-2" href="#__codelineno-41-2"></a><span class="nv">MPVehicleGE</span><span class="p">.</span><span class="py">onSettingsChanged</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kr">function</span><span class="p">()</span>
</span><span id="__span-41-3"><a id="__codelineno-41-3" name="__codelineno-41-3" href="#__codelineno-41-3"></a><span class="w"> </span><span class="nf">originalOnSettingsChanged</span><span class="p">()</span>
</span><span id="__span-41-4"><a id="__codelineno-41-4" name="__codelineno-41-4" href="#__codelineno-41-4"></a>
</span><span id="__span-41-5"><a id="__codelineno-41-5" name="__codelineno-41-5" href="#__codelineno-41-5"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;BeamMP settings changed&quot;</span><span class="p">)</span>
</span><span id="__span-41-6"><a id="__codelineno-41-6" name="__codelineno-41-6" href="#__codelineno-41-6"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h2 id="mpconfig-functions">MPConfig Functions</h2>
<h3 id="mpconfiggetplayerserverid"><code>MPConfig.getPlayerServerID()</code></h3>
<p>Returns the local player's server-assigned ID</p>
<p><strong>Returns:</strong>
- (number) - The player's server ID (-1 if not set)</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-42-1"><a id="__codelineno-42-1" name="__codelineno-42-1" href="#__codelineno-42-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">myID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPConfig</span><span class="p">.</span><span class="nf">getPlayerServerID</span><span class="p">()</span>
</span></code></pre></div></p>
<hr />
<h3 id="mpconfiggetnickname"><code>MPConfig.getNickname()</code></h3>
<p>Returns the local player's nickname</p>
<p><strong>Returns:</strong>
- (string) - The player's current nickname</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-43-1"><a id="__codelineno-43-1" name="__codelineno-43-1" href="#__codelineno-43-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPConfig</span><span class="p">.</span><span class="nf">getNickname</span><span class="p">()</span>
</span></code></pre></div></p>
<hr />
<h3 id="mpconfiggetconfig"><code>MPConfig.getConfig()</code></h3>
<p>Returns the BeamMP configuration settings</p>
<p><strong>Returns:</strong>
- (table) - Configuration table with all BeamMP settings
- (nil) - If config file doesn't exist</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-44-1"><a id="__codelineno-44-1" name="__codelineno-44-1" href="#__codelineno-44-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">config</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPConfig</span><span class="p">.</span><span class="nf">getConfig</span><span class="p">()</span>
</span></code></pre></div></p>
<hr />
<h3 id="mpconfigsetconfigsettingname-settingval"><code>MPConfig.setConfig(settingName, settingVal)</code></h3>
<p>Sets a specific configuration value</p>
<p><strong>Parameters:</strong>
- <code>settingName</code> (string) - Name of the setting
- <code>settingVal</code> (any) - Value to set</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-45-1"><a id="__codelineno-45-1" name="__codelineno-45-1" href="#__codelineno-45-1"></a><span class="nv">extensions</span><span class="p">.</span><span class="py">MPConfig</span><span class="p">.</span><span class="nf">setConfig</span><span class="p">(</span><span class="s2">&quot;myCustomSetting&quot;</span><span class="p">,</span><span class="w"> </span><span class="kc">true</span><span class="p">)</span>
</span></code></pre></div></p>
<hr />
<h2 id="mpcorenetwork-functions">MPCoreNetwork Functions</h2>
<h3 id="mpcorenetworkgetcurrentserver"><code>MPCoreNetwork.getCurrentServer()</code></h3>
<p>Returns information about the current connected server</p>
<p><strong>Returns:</strong>
- (table) - Server data (ip, port, name, map)
- (nil) - If not connected</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-46-1"><a id="__codelineno-46-1" name="__codelineno-46-1" href="#__codelineno-46-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">server</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPCoreNetwork</span><span class="p">.</span><span class="nf">getCurrentServer</span><span class="p">()</span>
</span><span id="__span-46-2"><a id="__codelineno-46-2" name="__codelineno-46-2" href="#__codelineno-46-2"></a><span class="kr">if</span><span class="w"> </span><span class="nv">server</span><span class="w"> </span><span class="kr">then</span>
</span><span id="__span-46-3"><a id="__codelineno-46-3" name="__codelineno-46-3" href="#__codelineno-46-3"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Server: &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">server</span><span class="p">.</span><span class="py">name</span><span class="p">)</span>
</span><span id="__span-46-4"><a id="__codelineno-46-4" name="__codelineno-46-4" href="#__codelineno-46-4"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;IP: &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">server</span><span class="p">.</span><span class="py">ip</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="s2">&quot;:&quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">server</span><span class="p">.</span><span class="py">port</span><span class="p">)</span>
</span><span id="__span-46-5"><a id="__codelineno-46-5" name="__codelineno-46-5" href="#__codelineno-46-5"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h2 id="event-system-functions">Event System Functions</h2>
<h3 id="triggerservereventname-data"><code>TriggerServerEvent(name, data)</code></h3>
<p>Sends an event to the server</p>
<p><strong>Parameters:</strong>
- <code>name</code> (string) - Event name
- <code>data</code> (string) - Data to send</p>
<p><strong>Note:</strong>
Global function. The server must have a registered handler for this event.</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-47-1"><a id="__codelineno-47-1" name="__codelineno-47-1" href="#__codelineno-47-1"></a><span class="nf">TriggerServerEvent</span><span class="p">(</span><span class="s2">&quot;playerReady&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;ready&quot;</span><span class="p">)</span>
</span><span id="__span-47-2"><a id="__codelineno-47-2" name="__codelineno-47-2" href="#__codelineno-47-2"></a>
</span><span id="__span-47-3"><a id="__codelineno-47-3" name="__codelineno-47-3" href="#__codelineno-47-3"></a><span class="c1">-- With JSON</span>
</span><span id="__span-47-4"><a id="__codelineno-47-4" name="__codelineno-47-4" href="#__codelineno-47-4"></a><span class="kd">local</span><span class="w"> </span><span class="nv">data</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="nv">position</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="nv">x</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="nv">y</span><span class="o">=</span><span class="mi">200</span><span class="p">,</span><span class="w"> </span><span class="nv">z</span><span class="o">=</span><span class="mi">50</span><span class="p">}}</span>
</span><span id="__span-47-5"><a id="__codelineno-47-5" name="__codelineno-47-5" href="#__codelineno-47-5"></a><span class="nf">TriggerServerEvent</span><span class="p">(</span><span class="s2">&quot;updatePlayer&quot;</span><span class="p">,</span><span class="w"> </span><span class="nf">jsonEncode</span><span class="p">(</span><span class="nv">data</span><span class="p">))</span>
</span></code></pre></div></p>
<hr />
<h3 id="triggerclienteventname-data"><code>TriggerClientEvent(name, data)</code></h3>
<p>Triggers a local client event</p>
<p><strong>Parameters:</strong>
- <code>name</code> (string) - Event name
- <code>data</code> (string) - Data to send</p>
<p><strong>Note:</strong>
Global function. Triggers locally without sending to server.</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-48-1"><a id="__codelineno-48-1" name="__codelineno-48-1" href="#__codelineno-48-1"></a><span class="nf">TriggerClientEvent</span><span class="p">(</span><span class="s2">&quot;localUpdate&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;data&quot;</span><span class="p">)</span>
</span></code></pre></div></p>
<hr />
<h3 id="addeventhandlerevent_name-func-name"><code>AddEventHandler(event_name, func, name)</code></h3>
<p>Registers a function to handle a specific event</p>
<p><strong>Parameters:</strong>
- <code>event_name</code> (string) - Name of the event to handle
- <code>func</code> (function) - Handler function (receives event data)
- <code>name</code> (string) - Optional internal name</p>
<p><strong>Note:</strong>
Global function.</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-49-1"><a id="__codelineno-49-1" name="__codelineno-49-1" href="#__codelineno-49-1"></a><span class="nf">AddEventHandler</span><span class="p">(</span><span class="s2">&quot;playerDamage&quot;</span><span class="p">,</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">data</span><span class="p">)</span>
</span><span id="__span-49-2"><a id="__codelineno-49-2" name="__codelineno-49-2" href="#__codelineno-49-2"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Damage: &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">data</span><span class="p">)</span>
</span><span id="__span-49-3"><a id="__codelineno-49-3" name="__codelineno-49-3" href="#__codelineno-49-3"></a><span class="kr">end</span><span class="p">)</span>
</span><span id="__span-49-4"><a id="__codelineno-49-4" name="__codelineno-49-4" href="#__codelineno-49-4"></a>
</span><span id="__span-49-5"><a id="__codelineno-49-5" name="__codelineno-49-5" href="#__codelineno-49-5"></a><span class="c1">-- With JSON</span>
</span><span id="__span-49-6"><a id="__codelineno-49-6" name="__codelineno-49-6" href="#__codelineno-49-6"></a><span class="nf">AddEventHandler</span><span class="p">(</span><span class="s2">&quot;vehicleSpawned&quot;</span><span class="p">,</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">data</span><span class="p">)</span>
</span><span id="__span-49-7"><a id="__codelineno-49-7" name="__codelineno-49-7" href="#__codelineno-49-7"></a><span class="w"> </span><span class="kd">local</span><span class="w"> </span><span class="nv">vehData</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nf">jsonDecode</span><span class="p">(</span><span class="nv">data</span><span class="p">)</span>
</span><span id="__span-49-8"><a id="__codelineno-49-8" name="__codelineno-49-8" href="#__codelineno-49-8"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Spawned: &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">vehData</span><span class="p">.</span><span class="py">model</span><span class="p">)</span>
</span><span id="__span-49-9"><a id="__codelineno-49-9" name="__codelineno-49-9" href="#__codelineno-49-9"></a><span class="kr">end</span><span class="p">)</span>
</span></code></pre></div></p>
<hr />
<h3 id="removeeventhandlerevent_name-name"><code>RemoveEventHandler(event_name, name)</code></h3>
<p>Removes an event handler</p>
<p><strong>Parameters:</strong>
- <code>event_name</code> (string) - Name of the event
- <code>name</code> (string) - Optional internal name</p>
<p><strong>Note:</strong>
Global function.</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-50-1"><a id="__codelineno-50-1" name="__codelineno-50-1" href="#__codelineno-50-1"></a><span class="nf">RemoveEventHandler</span><span class="p">(</span><span class="s2">&quot;playerDamage&quot;</span><span class="p">)</span>
</span></code></pre></div></p>
<hr />
<h2 id="keypress-functions">Keypress Functions</h2>
<h3 id="onkeypressedkeyname-func"><code>onKeyPressed(keyname, func)</code></h3>
<p>Registers a function to be called when a key is pressed</p>
<p><strong>Parameters:</strong>
- <code>keyname</code> (string) - Name of the key (e.g., "NUMPAD1", "F1")
- <code>func</code> (function) - Function to call (receives boolean)</p>
<p><strong>Note:</strong>
Global function.</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-51-1"><a id="__codelineno-51-1" name="__codelineno-51-1" href="#__codelineno-51-1"></a><span class="nf">onKeyPressed</span><span class="p">(</span><span class="s2">&quot;NUMPAD1&quot;</span><span class="p">,</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">state</span><span class="p">)</span>
</span><span id="__span-51-2"><a id="__codelineno-51-2" name="__codelineno-51-2" href="#__codelineno-51-2"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;NUMPAD1 pressed!&quot;</span><span class="p">)</span>
</span><span id="__span-51-3"><a id="__codelineno-51-3" name="__codelineno-51-3" href="#__codelineno-51-3"></a><span class="kr">end</span><span class="p">)</span>
</span></code></pre></div></p>
<hr />
<h3 id="onkeyreleasedkeyname-func"><code>onKeyReleased(keyname, func)</code></h3>
<p>Registers a function to be called when a key is released</p>
<p><strong>Parameters:</strong>
- <code>keyname</code> (string) - Name of the key
- <code>func</code> (function) - Function to call (receives boolean)</p>
<p><strong>Note:</strong>
Global function.</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-52-1"><a id="__codelineno-52-1" name="__codelineno-52-1" href="#__codelineno-52-1"></a><span class="nf">onKeyReleased</span><span class="p">(</span><span class="s2">&quot;NUMPAD1&quot;</span><span class="p">,</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">state</span><span class="p">)</span>
</span><span id="__span-52-2"><a id="__codelineno-52-2" name="__codelineno-52-2" href="#__codelineno-52-2"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;NUMPAD1 released!&quot;</span><span class="p">)</span>
</span><span id="__span-52-3"><a id="__codelineno-52-3" name="__codelineno-52-3" href="#__codelineno-52-3"></a><span class="kr">end</span><span class="p">)</span>
</span></code></pre></div></p>
<hr />
<h3 id="addkeyeventlistenerkeyname-func-type"><code>addKeyEventListener(keyname, func, type)</code></h3>
<p>Registers a key event listener with customizable trigger type</p>
<p><strong>Parameters:</strong>
- <code>keyname</code> (string) - Name of the key
- <code>func</code> (function) - Function to call
- <code>type</code> (string) - Event type: "down", "up", or "both" (default: "both")</p>
<p><strong>Note:</strong>
Global function.</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-53-1"><a id="__codelineno-53-1" name="__codelineno-53-1" href="#__codelineno-53-1"></a><span class="nf">addKeyEventListener</span><span class="p">(</span><span class="s2">&quot;F1&quot;</span><span class="p">,</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">isPressed</span><span class="p">)</span>
</span><span id="__span-53-2"><a id="__codelineno-53-2" name="__codelineno-53-2" href="#__codelineno-53-2"></a><span class="w"> </span><span class="kr">if</span><span class="w"> </span><span class="nv">isPressed</span><span class="w"> </span><span class="kr">then</span>
</span><span id="__span-53-3"><a id="__codelineno-53-3" name="__codelineno-53-3" href="#__codelineno-53-3"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;F1 pressed&quot;</span><span class="p">)</span>
</span><span id="__span-53-4"><a id="__codelineno-53-4" name="__codelineno-53-4" href="#__codelineno-53-4"></a><span class="w"> </span><span class="kr">else</span>
</span><span id="__span-53-5"><a id="__codelineno-53-5" name="__codelineno-53-5" href="#__codelineno-53-5"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;F1 released&quot;</span><span class="p">)</span>
</span><span id="__span-53-6"><a id="__codelineno-53-6" name="__codelineno-53-6" href="#__codelineno-53-6"></a><span class="w"> </span><span class="kr">end</span>
</span><span id="__span-53-7"><a id="__codelineno-53-7" name="__codelineno-53-7" href="#__codelineno-53-7"></a><span class="kr">end</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;both&quot;</span><span class="p">)</span>
</span></code></pre></div></p>
<hr />
<h3 id="getkeystatekeyname"><code>getKeyState(keyname)</code></h3>
<p>Returns the current state of a key</p>
<p><strong>Parameters:</strong>
- <code>keyname</code> (string) - Name of the key</p>
<p><strong>Returns:</strong>
- (boolean) - True if pressed, false otherwise</p>
<p><strong>Note:</strong>
Global function. Only works for keys registered with addKeyEventListener.</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-54-1"><a id="__codelineno-54-1" name="__codelineno-54-1" href="#__codelineno-54-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">isPressed</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nf">getKeyState</span><span class="p">(</span><span class="s2">&quot;NUMPAD1&quot;</span><span class="p">)</span>
</span><span id="__span-54-2"><a id="__codelineno-54-2" name="__codelineno-54-2" href="#__codelineno-54-2"></a><span class="kr">if</span><span class="w"> </span><span class="nv">isPressed</span><span class="w"> </span><span class="kr">then</span>
</span><span id="__span-54-3"><a id="__codelineno-54-3" name="__codelineno-54-3" href="#__codelineno-54-3"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;NUMPAD1 is held down&quot;</span><span class="p">)</span>
</span><span id="__span-54-4"><a id="__codelineno-54-4" name="__codelineno-54-4" href="#__codelineno-54-4"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h2 id="ui-functions">UI Functions</h2>
<h3 id="mpgamenetworkspawnuidialogdialoginfo"><code>MPGameNetwork.spawnUiDialog(dialogInfo)</code></h3>
<p>Creates a custom interactive dialog box</p>
<p><strong>Parameters:</strong>
- <code>dialogInfo</code> (table) - Dialog configuration:
- <code>title</code> (string) - Dialog title (optional)
- <code>body</code> (string) - Dialog message (optional)
- <code>buttons</code> (table) - Button configurations (optional)
- <code>class</code> (string) - "experimental" for hazard lines (optional)
- <code>interactionID</code> (string) - Interaction identifier (optional)
- <code>reportToServer</code> (boolean) - Send to server (optional, default: false)
- <code>reportToExtensions</code> (boolean) - Trigger local event (optional, default: false)</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-55-1"><a id="__codelineno-55-1" name="__codelineno-55-1" href="#__codelineno-55-1"></a><span class="c1">-- Simple dialog</span>
</span><span id="__span-55-2"><a id="__codelineno-55-2" name="__codelineno-55-2" href="#__codelineno-55-2"></a><span class="nv">extensions</span><span class="p">.</span><span class="py">MPGameNetwork</span><span class="p">.</span><span class="nf">spawnUiDialog</span><span class="p">({</span>
</span><span id="__span-55-3"><a id="__codelineno-55-3" name="__codelineno-55-3" href="#__codelineno-55-3"></a><span class="w"> </span><span class="nv">title</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;Welcome&quot;</span><span class="p">,</span>
</span><span id="__span-55-4"><a id="__codelineno-55-4" name="__codelineno-55-4" href="#__codelineno-55-4"></a><span class="w"> </span><span class="nv">body</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;Welcome to the server!&quot;</span>
</span><span id="__span-55-5"><a id="__codelineno-55-5" name="__codelineno-55-5" href="#__codelineno-55-5"></a><span class="p">})</span>
</span><span id="__span-55-6"><a id="__codelineno-55-6" name="__codelineno-55-6" href="#__codelineno-55-6"></a>
</span><span id="__span-55-7"><a id="__codelineno-55-7" name="__codelineno-55-7" href="#__codelineno-55-7"></a><span class="c1">-- Choice dialog</span>
</span><span id="__span-55-8"><a id="__codelineno-55-8" name="__codelineno-55-8" href="#__codelineno-55-8"></a><span class="nv">extensions</span><span class="p">.</span><span class="py">MPGameNetwork</span><span class="p">.</span><span class="nf">spawnUiDialog</span><span class="p">({</span>
</span><span id="__span-55-9"><a id="__codelineno-55-9" name="__codelineno-55-9" href="#__codelineno-55-9"></a><span class="w"> </span><span class="nv">title</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;Choose Team&quot;</span><span class="p">,</span>
</span><span id="__span-55-10"><a id="__codelineno-55-10" name="__codelineno-55-10" href="#__codelineno-55-10"></a><span class="w"> </span><span class="nv">body</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;Which team?&quot;</span><span class="p">,</span>
</span><span id="__span-55-11"><a id="__codelineno-55-11" name="__codelineno-55-11" href="#__codelineno-55-11"></a><span class="w"> </span><span class="nv">buttons</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span>
</span><span id="__span-55-12"><a id="__codelineno-55-12" name="__codelineno-55-12" href="#__codelineno-55-12"></a><span class="w"> </span><span class="p">{</span><span class="nv">label</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;Red&quot;</span><span class="p">,</span><span class="w"> </span><span class="nv">key</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;joinRed&quot;</span><span class="p">},</span>
</span><span id="__span-55-13"><a id="__codelineno-55-13" name="__codelineno-55-13" href="#__codelineno-55-13"></a><span class="w"> </span><span class="p">{</span><span class="nv">label</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;Blue&quot;</span><span class="p">,</span><span class="w"> </span><span class="nv">key</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;joinBlue&quot;</span><span class="p">}</span>
</span><span id="__span-55-14"><a id="__codelineno-55-14" name="__codelineno-55-14" href="#__codelineno-55-14"></a><span class="w"> </span><span class="p">},</span>
</span><span id="__span-55-15"><a id="__codelineno-55-15" name="__codelineno-55-15" href="#__codelineno-55-15"></a><span class="w"> </span><span class="nv">interactionID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;teamSelection&quot;</span><span class="p">,</span>
</span><span id="__span-55-16"><a id="__codelineno-55-16" name="__codelineno-55-16" href="#__codelineno-55-16"></a><span class="w"> </span><span class="nv">reportToServer</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span>
</span><span id="__span-55-17"><a id="__codelineno-55-17" name="__codelineno-55-17" href="#__codelineno-55-17"></a><span class="p">})</span>
</span></code></pre></div></p>
<hr />
<h2 id="mpgamenetwork-callbacks">MPGameNetwork Callbacks</h2>
<h3 id="mpgamenetworkonupdatedt"><code>MPGameNetwork.onUpdate(dt)</code></h3>
<p>Called every frame while connected to multiplayer</p>
<p><strong>Parameters:</strong>
- <code>dt</code> (number) - Delta time in seconds</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-56-1"><a id="__codelineno-56-1" name="__codelineno-56-1" href="#__codelineno-56-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">originalOnUpdate</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">MPGameNetwork</span><span class="p">.</span><span class="py">onUpdate</span>
</span><span id="__span-56-2"><a id="__codelineno-56-2" name="__codelineno-56-2" href="#__codelineno-56-2"></a><span class="nv">MPGameNetwork</span><span class="p">.</span><span class="py">onUpdate</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">dt</span><span class="p">)</span>
</span><span id="__span-56-3"><a id="__codelineno-56-3" name="__codelineno-56-3" href="#__codelineno-56-3"></a><span class="w"> </span><span class="nf">originalOnUpdate</span><span class="p">(</span><span class="nv">dt</span><span class="p">)</span>
</span><span id="__span-56-4"><a id="__codelineno-56-4" name="__codelineno-56-4" href="#__codelineno-56-4"></a><span class="w"> </span><span class="c1">-- Your code here</span>
</span><span id="__span-56-5"><a id="__codelineno-56-5" name="__codelineno-56-5" href="#__codelineno-56-5"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h3 id="mpgamenetworkonvehiclereadygamevehicleid"><code>MPGameNetwork.onVehicleReady(gameVehicleID)</code></h3>
<p>Called when a vehicle is ready and extensions are loaded</p>
<p><strong>Parameters:</strong>
- <code>gameVehicleID</code> (number) - The game's internal vehicle ID</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-57-1"><a id="__codelineno-57-1" name="__codelineno-57-1" href="#__codelineno-57-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">originalOnVehicleReady</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">MPGameNetwork</span><span class="p">.</span><span class="py">onVehicleReady</span>
</span><span id="__span-57-2"><a id="__codelineno-57-2" name="__codelineno-57-2" href="#__codelineno-57-2"></a><span class="nv">MPGameNetwork</span><span class="p">.</span><span class="py">onVehicleReady</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">gameVehicleID</span><span class="p">)</span>
</span><span id="__span-57-3"><a id="__codelineno-57-3" name="__codelineno-57-3" href="#__codelineno-57-3"></a><span class="w"> </span><span class="nf">originalOnVehicleReady</span><span class="p">(</span><span class="nv">gameVehicleID</span><span class="p">)</span>
</span><span id="__span-57-4"><a id="__codelineno-57-4" name="__codelineno-57-4" href="#__codelineno-57-4"></a><span class="w"> </span><span class="c1">-- Your code here</span>
</span><span id="__span-57-5"><a id="__codelineno-57-5" name="__codelineno-57-5" href="#__codelineno-57-5"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h2 id="encoding-functions">Encoding Functions</h2>
<h3 id="mphelpersb64encodestring"><code>MPHelpers.b64encode(string)</code></h3>
<p>Encodes a string to Base64 (RFC 2045)</p>
<p><strong>Parameters:</strong>
- <code>string</code> (string) - String to encode</p>
<p><strong>Returns:</strong>
- (string) - Base64-encoded string</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-58-1"><a id="__codelineno-58-1" name="__codelineno-58-1" href="#__codelineno-58-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">encoded</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPHelpers</span><span class="p">.</span><span class="nf">b64encode</span><span class="p">(</span><span class="s2">&quot;Hello World&quot;</span><span class="p">)</span>
</span><span id="__span-58-2"><a id="__codelineno-58-2" name="__codelineno-58-2" href="#__codelineno-58-2"></a>
</span><span id="__span-58-3"><a id="__codelineno-58-3" name="__codelineno-58-3" href="#__codelineno-58-3"></a><span class="c1">-- Encoding JSON</span>
</span><span id="__span-58-4"><a id="__codelineno-58-4" name="__codelineno-58-4" href="#__codelineno-58-4"></a><span class="kd">local</span><span class="w"> </span><span class="nv">data</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="nv">name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;Player&quot;</span><span class="p">,</span><span class="w"> </span><span class="nv">score</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">100</span><span class="p">}</span>
</span><span id="__span-58-5"><a id="__codelineno-58-5" name="__codelineno-58-5" href="#__codelineno-58-5"></a><span class="kd">local</span><span class="w"> </span><span class="nv">encoded</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPHelpers</span><span class="p">.</span><span class="nf">b64encode</span><span class="p">(</span><span class="nf">jsonEncode</span><span class="p">(</span><span class="nv">data</span><span class="p">))</span>
</span><span id="__span-58-6"><a id="__codelineno-58-6" name="__codelineno-58-6" href="#__codelineno-58-6"></a><span class="nf">TriggerServerEvent</span><span class="p">(</span><span class="s2">&quot;sendData&quot;</span><span class="p">,</span><span class="w"> </span><span class="nv">encoded</span><span class="p">)</span>
</span></code></pre></div></p>
<hr />
<h3 id="mphelpersb64decodestring"><code>MPHelpers.b64decode(string)</code></h3>
<p>Decodes a Base64 string (RFC 2045)</p>
<p><strong>Parameters:</strong>
- <code>string</code> (string) - Base64-encoded string</p>
<p><strong>Returns:</strong>
- (string) - Decoded string</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-59-1"><a id="__codelineno-59-1" name="__codelineno-59-1" href="#__codelineno-59-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">decoded</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPHelpers</span><span class="p">.</span><span class="nf">b64decode</span><span class="p">(</span><span class="s2">&quot;SGVsbG8gV29ybGQ=&quot;</span><span class="p">)</span>
</span><span id="__span-59-2"><a id="__codelineno-59-2" name="__codelineno-59-2" href="#__codelineno-59-2"></a>
</span><span id="__span-59-3"><a id="__codelineno-59-3" name="__codelineno-59-3" href="#__codelineno-59-3"></a><span class="c1">-- Decoding JSON</span>
</span><span id="__span-59-4"><a id="__codelineno-59-4" name="__codelineno-59-4" href="#__codelineno-59-4"></a><span class="nf">AddEventHandler</span><span class="p">(</span><span class="s2">&quot;receiveData&quot;</span><span class="p">,</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">data</span><span class="p">)</span>
</span><span id="__span-59-5"><a id="__codelineno-59-5" name="__codelineno-59-5" href="#__codelineno-59-5"></a><span class="w"> </span><span class="kd">local</span><span class="w"> </span><span class="nv">decoded</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPHelpers</span><span class="p">.</span><span class="nf">b64decode</span><span class="p">(</span><span class="nv">data</span><span class="p">)</span>
</span><span id="__span-59-6"><a id="__codelineno-59-6" name="__codelineno-59-6" href="#__codelineno-59-6"></a><span class="w"> </span><span class="kd">local</span><span class="w"> </span><span class="nv">jsonData</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nf">jsonDecode</span><span class="p">(</span><span class="nv">decoded</span><span class="p">)</span>
</span><span id="__span-59-7"><a id="__codelineno-59-7" name="__codelineno-59-7" href="#__codelineno-59-7"></a><span class="kr">end</span><span class="p">)</span>
</span></code></pre></div></p>
<hr />
<h2 id="color-functions">Color Functions</h2>
<h3 id="mphelpershex2rgbhex"><code>MPHelpers.hex2rgb(hex)</code></h3>
<p>Converts a hexadecimal color code to RGB values</p>
<p><strong>Parameters:</strong>
- <code>hex</code> (string) - Hex color code (e.g., "#FF5733" or "#F57")</p>
<p><strong>Returns:</strong>
- (table) - RGB values <code>{r, g, b}</code> in 0-1 range
- (table) - <code>{0, 0, 0}</code> if invalid</p>
<p><strong>Note:</strong>
Supports both 3-character and 6-character hex codes.</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-60-1"><a id="__codelineno-60-1" name="__codelineno-60-1" href="#__codelineno-60-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">rgb</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPHelpers</span><span class="p">.</span><span class="nf">hex2rgb</span><span class="p">(</span><span class="s2">&quot;#FF5733&quot;</span><span class="p">)</span>
</span><span id="__span-60-2"><a id="__codelineno-60-2" name="__codelineno-60-2" href="#__codelineno-60-2"></a><span class="nb">print</span><span class="p">(</span><span class="nv">rgb</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="w"> </span><span class="nv">rgb</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="w"> </span><span class="nv">rgb</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span><span class="w"> </span><span class="c1">-- 1.0, 0.341, 0.2</span>
</span><span id="__span-60-3"><a id="__codelineno-60-3" name="__codelineno-60-3" href="#__codelineno-60-3"></a>
</span><span id="__span-60-4"><a id="__codelineno-60-4" name="__codelineno-60-4" href="#__codelineno-60-4"></a><span class="c1">-- Short format</span>
</span><span id="__span-60-5"><a id="__codelineno-60-5" name="__codelineno-60-5" href="#__codelineno-60-5"></a><span class="kd">local</span><span class="w"> </span><span class="nv">rgb</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPHelpers</span><span class="p">.</span><span class="nf">hex2rgb</span><span class="p">(</span><span class="s2">&quot;#F57&quot;</span><span class="p">)</span>
</span></code></pre></div></p>
<hr />
<h2 id="string-functions">String Functions</h2>
<h3 id="mphelperssplitstringtotablestring-delimiter-convert_into"><code>MPHelpers.splitStringToTable(string, delimiter, convert_into)</code></h3>
<p>Splits a string by delimiter and optionally converts values</p>
<p><strong>Parameters:</strong>
- <code>string</code> (string) - String to split
- <code>delimiter</code> (string) - Delimiter to split by
- <code>convert_into</code> (number) - Conversion type (optional):
- <code>nil</code> or <code>0</code> - Keep as strings (default)
- <code>1</code> - Convert to numbers
- <code>2</code> - Convert to booleans</p>
<p><strong>Returns:</strong>
- (table) - Array of split values</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-61-1"><a id="__codelineno-61-1" name="__codelineno-61-1" href="#__codelineno-61-1"></a><span class="c1">-- Strings</span>
</span><span id="__span-61-2"><a id="__codelineno-61-2" name="__codelineno-61-2" href="#__codelineno-61-2"></a><span class="kd">local</span><span class="w"> </span><span class="nv">parts</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPHelpers</span><span class="p">.</span><span class="nf">splitStringToTable</span><span class="p">(</span><span class="s2">&quot;Hello,World&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;,&quot;</span><span class="p">)</span>
</span><span id="__span-61-3"><a id="__codelineno-61-3" name="__codelineno-61-3" href="#__codelineno-61-3"></a><span class="c1">-- {&quot;Hello&quot;, &quot;World&quot;}</span>
</span><span id="__span-61-4"><a id="__codelineno-61-4" name="__codelineno-61-4" href="#__codelineno-61-4"></a>
</span><span id="__span-61-5"><a id="__codelineno-61-5" name="__codelineno-61-5" href="#__codelineno-61-5"></a><span class="c1">-- Numbers</span>
</span><span id="__span-61-6"><a id="__codelineno-61-6" name="__codelineno-61-6" href="#__codelineno-61-6"></a><span class="kd">local</span><span class="w"> </span><span class="nv">nums</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPHelpers</span><span class="p">.</span><span class="nf">splitStringToTable</span><span class="p">(</span><span class="s2">&quot;10,20,30&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;,&quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span>
</span><span id="__span-61-7"><a id="__codelineno-61-7" name="__codelineno-61-7" href="#__codelineno-61-7"></a><span class="c1">-- {10, 20, 30}</span>
</span><span id="__span-61-8"><a id="__codelineno-61-8" name="__codelineno-61-8" href="#__codelineno-61-8"></a>
</span><span id="__span-61-9"><a id="__codelineno-61-9" name="__codelineno-61-9" href="#__codelineno-61-9"></a><span class="c1">-- Parse coordinates</span>
</span><span id="__span-61-10"><a id="__codelineno-61-10" name="__codelineno-61-10" href="#__codelineno-61-10"></a><span class="kd">local</span><span class="w"> </span><span class="nv">coords</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPHelpers</span><span class="p">.</span><span class="nf">splitStringToTable</span><span class="p">(</span><span class="s2">&quot;100,200,50&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;,&quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span>
</span><span id="__span-61-11"><a id="__codelineno-61-11" name="__codelineno-61-11" href="#__codelineno-61-11"></a><span class="kd">local</span><span class="w"> </span><span class="nv">x</span><span class="p">,</span><span class="w"> </span><span class="nv">y</span><span class="p">,</span><span class="w"> </span><span class="nv">z</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">coords</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="w"> </span><span class="nv">coords</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="w"> </span><span class="nv">coords</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
</span></code></pre></div></p>
<hr />
<h2 id="table-functions">Table Functions</h2>
<h3 id="mphelperstablediffold-new"><code>MPHelpers.tableDiff(old, new)</code></h3>
<p>Compares two tables and returns their differences</p>
<p><strong>Parameters:</strong>
- <code>old</code> (table) - First table to compare
- <code>new</code> (table) - Second table to compare</p>
<p><strong>Returns:</strong>
- (table) <code>diff</code> - All keys that differ
- (table) <code>o</code> - Values from old that differ
- (table) <code>n</code> - Values from new that differ</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-62-1"><a id="__codelineno-62-1" name="__codelineno-62-1" href="#__codelineno-62-1"></a><span class="kd">local</span><span class="w"> </span><span class="nv">oldConfig</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="nv">speed</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="nv">damage</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">50</span><span class="p">,</span><span class="w"> </span><span class="nv">armor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">30</span><span class="p">}</span>
</span><span id="__span-62-2"><a id="__codelineno-62-2" name="__codelineno-62-2" href="#__codelineno-62-2"></a><span class="kd">local</span><span class="w"> </span><span class="nv">newConfig</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="nv">speed</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">120</span><span class="p">,</span><span class="w"> </span><span class="nv">damage</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">50</span><span class="p">,</span><span class="w"> </span><span class="nv">armor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">40</span><span class="p">}</span>
</span><span id="__span-62-3"><a id="__codelineno-62-3" name="__codelineno-62-3" href="#__codelineno-62-3"></a>
</span><span id="__span-62-4"><a id="__codelineno-62-4" name="__codelineno-62-4" href="#__codelineno-62-4"></a><span class="kd">local</span><span class="w"> </span><span class="nv">diff</span><span class="p">,</span><span class="w"> </span><span class="nv">oldVals</span><span class="p">,</span><span class="w"> </span><span class="nv">newVals</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPHelpers</span><span class="p">.</span><span class="nf">tableDiff</span><span class="p">(</span><span class="nv">oldConfig</span><span class="p">,</span><span class="w"> </span><span class="nv">newConfig</span><span class="p">)</span>
</span><span id="__span-62-5"><a id="__codelineno-62-5" name="__codelineno-62-5" href="#__codelineno-62-5"></a><span class="c1">-- diff = {speed = 120, armor = 40}</span>
</span><span id="__span-62-6"><a id="__codelineno-62-6" name="__codelineno-62-6" href="#__codelineno-62-6"></a>
</span><span id="__span-62-7"><a id="__codelineno-62-7" name="__codelineno-62-7" href="#__codelineno-62-7"></a><span class="kr">for</span><span class="w"> </span><span class="nv">key</span><span class="p">,</span><span class="w"> </span><span class="nv">value</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nb">pairs</span><span class="p">(</span><span class="nv">diff</span><span class="p">)</span><span class="w"> </span><span class="kr">do</span>
</span><span id="__span-62-8"><a id="__codelineno-62-8" name="__codelineno-62-8" href="#__codelineno-62-8"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="nv">key</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="s2">&quot; changed from &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">oldVals</span><span class="p">[</span><span class="nv">key</span><span class="p">]</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="s2">&quot; to &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">newVals</span><span class="p">[</span><span class="nv">key</span><span class="p">])</span>
</span><span id="__span-62-9"><a id="__codelineno-62-9" name="__codelineno-62-9" href="#__codelineno-62-9"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h2 id="debug-functions">Debug Functions</h2>
<h3 id="mphelperssimpletraceslevel"><code>MPHelpers.simpletraces(level)</code></h3>
<p>Returns formatted caller information as string</p>
<p><strong>Parameters:</strong>
- <code>level</code> (number) - Stack level (optional, default: 2)</p>
<p><strong>Returns:</strong>
- (string) - Formatted string: <code>"source:line, namewhat name"</code>
- (string) - <code>"unknown"</code> if info not available</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-63-1"><a id="__codelineno-63-1" name="__codelineno-63-1" href="#__codelineno-63-1"></a><span class="kd">local</span><span class="w"> </span><span class="kr">function</span><span class="w"> </span><span class="nf">myFunction</span><span class="p">()</span>
</span><span id="__span-63-2"><a id="__codelineno-63-2" name="__codelineno-63-2" href="#__codelineno-63-2"></a><span class="w"> </span><span class="kd">local</span><span class="w"> </span><span class="nv">caller</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPHelpers</span><span class="p">.</span><span class="nf">simpletraces</span><span class="p">()</span>
</span><span id="__span-63-3"><a id="__codelineno-63-3" name="__codelineno-63-3" href="#__codelineno-63-3"></a><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Called from: &quot;</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">caller</span><span class="p">)</span>
</span><span id="__span-63-4"><a id="__codelineno-63-4" name="__codelineno-63-4" href="#__codelineno-63-4"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<h3 id="mphelperssimpletracelevel"><code>MPHelpers.simpletrace(level)</code></h3>
<p>Logs caller information to console</p>
<p><strong>Parameters:</strong>
- <code>level</code> (number) - Stack level (optional, default: 1)</p>
<p><strong>Note:</strong>
Logs the calling location to the console.</p>
<p><strong>Usage:</strong>
<div class="language-lua highlight"><pre><span></span><code><span id="__span-64-1"><a id="__codelineno-64-1" name="__codelineno-64-1" href="#__codelineno-64-1"></a><span class="kd">local</span><span class="w"> </span><span class="kr">function</span><span class="w"> </span><span class="nf">myFunction</span><span class="p">()</span>
</span><span id="__span-64-2"><a id="__codelineno-64-2" name="__codelineno-64-2" href="#__codelineno-64-2"></a><span class="w"> </span><span class="nv">extensions</span><span class="p">.</span><span class="py">MPHelpers</span><span class="p">.</span><span class="nf">simpletrace</span><span class="p">()</span>
</span><span id="__span-64-3"><a id="__codelineno-64-3" name="__codelineno-64-3" href="#__codelineno-64-3"></a><span class="w"> </span><span class="c1">-- Logs: &quot;Code was called from: lua/ge/extensions/mymod.lua:42&quot;</span>
</span><span id="__span-64-4"><a id="__codelineno-64-4" name="__codelineno-64-4" href="#__codelineno-64-4"></a><span class="kr">end</span>
</span></code></pre></div></p>
<hr />
<p><em>Last updated: 01.01.2026</em></p>
<aside class="md-source-file">
<span class="md-source-file__fact">
<span class="md-icon" title="Letztes Update">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg>
</span>
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date" title="April 10, 2026 12:35:41 UTC">April 10, 2026</span>
</span>
<span class="md-source-file__fact">
<span class="md-icon" title="Erstellt">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg>
</span>
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date" title="April 10, 2026 12:35:41 UTC">April 10, 2026</span>
</span>
</aside>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2019 - 2024 BeamMP Mod Team
</div>
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
<div class="md-social">
<a href="https://github.com/beammp" target="_blank" rel="noopener" title="github.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
</a>
<a href="https://twitter.com/beamng_mp" target="_blank" rel="noopener" title="twitter.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg>
</a>
<a href="https://discord.gg/beammp" target="_blank" rel="noopener" title="discord.gg" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg>
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<div class="md-consent" data-md-component="consent" id="__consent" hidden>
<div class="md-consent__overlay"></div>
<aside class="md-consent__inner">
<form class="md-consent__form md-grid md-typeset" name="consent">
<h4>Cookie consent</h4>
<p>We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users find what they're searching for. With your consent, you're helping us to make our documentation better.</p>
<input class="md-toggle" type="checkbox" id="__settings" >
<div class="md-consent__settings">
<ul class="task-list">
<li class="task-list-item">
<label class="task-list-control">
<input type="checkbox" name="analytics" checked>
<span class="task-list-indicator"></span>
Google Analytics
</label>
</li>
<li class="task-list-item">
<label class="task-list-control">
<input type="checkbox" name="github" checked>
<span class="task-list-indicator"></span>
GitHub
</label>
</li>
</ul>
</div>
<div class="md-consent__controls">
<button class="md-button md-button--primary">Akzeptieren</button>
<label class="md-button" for="__settings">Einstellungen</label>
</div>
</form>
</aside>
</div>
<script>var consent=__md_get("__consent");if(consent)for(var input of document.forms.consent.elements)input.name&&(input.checked=consent[input.name]||!1);else"file:"!==location.protocol&&setTimeout((function(){document.querySelector("[data-md-component=consent]").hidden=!1}),250);var form=document.forms.consent;for(var action of["submit","reset"])form.addEventListener(action,(function(e){if(e.preventDefault(),"reset"===e.type)for(var n of document.forms.consent.elements)n.name&&(n.checked=!1);__md_set("__consent",Object.fromEntries(Array.from(new FormData(form).keys()).map((function(e){return[e,!0]})))),location.hash="",location.reload()}))</script>
<script id="__config" type="application/json">{"annotate": null, "base": "../../..", "features": ["search.suggest", "search.highlight", "search.share", "content.code.annotate", "content.code.copy", "content.action.edit", "content.action.view", "content.tooltips", "navigation.footer", "navigation.tabs", "navigation.sections", "navigation.expand", "navigation.path", "navigation.tracking", "navigation.indexes", "toc.follow"], "search": "../../../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}, "version": null}</script>
<script src="../../../assets/javascripts/bundle.79ae519e.min.js"></script>
<script src="../../../javascript/custom.js"></script>
</body>
</html>