08 Dec 20, 10:11PM
(This post was last modified: 09 Dec 20, 11:54PM by Felix-The-Ghost.)
QoL suggestion for anyone copying scripts manually in code tags
On many forums where code is hosted there is a selection button so you don't have to manually scroll to select all the lines within the code.
I tested and simply right-clicking and doing a browser-based "select all" selects everything on the page, not just in the code
In my particular use-case I have 200+ lines of code and I'd imagine there's existing cubescript that is also similarly long if not longer
I've seen several different options from MyBB so this seems reasonable to do though I confess I'm not personally familiar with MyBB
On many forums where code is hosted there is a selection button so you don't have to manually scroll to select all the lines within the code.
I tested and simply right-clicking and doing a browser-based "select all" selects everything on the page, not just in the code
In my particular use-case I have 200+ lines of code and I'd imagine there's existing cubescript that is also similarly long if not longer
[SELECT ALL] Code:
docsection [New]
//----------------------------------------------------------------------------
docident [scalelight] [Scales nearest/selected light];
docargument [S] [Size change (percentage)] [] [0];
docargument [I] [Intensity change (percentage)] [] [0];
//----------------------------------------------------------------------------
docident [togglelockselent] [toggles isolated selection of an entity, where the entity is selected as the closest entity regardless of any closer entities.];
docremark [The desired entity must be the closest entity when making selection.];
//----------------------------------------------------------------------------
docident [filter_sel] [filters selections(s) to cubes matching at least one of the provided values];
docargument [T] [Type of filter applied to selection(s)] [] [0];
docargument [V] [Up to seven values to match, depending on the filter] [] [1];
docremark [The following filters are supported:];
docremark [];
docremark [Textures:]
docremark [FLOOR_T, WALL_T, UPWALL_T, CEIL_T, where V is the slot number];
docremark [];
docremark [Heights:]
docremark [FLOOR_H, CEIL_H, where V is the height];
docremark [];
docremark [Types:]
docremark [SOLID, HEIGHTFIELD, CORNER, SPACE, where (V > 0) is matching the type, and (V <= 0) excluding the type];
docremark [];
docremark [Functions:]
docremark [DISSOLVE, where V is the percent of cubes to randomly remove from the selection(s)];
docremark [SUBTRACT, where V is the number of selections to subtract from the selection(s)];
docremark [MERGE, where V is unused];
docremark [];
docexample [filter_sel CEIL_T 0] [selects only cubes in the current selection(s) with the skymap as the ceiling texture];
docexample [] [];
docexample [filter_sel DISSOLVE 80] [removes 80% of the selection(s) randomly];
//----------------------------------------------------------------------------
docident [filter_sel FLOOR_T] [filters selections(s) to cubes using one of the provided floor textures];
docargument [T] [Up to seven texture slots to match] [] [0];
//----------------------------------------------------------------------------
docident [filter_sel WALL_T] [filters selections(s) to cubes using one of the provided wall textures];
docargument [T] [Up to seven texture slots to match] [] [0];
//----------------------------------------------------------------------------
docident [filter_sel UPWALL_T] [filters selections(s) to cubes using one of the provided upper wall textures];
docargument [T] [Up to seven texture slots to match] [] [0];
//----------------------------------------------------------------------------
docident [filter_sel CEIL_T] [filters selections(s) to cubes using one of the provided ceiling textures];
docargument [T] [Up to seven texture slots to match] [] [0];
//----------------------------------------------------------------------------
docident [filter_sel FLOOR_H] [filters selections(s) to cubes with one of the provided floor heights];
docargument [H] [Up to seven heights to match] [] [0];
//----------------------------------------------------------------------------
docident [filter_sel CEIL_H] [filters selections(s) to cubes with one of the provided ceiling heights];
docargument [H] [Up to seven heights to match] [] [0];
//----------------------------------------------------------------------------
docident [filter_sel SOLID] [filters selections(s) to cubes that are/aren't solid];
docargument [V] [valid integer] [] [0];
docremark [V > 0 searches for solids, removing non-solids]
docremark [V <= 0 searches for non-solids, removing solids]
//----------------------------------------------------------------------------
docident [filter_sel HEIGHTFIELD] [filters selections(s) to cubes that are/aren't heightfields];
docargument [V] [valid integer] [] [0];
docremark [V > 0 searches for heightfields, removing non-heightfields]
docremark [V <= 0 searches for non-heightfields, removing heightfields]
//----------------------------------------------------------------------------
docident [filter_sel CORNER] [filters selections(s) to cubes that are/aren't corners];
docargument [V] [valid integer] [] [0];
docremark [V > 0 searches for corners, removing non-corners]
docremark [V <= 0 searches for non-corners, removing corners]
//----------------------------------------------------------------------------
docident [filter_sel SPACE] [filters selections(s) to cubes that are/aren't spaces];
docargument [V] [valid integer] [] [0];
docremark [V > 0 searches for spaces, removing non-spaces]
docremark [V <= 0 searches for non-spaces, removing spaces]
docremark []
docremark ["Space" cubes are cubes not matching any other unique type, e.g. heightfields]
//----------------------------------------------------------------------------
docident [filter_sel DISSOLVE] [Removes P percent of selection(s) randomly];
docargument [P] [percentage of cubes to remove from selections(s)] [] [0];
//----------------------------------------------------------------------------
docident [filter_sel SUBTRACT] [Subtracts the last N selections from all other selections];
docargument [N] [Number of selections to subtract] [] [0];
//----------------------------------------------------------------------------
docident [filter_sel MERGE] [Combines and condenses overlapping selections];
//----------------------------------------------------------------------------
docident [curtex] [Prints texture slot information of the selected cube, or the cube at X / Y];
docargument [P] [Position of texture to check] [FLOOR, WALL, UPWALL, CEIL, ALL] [0];
docargument [X] [X coordinate of cube to check] [optional] [0];
docargument [Y] [Y coordinate of cube to check] [optional] [0];
docremark [If no coordinate arguments are provided, curtex will list textures(s) for the currently selected cube];
docremark [];
docremark [Note: Without x/y input, curtex works with the top-left cube of the most recent selection]
docexample [curtex WALL] [prints the texture slot used for the wall of the selected cube];
//--------------------------------------------
docident [texname] [returns the filename of the selected cube's texture at position P]
docargument [P] [Position of texture to return] [FLOOR, WALL, UPWALL, CEIL] [0];
docexample [echo (texname FLOOR)] [prints the filename of the selected cube's floor texture]
//--------------------------------------------
docident [getcurtex] [returns texture slot number of the selected cube, or the cube at X / Y];
docargument [P] [Position of texture to return] [FLOOR, WALL, UPWALL, CEIL, ALL] [0];
docargument [X] [X coordinate of cube to check] [optional] [0];
docargument [Y] [Y coordinate of cube to check] [optional] [0];
docremark [If no coordinate arguments are provided, getcurtex will list textures(s) for the currently selected cube];
docremark [];
docremark [Note: Without x/y input, getcurtex works with the top-left cube of the most recent selection]
docremark [];
docremark [Returns -1 on error];
docexample [getcurtex FLOOR 100 75] [returns the texture slot used for the floor at position 100/75];
//--------------------------------------------
docident [curheight] [Prints height information of the selected cube, or the cube at X / Y];
docargument [P] [Position of height to check] [FLOOR, CEIL, BOTH] [0];
docargument [X] [X coordinate of cube to check] [optional] [0];
docargument [Y] [Y coordinate of cube to check] [optional] [0];
docremark [If no coordinate arguments are provided, curheight will list height(s) for the currently selected cube];
docremark [];
docremark [Note: Without x/y input, curheight works with the top-left cube of the most recent selection]
docexample [curheight CEIL] [prints the ceiling height of the selected cube];
//--------------------------------------------
docident [getcurheight] [returns the height of the selected cube, or the cube at X / Y];
docargument [P] [Position of height to check] [FLOOR, CEIL] [0];
docargument [X] [X coordinate of cube to check] [optional] [0];
docargument [Y] [Y coordinate of cube to check] [optional] [0];
docremark [If no coordinate arguments are provided, getcurheight will return the height of the currently selected cube];
docremark [];
docremark [Note: Without x/y input, getcurheight works with the top-left cube of the most recent selection]
docremark [];
docremark [Returns -255 on error];
docexample [getcurheight FLOOR 100 75] [returns the floor height at position 100/75];
//----------------------------------------------------------------------------
docident [undo_sel] [removes last N selection(s) from the list of selections];
docargument [N] [Number of selections to remove] [If no argument provided, a value of 1 is used] [0];
docexample [undo_sel 2] [removes the last two selections made from the list of selections.];
//----------------------------------------------------------------------------
docident [select_all] [removes all current selections and selects entire map area, including bounding walls];
//----------------------------------------------------------------------------
docident [equalize_sels] [levels the floor/ceiling of all selections, with the min/max height gathered from all of them];
docargument [T] [an integer denoting the type] [0 (floor), 2 (ceiling)] [0];
docremark [This differs from /equalize in that /equalize_sels levels all selections at once, rather than each selection having it's own min/max height]
//----------------------------------------------------------------------------
docident [clearrecenttex] [clears the history of recent textures used in the current map];
//-------------------------------------------------------------------
docident [cleanedit] [turns on/off clean edit mode];
docargument [V] [0(off)...1(on)] [] [0];
docremark [While editing in clean edit mode, objects/guides not normally visible remain unvisible]
docremark [i.e. The grid guidlines, selection borders, entity sparkles, clips, playerstart arrows, and closest entity information are hidden]
//-------------------------------------------------------------------
docident [togglecleanedit] [inverses the on/off state of cleanedit];
//-------------------------------------------------------------------
docident [savesel] [Stores the list of current selections to later be recalled by /reselect];
//-------------------------------------------------------------------
docident [reselect] [Removes all current selections and selects the list of cubes previously stored with /savesel];
//-------------------------------------------------------------------
docident [tex2front] [Brings the selected cube's texture slot used in position P to the front of its recent textures list];
docargument [P] [The position of the cube's texture to bring to front] [FLOOR, WALL, UPWALL, CEIL] [0];
docremark [tex2front works with the top-left cube of the most recent selection]
//-------------------------------------------------------------------
docident [paste_half] [Pastes the floor/ceiling of a previously copied selection, leaving the opposite half unmodified];
docremark [The choice of floor or ceiling is derived from which the player is looking at]
//-------------------------------------------------------------------
I've seen several different options from MyBB so this seems reasonable to do though I confess I'm not personally familiar with MyBB