Skip to content

From SA:MP and open.mp ​

A draft mapping of the main callbacks and natives to DarqlineMP. Pawn ids become handles: where a native takes playerid, the DarqlineMP call is a method of the Player handle. Some methods also have a dlmp.<name>(player, ...) form; the API reference lists which. Read Moving a game mode first for what works differently.

Callbacks ​

SA:MP / open.mpDarqlineMP
OnGameModeInit, OnGameModeExitresource_start, resource_stop with dlmp.resource_root as the source
OnIncomingConnectionplayer_connecting (refusable)
OnPlayerConnect, OnPlayerDisconnectplayer_connect, player_disconnect
OnPlayerRequestClass, OnPlayerRequestSpawnnone: choose the skin and place yourself, for example in a dialog, then player:spawn
OnPlayerSpawn, OnPlayerDeathplayer_spawn, player_death
OnPlayerTakeDamage, OnPlayerGiveDamageplayer_damage
OnPlayerTextplayer_chat; return false to stop the broadcast
OnPlayerCommandTextdlmp.add_command_handler, one handler per command
OnRconCommanddlmp.add_console_command
OnDialogResponsethe callback passed to dlmp.show_dialog
OnPlayerStateChangeplayer_state_change; player_enter_vehicle and player_exit_vehicle for seats
OnPlayerEnterVehicle, OnPlayerExitVehiclevehicle_start_enter (refusable), player_exit_vehicle
OnVehicleDeath, OnVehicleSpawnvehicle_death, vehicle_respawn
OnPlayerPickUpPickuppickup_interact
OnPlayerEnterCheckpoint, OnPlayerLeaveCheckpointcheckpoint_enter, checkpoint_leave
OnPlayerKeyStateChangeplayer_key_change, or player_action for a key of your own
OnPlayerWeaponShotplayer_weapon_fire
OnPlayerInteriorChangeplayer_interior_change
OnPlayerStreamIn, OnPlayerStreamOutplayer_stream_in, player_stream_out
OnPlayerClickMapplayer_waypoint

Timers and scripts ​

SA:MP / open.mpDarqlineMP
SetTimer, SetTimerExdlmp.set_timer(ms, repeats, fn, ...): repeats 0 runs until cancelled
KillTimertimer:cancel()
CallRemoteFunctionan export of the other resource, called through dlmp.import(name)
SetGameModeTextdlmp.set_mode_text
SendRconCommand("password ...")dlmp.set_server_password

Players ​

SA:MP / open.mpDarqlineMP
SendClientMessageplayer:send_message(text), or a list of colored runs
SendClientMessageToAllplayer:send_message for each of dlmp.players()
SendPlayerMessageToAllplayer:send_chat(recipients, text)
GetPlayerName, SetPlayerNameplayer:name(), player:set_name(name)
SpawnPlayer, SetSpawnInfoplayer:spawn(args); player:set_respawn(args) decides where a death respawns
SetPlayerPos, SetPlayerFacingAngle, SetPlayerInteriorplayer:teleport({ x, y, z, heading, interior })
GetPlayerPos, GetPlayerFacingAngle, GetPlayerInteriorplayer:position(), player:heading(), player:interior()
SetPlayerVirtualWorldplayer:set_virtual_world(world)
SetPlayerHealth, GetPlayerHealthplayer:set_health(value), player:health()
SetPlayerArmour, GetPlayerArmourplayer:set_armor(value), player:armor()
GivePlayerMoney, GetPlayerMoney, ResetPlayerMoneyplayer:give_money(amount), player:money(), player:set_money(0)
SetPlayerSkin, GetPlayerSkinplayer:set_skin(model, variant), player:skin()
SetPlayerWantedLevelplayer:set_wanted(level)
SetPlayerColorplayer:set_color(color)
SetPlayerTeamplayer:set_team(team) with a team from dlmp.create_team
SetPlayerTime, SetPlayerWeatherplayer:set_time(hour, minute), player:set_weather(weather)
SetPlayerVelocityplayer:set_velocity(x, y, z)
SetPlayerDrunkLevelplayer:set_drunk_level(level)
SetPlayerWorldBoundsplayer:set_world_bounds(min_x, min_y, max_x, max_y)
TogglePlayerControllableplayer:set_frozen(frozen) (the opposite flag)
ApplyAnimation, ClearAnimationsplayer:apply_animation(args), player:clear_animations()
SetPlayerSpecialActionplayer:set_special_action(action)
SetPlayerChatBubbleplayer:set_chat_bubble(...)
ShowPlayerNameTagForPlayer(viewer, target, show)target:set_nametag_visible_for(viewer, show): the method belongs to the player whose nametag it is
SetPlayerCameraPos, SetPlayerCameraLookAt, SetCameraBehindPlayerplayer:set_camera(...), player:reset_camera()
PlayerSpectatePlayerplayer:spectate(target), player:reset_camera() to stop
PlayerSpectateVehiclenone yet: spectate follows players only
Kick, Ban, BanExplayer:kick(reason), player:ban(reason, seconds)

Weapons ​

SA:MP / open.mpDarqlineMP
GivePlayerWeaponplayer:give_weapon(weapon, ammo)
ResetPlayerWeaponsplayer:clear_weapons()
SetPlayerAmmo, SetPlayerArmedWeaponplayer:set_ammo(...), player:set_armed_weapon(weapon)
SetPlayerSkillLevelplayer:set_weapon_skill(class, level)
CreateExplosiondlmp.create_explosion(spec)

Vehicles ​

SA:MP / open.mpDarqlineMP
CreateVehicle, AddStaticVehicledlmp.create_vehicle(spec)
DestroyVehicledlmp.destroy_vehicle(vehicle)
PutPlayerInVehicle, RemovePlayerFromVehicledlmp.put_player_in_vehicle(...), dlmp.remove_player_from_vehicle(player)
SetVehiclePos, SetVehicleZAngle, SetVehicleVelocitydlmp.set_vehicle_position, dlmp.set_vehicle_rotation, dlmp.set_vehicle_velocity
SetVehicleHealth, RepairVehicledlmp.set_vehicle_health, dlmp.repair_vehicle
ChangeVehicleColor, ChangeVehiclePaintjobdlmp.set_vehicle_colors, dlmp.set_vehicle_paintjob
AddVehicleComponent, RemoveVehicleComponentdlmp.add_vehicle_component, dlmp.remove_vehicle_component
SetVehicleNumberPlatedlmp.set_vehicle_plate
SetVehicleParamsExdlmp.set_vehicle_engine, _lights, _alarm, _locked, one call per setting; the objective marker is per player, below
SetVehicleParamsForPlayerdlmp.set_vehicle_objective(vehicle, player, on) and dlmp.set_vehicle_locked_for(vehicle, player, locked)
SetVehicleToRespawndlmp.respawn_vehicle(vehicle)
AttachTrailerToVehicle, DetachTrailerFromVehicledlmp.attach_trailer, dlmp.detach_trailer

World and interface ​

SA:MP / open.mpDarqlineMP
CreatePickup, DestroyPickupdlmp.create_pickup(spec), dlmp.destroy_pickup(pickup)
Create3DTextLabeldlmp.create_label(spec)
SetPlayerMapIcondlmp.create_blip(spec)
GangZoneCreate, GangZoneShowForAlldlmp.create_gang_zone(spec)
SetPlayerCheckpointdlmp.create_checkpoint(spec)
CreateObject, MoveObject, AttachObjectToVehicledlmp.create_object(spec), object:move(...), object:attach(...)
SetPlayerAttachedObjectobject:attach_bone(player, bone, ...)
ShowPlayerDialogdlmp.show_dialog(player, spec, callback)
CreateMenu, ShowMenuForPlayerdlmp.show_menu(...)
GameTextForPlayerdlmp.show_announcement(player, spec)
Text drawsHUD widgets (status lines, progress, notifications, gauges) or a view

Plugins ​

PluginDarqlineMP
MySQL, SQLitedlmp.db, the resource's own SQLite storage: Storing data
Commands (zcmd, Pawn.CMD)dlmp.add_command_handler
Dialogs and menusdlmp.show_dialog, dlmp.show_menu

Documentation licensed under CC BY 4.0. DarqlineMP is not affiliated with Rockstar Games or Take-Two Interactive. Grand Theft Auto is a trademark of Take-Two Interactive Software, Inc.