Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions frontend/blog/2019-11-09-vehicle-sync/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ A quick post demonstrating the evolution of vehicle sync.

<!-- truncate -->

<video autoplay loop width="100%" controls>
<video autoPlay loop width="100%" controls>
<source src={vehicleSync01URL} type="video/mp4" />
</video>

<video autoplay loop width="100%" controls>
<video autoPlay loop width="100%" controls>
<source src={vehicleSync02URL} type="video/mp4" />
</video>

<video autoplay loop width="100%" controls>
<video autoPlay loop width="100%" controls>
<source src={vehicleSync03URL} type="video/mp4" />
</video>
2 changes: 1 addition & 1 deletion frontend/docs/scripting/functions/GetWeaponSlot.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: Gets the slot of one weapon.
tags: ["weapon"]
---

<versionWarn version='omp v1.1.0.2612' />
<VersionWarn version='omp v1.1.0.2612' />

## Description

Expand Down
14 changes: 9 additions & 5 deletions frontend/docusaurus.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -112,13 +112,17 @@ const config: Config = {
name: "server-routes-plugin",
async contentLoaded({ actions }) {
const { addRoute } = actions;
const { i18n: { locales, defaultLocale } } = context;

// Add the dynamic server detail route.
addRoute({
path: "/servers/",
component: "@site/src/pages/servers/index",
exact: false,
});
locales.forEach((locale) => {
const prefix = locale === defaultLocale ? '' : `/${locale}`;
addRoute({
path: `${prefix}/servers/`,
component: "@site/src/pages/servers/index",
exact: false,
});
})
},
};
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: اسلات یه اسلحه رو دریافت می‌کنه.
tags: ["weapon"]
---

<versionWarn version='omp v1.1.0.2612' />
<VersionWarn version='omp v1.1.0.2612' />

## توضیحات

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ Um post rápido demonstrando a evolução da sincronização de veículos.

<!-- truncate -->

<video autoplay loop width="100%" controls>
<video autoPlay loop width="100%" controls>
<source src={vehicleSync01URL} type="video/mp4" />
</video>

<video autoplay loop width="100%" controls>
<video autoPlay loop width="100%" controls>
<source src={vehicleSync02URL} type="video/mp4" />
</video>

<video autoplay loop width="100%" controls>
<video autoPlay loop width="100%" controls>
<source src={vehicleSync03URL} type="video/mp4" />
</video>
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ tags: ["weapon"]
---


<versionWarn version='omp v1.1.0.2612' />
<VersionWarn version='omp v1.1.0.2612' />

## Descrição

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ import vehicleSync03URL from "@site/blog/2019-11-09-vehicle-sync/vehicle_sync_03

<!-- truncate -->

<video autoplay loop width="100%" controls>
<video autoPlay loop width="100%" controls>
<source src={vehicleSync01URL} type="video/mp4" />
</video>

<video autoplay loop width="100%" controls>
<video autoPlay loop width="100%" controls>
<source src={vehicleSync02URL} type="video/mp4" />
</video>

<video autoplay loop width="100%" controls>
<video autoPlay loop width="100%" controls>
<source src={vehicleSync03URL} type="video/mp4" />
</video>
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,55 @@ description: 核心术语解释
tags: []
---

| 术语 | 解释 |
| ------------------------------------------------- | ----------------------------------------------------------- |
| PAWN | SA-MP 服务器脚本使用的编程语言 |
| 游戏模式 | 服务器运行的主脚本 |
| 滤镜脚本 | 与游戏模式协同运行的附加脚本 |
| 插件 | 通过.dll(Windows)或.so(Linux)文件扩展功能的模块 |
| 包含文件 | 通过`#include <文件名>`引入到滤镜脚本/游戏模式中的.inc 文件 |
| Pawno | 广泛使用的 PAWN 脚本编辑器 |
| [Qawno](https://github.com/openmultiplayer/qawno) | 开源的 PAWN 脚本编辑器 |
| Pawncc | 将.pwn 源码编译为.amx 字节码的编译器 |
| 主列表 | SA-MP 存储服务器数据的中央列表(如互联网服务器列表) |
| 死亡竞赛 | 以玩家互相对战为核心的竞技模式 |
| 角色扮演 | 模拟现实生活行为的游戏模式类型 |
| 真实生活 | 基于现实生活场景但无需严格角色扮演的游戏模式类型 |
## 脚本编写

| 术语 | 解释 |
| ---------------------- | ---------------------------------------------------------------------------- |
| PAWN | SA-MP 和 open.mp 脚本所使用的编程语言 |
| 游戏模式(Gamemode) | 服务器运行的主脚本 |
| 滤镜脚本(Filterscript) | 与游戏模式协同运行的附加脚本 |
| 插件(Plugin) | 通过 .dll(Windows)或 .so(Linux)文件添加的额外功能/能力 |
| 组件(Component) | open.mp 中对应插件的概念,从 `components` 文件夹加载 |
| 包含文件(Include) | 放置在 .inc 文件中,通过 `#include <名称>` 引入到滤镜脚本/游戏模式的脚本片段 |
| 原生函数(Native) | 由服务器或插件提供的函数,可从 PAWN 中调用 |
| 回调函数(Callback) | 当特定事件发生时(如 OnPlayerConnect),由服务器自动调用的函数 |
| AMX | 从 .pwn 源文件编译生成的 .amx 文件,是服务器实际运行的文件 |
| Tick | 服务器时间的一毫秒,由 [GetTickCount](../functions/GetTickCount) 计数 |

## 工具

| 术语 | 解释 |
| ------------------------------------------------- | ---------------------------------------------------- |
| Pawno | SA-MP 原版 PAWN 脚本编辑器,仅限 Windows,已停止维护 |
| [Qawno](https://github.com/openmultiplayer/qawno) | open.mp 附带的脚本编辑器,Pawno 的替代品 |
| Pawncc | 将 .pwn 编译为 .amx 的编译器 |

## 网络

| 术语 | 解释 |
| ------------------ | ---------------------------------------------------------------------- |
| 客户端(Client) | 玩家用于连接多人服务器的游戏应用程序 |
| 服务器(Server) | 托管多人游戏并管理已连接客户端的应用程序 |
| 主列表(Masterlist) | 运行中服务器的公开列表,服务器向它注册,客户端读取它以填充服务器浏览器 |
| 同步(Sync) | 保持服务器与已连接客户端之间游戏状态一致的过程 |
| 不同步(Desync) | 服务器与一个或多个客户端之间游戏状态不一致的情况 |
| 延迟(Ping) | 数据在客户端与服务器之间往返一次所需的时间,以毫秒为单位 |

## 实体

| 术语 | 解释 |
| ----- | -------------------------------------------------------------- |
| NPC | 像玩家一样连接到服务器的非玩家角色,由脚本驱动,占用一个玩家槽 |
| Actor | 用于装饰或交互的静态非玩家角色(如收银员),不占用玩家槽 |

## 常见游戏模式类型

| 术语 | 解释 |
| --------------------------- | ---------------------------------------------------------------- |
| 死亡竞赛(Deathmatch) | 玩家互相击杀以获胜的游戏模式类型 |
| 角色扮演(Roleplay) | 玩家像现实生活中一样行动,并要求保持角色的游戏模式类型 |
| 真实生活(Reallife) | 基于现实生活但玩家无需严格扮演角色的游戏模式类型 |
| 警匪对战(Cops and Robbers) | 罪犯实施犯罪,警察试图阻止并逮捕他们的游戏模式类型 |
| 碰撞赛 / 相扑(Derby / Sumo) | 玩家用车辆试图将对手撞出竞技场的游戏模式类型 |
| 生存模式(Survival) | 玩家必须抵御环境威胁(如僵尸或其他玩家)以求生存的游戏模式类型 |
| 自由漫游(Freeroam) | 没有设定目标的游戏模式类型,玩家可以自由探索、表演特技和随意战斗 |
2 changes: 1 addition & 1 deletion frontend/src/pages/servers/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import { default as Translate, translate } from "@docusaurus/Translate";
const API_SERVERS = `${API_ADDRESS}/servers/`;

const getServerAddressFromPathname = (pathname: string) => {
const match = pathname.match(/^\/servers\/(.+)$/);
const match = pathname.match(/\/servers\/(.+)$/);

if (!match) {
return undefined;
Expand Down