User Tools

Site Tools



mashlib

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
mashlib [2021/01/08 12:19] – created masshirodevmashlib [2021/12/25 22:01] (current) masshirodev
Line 1: Line 1:
 +===== MashLib =====
 A collection of useful commands that are going to be necessary to run my future addons. 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 ==== ==== Structure ====
- +<code lua> 
-    MashLib = { +MashLib = { 
-        Helpers, -- Helpful stuff +    Helpers, -- Helpful stuff 
-        System, -- FFXIV related stuff (servers, regions, etc) +    System, -- FFXIV related stuff (servers, regions, etc) 
-        Character, -- Character related stuff +    Powershell, -- Powershell related functions 
-        API, -- API Requests +    Character, -- Character related stuff 
-        Crafting, -- Crafting related stuff +    API, -- API Requests 
-        Gathering, -- Gathering related stuff +    Crafting, -- Crafting related stuff 
-        Misc, -- Temporary values +    Gathering, -- Gathering related stuff 
-        Battle, -- Battle related stuff +    Misc, -- Temporary values 
-        Hacks -- Useful hacks +    Battle, -- Battle related stuff 
-    }+    Hacks-- Useful hacks 
 +    Hunt, -- The Hunt related stuff 
 +    Logging, -- Entity Logging 
 +    Space, -- 2D and 3D space related stuff 
 +} 
 +</code>
  
 ==== API ==== ==== API ====
 +=== Helpers ===
 +<code lua>
 +--[[
 +    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)
 +
 +</code>
 +
 +=== System ===
 +<code lua>
 +--[[
 +    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)
 +</code>
 +
 +=== Powershell ===
 +<code lua>
 +--[[
 +    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()
 +</code>
 +
 +=== Character ===
 +<code lua>
 +--[[
 +    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)
 +</code>
 +
 +=== Character.Inventory ===
 +<code lua>
 +--[[
 +    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)
 +</code>
 +
 +=== API ===
 +<code lua>
 +--[[
 +    Get an API endpoint's info by name
 +    @param {string} name
 +    @return {table}
 +]]
 +function MashLib.API.GetEndpoint(name)
 +</code>
 +
 +=== Crafting ===
 +<code lua>
 +--[[
 +    Get a craft condition by name
 +    @param {string} name
 +    @return {table}
 +]]
 +function MashLib.Crafting.GetCondition(name)
 +</code>
 +
 +=== Gathering ===
 +=== Battle ===
 +<code lua>
 +--[[
 +    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)
 +</code>
 +
 +=== Hacks ===
 +<code lua>
 +--[[
 +    Set character's speed
 +    @param {int|nil} fly
 +    @param {int|nil} walk
 +    @param {int|nil} mount
 +]]
 +function MashLib.Hacks.Speed.Set(fly, walk, mount)
 +</code>
 +
 +=== Hunt ===
 +<code lua>
 +--[[
 +    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)
  
-    -- Helpers --+--[[ 
 +    Get mark list 
 +    @param {string} expansion 
 +    @param {string} rank 
 +    @retun {table} 
 +]] 
 +function MashLib.Hunt.GetMarkList(expansion, rank)
  
-    -- Prints to the console (or file if enabled) +--[[ 
-    -- log -> Text to log +    Gets the mark list on a map 
-    -- type -> string or block +    @param {int} mapid 
-    MashLib.Helpers.Log(log, type) +    @retun {table} 
-    -- Returns the time +]] 
-    -- type -> epoch or formatted +function MashLib.Hunt.GetMarkListOnMap(mapid)
-    MashLib.Helpers.GetTime(type) +
-    -- Returns the time since +
-    MashLib.Helpers.TimeSince(time) +
-    -- Plays a soung -- NOT YET IMPLEMENTED +
-    MashLib.Helpers.PlaySound() +
-    -- Returns this keyboard key's info +
-    MashLib.Helpers.GetKeyInfo(key)+
  
-    -- System --+--[[ 
 +    Gets the mark list per map 
 +    @param {string} option | to_combo 
 +    @retun {table} 
 +]] 
 +function MashLib.Hunt.GetMarkListPerMap(option) 
 +</code>
  
-    -- Get an Encounter by ID +=== Space === 
-    MashLib.Battle.GetEncounter(id) +<code lua> 
-    -- Get a Job by ID +--[[ 
-    MashLib.System.GetJob(id) +    Moves character to coords 
-    -- Get the Job's ID by Name +    @param {table} coords 
-    MashLib.System.GetJobId(name) +]] 
-    -- Get a Server by ID +function MashLib.Space.MoveTo(coords)
-    MashLib.System.GetServer(id) +
-    -- Get a Region by Datacenter ID +
-    MashLib.System.GetRegion(id) +
-    -- Returns the usable (most common) keys from keyboard +
-    MashLib.System.GetUsableKeys()+
  
-    -- Character --+--[[ 
 +    Stops character from moving 
 +]] 
 +function MashLib.Space.Stop()
  
-    -- Returns this character's buff list +--[[ 
-    MashLib.Character.GetBuffList()+    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)
  
-    -- API --+--[[ 
 +    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)
  
-    -- Get the API's info by Name +--[[ 
-    MashLib.API.GetEndpoint(name)+    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)
  
-    -- Crafting --+--[[ 
 +    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 a specific Condition's info by name, like it's name in chinese, per example. +--[[ 
-    MashLib.Crafting.GetCondition(name)+    Gets the flag position in the map 
 +    @return {table} 
 +]] 
 +function MashLib.Space.GetMapFlag()
  
-    -- Gathering -- +--[[ 
-    -- Battle --+    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)
  
-    -- Gets the encounter's info by ID +--[[ 
-    MashLib.Battle.GetEncounter(id)+    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)
  
-    -- Hacks --+--[[ 
 +    Gets a specific map's scale 
 +    @param {int} mapid 
 +    @return {int} 
 +]] 
 +function MashLib.Space.GetMapScale(id) 
 +</code>
  
-    -- Sets speed hacks +=== Logging === 
-    -- Default values -> 20, 6, 9 +<code lua> 
-    MashLib.Hacks.SpeedHacks.Set(fly, walk, mount) +--[[ 
-    -- Resets speed hacks to default values +    Logs an entity 
-    MashLib.Hacks.SpeedHacks.Reset()+    @param {table} target 
 +    @return {table} 
 +]] 
 +function MashLib.Logging.Entity(target) 
 +</code>
mashlib.1610108370.txt.gz · Last modified: 2021/01/08 12:19 by masshirodev