Table.map

From Multi Theft Auto: Wiki

Jump to: navigation, search

This function goes through a table and replaces every field with the return of the passed function, where the field's value is passed as first argument and optionally more arguments. It's also possible to enable mapping of tables that are stored in the given table.

Syntax

table table.map( table tab, int depth, function func, [ var argument1, ... ] )

Required Arguments

  • tab: The table to map.
  • depth: An integer specifying how deep the table should be mapped. If depth is for example 1 table.map will map the passed table and all tables that are in that given table but not those who are in a table that is in the passed table.
  • func: The function that should be called for every field of the table. This function should return something.

Optional Arguments

NOTE: When using optional arguments, you must supply all arguments before the one you wish to use. For more information on optional arguments, see Optional Arguments.

  • argument1, ...: All arguments that should be passed to func everytime it's called.

Returns

Returns a table with the values returned by func for every field.

Code

Click to collapse [-]
Server- and/or clientside Script

function table.map(tab, depth, func, ...)
    for key, value in pairs(tab) do
        if (type(value) == "table" and depth ~= 0) then tab[key] = table.map(value, depth - 1, func, ...)
        else tab[key] = func(value, ...) end
    end
    return tab
end

Example

This function lacks an example.

Author: NeonBlack

See Also

  • callClientFunction » This function allows you to call any clientside function from the server's side.
  • callServerFunction » This function allows you to call any server-side function from the client's side.
  • centerWindow » This function center the window in any resolution.
  • Check » This function checks if it's arguments are of the right types and calls the error-function if one isn't.
  • convertNumber » This function converts large numbers and adds commas to it. (Example: 100000 -> 100,000)
  • coroutine.resume » Fix for hidden coroutine error messages
  • dxDrawColorText » This function draws a dx text with #RRGGBB color codes support.
  • dxDrawGifImage » This function simulates the effect of a GIF image by using image sprites.
  • dxDrawImage3D » This function draws a 3D image.
  • dxDrawRectangle3D » This function draws a 3D rectangle.
  • dxGetFontSizeFromHeight » This function calculate a font size from given height for dxDraw.
  • dxGetRealFontHeight » Accurately measures the pixel height of a font.
  • findRotation » Takes two points and returns the direction from point A to point B.
  • FormatDate » Formats a date on the basis of a format string and returns it.
  • GenerateString » With this function you can generate a random string with any characters.
  • getAge » This function calculates the age of a birthday.
  • getAlivePlayers » This function returns all the alive players by a client side, so you can store them into a Gridlist or something like that, faster.
  • getAlivePlayersInTeam » This function returns a table of the alive players in a team.
  • getCursorMoveOn » This function checks in which way the cursor is currently moving.
  • getDistanceBetweenPointAndSegment2D » Takes point coordinates and line (a segment) starting and ending coordinates. It returns the shortest distance between the point and the line.
  • getElementSpeed » This function allows you to get element speed in kph or mph units.
  • getJetpackWeaponsEnabled » This function returns a table of enabled weapons usable on a jetpack.
  • getOffsetFromXYZ » This function allows you to take an entity and a position and calculate the relative offset between them accounting for rotations.
  • getOnlineAdmins » This function will give the online admins.
  • getOnlineStaff » Returns all online staff, names separated by two spaces.
  • getPlayersByData » This function gets players who have data name you passed to it.
  • getPlayerFromNamePart » This function allows you to get player From his Name part.
  • getPlayersInPhotograph » This function gets all the players in a photograph.
  • getPlayerFromSerial » This function gets an online player from their serial.
  • getPointFromDistanceRotation » Finds a point based on a starting point, direction and distance.
  • getResourceSettings » This function returns a table of the resource settings.
  • getTeamFromColor » This function gets a team from it's color. (Related to: getTeamFromName)
  • getTimestamp » With this function you can get the UNIX timestamp.
  • getXMLNodes » Returns all children of a node
  • getVehicleRespawnPosition » This function allows you to get the spawn position of a vehicle.
  • guiComboBoxAdjustHeight » Adjusts the combobox to have a correct height.
  • IfElse » Returns one of two values based on a boolean expression.
  • isElementInPhotograph » This function checks if an element was in the player's camera picture.
  • isElementInRange » This function allows you to check is the element's range to the main point is smaller than (or as big as) the maximum range.
  • isElementMoving» This function checks if an element is moving.
  • isPedAiming» This function checks if a ped is aiming.
  • isPlayerInTeam » This function check if the player in the team.
  • isLeapYear » Checks if the given year is a leap year.
  • isVehicleOnRoof » This function checks whether vehicle is on roof.
  • iterElements » Returns an iterator for your for loops saving time typing ipairs( getElementsByType( type ) ), instead you type: iterElements( type ).
  • mathNumber » This function is a workaround for the clientside floating-point precision of 24-bits
  • math.round » Rounds a number whereas the number of decimals to keep and the method may be set.
  • multi_check » This function checks one element to many, handy and clean.
  • onVehicleWeaponFire » This code implements an event that is triggered when a player in a vehicle fires a vehicles weapon.
  • RGBToHex » This function returns a string representing the color in hexadecimal.
  • setElementSpeed » This function allows you to set moving element speed in kph or mph units.
  • setTableProtected » Protects a table and makes it read-only.
  • setVehicleGravityPoint » This clientside function sets a vehicle's gravity in the direction of a 3 dimensional coordinate with the strength specified.
  • smoothMoveCamera » This clientside function allows you to create a cinematic camera flight.
  • string.count » This function counts a text from a text.
  • string.explode » This function splits a string at a given separator pattern and returns a table with the pieces.
  • switch » This function allow the value of a variable or expression to control the flow of program execution via a multiway branch.
  • table.copy » This function copies a whole table and all the tables in that table.
  • table.compare » This function check if both tables is equal.
  • table.empty » This function check is empty table or not.
  • table.map » This function goes through a table and replaces every field with the return of the passed function, where the field's value is passed as first argument and optionally more arguments.
  • table.random » This function retrieves a random variable from a table.
  • table.size » Finds the absolute size of a table.
  • toHex » This function converts a decimal number to a hexadecimal number, as a fix to be used clientside.
  • var dump » This function outputs information about one or more variables using outputConsole()
  • wavelengthToRGBA » This function converts a phisical wavelength of light to a RGBA color.