Skip to content

Plugin API 1.0 参考

Plugin API 1.0 是 .splug 可以使用的公开契约。可以在运行时查询能力:

lua
if samp.api.has("entity.list", "1.0") then
    -- 使用该能力
end
命名空间用途
samp.api版本和能力查询。
samp.log带插件归属的日志。
samp.events事件订阅。
samp.timersamp.task有界延迟任务。
samp.storage私有持久化。
samp.format有界数字格式化。
samp.gamesamp.server只读状态快照。
samp.player带世代校验的本地玩家 Handle。
samp.entity已流入服务器实体。
samp.uisamp.draw设置菜单与 HUD。
samp.effectssamp.physics可恢复的受控效果。

any 能力通常可在初始化和受保护回调使用;managed 只能在托管回调使用;hud 只能在 draw.hud 使用。

详细签名分别见核心运行环境本地玩家与车辆服务器实体菜单与 HUD 绘制效果与物理以及完整事件回调参数权限运行限制同样属于 API 1.0 正式契约。

Capability 契约

能力权限调用阶段
api.has无需权限any
log无需权限any
events.on无需权限any
event.player.damage_beforegame.player.writeany
event.player.health_changedgame.player.readany
event.player.vehicle_enteredgame.vehicle.readany
event.player.vehicle_leftgame.vehicle.readany
event.player.interior_changedgame.state.readany
event.chat.message_receivedchat.readany
event.chat.server_message_receivedchat.readany
event.chat.bubble_receivedchat.readany
event.checkpoint.enteredgame.state.readany
event.checkpoint.leftgame.state.readany
event.ui.menu_openedui.menuany
event.ui.menu_closedui.menuany
event.entity.streamed_ingame.entity.readany
event.entity.streamed_outgame.entity.readany
event.chat.message_sendingchat.interceptany
event.command.executingcommand.interceptany
event.dialog.showndialog.readany
event.dialog.respondingdialog.interceptany
event.textdraw.showntextdraw.readany
event.textdraw.hiddentextdraw.readany
event.textdraw.text_changedtextdraw.readany
event.textdraw.clickingtextdraw.interceptany
timer.after无需权限any
task.spawn无需权限any
task.sleep无需权限any
storage.getplugin.storageany
storage.setplugin.storageany
storage.removeplugin.storageany
format.number无需权限any
game.stategame.state.readany
server.currentserver.state.readany
ui.menu.registerui.menuany
draw.textui.drawhud
draw.lineui.drawhud
draw.rectui.drawhud
draw.imageui.drawhud
draw.circleui.drawhud
draw.progress_barui.drawhud
draw.world_to_screenui.drawhud
player.local_playergame.player.readany
player.is_validgame.player.readany
player.positiongame.player.readany
player.healthgame.player.readany
player.armorgame.player.readany
player.velocitygame.player.readany
player.vehiclegame.vehicle.readany
vehicle.is_validgame.vehicle.readany
vehicle.positiongame.vehicle.readany
vehicle.healthgame.vehicle.readany
vehicle.velocitygame.vehicle.readany
entity.getgame.entity.readany
entity.listgame.entity.readany
entity.is_validgame.entity.readany
entity.positiongame.entity.readany
entity.player.namegame.entity.readany
entity.player.npcgame.entity.readany
entity.player.stategame.entity.readany
entity.player.healthgame.entity.readany
entity.player.armorgame.entity.readany
entity.player.vehicle_idgame.entity.readany
entity.vehicle.modelgame.entity.readany
entity.vehicle.healthgame.entity.readany
entity.vehicle.velocitygame.entity.readany
entity.vehicle.headinggame.entity.readany
entity.object.modelgame.entity.readany
entity.object.rotationgame.entity.readany
entity.object.movinggame.entity.readany
entity.object.attachmentgame.entity.readany
entity.actor.modelgame.entity.readany
entity.actor.healthgame.entity.readany
entity.actor.invulnerablegame.entity.readany
entity.actor.headinggame.entity.readany
entity.pickup.modelgame.entity.readany
entity.pickup.pickup_typegame.entity.readany
entity.text_label.textgame.entity.readany
entity.text_label.colorgame.entity.readany
entity.text_label.draw_distancegame.entity.readany
entity.text_label.test_losgame.entity.readany
entity.text_label.attachmentgame.entity.readany
player.set_healthgame.player.writemanaged
player.set_armorgame.player.writemanaged
player.set_positiongame.player.writemanaged
player.set_velocitygame.player.writemanaged
vehicle.set_healthgame.vehicle.writemanaged
vehicle.set_positiongame.vehicle.writemanaged
vehicle.set_velocitygame.vehicle.writemanaged
effects.acquire无需权限managed
effects.group无需权限any
effects.release无需权限managed
effects.player.physics_flagsgame.physics.overridemanaged
effects.player.collision_filtergame.physics.overridemanaged
physics.create_surfacegame.physics.overridemanaged
surface.is_validgame.physics.overrideany
surface.set_positiongame.physics.overridemanaged
surface.releasegame.physics.overridemanaged
require无需权限any