Skip to content

From MTA ​

MTA and DarqlineMP both run Lua resources with a manifest, events and exports, so server-side resources port with few structural changes. The main differences:

  • No client scripts. Client-side Lua, its GUI and triggerClientEvent have no equivalent. Use the built-in dialogs, menus and HUD widgets, or a view: an HTML page of your resource that exchanges actions and data with your server code.
  • Elements are typed handles. Instead of one setElementPosition(element, ...) for every element type, each type has its own calls: player:teleport, dlmp.set_vehicle_position, object:set_position.
  • cancelEvent() becomes a return value. A handler cancels a cancelable event by returning false.
  • Manifest. meta.xml becomes resource.toml; <script type="server"> is [server] scripts, <export> is [server] exports, <include> is [server] dependencies.

See Moving a game mode for the other differences. Below is a draft mapping of the main functions and events.

Events ​

MTADarqlineMP
onResourceStart, onResourceStopresource_start, resource_stop with dlmp.resource_root as the source
onPlayerConnectplayer_connecting (refusable)
onPlayerJoin, onPlayerQuitplayer_connect, player_disconnect
onPlayerSpawn, onPlayerWastedplayer_spawn, player_death
onPlayerDamageplayer_damage
onPlayerChatplayer_chat; return false to stop the broadcast
onPlayerCommandhandlers of dlmp.add_command_handler
onVehicleStartEnter, onVehicleEnter, onVehicleExitvehicle_start_enter (refusable), player_enter_vehicle, player_exit_vehicle
onVehicleExplode, onVehicleRespawnvehicle_death, vehicle_respawn
onPickupHit, onPickupUsepickup_interact
onColShapeHit, onColShapeLeavecolshape_enter, colshape_leave
onPlayerWeaponFireplayer_weapon_fire
onPlayerStealthKillplayer_stealth_kill (refusable)
bindKey (server side)dlmp.register_action and player_action

Resources, commands and timers ​

MTADarqlineMP
addEventHandler(name, root, fn)dlmp.add_event_handler(name, dlmp.root, fn)
addCommandHandlerdlmp.add_command_handler for players, dlmp.add_console_command for the console
setTimer(fn, ms, times, ...)dlmp.set_timer(ms, times, fn, ...): times 0 runs until cancelled
killTimertimer:cancel()
exports.name:fn(...), calldlmp.import("name").fn(...), with name in [server] dependencies
dbConnect, dbQuery, dbExecdlmp.db.query, dlmp.db.exec, dlmp.db.transaction: Storing data
setGameTypedlmp.set_mode_text
setServerPassworddlmp.set_server_password

Players ​

MTADarqlineMP
outputChatBox(text, player, r, g, b)player:send_message(text), or a list of colored runs
getPlayerName, setPlayerNameplayer:name(), player:set_name(name)
spawnPlayerplayer:spawn(args); player:set_respawn(args) decides where a death respawns
getElementPosition, setElementPositionplayer:position(), player:teleport({ x, y, z })
setElementInterior, setElementDimensionplayer:teleport({ ..., interior }), player:set_virtual_world(world)
getElementHealth, setElementHealthplayer:health(), player:set_health(value)
getPedArmor, setPedArmorplayer:armor(), player:set_armor(value)
givePlayerMoney, setPlayerMoney, getPlayerMoneyplayer:give_money(delta), player:set_money(amount), player:money()
setElementModelplayer:set_skin(model, variant)
setPlayerWantedLevelplayer:set_wanted(level)
setPlayerNametagColor, setPlayerNametagText, setPlayerNametagShowingplayer:set_color, player:set_nametag_text, player:set_nametag_visible
setPlayerTeamplayer:set_team(team) with a team from dlmp.create_team
setPedAnimationplayer:apply_animation(args), player:clear_animations()
setPedStatplayer:set_stat(stat, value)
setPedWalkingStyle, setPedFightingStyleplayer:set_walking_style, player:set_fighting_style
setElementVelocityplayer:set_velocity(x, y, z)
setElementFrozen, toggleAllControlsplayer:set_frozen(frozen)
setCameraMatrixplayer:set_camera(...)
setCameraTargetplayer:spectate(target) for another player, player:reset_camera() for the player itself; a vehicle target has no equivalent yet
setTime, setWeatherplayer:set_time(hour, minute), player:set_weather(weather) for each player
kickPlayer, banPlayerplayer:kick(reason), player:ban(reason, seconds)

Weapons ​

MTADarqlineMP
giveWeaponplayer:give_weapon(weapon, ammo, set_current)
takeWeapon, takeAllWeaponsplayer:take_weapon(weapon), player:clear_weapons()
setWeaponAmmoplayer:set_ammo(weapon, ammo, clip)
setWeaponPropertydlmp.set_weapon_property
createExplosiondlmp.create_explosion(spec)

Vehicles ​

MTADarqlineMP
createVehicledlmp.create_vehicle(spec)
destroyElement(vehicle)dlmp.destroy_vehicle(vehicle)
warpPedIntoVehicle, removePedFromVehicledlmp.put_player_in_vehicle(player, vehicle, seat), dlmp.remove_player_from_vehicle(player)
fixVehicle, setElementHealth(vehicle)dlmp.repair_vehicle, dlmp.set_vehicle_health
setVehicleColor, setVehiclePaintjobdlmp.set_vehicle_colors, dlmp.set_vehicle_paintjob
addVehicleUpgrade, removeVehicleUpgradedlmp.add_vehicle_component, dlmp.remove_vehicle_component
setVehicleLocked, setVehicleEngineState, setVehicleOverrideLightsdlmp.set_vehicle_locked, dlmp.set_vehicle_engine, dlmp.set_vehicle_lights
setVehiclePlateTextdlmp.set_vehicle_plate
setVehicleHandlingdlmp.set_vehicle_handling
respawnVehicledlmp.respawn_vehicle
attachTrailerToVehicle, detachTrailerFromVehicledlmp.attach_trailer, dlmp.detach_trailer

World and interface ​

MTADarqlineMP
createPickupdlmp.create_pickup(spec)
createBlip, createBlipAttachedTodlmp.create_blip(spec)
createRadarAreadlmp.create_gang_zone(spec)
createColSphere, createColCuboid, createColPolygon and the restdlmp.create_colshape(spec)
createMarker of type checkpointdlmp.create_checkpoint(spec)
createObject, moveObject, attachElementsdlmp.create_object(spec), object:move(...), object:attach(...)
createTeamdlmp.create_team(spec)
GUI windows and DX drawingdlmp.show_dialog, dlmp.show_menu, HUD widgets or a view

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.