User Tools

Site Tools



mashlib

MashLib

A collection of useful commands that are going to be necessary to run my future addons.

Support

If you need support with this library or just wanna chat, join my [Discord Server](https://discord.gg/CvA8zjNRnq)! :D

Structure

MashLib = {
    Helpers, -- Helpful stuff
    System, -- FFXIV related stuff (servers, regions, etc)
    Powershell, -- Powershell related functions
    Character, -- Character related stuff
    API, -- API Requests
    Crafting, -- Crafting related stuff
    Gathering, -- Gathering related stuff
    Misc, -- Temporary values
    Battle, -- Battle related stuff
    Hacks, -- Useful hacks
    Hunt, -- The Hunt related stuff
    Logging, -- Entity Logging
    Space, -- 2D and 3D space related stuff
}

API

Helpers

--[[
    Get current time
    @param {type} type = 'epoch', 'formatted' or 'formatted_no_spec'
    @return {string}
]]
function MashLib.Helpers.GetTime(type)
 
--[[
    Get current date
    @param {type} type 'formatted' or 'formatted_no_spec'
    @return {string}
]]
function MashLib.Helpers.GetDate(type)
 
--[[
    Returns the time since the param
    @param {string} time
    @return {int}
]]
function MashLib.Helpers.TimeSince(time)
 
--[[
    Get a keyboard's key info
    @param {string} key
    @returns {table}
]]
function MashLib.Helpers.GetKeyInfo(key)
 
--[[
    Get a map's name
    @param {int} id
    @param {string} mode - 'default' or 'to_log'
    @returns {string}
]]
function MashLib.Helpers.GetMapName(id, mode)
 
--[[
    Returns float with a specific decimal
    @param {bool} float
    @returns {int}
]]
function MashLib.Helpers.ToFixed(float, dec)
 
--[[
    Return the size of the table
    @param {table} tbl
    @returns {int}
]]
function MashLib.Helpers.SizeOf(tbl)
 
--[[
    Turns seconds into milliseconds
    @param {int} time
    @returns {int}
]]
function MashLib.Helpers.HandleCoolDowns(time)
 
--[[
    Get the highest value from table
    @param {table} tbl
    @returns {int}
]]
function MashLib.Helpers.GetMax(tbl)
 
--[[
    Get the lowest value from table
    @param {table} tbl
    @returns {int}
]]
function MashLib.Helpers.GetMin(tbl)
 
--[[
    Get the normalization translation table
    @returns {table}
]]
function MashLib.Helpers.GetNormalizationTable()
 
--[[
    Get the special char normalization translation table
    @returns {table}
]]
function MashLib.Helpers.GetSpecialCharTable()
 
--[[
    Normalizes a string
    @param {string} string
    @param {boolean} parameterize
    @returns {string}
]]
function MashLib.Helpers.Normalize(string, parameterize)
 
--[[
    Returns the file name from path
    @param {string} path
    @returns {string}
]]
function MashLib.Helpers.GetFileNameFromPath(path)
 
--[[
    Split string
    @param {string} inputstr
    @param {string} separator
    @param {string} datatype
    @returns {string}
]]
function MashLib.Helpers.SplitString(inputstr, sep, datatype)
 
--[[
    Join table into a string
    @param {string} delimiter
    @param {table} table
    @returns {table}
]]
function MashLib.Helpers.Join(delimiter, table)
 
--[[
    Limit a string length
    @param {string} string
    @param {int} length
    @returns {string}
]]
function MashLib.Helpers.LimitLength(string, length)
 
--[[
    Validates an email string
    @param {string} str
    @returns {boolean}
]]
function MashLib.Helpers.ValidateEmail(str)
 
--[[
    Returns the percentage of a value
    @param {number} percent
    @param {number} value
    @returns {number}
]]
function MashLib.Helpers.PercentOf(percent, value)
 
--[[
    Removes a value from a table
    @param {table} table
    @param {string} value
    @returns {table}
]]
function MashLib.Helpers.RemoveByValue(table, value)
 
--[[
    Gets a key/value from a value
    @param {table} table
    @param {string} value
    @param {boolean} keyonly
    @returns {table}
]]
function MashLib.Helpers.GetByValue(table, value, keyonly)
 
--[[
    Formats a number with commas
    @param {string} number
    @returns {string}
]]
function MashLib.Helpers.FormatNumber(number)
 
--[[
    Escapes slashes /
    @param {string} string
]]
function MashLib.Helpers.EscapeSlash(string)
 
--[[
    Returns the first entry in a table
    @param {table} table
    @param {bool} key
]]
function MashLib.Helpers.First(table, key)
 
--[[
    Returns the last entry in a table
    @param {table} table
    @param {bool} key
]]
function MashLib.Helpers.Last(table, key)
 
--[[
    Returns the table without empty key/values
    @param {table} table
    @return {table}
]]
function MashLib.Helpers.DeleteEmpty(table)
 
--[[
    Returns a table without the key/value passed
    @param {table} table
    @param {string} key
    @return {table}
]]
function MashLib.Helpers.DeleteByKey(table, key)
 
--[[
    Returns a table without the key/value passed
    @param {table} table
    @param {any} value
    @return {table}
]]
function MashLib.Helpers.DeleteByValue(table, value)
 
--[[
    Returns minion's quest id from GarlandTools quest id
    @param {int} questId
    @return {int}
]]
function MashLib.Helpers.GetMinionQuestId(questId)

System

--[[
    Get most common keys from the keyboard.
    @returns {Table}
]]
function MashLib.System.GetCommonKeys()
 
--[[
    Get a Server by it's ID
    @param {int} id
    @returns {table}
]]
function MashLib.System.GetServer(id)
 
--[[
    Get channel list
    @param {int} id
    @returns {table}
]]
function MashLib.System.GetChannelList()
 
--[[
    Get channel by id
    @returns {table}
]]
function MashLib.System.GetChannel(id)
 
--[[
    Get a Region by it's ID
    @param {int} id
    @returns {string}
]]
function MashLib.System.GetRegion(id)
 
--[[
    Get a Job's name by it's ID
    @param {int} id
    @returns {string}
]]
function MashLib.System.GetJob(id)
 
--[[
    Get a Job's ID by it's name
    @param {string} name
    @returns {int}
]]
function MashLib.System.GetJobId(name)
 
--[[
    Get the job list by all or by dominion
    @param {string} dominion - 'battle', 'h-l', 'any'
    @returns {int}
]]
function MashLib.System.GetJobList(dominion)
 
--[[
    Check if the character is logged in or not
    @returns {boolean}
]]
function MashLib.System.CheckLogin()
 
--[[
    Check if the game is loading
    @returns {boolean}
]]
function MashLib.System.IsLoading()
 
--[[
    Get map's ID by name
    @param {string} name
    @return {int}
]]
function MashLib.System.GetMapId(name)
 
--[[
    Get current map's info by Id
    @param {int} id
    @return {table}
]]
function MashLib.System.GetMap(id)
 
--[[
    Loads and run a lua file
    @param {string} filePath
    @return {variant} Code return
]]
function MashLib.System.Require(filePath)
 
--[[
    Converts TerritoryId to MapId
    @param {int} territoryid
    @return {int}
]]
function MashLib.System.GetMapIDFromTerritoryID(id)
 
--[[
    Get expansion list
    @param {string} type
    @return {table}
]]
function MashLib.System.GetExpansionList(type)
 
--[[
    Get expansion by id
    @param {int} expansionid
    @return {table}
]]
function MashLib.System.GetExpansionByID(expansionid)
 
--[[
    Returns the file names inside a folder, and the files inside subfolders
    Thanks to xSalice! <3
    @param {string} folder path
    @return {table}
]]
function MashLib.System.GetFilesInside(folder)
 
--[[
    Changes to and enables Assist Bot Mode
]]
function MashLib.System.EnableAssistMode()
 
--[[
    Disables Bot Mode
]]
function MashLib.System.TurnOffBotMode()
 
--[[
    Searchs for an action by Name
    @param {int} type
    @param {string} name
]]
function MashLib.System.SearchAction(type, name)
 
--[[
    Searchs for an action by Id
    @param {int} type
    @param {int} id
]]
function MashLib.System.SearchActionById(type, id)
 
--[[
    Searchs for an entity nearby
    @param {int} contentId
]]
function MashLib.System.FindEntityAroundPlayer(contentId)

Powershell

--[[
    Execute a powershell file (.ps1)
    @param {string} path
]]
function MashLib.Powershell.ExecuteFile(path)
 
--[[
    Downloads a file
    @param {string} url
    @param {string} path on system
]]
function MashLib.Powershell.DownloadFile(url, path)
 
--[[
    Opens a url in your browser
    @param {string} url
]]
function MashLib.Powershell.OpenLink(url)
 
--[[
    Executes a command on powershell
    @param {string} command
]]
function MashLib.Powershell.Execute(command)
 
--[[
    Plays a sound
    @NOTE: Not yet implemented
]]
function MashLib.Powershell.PlaySound()

Character

--[[
    Get the list of buffs on your character
    @return {table}
]]
function MashLib.Character.GetBuffList()
 
--[[
    Get the list of buffs on your character
    @return {table}
]]
function MashLib.Character.HasBuff(id)
 
--[[
    Teleports the player to the map with corresponding id
    @param {int} aetheryteid
]]
function MashLib.Character.TeleportTo(aetheryteid)
 
--[[
    Teleports the player to the first aetheryte of a map
    @param {int} mapid
]]
function MashLib.Character.TeleportToFirst(mapid)
 
--[[
    Teleports the player to the first aetheryte of a map, skips if already there
    @param {int} mapid
]]
function MashLib.Character.TeleportToMap(mapid)
 
--[[
    Checks if character is casting teleport
    @return {boolean}
]]
function MashLib.Character.IsCastingTeleport()
 
--[[
    Switch between Standard (0) and Legacy (1) move modes
    @param {int} id
]]
function MashLib.Character.SetMoveModeTo(id)

Character.Inventory

--[[
    Return an inventory item info by id
    @param {int} id
    @returns {table}
        ResultObject
            .category
            .uicategory
            .searchcategory
            .name
            .max
            .level
            .requiredlevel
            .canequip
            .equipslot
            .class
            .price
            .rarity
            .isunique
            .desynthvalue
            .replairclassjob
            .repairitem
            .iscollectable
            .isuntradeable
            .isbinding
]]
function MashLib.Character.Inventory.GetItemDetails(id)
 
--[[
    Get inventory item list to a txt file for speeder
    @param {string} search
    @param {string} norepeat
]]
function MashLib.Character.Inventory.GetSpeederInventory(search, norepeat)
 
--[[
    Get inventory item list or search
    @param {string} search
    @param {string} norepeat
    @return {table} items
]]
function MashLib.Character.Inventory.Get(search, norepeat)
 
--[[
    Get item from inventory by Id if quantity == 1
    @param {string} id
    @return {table}
]]
function MashLib.Character.Inventory.GetOneById(id)
 
--[[
    Get item from inventory by Id
    @param {string} id
    @param {string} norepeat
    @return {table}
]]
function MashLib.Character.Inventory.GetById(id, norepeat)
 
--[[
    Get item list or search in a specific inventory
    @param {string} inventory
    @param {string} search
    @param {boolean} norepeat
    @return {table} items
]]
function MashLib.Character.Inventory.GetFromSpecific(inventory, search, norepeat)
 
--[[
    Move an item to another slot
    @param {int} inventory
    @param {int} slot
    @param {int} toinventory
    @param {int} toslot
]]
function MashLib.Character.Inventory.Move(inventory, slot, toinventory, toslot)
 
--[[
    Move an item object to another slot
    @param {int} toinventory
    @param {int} toslot
]]
function MashLib.Character.Inventory.MoveObject(object, toinventory, toslot)

API

--[[
    Get an API endpoint's info by name
    @param {string} name
    @return {table}
]]
function MashLib.API.GetEndpoint(name)

Crafting

--[[
    Get a craft condition by name
    @param {string} name
    @return {table}
]]
function MashLib.Crafting.GetCondition(name)

Gathering

Battle

--[[
    Get an encounter info by ID
    @param {int} id
    @return {table}
]]
function MashLib.Battle.GetEncounter(id)
 
--[[
    Get a list of skills on a specific job
    @param {int} job
    @return {table}
]]
function MashLib.Battle.GetSkillListByJobID(job)

Hacks

--[[
    Set character's speed
    @param {int|nil} fly
    @param {int|nil} walk
    @param {int|nil} mount
]]
function MashLib.Hacks.Speed.Set(fly, walk, mount)

Hunt

--[[
    Get a mark's name by it's id
    @param {string} expansion
    @param {string} rank
    @param {int} contentid
    @retun {string}
]]
function MashLib.Hunt.GetMarkNameByID(expansion, rank, contentid)
 
--[[
    Get mark list
    @param {string} expansion
    @param {string} rank
    @retun {table}
]]
function MashLib.Hunt.GetMarkList(expansion, rank)
 
--[[
    Gets the mark list on a map
    @param {int} mapid
    @retun {table}
]]
function MashLib.Hunt.GetMarkListOnMap(mapid)
 
--[[
    Gets the mark list per map
    @param {string} option | to_combo
    @retun {table}
]]
function MashLib.Hunt.GetMarkListPerMap(option)

Space

--[[
    Moves character to coords
    @param {table} coords
]]
function MashLib.Space.MoveTo(coords)
 
--[[
    Stops character from moving
]]
function MashLib.Space.Stop()
 
--[[
    Get random coordinates around another coordinates, in a circular area
    Thanks to Kitanoi <3
    @param {table} coords
    @param {int} radius
    @return {table}
]]
function MashLib.Space.RandomPosCloseToCoords(coords, radius)
 
--[[
    Calculates the 2D distance between two points
    Thanks to Kali <3
    @param {table} pos
    @param {table} pos2
    @param {bool} ignoreradius
    @return {int}
]]
function MashLib.Space.Distance2D(pos, pos2, ignoreradius)
 
--[[
    Calculates the 3D distance between two points
    Thanks to Kali <3
    @param {table} pos
    @param {table} pos2
    @param {bool} ignoreradius
    @return {int}
]]
function MashLib.Space.Distance3D(pos, pos2, ignoreradius)
 
--[[
    Places a flag in the map
    @param {int} territoryid
    @param {table} world coords -> x, z
    @param optinal {int} mapid
]]
function MashLib.Space.SetMapFlag(territoryid, coords, mapid)
 
--[[
    Gets the flag position in the map
    @return {table}
]]
function MashLib.Space.GetMapFlag()
 
--[[
    Converts world coordinates to map coordinates
    @param optional {table} world coords
    @param optional {int} mapid
    @param optional {bool} exact
    @return {table}
]]
function MashLib.Space.WorldToMap(coords, mapid, exact)
 
--[[
    Converts map coordinates to world coordinates
    Thanks to Kali and Kitano <3
    @param {table} map coords
    @param {int} scale
    @return {table}
]]
function MashLib.Space.MapToWorld(coords, mapid)
 
--[[
    Gets a specific map's scale
    @param {int} mapid
    @return {int}
]]
function MashLib.Space.GetMapScale(id)

Logging

--[[
    Logs an entity
    @param {table} target
    @return {table}
]]
function MashLib.Logging.Entity(target)
mashlib.txt · Last modified: 2021/12/25 22:01 by masshirodev