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
for 'limiters' within roles, check against roles with that command and ensure all of those have the setting (see tylers notes for more details)
determine how role functions will work now with these new settings?
important: now that roleModifiersToOnlyRoleCommands has been removed, ensure role limiters/behaviours/modifiers/etc are exclusively applied to commands within that role, instead of all commands
ensure RoleService.verifySettings will still work
maybe introduce a new or modify verifySettings so that behaviours are solely limited to commands of that role
update everywhere which uses verifySettings
have located in a separate shared module so that it can be accessed by both client and server
repeat the same for game settings
other:
replace :waitForHumanoid with CharacterUtil.onHumanoidLoaded(playerOrUserId, callback)
Replace all :catch(warn) and :catch(print) with main.warn and main.print then add this to-do task to Nanoblox (maybe also utilise debug.traceback)
Have main.print and main.warn act as wrappers which extend the text Nanoblox (then ideally some sort of debug traceback, such as the name of the module)
Replace all game.JobId with main.jobId
DataUtil.isEqual has changed to DataUtil.areValuesEqual
add TeleportUtil
create userstores using scope, for example: UserStore.new("Nanoblox", "Players"), UserStore.new("Nanoblox", "Roles"), UserStore.new("Nanoblox", "Bans"), UserStore.new("Nanoblox", "General"), etc
ensure systems (within environments) are still split up and have more appropriate datastore key names which allow for potential future scaling (such as when bans exceed 4 million characters), e.g. Scope:Bans/Global/Profiles/1
convert PlayerService methods like playerAddedMethod to just playerAdded and rename the signals to playerAddedSignal
Replace .ancestryChanged of(game) with .Destroying
Introduce StreamingController and ensure replication detection of instances (such as with clientLoadCommandAsset, the melon, sound, etc) are working correctly with this new system instead of the old firing remote
PlayerStore (new setTemplate methods), etc
Also for all ':GetPropertyChangedSignal("Parent")' ensure that it is disconnected by something else other than itself as it is now always called (for instance if it belongs to a model and its parent id destroyed instead)
Either use ancestrychanged or the new .destroying event if is released
Important: Update RemoteServer (and maybe RemoteClient) with new one as the limit checks were acting on a per-player basis instead of a per-remote-per-player basis
Add in Global module and the two Global enums
Add this in under 'Packges'
Setup so it works like a package
Create a dedicated repo for this originally which a license preventing its use without my permission
Update to new Remote package
also consider utilising the new 'beforeFiring', 'afterFiring', etc when it comes to replicating assets
Update to new UserStore package (with profile service)
Explore how systems now work with profiles
getLoadedUser is now simply getUser, and getUser only returns once loaded
check all uses of getUser and consider replacing some with :onUserLoaded
replace all getLoaded with get
check all .changed State listeners as these have now been replaced with (pathway, value, oldValue)
createDescendantChangedSignal has also been removed
consider replacing some listeners with the new :getChangedSignal() with returns the exact value instead of pathwayValue
.changed and .changedFirst have been renamed to mutated, mutatedFirst and getValueChangedSignal
replace getOrSetup with simply get (or a . index) by adding these values to the default PlayerStore
state:getSimple has been removed, make sure to replace all references of this
Important: Inverse all State.new() as convertDescendantTables has been replaced with dontConvertDescendantTables
the value.isState check has also been removed so make sure that State tables are never created from an object (such as a Role)
a lot of DataUtil methods have been moved to State
improve CommandService.createFakeUser
ensure the PlayerStore has a way to return the default values (e.g. UserStore.getDefaultValues)
introduce a UserStore.createUserTemplate
improve CommandService.createFakeUser
Sound modules (service, controller, etc)
TypeChecking
TestEZ
The text was updated successfully, but these errors were encountered:
1ForeverHD
changed the title
Consider hard locking items like Signal, Janitor, ec
Update internal data and user systems before continuing work
Jan 2, 2022
role stuff:
update everywhere which uses verifySettings
other:
CharacterUtil.onHumanoidLoaded(playerOrUserId, callback)
DataUtil.isEqual
has changed toDataUtil.areValuesEqual
UserStore.new("Nanoblox", "Players")
,UserStore.new("Nanoblox", "Roles")
,UserStore.new("Nanoblox", "Bans")
,UserStore.new("Nanoblox", "General")
, etcScope:Bans/Global/Profiles/1
playerAddedMethod
to justplayerAdded
and rename the signals toplayerAddedSignal
.ancestryChanged of(game)
with.Destroying
getLoadedUser
is now simplygetUser
, andgetUser
only returns once loadedgetUser
and consider replacing some with :onUserLoaded.changed
and.changedFirst
have been renamed tomutated
,mutatedFirst
andgetValueChangedSignal
State.new()
asconvertDescendantTables
has been replaced withdontConvertDescendantTables
value.isState
check has also been removed so make sure that State tables are never created from an object (such as a Role)The text was updated successfully, but these errors were encountered: