项目结构与模块
text
example-plugin/
├─ manifest.json
├─ main.lua
├─ modules/
│ └─ settings.lua
└─ assets/
└─ marker.png加载模块
使用包内受控 require():
lua
local settings = {}
function settings.load()
return {
enabled = samp.storage.get("enabled", true),
color = samp.storage.get("color", "orange")
}
end
return settingslua
local settings = require("modules.settings")
local state = settings.load()模块在每个插件内部缓存,不能解析到已安装插件版本之外。
路径规则
路径必须是相对路径、使用 /,不能包含空片段、.、..、反斜杠或 NUL,也不能逃出插件包。manifest.json 上方不能再套一层目录。
HUD 图片使用 assets/marker.png 这样的包内相对路径。图片尺寸、文件大小、解码内存、单插件缓存和全局纹理内存都有上限,应复用少量资源。