SourceMOD环境搭建
前言
最近AI越来越强大了,想着可以让AI写一些求生之路2插件玩玩,正好之前写过一篇关于插件编写环境搭建的文章,这里来更新下。
本篇文章以Windows11系统为例,编辑器使用Visual Studio Code。
下载软件
sourcemod
插件的编译环境,目前最新已经到1.12 - build 7255了,下载Windows版本 -> 下载地址

保留下载好的压缩包
VScode
源码编辑器,下载Windows版本 -> 下载地址
下载好后,执行下载的安装文件,选择对应的安装目录即可。

环境配置
VScode插件
打开VScode安装几个插件,先安装Chinese简体中文插件,装好后进行重启

因为SourceMod采用的语言是SourcePawn语言,类似于C语言,安装SourcePawn语言的支持,插件名SourcePawn Studio

安装All Autocomplete代码自动补全

编译环境
对于求生之路2插件的编写,我已经有了一个自己的文件结构体系,可以参考下我的VScode项目目录,项目地址->InsectMk/l4d2-plugin
将在sourcemod官网下载的压缩包解压,进入到addons\sourcemod\scripting目录,出现如下文件夹即文件,提取include文件夹与spcomp.exe、compile.exe可执行文件到一个新的文件夹,下文称l4d2-plugin目录。

在l4d2-plugin目录中放入上面复制的三个东西并参照下面的结构构建目录:
```text
l4d2-plugin/ ← 工作区根
│
├── spcomp.exe ← SourcePawn 编译器(所有插件共用)
├── compile.exe ← SourcePawn 的封装调用工具
│
├── include/ ← 官方头文件层(公共基础库)
│ ├── sourcemod.inc
│ └── …(其他 SourceMod 官方 .inc)
│
├── include-ext/ ← 跨插件共享的第三方 include(多个插件共用的库放这里)
│ ├── README.md ← 本目录使用说明
│ ├── multicolors.inc
│ ├── left4dhooks_silver.inc
│ └── …(按需添加)
│
├── plugins/ ← 编译产物(与服务器 addons/sourcemod/plugins/ 同名)
│ ├── plugin_hello.smx
│ ├── plugin_l4d.smx
│ └── plugin_admin.smx
│
├── source/ ← 插件源码根目录
│ │
│ ├── plugin_hello/ ← 插件 A:示例 / 学习插件
│ │ ├── hello.sp ← 主源码文件
│ │ └── include/ ← 插件私有头文件(只属于这个插件)
│ │ ├── multicolors.inc
│ │ └── multicolors/ ← 兼容某些库用子目录组织 include 的情况
│ │ ├── morecolors.inc
│ │ └── colors.inc
│ │
│ ├── plugin_l4d/ ← 插件 B:求生之路相关插件
│ │ ├── l4d_test.sp
│ │ └── include/
│ │ └── left4dhooks_silver.inc
│ │
│ └── plugin_admin/ ← 插件 C:管理 / 管理员相关插件
│ ├── admin.sp
│ └── include/
│ └── (按需添加)
├── gamedata / ← 插件所需gamedata目录
```
设置VScode的SourcePawn Studio插件,配置SourcePawn Studio编译设置。
你可以通过插件的设置进入图形化界面的编辑,这里直接通过JSON设置,在l4d2-plugin目录下新增.vscode/settings.json,写入并修改以下内容(关于服务器的配置可不设置):
1 | { |
编译插件
在source目录下创建你的源码文件夹如source/hello,在里面新建hello.sp源码文件,编写你的插件,如果不知道语法,可以使用以下示例代码进行测试:
1 |
|
在你的.sp源码文件中使用鼠标右键,选择compile file选项编译此插件源码,产出的.smx插件文件就会放在l4d2-plugin/plugins文件夹中。

到此,插件的编译环境就搭建好了。

