You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Consider handling the text filter within args instead of task
IMPORTANT: how to determine caller has permission to use an argument, qualifier and modifiers
maybe a separate method to verify and/or block with warning within CommandService like modifiers
important: make sure to setup and handle the default values!
change main.services.RoleService.verifySettings(user, {"limit", "denylistedIDs"}).areAll(true) to main.services.RoleService.verifySettings(user, "limit.denylistedIDs").areAll(true)
Test:
verifySettings
getMaxValueFromSettings
getMinValueFromSettings
getHighestRoleSetting
handle blocking of values and error notifications
sounds
gear
if .parentchanged of storage arg item then produce an error/warning telling to clone instead
scale
SUPER IMPORTANT: Even if the self.args are missing (e.g. in ;mel me instead of the full ;mel me red) make sure the args are still parsed! If nil, make sure to pass thorugh "" as the stringValueToParse
color
fromName
hex
capsule
optionalcolor
bool
stat
setup a module called 'StatHandler'
setup methods to modify stats (for commands get/set/add/subtract/reset)
make displayName of stat 'statName' (while the arg returns a 'stat')
have the stat arg return a stat from :get()
clone this module under plugin loader extensions core and setup an example of how to modify
consider introducing a CommandService method which take a statement, converts the commandNames, args and modifiers into their real names, then verifies, then executes if successful
Important: Player qualifier does not detect ;bundle @forev ID and ;bundle ben ID correctly
update user qualifier
also work on qualifier 'multi limit' - instead of multi bool property, just check the final qualifier results for that statement and block if result more than 1 (and multi role setting disabled)
setup a paint command and see what happens when you paint over ;bundle and ;become etc
;unsize doesn't work
;paint me red, then ;bundle me 2, then ;unpaint, then ;unbundle still causes paint to remain
Important: Reorganise agent self.groupedBuffs so that items like 'BodyScale' can all be merged into one master HumanoidDescription effect (then its own ignored)
Reorganise
What to do for specificEffect and specificProperty???
Inform raza modifiers (such as un/undo, preview, etc) have entirely stopped working - likely something to do with: https://i.imgur.com/pEcqCJY.png
Important: Agent resets incorrectly when doing ;bundle me 1 then ;bundle me 2
setup 'preview' modifier
if command.preview == true, then convert to preview modifier
if preview but fromClient is present then ignore the preview modifier
setup a 'requestBatch', 'requestStatement' and 'requestChat' remote within CommandService - limit these remotes to 10 requests every 5 seconds
have these methods/remotes call verify statement then executestatement (identical to what chatCommand) does
ensure verifyAndExecuteStatement and all downwards promises and returned correctly
ensure the client-requested batches/statements are actually valid tables else block
if promise errors then return false, error message
if promise resolves but (false) then reject too
only return true if everything successful
in the server first
team - test only
teamcolor - test only
material - test only
ensure modifiers and playeridentifier work (see raza)
agent improvements
;paint me red;size me 2;bundle me 400 then ;bundle me 99 doesn't work correctly in-game (maybe due to the additional headless horseman checks)
consider delaying the applying of humanoid descriptions so that effects to snap back and forth. For example, ;trans me 0.5 then ;trans me 0.9
on initialisation (ideally within the Start of a service), iterate through all descendants of ServerStorage, ReplicatedStorage and NanobloxLoader, and if a tool object, then record its name
Extensions/Tools has highest priority so iterate over and record items from this last
morphs
setup a dedicated folder within extensions and ensure they are pulled into the core on initialisation (maybe a MorphHandler/Service?)
create internal morph command
important: setup a dedicated buff method or effect to take instances (such as fire particles), and only display them when that particular buff is activated
create morph arg
make sure to become the entire morph
convert the most important HD Admin morphs into humanoid descriptions or hdesc/character hybrids
chair - make rideable
slender
anonymous
clown
donald (trump)
guest666
hacker
SWAT
superman
guestoriginal
lordduckkkkk - make rideable
complete all descriptions (this is important for explaining color capsules, hex, etc)
agent/buff IMPORTANT: ;trans me 0.5 then ;become oblivioushd discontinues transparency effect because new body parts replaced. overcome this, then test with that and ;morph me chair (check the face)
Additional
;size me 2, ;material me forcefield then ;become oblivioushd does not apply material value to body
test :setWeight
it seems to throw and error
Override ID lists
first...
setup bundle arg verifycanuse
replace main.InserService:LoadAsset with main.services.AssetService:loadAsset which first checks override list and replaces if found
libraryIds
catalogIds
bundleIds
Cooldown command setting
Defaults to 0
The cooldown is applied after the task finishes executing
When coolingdown (if > 0), record task.cooldownEndTime
Add a note to check for task.cooldownEndTime and produce a different warning to caller (i.e. cooling down, x time remaining)
This cooldown should also be applied after the role setting 'limit cooldown'
playerIdentifierSearch = main.enum.IdentifierSearch.DisplayName,
--[[
main.enum.IdentifierSearch.UserName,
main.enum.IdentifierSearch.DisplayName,
main.enum.IdentifierSearch.UserNameAndDisplayName,
--]]
main.services.RoleService.verifySettings(user, {"limit", "denylistedIDs"}).areAll(true)
tomain.services.RoleService.verifySettings(user, "limit.denylistedIDs").areAll(true)
;mel me
instead of the full;mel me red
) make sure the args are still parsed! If nil, make sure to pass thorugh "" as the stringValueToParseget/set/add/subtract/reset
)plugin loader extensions core
and setup an example of how to modifytask:buff
intotask:buffPlayer
andtask:buffCaller
UntilCallerRespawns
- if caller not present, kill right awayParser.getPlayersFromString
works for User arg (and then userDescription arg) - test by doing;become Matt
then;become be
and;become @forever
;bundle @forev ID
and;bundle ben ID
correctly;bundle me 1
then;bundle me 2
verifyAndExecuteStatement
and all downwards promises and returned correctlyin the server first
;paint me red
;size me 2
;bundle me 400
then;bundle me 99
doesn't work correctly in-game (maybe due to the additional headless horseman checks);trans me 0.5
then;trans me 0.9
Additional
The text was updated successfully, but these errors were encountered: