User Tools

Site Tools



mashlib

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
mashlib [2021/01/08 12:36] 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 ====
Line 6: Line 10:
     Helpers, -- Helpful stuff     Helpers, -- Helpful stuff
     System, -- FFXIV related stuff (servers, regions, etc)     System, -- FFXIV related stuff (servers, regions, etc)
 +    Powershell, -- Powershell related functions
     Character, -- Character related stuff     Character, -- Character related stuff
     API, -- API Requests     API, -- API Requests
Line 12: Line 17:
     Misc, -- Temporary values     Misc, -- Temporary values
     Battle, -- Battle related stuff     Battle, -- Battle related stuff
-    Hacks -- Useful hacks+    Hacks-- Useful hacks 
 +    Hunt, -- The Hunt related stuff 
 +    Logging, -- Entity Logging 
 +    Space, -- 2D and 3D space related stuff
 } }
 </code> </code>
Line 19: Line 27:
 === Helpers === === Helpers ===
 <code lua> <code lua>
--- Prints to the console (or file if enabled) +--[[ 
--- log -> Text to log +    Get current time 
--- type -> string or block +    @param {type} type = 'epoch', 'formatted' or 'formatted_no_spec' 
-MashLib.Helpers.Log(log, type)+    @return {string} 
 +]] 
 +function MashLib.Helpers.GetTime(type)
  
--- Returns the time +--[[ 
--- type -> epoch or formatted +    Get current date 
-MashLib.Helpers.GetTime(type)+    @param {type} type 'formatted' or 'formatted_no_spec' 
 +    @return {string} 
 +]] 
 +function MashLib.Helpers.GetDate(type)
  
--- Returns the time since +--[[ 
-MashLib.Helpers.TimeSince(time)+    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)
  
--- Returns this keyboard key's info 
-MashLib.Helpers.GetKeyInfo(key) 
 </code> </code>
  
 === System === === System ===
 <code lua> <code lua>
-Get a Job by ID +--[[ 
-MashLib.System.GetJob(id)+    Get most common keys from the keyboard. 
 +    @returns {Table} 
 +]] 
 +function MashLib.System.GetCommonKeys()
  
--- Get the Job's ID by Name +--[[ 
-MashLib.System.GetJobId(name)+    Get a Server by it's ID 
 +    @param {int} id 
 +    @returns {table} 
 +]] 
 +function MashLib.System.GetServer(id)
  
--- Get a Server by ID +--[[ 
-MashLib.System.GetServer(id)+    Get channel list 
 +    @param {int} id 
 +    @returns {table} 
 +]] 
 +function MashLib.System.GetChannelList()
  
--- Get a Region by Datacenter ID +--[[ 
-MashLib.System.GetRegion(id)+    Get channel by id 
 +    @returns {table} 
 +]] 
 +function MashLib.System.GetChannel(id)
  
--- Returns the usable (most commonkeys from keyboard +--[[ 
-MashLib.System.GetUsableKeys()+    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> </code>
  
 === Character === === Character ===
 <code lua> <code lua>
--- Returns this character's buff list +--[[ 
-MashLib.Character.GetBuffList()+    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> </code>
  
 === API === === API ===
 <code lua> <code lua>
--- Get the API's info by Name +--[[ 
-MashLib.API.GetEndpoint(name)+    Get an API endpoint's info by name 
 +    @param {string} name 
 +    @return {table} 
 +]] 
 +function MashLib.API.GetEndpoint(name)
 </code> </code>
  
 === Crafting === === Crafting ===
 <code lua> <code lua>
--- Gets specific Condition's info by name, like it'name in chinese, per example. +--[[ 
-MashLib.Crafting.GetCondition(name)+    Get craft condition by name 
 +    @param {string} name 
 +    @return {table} 
 +]] 
 +function MashLib.Crafting.GetCondition(name)
 </code> </code>
  
 === Gathering === === Gathering ===
- 
 === Battle === === Battle ===
 <code lua> <code lua>
--- Gets the encounter'info by ID +--[[ 
-MashLib.Battle.GetEncounter(id)+    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> </code>
  
 === Hacks === === Hacks ===
 <code lua> <code lua>
--- Sets speed hacks +--[[ 
--- Default values -> 20, 6, 9 +    Set character'speed 
-MashLib.Hacks.SpeedHacks.Set(fly, walk, mount)+    @param {int|nil} fly 
 +    @param {int|nil} walk 
 +    @param {int|nil} mount 
 +]] 
 +function MashLib.Hacks.Speed.Set(fly, walk, mount) 
 +</code>
  
--- Resets speed hacks to default values +=== Hunt === 
-MashLib.Hacks.SpeedHacks.Reset()+<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) 
 + 
 +--[[ 
 +    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) 
 +</code> 
 + 
 +=== Space === 
 +<code lua> 
 +--[[ 
 +    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) 
 +</code> 
 + 
 +=== Logging === 
 +<code lua> 
 +--[[ 
 +    Logs an entity 
 +    @param {table} target 
 +    @return {table} 
 +]] 
 +function MashLib.Logging.Entity(target)
 </code> </code>
mashlib.1610109400.txt.gz · Last modified: 2021/01/08 12:36 by masshirodev