🔄Server Exports

m-TruckerSimulator Exports Documentation

This document provides detailed information about all available server-side exports in the m-TruckerSimulator resource.


GetPlayerTruckerData

Get a player's complete trucker profile data including level, XP, and basic information.

Parameters:

  • source (number) - Player server ID

Returns:

  • table|nil - Player data or nil if not found

Example:

local data = exports['m-TruckerSimulator']:GetPlayerTruckerData(source)
if data then
    print("Level: " .. data.level)
    print("XP: " .. data.xp)
end

GetPlayerSkillLevel

Get the current level of a specific skill for a player. Skills range from level 1 to 6.

Parameters:

  • source (number) - Player server ID

  • skillType (string) - Skill type: 'distance', 'cargo_safety', 'time_management', 'fuel_efficiency'

Returns:

  • number - Skill level (1-6)

Example:

local skill = exports['m-TruckerSimulator']:GetPlayerSkillLevel(source, 'cargo_safety')
print("Cargo Safety Level: " .. skill)

AddPlayerXP

Add experience points to a player. Automatically handles level ups and triggers notifications.

Parameters:

  • source (number) - Player server ID

  • identifier (string|nil) - Player identifier (optional, auto-detects if nil)

  • amount (number) - Amount of XP to add

Returns:

  • boolean - Success status

Example:

local success = exports['m-TruckerSimulator']:AddPlayerXP(source, nil, 500)

GetPlayerTotalJobs

Get the total number of completed jobs for a player from their entire job history.

Parameters:

  • source (number) - Player server ID

Returns:

  • number - Total jobs completed

Example:

local total = exports['m-TruckerSimulator']:GetPlayerTotalJobs(source)
print("Jobs completed: " .. total)

GetPlayerStatistics

Get detailed statistics for a player including distance driven, earnings, jobs completed, cargo data, and more.

Parameters:

  • source (number) - Player server ID

Returns:

  • table|nil - Statistics data or nil if not found

Example:

local stats = exports['m-TruckerSimulator']:GetPlayerStatistics(source)
if stats then
    print("Distance: " .. stats.total_distance .. " km")
    print("Earned: $" .. stats.total_earned)
    print("Jobs: " .. stats.jobs_completed)
end

HasActiveJob

Check if a player currently has an active job in progress.

Parameters:

  • source (number) - Player server ID

Returns:

  • boolean - True if player has active job

Example:

if exports['m-TruckerSimulator']:HasActiveJob(source) then
    print("Player is on a job")
end

GetActiveJob

Get detailed information about a player's current active job including cargo, destination, distance, and payment.

Parameters:

  • source (number) - Player server ID

Returns:

  • table|nil - Job data or nil if no active job

Example:

local job = exports['m-TruckerSimulator']:GetActiveJob(source)
if job then
    print("Cargo: " .. job.cargo_type)
    print("Distance: " .. job.distance .. " km")
    print("Payment: $" .. job.payment)
end

CancelActiveJob

Cancel a player's active job. This will apply any configured penalties and trigger client notifications.

Parameters:

  • source (number) - Player server ID

Returns:

  • boolean - Success status

Example:

local success = exports['m-TruckerSimulator']:CancelActiveJob(source)

GetPlayerDrivers

Get all hired drivers for a player including their stats, specializations, and current status.

Parameters:

  • source (number) - Player server ID

Returns:

  • table - List of driver data (empty table if none)

Example:

local drivers = exports['m-TruckerSimulator']:GetPlayerDrivers(source)
for i, driver in ipairs(drivers) do
    print("Driver: " .. driver.name .. " (Level " .. driver.level .. ")")
    print("Status: " .. driver.status)
end

GetPlayerVehicles

Get all owned vehicles for a player including condition, mileage, and garage status.

Parameters:

  • source (number) - Player server ID

Returns:

  • table - List of vehicle data (empty table if none)

Example:

local vehicles = exports['m-TruckerSimulator']:GetPlayerVehicles(source)
for i, vehicle in ipairs(vehicles) do
    print("Vehicle: " .. vehicle.model)
    print("Plate: " .. vehicle.plate)
    print("Condition: " .. vehicle.condition .. "%")
end

IsInParty

Check if a player is currently a member of a party.

Parameters:

  • source (number) - Player server ID

Returns:

  • boolean - True if in party

Example:

if exports['m-TruckerSimulator']:IsInParty(source) then
    print("Player is in a party")
end

GetPlayerPartyId

Get the party ID that a player belongs to.

Parameters:

  • source (number) - Player server ID

Returns:

  • number|nil - Party ID or nil if not in party

Example:

local partyId = exports['m-TruckerSimulator']:GetPlayerPartyId(source)
if partyId then
    print("Party ID: " .. partyId)
end

GetPartyMembers

Get all members of a specific party by party ID.

Parameters:

  • partyId (number) - Party ID

Returns:

  • table - List of member identifiers (empty table if none)

Example:

local members = exports['m-TruckerSimulator']:GetPartyMembers(partyId)
print("Party has " .. #members .. " members")

HasAchievement

Check if a player has unlocked a specific achievement.

Parameters:

  • source (number) - Player server ID

  • achievementId (string) - Achievement identifier

Returns:

  • boolean - True if achievement unlocked

Example:

if exports['m-TruckerSimulator']:HasAchievement(source, 'first_delivery') then
    print("Player completed first delivery!")
end

GetAchievementProgress

Get the current progress value for a specific achievement.

Parameters:

  • source (number) - Player server ID

  • achievementId (string) - Achievement identifier

Returns:

  • number - Progress value

Example:

local progress = exports['m-TruckerSimulator']:GetAchievementProgress(source, 'distance_1000km')
print("Progress: " .. progress .. " km")

SetAchievementProgress

Manually set the progress value for a specific achievement.

Parameters:

  • source (number) - Player server ID

  • achievementId (string) - Achievement identifier

  • progress (number) - Progress value to set

Returns:

  • boolean - Success status

Example:

exports['m-TruckerSimulator']:SetAchievementProgress(source, 'custom_achievement', 50)

GetLeaderboard

Get the top players from the leaderboard ordered by level and XP.

Parameters:

  • limit (number, optional) - Number of players to return (default: 10)

Returns:

  • table - List of top player data

Example:

local top10 = exports['m-TruckerSimulator']:GetLeaderboard(10)
for i, player in ipairs(top10) do
    print(i .. ". " .. player.name .. " - Level " .. player.level)
end

ResetPlayerData

⚠️ USE WITH CAUTION - Completely resets all trucker data for a player including profile, skills, jobs, achievements, statistics, drivers, and vehicles.

Parameters:

  • source (number) - Player server ID

Returns:

  • boolean - Success status

Example:

local success = exports['m-TruckerSimulator']:ResetPlayerData(source)

Last updated