Skip to content

Plugin API 1.1 reference ​

Plugin API 1.1 is the current public contract available to .splug packages. Capability names are stable strings and can be queried with:

lua
if samp.api.has("entity.list", "1.1") then
    -- Use the optional capability.
end

Namespaces ​

NamespacePurpose
samp.apiVersion and capability discovery.
samp.logPlugin-attributed logging.
samp.eventsSubscriptions and event dispatch.
samp.timer, samp.taskBounded deferred work.
samp.storagePrivate persistent values.
samp.formatBounded platform-independent formatting.
samp.game, samp.world, samp.camera, samp.serverRead-only state snapshots.
samp.playerGeneration-safe local-player handle.
samp.entityGeneration-safe streamed server entities.
samp.ui, samp.drawSettings menus and HUD drawing.
samp.chat, samp.command, samp.clipboardMessages, commands, and clipboard bridges.
samp.audioPermission-gated audio playback.
samp.networkBounded network observation and interception.
samp.effects, samp.physicsReversible controlled effects.

Call phases ​

PhaseMeaning
anyAvailable during plugin initialization and protected callbacks unless a handle requires live game state.
managedOnly inside an event, timer, managed task, or menu callback.
hudOnly inside draw.hud.

Use the detailed pages for core functions, local-player and vehicle Handles, server entities, menus and HUD drawing, effects and physics, and every event payload. The permission table and runtime limits are also normative parts of API 1.1.

Minor releases within major version 1 are additive. The current client accepts exact 1.0, ^1.0, exact 1.1, and ^1.1 requirements; plugins should use ^1.1 when they require the new 1.1 capabilities and query optional features with samp.api.has().

Capability contract ​

CapabilityPermissionPhase
api.hasNoneany
logNoneany
events.onNoneany
event.plugin.loadedNoneany
event.plugin.unloadingNoneany
event.game.readyNoneany
event.game.frameNoneany
event.session.startedNoneany
event.session.endedNoneany
event.server.connectedNoneany
event.server.disconnectedNoneany
event.player.spawnedNoneany
event.player.diedNoneany
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.player.weapon_changedgame.player.readany
event.player.aiming_changedgame.player.readany
event.player.motion_changedgame.player.readany
event.player.vehicle_collisiongame.vehicle.readany
event.player.skin_changedgame.player.readany
event.player.animation_changedgame.player.readany
event.player.task_changedgame.player.readany
event.world.time_changedgame.state.readany
event.world.weather_changedgame.state.readany
event.vehicle.health_changedgame.vehicle.readany
event.vehicle.state_changedgame.vehicle.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.ui.control_changedui.menuany
event.input.touchui.inputany
event.camera.mode_changedgame.state.readany
event.draw.hudui.drawhud
event.network.packet_receivednetwork.inspectany
event.network.rpc_receivednetwork.inspectany
event.network.packet_sendingnetwork.inspectany
event.network.rpc_sendingnetwork.inspectany
event.network.packet_before_sendnetwork.interceptany
event.network.rpc_before_sendnetwork.interceptany
event.entity.streamed_ingame.entity.readany
event.entity.streamed_outgame.entity.readany
event.pickup.collectedgame.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.afterNoneany
task.spawnNoneany
task.sleepNoneany
storage.getplugin.storageany
storage.setplugin.storageany
storage.removeplugin.storageany
format.numberNoneany
game.stategame.state.readany
world.timegame.state.readany
world.weathergame.state.readany
checkpoint.stategame.state.readany
camera.stategame.state.readany
network.statsnetwork.stats.readany
audio.playaudio.playbackany
audio.stopaudio.playbackany
audio.stateaudio.playbackany
server.currentserver.state.readany
chat.notifyui.chatany
chat.sendchat.sendany
command.sendchat.sendany
clipboard.getui.clipboard.readany
clipboard.setui.clipboard.writeany
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.weapongame.player.readany
player.aimgame.player.readany
player.motiongame.player.readany
player.skingame.player.readany
player.animationgame.player.readany
player.taskgame.player.readany
player.vehiclegame.vehicle.readany
vehicle.is_validgame.vehicle.readany
vehicle.positiongame.vehicle.readany
vehicle.healthgame.vehicle.readany
vehicle.velocitygame.vehicle.readany
vehicle.stategame.vehicle.readany
vehicle.seatgame.vehicle.readany
vehicle.occupantsgame.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.player.statsgame.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
player.set_skingame.player.writemanaged
player.set_weapongame.player.writemanaged
player.set_ammogame.player.writemanaged
vehicle.set_healthgame.vehicle.writemanaged
vehicle.set_positiongame.vehicle.writemanaged
vehicle.set_velocitygame.vehicle.writemanaged
effects.acquireNonemanaged
effects.groupNoneany
effects.releaseNonemanaged
effects.player.physics_flagsgame.physics.overridemanaged
effects.player.collision_filtergame.physics.overridemanaged
effects.camera.followgame.camera.controlmanaged
physics.create_surfacegame.physics.overridemanaged
surface.is_validgame.physics.overrideany
surface.set_positiongame.physics.overridemanaged
surface.releasegame.physics.overridemanaged
requireNoneany