mirror of
https://github.com/BeamMP/Docs.git
synced 2026-07-13 18:34:44 +00:00
5280 lines
206 KiB
HTML
5280 lines
206 KiB
HTML
|
||
<!doctype html>
|
||
<html lang="zh" 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/zh/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="../../../de/API%20documentation/Client-Side/" 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="alternate" href="./" hreflang="zh">
|
||
|
||
|
||
|
||
<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/zh/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/zh/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/zh/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="#_1" class="md-skip">
|
||
跳转至
|
||
</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="页眉">
|
||
<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="选择当前语言">
|
||
<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="../../../de/API%20documentation/Client-Side/" 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>
|
||
|
||
<li class="md-select__item">
|
||
<a href="./" hreflang="zh" class="md-select__link">
|
||
中文
|
||
</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="搜索" placeholder="搜索" 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="查找">
|
||
|
||
<a href="javascript:void(0)" class="md-search__icon md-icon" title="分享" aria-label="分享" 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="清空当前内容" aria-label="清空当前内容" 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">
|
||
正在初始化搜索引擎
|
||
</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="前往仓库" 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="标签" data-md-component="tabs">
|
||
<div class="md-grid">
|
||
<ul class="md-tabs__list">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item">
|
||
<a href="../../" class="md-tabs__link">
|
||
|
||
|
||
|
||
|
||
|
||
首页
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item">
|
||
<a href="../../game/getting-started/" class="md-tabs__link">
|
||
|
||
|
||
|
||
|
||
|
||
支持
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item">
|
||
<a href="../../FAQ/How-to-check-for-CGNAT/" class="md-tabs__link">
|
||
|
||
|
||
|
||
|
||
|
||
常见问题解答
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item">
|
||
<a href="../../guides/" class="md-tabs__link">
|
||
|
||
|
||
|
||
|
||
|
||
开发指南
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item">
|
||
<a href="../../beamng/" class="md-tabs__link">
|
||
|
||
|
||
|
||
|
||
|
||
BeamNG.drive 文档
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item">
|
||
<a href="../../scripting/mod-reference/" class="md-tabs__link">
|
||
|
||
|
||
|
||
|
||
|
||
脚本参考
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item">
|
||
<a href="../../contributing/" class="md-tabs__link">
|
||
|
||
|
||
|
||
|
||
|
||
参与贡献
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item">
|
||
<a href="../../community/" class="md-tabs__link">
|
||
|
||
|
||
|
||
|
||
|
||
社区
|
||
|
||
</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="导航栏" 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="前往仓库" 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">
|
||
|
||
|
||
首页
|
||
|
||
|
||
|
||
</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">
|
||
|
||
|
||
支持
|
||
|
||
|
||
|
||
</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>
|
||
|
||
|
||
支持
|
||
|
||
|
||
</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
|
||
|
||
|
||
|
||
</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
|
||
|
||
|
||
</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
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../game/error-codes/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
错误代码
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../game/multiplayer-settings/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
多人模式设置
|
||
|
||
|
||
|
||
</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">
|
||
|
||
|
||
服务器设置(首页)
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../server/setup-vps/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
服务器设置(VPS)
|
||
|
||
|
||
|
||
</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">
|
||
|
||
|
||
服务器维护
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../server/error-codes/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
错误代码
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../server/manual/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
服务器手册
|
||
|
||
|
||
|
||
</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">
|
||
|
||
|
||
模组与资源制作
|
||
|
||
|
||
|
||
</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>
|
||
|
||
|
||
模组与资源制作
|
||
|
||
|
||
</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">
|
||
|
||
|
||
服务器端
|
||
|
||
|
||
|
||
</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">
|
||
|
||
|
||
常见问题解答
|
||
|
||
|
||
|
||
</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>
|
||
|
||
|
||
常见问题解答
|
||
|
||
|
||
</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">
|
||
|
||
|
||
如何检查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">
|
||
|
||
|
||
我怎样才能找到我服务器的IP?
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../FAQ/Clearing-mods/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
如何删除模组?
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../FAQ/Update-launcher/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
手动更新启动器
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../FAQ/Change-launcher-port/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
更改启动器端口
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../FAQ/Defender-exclusions/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
创建 Defender 排除项
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../FAQ/player-faq/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
面向玩家的疑难解答
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../FAQ/game-faq/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
游戏常见问题
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../FAQ/server-faq/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
服务器常见问题
|
||
|
||
|
||
|
||
</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">
|
||
|
||
|
||
开发指南
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
<span class="md-status md-status--新的"></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>
|
||
|
||
|
||
开发指南
|
||
|
||
|
||
</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">
|
||
|
||
|
||
模组制作
|
||
|
||
|
||
|
||
</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>
|
||
|
||
|
||
模组制作
|
||
|
||
|
||
</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">
|
||
|
||
|
||
资源制作
|
||
|
||
|
||
|
||
</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>
|
||
|
||
|
||
资源制作
|
||
|
||
|
||
</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">
|
||
|
||
|
||
服务器端
|
||
|
||
|
||
|
||
</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.drive 文档
|
||
|
||
|
||
|
||
</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.drive 文档
|
||
|
||
|
||
</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">
|
||
|
||
|
||
脚本参考
|
||
|
||
|
||
|
||
</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>
|
||
|
||
|
||
脚本参考
|
||
|
||
|
||
</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">
|
||
|
||
|
||
服务器
|
||
|
||
|
||
|
||
</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>
|
||
|
||
|
||
服务器
|
||
|
||
|
||
</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">
|
||
|
||
|
||
参与贡献
|
||
|
||
|
||
|
||
</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>
|
||
|
||
|
||
参与贡献
|
||
|
||
|
||
</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">
|
||
|
||
|
||
快速开始
|
||
|
||
|
||
|
||
</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">
|
||
|
||
|
||
社区
|
||
|
||
|
||
|
||
</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>
|
||
|
||
|
||
社区
|
||
|
||
|
||
</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="目录">
|
||
|
||
|
||
|
||
|
||
<label class="md-nav__title" for="__toc">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
目录
|
||
</label>
|
||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
目录
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="目录">
|
||
<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="#_2" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
车辆函数
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="车辆函数">
|
||
<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="#_3" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
玩家函数
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="玩家函数">
|
||
<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="#_4" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
昵称标签函数
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="昵称标签函数">
|
||
<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="#_5" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
角色函数
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="角色函数">
|
||
<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="#_6" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
导航函数
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="导航函数">
|
||
<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="#_7" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
对象方法
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="对象方法">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#_8" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
玩家对象方法
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="玩家对象方法">
|
||
<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="#_9" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
车辆对象方法
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="车辆对象方法">
|
||
<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="#_10" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
事件钩子
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="事件钩子">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#_11" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
钩子模式
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#_12" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
可用的事件钩子
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="可用的事件钩子">
|
||
<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_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
MPConfig 函数
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="MPConfig 函数">
|
||
<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_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
MPCoreNetwork 函数
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="MPCoreNetwork 函数">
|
||
<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="#_13" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
事件系统功能
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="事件系统功能">
|
||
<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="#_14" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
按键功能
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="按键功能">
|
||
<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" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
UI 函数
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="UI 函数">
|
||
<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_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
MPGameNetwork 回调
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="MPGameNetwork 回调">
|
||
<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="#_15" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
编码函数
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="编码函数">
|
||
<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="#_16" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
颜色函数
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="颜色函数">
|
||
<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="#_17" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
字符串函数
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="字符串函数">
|
||
<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="#_18" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
表函数
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="表函数">
|
||
<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="#_19" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
调试函数
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="调试函数">
|
||
<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/zh/API documentation/Client-Side.md" title="编辑此页" 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/zh/API documentation/Client-Side.md" title="查看本页的源代码" 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="_1">目录</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(MPConfig函数)</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">事件系统功能</a></li>
|
||
<li><a href="#keypress-functions">按键功能</a></li>
|
||
<li><a href="#ui-functions">用户界面功能</a></li>
|
||
<li><a href="#mpgamenetwork-callbacks">MPGameNetwork 回调</a></li>
|
||
</ul>
|
||
<h3 id="mphelpers">MPHelpers</h3>
|
||
<ul>
|
||
<li><a href="#encoding-functions">编码函数</a></li>
|
||
<li><a href="#color-functions">颜色函数</a></li>
|
||
<li><a href="#string-functions">字符串函数</a></li>
|
||
<li><a href="#table-functions">表函数</a></li>
|
||
<li><a href="#debug-functions">调试函数</a></li>
|
||
</ul>
|
||
<hr />
|
||
<h2 id="_2">车辆函数</h2>
|
||
<h3 id="getgamevehicleidservervehicleid"><code>getGameVehicleID(serverVehicleID)</code></h3>
|
||
<p>将 serverVehicleID 解析为 gameVehicleID</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>serverVehicleID</code> (字符串)- 格式:“X-Y”,其中 X 为玩家 ID,Y 为车辆 ID</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(数字)- 游戏内部车辆 ID</li>
|
||
<li>(编号) <code>-1</code> - 如果车辆未知</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"0-0"</span><span class="p">)</span>
|
||
</span></code></pre></div>
|
||
<hr />
|
||
<h3 id="getservervehicleidgamevehicleid"><code>getServerVehicleID(gameVehicleID)</code></h3>
|
||
<p>将 gameVehicleID 解析为 serverVehicleID</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>gameVehicleID</code> (数字)- 游戏内部车辆 ID</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(字符串)- 服务器车辆 ID(例如,“0-0”)</li>
|
||
<li>(nil)- 如果 gameVehicleID 未知</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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>
|
||
<hr />
|
||
<h3 id="getvehiclebyserveridservervehicleid"><code>getVehicleByServerID(serverVehicleID)</code></h3>
|
||
<p>返回此车辆的完整车辆表</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>serverVehicleID</code> (字符串)- 格式:“X-Y”</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(表)- 车辆信息(名称、游戏车辆 ID、jbeam、所有者 ID、所有者名称、是否本地、是否已生成等)</li>
|
||
<li>(nil)- 如果服务器车辆 ID 无效</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"0-0"</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">"Owner: "</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>
|
||
<hr />
|
||
<h3 id="getvehiclebygameidgamevehicleid"><code>getVehicleByGameID(gameVehicleID)</code></h3>
|
||
<p>返回此车辆的完整车辆表</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>gameVehicleID</code> (数字)- 游戏内部车辆 ID</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(表)- 车辆信息</li>
|
||
<li>(nil) - 如果 gameVehicleID 无效</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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>
|
||
<hr />
|
||
<h3 id="isowngamevehicleid"><code>isOwn(gameVehicleID)</code></h3>
|
||
<p>检查给定车辆是否属于此客户端</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>gameVehicleID</code> (数字)- 游戏内部车辆 ID</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(boolean)- 如果车辆属于此客户端,则返回 true</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"This is my vehicle"</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>
|
||
<hr />
|
||
<h3 id="getownmap"><code>getOwnMap()</code></h3>
|
||
<p>返回一个包含此客户端拥有的所有车辆的表。</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li>无</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(表)- 已拥有车辆地图<code>{[gameVehicleID] = vehicles_subtable}</code></li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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>
|
||
<hr />
|
||
<h3 id="getvehiclemap"><code>getVehicleMap()</code></h3>
|
||
<p>返回一个包含所有已知多人游戏载具的表。</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li>无</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(表)- 所有车辆的地图<code>{[serverVehicleID] = gameVehicleID}</code></li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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>
|
||
<hr />
|
||
<h3 id="getdistancemap"><code>getDistanceMap()</code></h3>
|
||
<p>返回每个多人游戏载具到此客户端视角的距离</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li>无</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(表)- 距离地图<code>{[gameVehicleID] = distanceInMeters}</code></li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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>
|
||
<hr />
|
||
<h3 id="getnicknamemap"><code>getNicknameMap()</code></h3>
|
||
<p>返回所有多人游戏车辆 ID 及其所有者名称</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li>无</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(表)- 昵称映射表<code>{[gameVehicleID] = ownerName}</code></li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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>
|
||
<hr />
|
||
<h3 id="getvehicles"><code>getVehicles()</code></h3>
|
||
<p>返回完整的车辆表</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li>无</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(表)- 所有车辆<code>{[serverVehicleID] = vehicles_subtable}</code></li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"Vehicle: "</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>
|
||
<hr />
|
||
<h2 id="_3">玩家函数</h2>
|
||
<h3 id="getplayerbynamename"><code>getPlayerByName(name)</code></h3>
|
||
<p>返回该玩家的信息表和 ID</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>name</code> (字符串)- 玩家名称</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(表)- 玩家信息(姓名、玩家ID、角色、载具等)</li>
|
||
<li>(数字)- 玩家 ID</li>
|
||
<li>(nil)- 如果未找到玩家</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"John"</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">"Player ID: "</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>
|
||
<hr />
|
||
<h3 id="getplayers"><code>getPlayers()</code></h3>
|
||
<p>返回完整的玩家表</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li>无</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(表)- 所有玩家<code>{[playerID] = players_subtable}</code></li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"Player: "</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>
|
||
<hr />
|
||
<h2 id="_4">昵称标签函数</h2>
|
||
<h3 id="setplayernickprefixtargetname-tagsource-text"><code>setPlayerNickPrefix(targetName, tagSource, text)</code></h3>
|
||
<p>给玩家的名字标签添加前缀(显示在名字前面)</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>targetName</code> (字符串)- 玩家名称</li>
|
||
<li><code>tagSource</code> (字符串)- 此前缀的唯一标识符</li>
|
||
<li><code>text</code> (字符串)- 显示在名称之前的文本</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"John"</span><span class="p">,</span><span class="w"> </span><span class="s2">"RANK"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1st."</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: "1st. John"</span>
|
||
</span></code></pre></div>
|
||
<hr />
|
||
<h3 id="setplayernicksuffixtargetname-tagsource-text"><code>setPlayerNickSuffix(targetName, tagSource, text)</code></h3>
|
||
<p>给玩家的名字标签添加后缀(显示在名字后面)</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>targetName</code> (字符串)- 玩家名称</li>
|
||
<li><code>tagSource</code> (字符串)- 此后缀的唯一标识符</li>
|
||
<li><code>text</code> (字符串)- 名称后显示的文本</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"John"</span><span class="p">,</span><span class="w"> </span><span class="s2">"STATUS"</span><span class="p">,</span><span class="w"> </span><span class="s2">"[AFK]"</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: "John [AFK]"</span>
|
||
</span></code></pre></div>
|
||
<hr />
|
||
<h3 id="hidenicknameshide"><code>hideNicknames(hide)</code></h3>
|
||
<p>开启或关闭 BeamMP 的姓名标签绘制功能</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>hide</code> (boolean) - True 表示隐藏姓名标签,False 表示显示姓名标签</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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>
|
||
<hr />
|
||
<h3 id="togglenicknames"><code>toggleNicknames()</code></h3>
|
||
<p>切换显示姓名标签</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li>无</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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>
|
||
<hr />
|
||
<h2 id="_5">角色函数</h2>
|
||
<h3 id="setplayerroleplayerid-tag-shorttag-red-green-blue"><code>setPlayerRole(playerID, tag, shorttag, red, green, blue)</code></h3>
|
||
<p>为玩家设置自定义角色</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>playerID</code> (数字)- 玩家的ID</li>
|
||
<li><code>tag</code> (字符串)- 角色标签(例如,“VIP”)</li>
|
||
<li><code>shorttag</code> (字符串)- 简短版本(例如,“V”)</li>
|
||
<li><code>red</code> (数字)- 红色通道(0-255)</li>
|
||
<li><code>green</code> (数字)- 绿色通道(0-255)</li>
|
||
<li><code>blue</code> (数字)- 蓝色通道(0-255)</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(布尔值,字符串)- 如果玩家不存在<code>false, "player not found"</code></li>
|
||
<li>(布尔值,字符串)- 如果参数无效,则<code>false, error</code></li>
|
||
<li>(无)——关于成功无信息</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"VIP"</span><span class="p">,</span><span class="w"> </span><span class="s2">"V"</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">"Error: "</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>
|
||
<hr />
|
||
<h3 id="clearplayerroleplayerid"><code>clearPlayerRole(playerID)</code></h3>
|
||
<p>清除玩家的自定义角色</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>playerID</code> (数字)- 玩家的ID</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(布尔值)- 始终返回<code>false</code> (实现怪癖 - 用于检查玩家是否存在)</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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>
|
||
<hr />
|
||
<h3 id="setvehicleroleplayeridvehicleid-tag-shorttag-red-green-blue"><code>setVehicleRole(playerIDVehicleID, tag, shorttag, red, green, blue)</code></h3>
|
||
<p>为特定车辆设置自定义角色</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>playerIDVehicleID</code> (字符串)- 车辆 ID(格式:“0-0”)</li>
|
||
<li><code>tag</code> (字符串)- 角色标签</li>
|
||
<li><code>shorttag</code> (字符串)- 短版本</li>
|
||
<li><code>red</code> (数字)- 红色(0-255)</li>
|
||
<li><code>green</code> (数字)- 绿色(0-255)</li>
|
||
<li><code>blue</code> (数字)- 蓝色(0-255)</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(布尔值,字符串)- 如果车辆不存在<code>false, "vehicle not found"</code></li>
|
||
<li>(布尔值,字符串)- 如果参数无效,则<code>false, error</code></li>
|
||
<li>(无)——关于成功无信息</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"0-0"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Police"</span><span class="p">,</span><span class="w"> </span><span class="s2">"POL"</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">"Error: "</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>
|
||
<hr />
|
||
<h3 id="clearvehicleroleplayeridvehicleid"><code>clearVehicleRole(playerIDVehicleID)</code></h3>
|
||
<p>清除车辆的自定义角色</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>playerIDVehicleID</code> (字符串)- 车辆 ID(格式:“0-0”)</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(布尔值)- 始终返回<code>false</code> (实现特性 - 用于检查车辆是否存在)</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"0-0"</span><span class="p">)</span>
|
||
</span></code></pre></div>
|
||
<hr />
|
||
<h2 id="_6">导航函数</h2>
|
||
<h3 id="groundmarkertoplayertargetname"><code>groundmarkerToPlayer(targetName)</code></h3>
|
||
<p>设置一条通往目标玩家位置的地面标记路线(静态)</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>targetName</code> (字符串)- 玩家名称,如果为 nil 则清除</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"John"</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>
|
||
<hr />
|
||
<h3 id="groundmarkerfollowplayertargetname-dontfollow"><code>groundmarkerFollowPlayer(targetName, dontfollow)</code></h3>
|
||
<p>设置跟随目标玩家的地面标记路线</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>targetName</code> (字符串)- 玩家名称,如果为 nil 则停止</li>
|
||
<li><code>dontfollow</code> (布尔值)- 如果为true,则创建静态标记</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"John"</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">"John"</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>
|
||
<hr />
|
||
<h3 id="queryroadnodetopositiontargetposition-owner"><code>queryRoadNodeToPosition(targetPosition, owner)</code></h3>
|
||
<p>查找距离目标位置最近的道路节点</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>targetPosition</code> (vec3 或表)- 目标位置,包含 x、y、z 坐标</li>
|
||
<li><code>owner</code> (字符串)- 可选标识符(默认值:“target”)</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(布尔值)- 成功状态</li>
|
||
<li>(数字)- 节点 ID(如果成功)</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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>
|
||
<hr />
|
||
<h2 id="_7">对象方法</h2>
|
||
<h3 id="_8">玩家对象方法</h3>
|
||
<h4 id="playersetnickprefixtagsource-text"><code>player:setNickPrefix(tagSource, text)</code></h4>
|
||
<p>设置该玩家名称标签的前缀</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>tagSource</code> (字符串)- 唯一标识符</li>
|
||
<li><code>text</code> (字符串)- 要显示的文本(或 nil 表示不显示)</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"John"</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">"STATUS"</span><span class="p">,</span><span class="w"> </span><span class="s2">"[AFK]"</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>
|
||
<hr />
|
||
<h4 id="playersetnicksuffixtagsource-text"><code>player:setNickSuffix(tagSource, text)</code></h4>
|
||
<p>为该玩家的姓名标签设置后缀</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>tagSource</code> (字符串)- 唯一标识符</li>
|
||
<li><code>text</code> (字符串)- 要显示的文本(或 nil 表示不显示)</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"John"</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">"MISSION"</span><span class="p">,</span><span class="w"> </span><span class="s2">"[In Mission]"</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>
|
||
<hr />
|
||
<h4 id="playersetcustomrolerole"><code>player:setCustomRole(role)</code></h4>
|
||
<p>为该玩家设置自定义角色</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>role</code> (表)- 角色表: <code>{backcolor = {r, g, b}, tag = string, shorttag = string}</code></li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"John"</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">" [VIP]"</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">" [V]"</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>
|
||
<hr />
|
||
<h4 id="playerclearcustomrole"><code>player:clearCustomRole()</code></h4>
|
||
<p>清除该玩家的自定义角色</p>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"John"</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>
|
||
<hr />
|
||
<h3 id="_9">车辆对象方法</h3>
|
||
<h4 id="vehiclegetowner"><code>vehicle:getOwner()</code></h4>
|
||
<p>返回此车辆的所有者</p>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(表)- 玩家对象</li>
|
||
<li>(数字)- 玩家 ID</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"0-0"</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">"Owner: "</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>
|
||
<hr />
|
||
<h4 id="vehiclesetcustomrolerole"><code>vehicle:setCustomRole(role)</code></h4>
|
||
<p>为这辆车设置自定义角色</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>role</code> (表)- 角色表: <code>{backcolor = {r, g, b}, tag = string, shorttag = string}</code></li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"0-0"</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">" [Police]"</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">" [POL]"</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>
|
||
<hr />
|
||
<h4 id="vehicleclearcustomrole"><code>vehicle:clearCustomRole()</code></h4>
|
||
<p>清除此车辆的自定义角色</p>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"0-0"</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>
|
||
<hr />
|
||
<h4 id="vehiclesetdisplaynamedisplayname"><code>vehicle:setDisplayName(displayName)</code></h4>
|
||
<p>为这辆车设置自定义显示名称</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>displayName</code> (字符串)- 要显示的自定义名称</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"0-0"</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">"Patrol Car #1"</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>
|
||
<hr />
|
||
<h2 id="_10">事件钩子</h2>
|
||
<p>BeamMP 提供事件钩子,您可以重写这些钩子以在特定事件发生时执行自定义代码。<strong>请勿直接调用这些函数</strong>,而应在保留原始功能的前提下对其进行重写。</p>
|
||
<h3 id="_11">钩子模式</h3>
|
||
<p>重写函数时,务必保留原函数:</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">"Vehicle spawned: "</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="_12">可用的事件钩子</h3>
|
||
<h4 id="onupdatedt"><code>onUpdate(dt)</code></h4>
|
||
<p>连接到多人游戏时,每一帧都会被调用</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>dt</code> (数值)- 自上一帧以来的时间间隔(秒)。</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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>
|
||
<hr />
|
||
<h4 id="onprerenderdt"><code>onPreRender(dt)</code></h4>
|
||
<p>在渲染每一帧之前调用</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>dt</code> (数值)- 时间差(秒)</li>
|
||
</ul>
|
||
<p><strong>注意:</strong>此功能在内部处理名称标签渲染、距离计算和地面标记。</p>
|
||
<p><strong>用法:</strong></p>
|
||
<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>
|
||
<hr />
|
||
<h4 id="onvehiclespawnedgamevehicleid"><code>onVehicleSpawned(gameVehicleID)</code></h4>
|
||
<p>当车辆生成时调用(包括本地和远程车辆)</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>gameVehicleID</code> (数字)- 游戏内部车辆 ID</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">" spawned a "</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>
|
||
<hr />
|
||
<h4 id="onvehicledestroyedgamevehicleid"><code>onVehicleDestroyed(gameVehicleID)</code></h4>
|
||
<p>车辆被销毁/移除时调用</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>gameVehicleID</code> (数字)- 游戏内部车辆 ID</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"Vehicle "</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">" was destroyed"</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>
|
||
<hr />
|
||
<h4 id="onvehicleswitchedoldgamevehicleid-newgamevehicleid"><code>onVehicleSwitched(oldGameVehicleID, newGameVehicleID)</code></h4>
|
||
<p>当玩家切换车辆时调用</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>oldGameVehicleID</code> (数字)- 先前的车辆 ID(或 -1)</li>
|
||
<li><code>newGameVehicleID</code> (数字)- 新车辆 ID(或 -1)</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"Switched from vehicle "</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">" to "</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>
|
||
<hr />
|
||
<h4 id="onvehicleresettedgamevehicleid"><code>onVehicleResetted(gameVehicleID)</code></h4>
|
||
<p>车辆重置时调用(仅限本地车辆)</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>gameVehicleID</code> (数字)- 游戏内部车辆 ID</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"Vehicle "</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">" was reset"</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>
|
||
<hr />
|
||
<h4 id="onvehiclecolorchangedgamevehicleid-index-paint"><code>onVehicleColorChanged(gameVehicleID, index, paint)</code></h4>
|
||
<p>当车辆的涂装颜色发生变化时调用</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>gameVehicleID</code> (数字)- 游戏内部车辆 ID</li>
|
||
<li><code>index</code> (数字)- 涂装槽索引(0、1 或 2)</li>
|
||
<li><code>paint</code> (表) - 包含颜色信息的油漆数据</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"Vehicle "</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">" changed paint slot "</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>
|
||
<hr />
|
||
<h4 id="onvehiclereadygamevehicleid"><code>onVehicleReady(gameVehicleID)</code></h4>
|
||
<p>当车辆的扩展设备加载完毕且车辆完全准备就绪时,就会发出此通知。</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>gameVehicleID</code> (数字)- 游戏内部车辆 ID</li>
|
||
</ul>
|
||
<p><strong>注意:</strong>如果需要加载车辆扩展,请使用此方法代替<code>onVehicleSpawned</code> 。</p>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"print('Vehicle is ready!')"</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>
|
||
<hr />
|
||
<h4 id="onuiinitialised"><code>onUIInitialised()</code></h4>
|
||
<p>在 BeamMP 用户界面初始化时调用</p>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"BeamMP UI initialized"</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>
|
||
<hr />
|
||
<h4 id="onsettingschanged"><code>onSettingsChanged()</code></h4>
|
||
<p>当 BeamMP 设置更改时调用</p>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"BeamMP settings changed"</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>
|
||
<hr />
|
||
<h2 id="mpconfig_1">MPConfig 函数</h2>
|
||
<h3 id="mpconfiggetplayerserverid"><code>MPConfig.getPlayerServerID()</code></h3>
|
||
<p>返回本地玩家的服务器分配 ID</p>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(数字)- 玩家的服务器 ID(如果未设置则为 -1)</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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>
|
||
<hr />
|
||
<h3 id="mpconfiggetnickname"><code>MPConfig.getNickname()</code></h3>
|
||
<p>返回本地玩家的昵称</p>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(字符串)- 玩家当前的昵称</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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>
|
||
<hr />
|
||
<h3 id="mpconfiggetconfig"><code>MPConfig.getConfig()</code></h3>
|
||
<p>返回 BeamMP 配置设置</p>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(表)- 包含所有 BeamMP 设置的配置表</li>
|
||
<li>(nil)- 如果配置文件不存在</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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>
|
||
<hr />
|
||
<h3 id="mpconfigsetconfigsettingname-settingval"><code>MPConfig.setConfig(settingName, settingVal)</code></h3>
|
||
<p>设置特定配置值</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>settingName</code> (字符串)- 设置的名称</li>
|
||
<li><code>settingVal</code> (任意值) - 要设置的值</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"myCustomSetting"</span><span class="p">,</span><span class="w"> </span><span class="kc">true</span><span class="p">)</span>
|
||
</span></code></pre></div>
|
||
<hr />
|
||
<h2 id="mpcorenetwork_1">MPCoreNetwork 函数</h2>
|
||
<h3 id="mpcorenetworkgetcurrentserver"><code>MPCoreNetwork.getCurrentServer()</code></h3>
|
||
<p>返回有关当前连接服务器的信息</p>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(表)- 服务器数据(IP 地址、端口、名称、映射)</li>
|
||
<li>(nil)- 如果未连接</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"Server: "</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">"IP: "</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">":"</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>
|
||
<hr />
|
||
<h2 id="_13">事件系统功能</h2>
|
||
<h3 id="triggerservereventname-data"><code>TriggerServerEvent(name, data)</code></h3>
|
||
<p>向服务器发送事件</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>name</code> (字符串)- 事件名称</li>
|
||
<li><code>data</code> (字符串)- 要发送的数据</li>
|
||
</ul>
|
||
<p><strong>注意:</strong>这是一个全局函数。服务器必须已注册此事件的处理程序。</p>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"playerReady"</span><span class="p">,</span><span class="w"> </span><span class="s2">"ready"</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">"updatePlayer"</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>
|
||
<hr />
|
||
<h3 id="triggerclienteventname-data"><code>TriggerClientEvent(name, data)</code></h3>
|
||
<p>触发本地客户端事件</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>name</code> (字符串)- 事件名称</li>
|
||
<li><code>data</code> (字符串)- 要发送的数据</li>
|
||
</ul>
|
||
<p><strong>注意:</strong>全局函数。在本地触发,无需发送到服务器。</p>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"localUpdate"</span><span class="p">,</span><span class="w"> </span><span class="s2">"data"</span><span class="p">)</span>
|
||
</span></code></pre></div>
|
||
<hr />
|
||
<h3 id="addeventhandlerevent_name-func-name"><code>AddEventHandler(event_name, func, name)</code></h3>
|
||
<p>注册一个用于处理特定事件的函数</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>event_name</code> (字符串)- 要处理的事件的名称</li>
|
||
<li><code>func</code> (函数)- 处理函数(接收事件数据)</li>
|
||
<li><code>name</code> (字符串)- 可选的内部名称</li>
|
||
</ul>
|
||
<p><strong>注意:</strong>全局函数。</p>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"playerDamage"</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">"Damage: "</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">"vehicleSpawned"</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">"Spawned: "</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>
|
||
<hr />
|
||
<h3 id="removeeventhandlerevent_name-name"><code>RemoveEventHandler(event_name, name)</code></h3>
|
||
<p>移除事件处理程序</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>event_name</code> (字符串)- 事件名称</li>
|
||
<li><code>name</code> (字符串)- 可选的内部名称</li>
|
||
</ul>
|
||
<p><strong>注意:</strong>全局函数。</p>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"playerDamage"</span><span class="p">)</span>
|
||
</span></code></pre></div>
|
||
<hr />
|
||
<h2 id="_14">按键功能</h2>
|
||
<h3 id="onkeypressedkeyname-func"><code>onKeyPressed(keyname, func)</code></h3>
|
||
<p>注册一个按键按下时要调用的函数</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>keyname</code> (字符串)- 按键的名称(例如,“NUMPAD1”、“F1”)</li>
|
||
<li><code>func</code> (函数)- 要调用的函数(接收布尔值)</li>
|
||
</ul>
|
||
<p><strong>注意:</strong>全局函数。</p>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"NUMPAD1"</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">"NUMPAD1 pressed!"</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>
|
||
<hr />
|
||
<h3 id="onkeyreleasedkeyname-func"><code>onKeyReleased(keyname, func)</code></h3>
|
||
<p>注册一个在按键释放时要调用的函数</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>keyname</code> (字符串)- 键的名称</li>
|
||
<li><code>func</code> (函数)- 要调用的函数(接收布尔值)</li>
|
||
</ul>
|
||
<p><strong>注意:</strong>全局函数。</p>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"NUMPAD1"</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">"NUMPAD1 released!"</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>
|
||
<hr />
|
||
<h3 id="addkeyeventlistenerkeyname-func-type"><code>addKeyEventListener(keyname, func, type)</code></h3>
|
||
<p>注册一个具有可自定义触发类型的按键事件监听器</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>keyname</code> (字符串)- 键的名称</li>
|
||
<li><code>func</code> (函数)- 要调用的函数</li>
|
||
<li><code>type</code> (字符串)- 事件类型:“向下”、“向上”或“两者”(默认值:“两者”)</li>
|
||
</ul>
|
||
<p><strong>注意:</strong>全局函数。</p>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"F1"</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">"F1 pressed"</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">"F1 released"</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">"both"</span><span class="p">)</span>
|
||
</span></code></pre></div>
|
||
<hr />
|
||
<h3 id="getkeystatekeyname"><code>getKeyState(keyname)</code></h3>
|
||
<p>返回键的当前状态</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>keyname</code> (字符串)- 按键名称</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(布尔值)- 按下时为true,否则为false</li>
|
||
</ul>
|
||
<p><strong>注意:</strong>全局函数。仅适用于通过 addKeyEventListener 注册的键。</p>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"NUMPAD1"</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">"NUMPAD1 is held down"</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>
|
||
<hr />
|
||
<h2 id="ui">UI 函数</h2>
|
||
<h3 id="mpgamenetworkspawnuidialogdialoginfo"><code>MPGameNetwork.spawnUiDialog(dialogInfo)</code></h3>
|
||
<p>创建自定义交互式对话框</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>dialogInfo</code> (表)- 对话框配置:<ul>
|
||
<li><code>title</code> (字符串)- 对话框标题(可选)</li>
|
||
<li><code>body</code> (字符串)- 对话框消息(可选)</li>
|
||
<li><code>buttons</code> (表) - 按钮配置(可选)</li>
|
||
<li><code>class</code> (字符串)- “experimental” 用于危险警示线(可选)</li>
|
||
<li><code>interactionID</code> (字符串)- 交互标识符(可选)</li>
|
||
<li><code>reportToServer</code> (布尔值)- 发送到服务器(可选,默认值:false)</li>
|
||
<li><code>reportToExtensions</code> (布尔值)- 触发本地事件(可选,默认值:false)</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"Welcome"</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">"Welcome to the server!"</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">"Choose Team"</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">"Which team?"</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">"Red"</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">"joinRed"</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">"Blue"</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">"joinBlue"</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">"teamSelection"</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>
|
||
<hr />
|
||
<h2 id="mpgamenetwork_1">MPGameNetwork 回调</h2>
|
||
<h3 id="mpgamenetworkonupdatedt"><code>MPGameNetwork.onUpdate(dt)</code></h3>
|
||
<p>连接到多人游戏时,每一帧都会被调用</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>dt</code> (数值)- 时间差(秒)</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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>
|
||
<hr />
|
||
<h3 id="mpgamenetworkonvehiclereadygamevehicleid"><code>MPGameNetwork.onVehicleReady(gameVehicleID)</code></h3>
|
||
<p>当车辆准备就绪且扩展设备已加载完毕时,会发出呼叫。</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>gameVehicleID</code> (数字)- 游戏内部车辆 ID</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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>
|
||
<hr />
|
||
<h2 id="_15">编码函数</h2>
|
||
<h3 id="mphelpersb64encodestring"><code>MPHelpers.b64encode(string)</code></h3>
|
||
<p>将字符串编码为 Base64(RFC 2045)</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>string</code> (字符串)- 要编码的字符串</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(字符串)- Base64 编码的字符串</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"Hello World"</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">"Player"</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">"sendData"</span><span class="p">,</span><span class="w"> </span><span class="nv">encoded</span><span class="p">)</span>
|
||
</span></code></pre></div>
|
||
<hr />
|
||
<h3 id="mphelpersb64decodestring"><code>MPHelpers.b64decode(string)</code></h3>
|
||
<p>解码 Base64 字符串(RFC 2045)</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>string</code> (string)- Base64 编码的字符串</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(字符串)- 解码后的字符串</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"SGVsbG8gV29ybGQ="</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">"receiveData"</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>
|
||
<hr />
|
||
<h2 id="_16">颜色函数</h2>
|
||
<h3 id="mphelpershex2rgbhex"><code>MPHelpers.hex2rgb(hex)</code></h3>
|
||
<p>将十六进制颜色代码转换为 RGB 值</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>hex</code> (字符串)- 十六进制颜色代码(例如,“#FF5733”或“#F57”)</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(表)- RGB 值<code>{r, g, b}</code>范围为 0-1</li>
|
||
<li>(表)- 如果无效则为<code>{0, 0, 0}</code></li>
|
||
</ul>
|
||
<p><strong>注意:</strong>支持 3 位和 6 位十六进制代码。</p>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"#FF5733"</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">"#F57"</span><span class="p">)</span>
|
||
</span></code></pre></div>
|
||
<hr />
|
||
<h2 id="_17">字符串函数</h2>
|
||
<h3 id="mphelperssplitstringtotablestring-delimiter-convert_into"><code>MPHelpers.splitStringToTable(string, delimiter, convert_into)</code></h3>
|
||
<p>按分隔符拆分字符串,并可选择转换值</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>string</code> (字符串)- 要拆分的字符串</li>
|
||
<li><code>delimiter</code> (字符串) - 用于分割的分隔符</li>
|
||
<li><code>convert_into</code> (number) - 转换类型(可选):<ul>
|
||
<li><code>nil</code>或<code>0</code> - 保留为字符串(默认值)</li>
|
||
<li><code>1</code> - 转换为数字</li>
|
||
<li><code>2</code> - 转换为布尔值</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(表)- 分割值的数组</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"Hello,World"</span><span class="p">,</span><span class="w"> </span><span class="s2">","</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">-- {"Hello", "World"}</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">"10,20,30"</span><span class="p">,</span><span class="w"> </span><span class="s2">","</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">"100,200,50"</span><span class="p">,</span><span class="w"> </span><span class="s2">","</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>
|
||
<hr />
|
||
<h2 id="_18">表函数</h2>
|
||
<h3 id="mphelperstablediffold-new"><code>MPHelpers.tableDiff(old, new)</code></h3>
|
||
<p>比较两个表并返回它们的差异</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>old</code>表 - 要比较的第一个表</li>
|
||
<li><code>new</code> (表)——第二个用于比较的表</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(表) <code>diff</code> - 所有不同的键</li>
|
||
<li>(表) <code>o</code> - 与旧值不同的值</li>
|
||
<li>(表) <code>n</code> - 与新值不同的数值</li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">" changed from "</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">" to "</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>
|
||
<hr />
|
||
<h2 id="_19">调试函数</h2>
|
||
<h3 id="mphelperssimpletraceslevel"><code>MPHelpers.simpletraces(level)</code></h3>
|
||
<p>返回格式化的调用者信息字符串。</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>level</code> (数字)- 堆栈层级(可选,默认值:2)</li>
|
||
</ul>
|
||
<p><strong>返回:</strong></p>
|
||
<ul>
|
||
<li>(字符串)- 格式化字符串: <code>"source:line, namewhat name"</code></li>
|
||
<li>(字符串)- 如果信息不可用,则为<code>"unknown"</code></li>
|
||
</ul>
|
||
<p><strong>用法:</strong></p>
|
||
<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">"Called from: "</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>
|
||
<hr />
|
||
<h3 id="mphelperssimpletracelevel"><code>MPHelpers.simpletrace(level)</code></h3>
|
||
<p>将调用者信息记录到控制台</p>
|
||
<p><strong>参数:</strong></p>
|
||
<ul>
|
||
<li><code>level</code> (数字)- 堆栈层级(可选,默认值:1)</li>
|
||
</ul>
|
||
<p><strong>注意:</strong>将调用位置记录到控制台。</p>
|
||
<p><strong>用法:</strong></p>
|
||
<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: "Code was called from: lua/ge/extensions/mymod.lua:42"</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>
|
||
<hr />
|
||
<p><em>最后更新日期:2026年1月1日</em></p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<aside class="md-source-file">
|
||
|
||
|
||
<span class="md-source-file__fact">
|
||
<span class="md-icon" title="最后更新">
|
||
<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="2026年7月5日 11:07:26 UTC">2026年7月5日</span>
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-source-file__fact">
|
||
<span class="md-icon" title="创建日期">
|
||
<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="2026年7月5日 11:07:26 UTC">2026年7月5日</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 © 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">同意</button>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<label class="md-button" for="__settings">管理设定</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": "\u5df2\u590d\u5236", "clipboard.copy": "\u590d\u5236", "search.result.more.one": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.more.other": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 # \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.none": "\u6ca1\u6709\u627e\u5230\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.one": "\u627e\u5230 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.other": "# \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.placeholder": "\u952e\u5165\u4ee5\u5f00\u59cb\u641c\u7d22", "search.result.term.missing": "\u7f3a\u5c11", "select.version": "\u9009\u62e9\u5f53\u524d\u7248\u672c"}, "version": null}</script>
|
||
|
||
|
||
<script src="../../../assets/javascripts/bundle.79ae519e.min.js"></script>
|
||
|
||
<script src="../../../javascript/custom.js"></script>
|
||
|
||
|
||
</body>
|
||
</html> |