mirror of
https://github.com/luau/UniversalSynSaveInstance.git
synced 2026-02-04 06:33:10 +02:00
Fake NotCreatable Dumper
This commit is contained in:
34
Tools/Fake NotCreatable Dumper/Dump
Normal file
34
Tools/Fake NotCreatable Dumper/Dump
Normal file
@@ -0,0 +1,34 @@
|
||||
Varies per executor; Tested on Codex
|
||||
|
||||
Breakpoint {Fake Creatable}
|
||||
|
||||
InternalSyncItem {Fake Creatable}
|
||||
|
||||
ReflectionMetadata {Fake Creatable}
|
||||
|
||||
ReflectionMetadataCallbacks {Fake Creatable}
|
||||
|
||||
ReflectionMetadataClass {Fake Creatable}
|
||||
|
||||
ReflectionMetadataClasses {Fake Creatable}
|
||||
|
||||
ReflectionMetadataEnum {Fake Creatable}
|
||||
|
||||
ReflectionMetadataEnumItem {Fake Creatable}
|
||||
|
||||
ReflectionMetadataEnums {Fake Creatable}
|
||||
|
||||
ReflectionMetadataEvents {Fake Creatable}
|
||||
|
||||
ReflectionMetadataFunctions {Fake Creatable}
|
||||
|
||||
ReflectionMetadataMember {Fake Creatable}
|
||||
|
||||
ReflectionMetadataProperties {Fake Creatable}
|
||||
|
||||
ReflectionMetadataYieldFunctions {Fake Creatable}
|
||||
|
||||
StudioAttachment {Fake Creatable}
|
||||
|
||||
StudioCallout {Fake Creatable}
|
||||
|
||||
101
Tools/Fake NotCreatable Dumper/Fake NotCreatable Dumper.luau
Normal file
101
Tools/Fake NotCreatable Dumper/Fake NotCreatable Dumper.luau
Normal file
@@ -0,0 +1,101 @@
|
||||
-- Dumps all properties that get changed when NotScriptable property is changed. This means they're somehow related to it and/or are in sync with it
|
||||
-- Doesnt get everything!
|
||||
local service = setmetatable({}, {
|
||||
__index = function(Self, Name)
|
||||
local Service = game:GetService(Name)
|
||||
Self[Name] = Service
|
||||
return Service
|
||||
end,
|
||||
})
|
||||
local function ArrayToDictionary(Table, HybridMode)
|
||||
local tmp = table.create(#Table)
|
||||
|
||||
if HybridMode == "adjust" then
|
||||
for Some1, Some2 in Table do
|
||||
if type(Some1) == "number" then
|
||||
tmp[Some2] = true
|
||||
elseif type(Some2) == "table" then
|
||||
tmp[Some1] = ArrayToDictionary(Some2, "adjust") -- Some1 is Class, Some2 is Name
|
||||
else
|
||||
tmp[Some1] = Some2
|
||||
end
|
||||
end
|
||||
else
|
||||
for _, Key in Table do
|
||||
tmp[Key] = true
|
||||
end
|
||||
end
|
||||
|
||||
return tmp
|
||||
end
|
||||
do
|
||||
-- TODO: More @ https://github.com/Dekkonot/rbx-instance-serializer/blob/23f772f6f78af879a21faa9fea3e6c4f93d1cdee/src/API.lua#L19
|
||||
|
||||
local function FetchAPI()
|
||||
local API_Dump_Url =
|
||||
"https://raw.githubusercontent.com/MaximumADHD/Roblox-Client-Tracker/roblox/Mini-API-Dump.json"
|
||||
local API_Dump = game:HttpGet(API_Dump_Url, true)
|
||||
local API_Classes = service.HttpService:JSONDecode(API_Dump).Classes
|
||||
|
||||
local classList = {}
|
||||
for _index_0 = 1, #API_Classes do
|
||||
local API_Class = API_Classes[_index_0]
|
||||
|
||||
local Class = {}
|
||||
|
||||
local ClassName = API_Class.Name
|
||||
|
||||
local ClassTags = API_Class.Tags
|
||||
|
||||
if ClassTags then
|
||||
ClassTags = ArrayToDictionary(ClassTags)
|
||||
end
|
||||
|
||||
-- ClassInfo.Name = ClassName
|
||||
Class.Tags = ClassTags -- or {}
|
||||
local Superclass = API_Class.Superclass
|
||||
Class.Superclass = Superclass
|
||||
|
||||
classList[ClassName] = Class
|
||||
end
|
||||
|
||||
-- classList.Instance.Properties.Parent = nil -- ? Not sure if this is a better option than filtering throguh properties to remove this
|
||||
|
||||
return classList
|
||||
end
|
||||
|
||||
local api = FetchAPI()
|
||||
local keys = {}
|
||||
for classname in api do
|
||||
table.insert(keys, classname)
|
||||
end
|
||||
table.sort(keys)
|
||||
local s = `Varies per executor; Tested on {identifyexecutor()}\n\n`
|
||||
for _, ClassName in keys do
|
||||
local prevsiz = #s
|
||||
local ClassInfo = api[ClassName]
|
||||
local Tags = ClassInfo.Tags
|
||||
local NotCreatable = Tags and Tags.NotCreatable
|
||||
|
||||
local o, r = pcall(Instance.new, ClassName)
|
||||
|
||||
if NotCreatable and o then
|
||||
s ..= ClassName .. " {Fake NotCreatable}\n"
|
||||
elseif not (o or NotCreatable) then
|
||||
s ..= ClassName .. " {Fake Creatable}\n"
|
||||
print(ClassName, r)
|
||||
elseif typeof(r) ~= "Instance" then
|
||||
warn(ClassName, r)
|
||||
end
|
||||
|
||||
if prevsiz ~= #s then
|
||||
s ..= "\n"
|
||||
end
|
||||
end
|
||||
warn("Finished")
|
||||
-- warn(s)
|
||||
task.wait(0.5)
|
||||
print(s)
|
||||
setclipboard(s)
|
||||
-- writefile("!missing.txt", game:GetService("HttpService"):JSONEncode(t))
|
||||
end
|
||||
@@ -6,9 +6,14 @@ Instance.archivable {Deprecated}
|
||||
AdPortal.PortalVersion {CanSave Only}
|
||||
|
||||
AnalyticsService.ApiKey {Deprecated} {CanSave}
|
||||
AnalyticsService is NotCreatable but AnalyticsService.ApiKey has a default value:
|
||||
|
||||
AnimationTrack.TimePosition {CanLoad Only}
|
||||
|
||||
AssetDeliveryProxy is NotCreatable but AssetDeliveryProxy.Interface has a default value:
|
||||
|
||||
AssetPatchSettings is NotCreatable but AssetPatchSettings.ContentId has a default value:
|
||||
|
||||
Attachment.Axis {CanLoad Only}
|
||||
Attachment.SecondaryAxis {CanLoad Only}
|
||||
Attachment.WorldAxis {CanLoad Only}
|
||||
@@ -29,6 +34,12 @@ AudioPlayer.TimeLength {CanSave Only}
|
||||
AudioSearchParams.AudioSubtype {CanLoad Only}
|
||||
AudioSearchParams.AudioSubtype {Deprecated}
|
||||
|
||||
AvatarChatService is NotCreatable but AvatarChatService.ClientFeatures has a default value: 0
|
||||
|
||||
Avatar2DGenerationJob is NotCreatable but Avatar2DGenerationJob.Result has a default value:
|
||||
|
||||
Avatar3DGenerationJob is NotCreatable but Avatar3DGenerationJob.Result has a default value:
|
||||
|
||||
BaseImportData.Id {CanSave Only}
|
||||
|
||||
MaterialImportData.IsPbr {CanSave Only}
|
||||
@@ -48,6 +59,8 @@ RootImportData.PolygonCount {CanSave Only}
|
||||
|
||||
CoreGui.Version {CanSave Only}
|
||||
|
||||
PlayerGui is NotCreatable but PlayerGui.CurrentScreenOrientation has a default value: LandscapeLeft
|
||||
|
||||
StarterGui.ResetPlayerGuiOnSpawn {Deprecated} {CanSave}
|
||||
|
||||
BodyAngularVelocity.angularvelocity {CanLoad Only}
|
||||
@@ -95,11 +108,15 @@ BodyColors.TorsoColor {CanLoad Only}
|
||||
Clothing.Outfit1 {CanLoad Only}
|
||||
Clothing.Outfit2 {CanLoad Only}
|
||||
|
||||
Chat is NotCreatable but Chat.BubbleChatEnabled has a default value: false
|
||||
|
||||
DragDetector.Axis {CanLoad Only}
|
||||
DragDetector.SecondaryAxis {CanLoad Only}
|
||||
DragDetector.WorldAxis {CanLoad Only}
|
||||
DragDetector.WorldSecondaryAxis {CanLoad Only}
|
||||
|
||||
Collaborator is NotCreatable but Collaborator.CFrame has a default value: __api_dump_no_string_value__
|
||||
|
||||
CommandInstance.Checked {CanLoad Only}
|
||||
CommandInstance.DisplayName {CanLoad Only}
|
||||
CommandInstance.Enabled {CanLoad Only}
|
||||
@@ -107,6 +124,7 @@ CommandInstance.Icon {CanLoad Only}
|
||||
CommandInstance.StatusTip {CanLoad Only}
|
||||
|
||||
ConnectivityService.NetworkStatus {CanSave Only}
|
||||
ConnectivityService is NotCreatable but ConnectivityService.NetworkStatus has a default value: Unknown
|
||||
|
||||
HingeConstraint.CurrentAngle {CanSave Only}
|
||||
HingeConstraint.SoftlockServoUponReachingTarget {Deprecated} {CanSave}
|
||||
@@ -145,6 +163,7 @@ DataStoreObjectVersionInfo.IsDeleted {CanSave Only}
|
||||
DataStoreObjectVersionInfo.Version {CanSave Only}
|
||||
|
||||
DataStoreService.LegacyNamingScheme {Deprecated} {CanSave}
|
||||
DataStoreService is NotCreatable but DataStoreService.AutomaticRetry has a default value: true
|
||||
|
||||
Debris.MaxItems {Deprecated} {CanSave}
|
||||
|
||||
@@ -154,13 +173,25 @@ DebugSettings.JobCount {CanSave Only}
|
||||
DebugSettings.PlayerCount {CanSave Only}
|
||||
DebugSettings.RobloxVersion {CanSave Only}
|
||||
|
||||
DebuggerBreakpoint is NotCreatable but DebuggerBreakpoint.Condition has a default value: __api_dump_skipped_class__
|
||||
|
||||
DebuggerManager.DebuggingEnabled {CanSave Only}
|
||||
|
||||
DraggerService is NotCreatable but DraggerService.AlignDraggedObjects has a default value: __api_dump_skipped_class__
|
||||
|
||||
ExperienceStateCaptureService is NotCreatable but ExperienceStateCaptureService.IsInCaptureMode has a default value: false
|
||||
|
||||
FaceAnimatorService is NotCreatable but FaceAnimatorService.AudioAnimationEnabled has a default value: true
|
||||
|
||||
Decal.Shiny {CanLoad Only}
|
||||
Decal.Shiny {Deprecated}
|
||||
Decal.Specular {CanLoad Only}
|
||||
Decal.Specular {Deprecated}
|
||||
|
||||
FacialAnimationRecordingService is NotCreatable but FacialAnimationRecordingService.BiometricDataConsent has a default value: __api_dump_skipped_class__
|
||||
|
||||
FacialAnimationStreamingServiceV2 is NotCreatable but FacialAnimationStreamingServiceV2.ServiceState has a default value: 0
|
||||
|
||||
Fire.Heat {CanLoad Only}
|
||||
Fire.Size {CanLoad Only}
|
||||
Fire.size {CanLoad Only}
|
||||
@@ -175,6 +206,8 @@ FunctionalTest.Timeout {CanLoad Only}
|
||||
|
||||
GameSettings.VideoRecording {CanLoad Only}
|
||||
|
||||
GamepadService is NotCreatable but GamepadService.GamepadCursorEnabled has a default value: false
|
||||
|
||||
GuiBase2d.Localize {CanLoad Only}
|
||||
GuiBase2d.Localize {Deprecated}
|
||||
|
||||
@@ -218,6 +251,7 @@ TextBox.TextWrap {Deprecated}
|
||||
ViewportFrame.CurrentCamera {CanLoad Only}
|
||||
|
||||
DockWidgetPluginGui.HostWidgetWasRestored {CanSave Only}
|
||||
DockWidgetPluginGui is NotCreatable but DockWidgetPluginGui.HostWidgetWasRestored has a default value: false
|
||||
|
||||
ScreenGui.IgnoreGuiInset {CanLoad Only}
|
||||
|
||||
@@ -235,6 +269,8 @@ Path2D.SelectedControlPointData {CanLoad Only}
|
||||
|
||||
GuiService.MenuIsOpen {CanSave Only}
|
||||
|
||||
HttpService is NotCreatable but HttpService.HttpEnabled has a default value: false
|
||||
|
||||
Humanoid.CollisionType {Deprecated} {CanSave}
|
||||
Humanoid.Health {CanLoad Only}
|
||||
Humanoid.Jump {CanLoad Only}
|
||||
@@ -248,7 +284,12 @@ Humanoid.Torso {Deprecated}
|
||||
Humanoid.maxHealth {CanLoad Only}
|
||||
Humanoid.maxHealth {Deprecated}
|
||||
|
||||
IncrementalPatchBuilder is NotCreatable but IncrementalPatchBuilder.AddPathsToBundle has a default value: false
|
||||
|
||||
InputObject is NotCreatable but InputObject.Delta has a default value: 0, 0, 0
|
||||
|
||||
InsertService.AllowInsertFreeModels {Deprecated} {CanSave}
|
||||
InsertService is NotCreatable but InsertService.AllowClientInsertModels has a default value: false
|
||||
|
||||
InternalSyncItem.Target {CanLoad Only}
|
||||
|
||||
@@ -258,19 +299,31 @@ Lighting.ClockTime {CanLoad Only}
|
||||
Lighting.Outlines {Deprecated} {CanSave}
|
||||
Lighting.ShadowColor {CanLoad Only}
|
||||
Lighting.ShadowColor {Deprecated}
|
||||
Lighting is NotCreatable but Lighting.Ambient has a default value: 0.5, 0.5, 0.5
|
||||
|
||||
LiveScriptingService is NotCreatable but LiveScriptingService.ServerLiveEditingMode has a default value: Uninitialized
|
||||
|
||||
LocalizationService is NotCreatable but LocalizationService.ForcePlayModeGameLocaleId has a default value:
|
||||
|
||||
LocalizationTable.DevelopmentLanguage {CanLoad Only}
|
||||
LocalizationTable.DevelopmentLanguage {Deprecated}
|
||||
|
||||
LodDataEntity is NotCreatable but LodDataEntity.EntityData has a default value: __api_dump_no_string_value__
|
||||
|
||||
BaseScript.LinkedSource {Deprecated} {CanSave}
|
||||
|
||||
ModuleScript.LinkedSource {Deprecated} {CanSave}
|
||||
|
||||
MarkerCurve.Length {CanSave Only}
|
||||
|
||||
MaterialService is NotCreatable but MaterialService.AsphaltName has a default value: Asphalt
|
||||
|
||||
MetaBreakpoint.Id {CanSave Only}
|
||||
MetaBreakpoint.IsLogpoint {CanSave Only}
|
||||
MetaBreakpoint.Valid {CanSave Only}
|
||||
MetaBreakpoint is NotCreatable but MetaBreakpoint.Condition has a default value:
|
||||
|
||||
MetaBreakpointContext is NotCreatable but MetaBreakpointContext.ContextDataInternal has a default value: 0 1 2
|
||||
|
||||
Mouse.Hit {CanSave Only}
|
||||
Mouse.Origin {CanSave Only}
|
||||
@@ -330,6 +383,7 @@ Part.shap {CanLoad Only}
|
||||
Terrain.ClusterGrid {CanLoad Only}
|
||||
Terrain.ClusterGridV2 {CanLoad Only}
|
||||
Terrain.ClusterGridV3 {CanLoad Only}
|
||||
Terrain is NotCreatable but Terrain.AcquisitionMethod has a default value: None
|
||||
|
||||
TriangleMeshPart.CollisionFidelity {CanLoad Only}
|
||||
TriangleMeshPart.FluidFidelity {CanLoad Only}
|
||||
@@ -349,6 +403,7 @@ Workspace.StreamingPauseMode {CanLoad Only}
|
||||
|
||||
PackageLink.PackageId {CanSave Only}
|
||||
PackageLink.VersionNumber {CanLoad Only}
|
||||
PackageLink is NotCreatable but PackageLink.AutoUpdate has a default value: false
|
||||
|
||||
DataStoreKeyPages.Cursor {CanSave Only}
|
||||
|
||||
@@ -357,14 +412,19 @@ DataStoreListingPages.Cursor {CanSave Only}
|
||||
ParticleEmitter.VelocitySpread {CanLoad Only}
|
||||
ParticleEmitter.VelocitySpread {Deprecated}
|
||||
|
||||
PatchMapping is NotCreatable but PatchMapping.FlattenTree has a default value: false
|
||||
|
||||
Path.Status {CanSave Only}
|
||||
|
||||
PathfindingService.EmptyCutoff {CanLoad Only}
|
||||
PathfindingService.EmptyCutoff {Deprecated}
|
||||
PathfindingService is NotCreatable but PathfindingService.EmptyCutoff has a default value: 0
|
||||
|
||||
Player.CharacterAppearance {Deprecated} {CanSave}
|
||||
Player.FollowUserId {CanSave Only}
|
||||
|
||||
PlayerEmulatorService is NotCreatable but PlayerEmulatorService.CustomPoliciesEnabled has a default value: false
|
||||
|
||||
PluginMenu.Icon {CanLoad Only}
|
||||
PluginMenu.Title {CanLoad Only}
|
||||
|
||||
@@ -372,6 +432,8 @@ PluginToolbarButton.ClickableWhenViewportHidden {CanLoad Only}
|
||||
PluginToolbarButton.Enabled {CanLoad Only}
|
||||
PluginToolbarButton.Icon {CanLoad Only}
|
||||
|
||||
PolicyService is NotCreatable but PolicyService.IsLuobuServer has a default value: Unknown
|
||||
|
||||
Pose.MaskWeight {CanLoad Only}
|
||||
Pose.MaskWeight {Deprecated}
|
||||
|
||||
@@ -379,16 +441,27 @@ RenderSettings.EnableFRM {CanLoad Only}
|
||||
|
||||
RotationCurve.Length {CanSave Only}
|
||||
|
||||
SafetyService is NotCreatable but SafetyService.IsCaptureModeForReport has a default value: false
|
||||
|
||||
SyncScriptBuilder.RawBytecode {Deprecated} {CanSave}
|
||||
SyncScriptBuilder is NotCreatable but SyncScriptBuilder.CompileTarget has a default value: CoreScript
|
||||
|
||||
ScriptContext is NotCreatable but ScriptContext.ScriptsDisabled has a default value: false
|
||||
|
||||
ScriptDebugger is NotCreatable but ScriptDebugger.CoreScriptIdentifier has a default value:
|
||||
|
||||
Selection.SelectionBoxThickness {CanSave Only}
|
||||
Selection.SelectionLineThickness {CanSave Only}
|
||||
|
||||
ServerScriptService is NotCreatable but ServerScriptService.LoadStringEnabled has a default value: false
|
||||
|
||||
DataModel.PrivateServerId {CanSave Only}
|
||||
DataModel.PrivateServerOwnerId {CanSave Only}
|
||||
DataModel.VIPServerId {CanSave Only}
|
||||
DataModel.VIPServerOwnerId {CanSave Only}
|
||||
|
||||
ServiceVisibilityService is NotCreatable but ServiceVisibilityService.HiddenServices has a default value:
|
||||
|
||||
Smoke.Opacity {CanLoad Only}
|
||||
Smoke.RiseVelocity {CanLoad Only}
|
||||
Smoke.Size {CanLoad Only}
|
||||
@@ -402,11 +475,24 @@ Sound.xmlRead_MaxDistance_3 {Deprecated} {CanSave}
|
||||
Sound.xmlRead_MinDistance_3 {CanLoad Only}
|
||||
Sound.xmlRead_MinDistance_3 {Deprecated}
|
||||
|
||||
ChannelSelectorSoundEffect is NotCreatable but ChannelSelectorSoundEffect.Channel has a default value: 1
|
||||
|
||||
SoundService is NotCreatable but SoundService.AmbientReverb has a default value: NoReverb
|
||||
|
||||
Sparkles.Color {CanLoad Only}
|
||||
|
||||
StarterPlayer is NotCreatable but StarterPlayer.AllowCustomAnimations has a default value: true
|
||||
|
||||
Studio.UI Theme {CanSave Only}
|
||||
|
||||
StudioData is NotCreatable but StudioData.EnableScriptCollabByDefaultOnLoad has a default value: false
|
||||
|
||||
StudioDeviceEmulatorService is NotCreatable but StudioDeviceEmulatorService.HasMultiTouchStarted has a default value: __api_dump_skipped_class__
|
||||
|
||||
StudioPublishService is NotCreatable but StudioPublishService.PublishLocked has a default value: false
|
||||
|
||||
StudioService.UseLocalSpace {CanLoad Only}
|
||||
StudioService is NotCreatable but StudioService.ActiveScript has a default value: __api_dump_skipped_class__
|
||||
|
||||
TaskScheduler.SchedulerDutyCycle {CanSave Only}
|
||||
TaskScheduler.SchedulerRate {CanSave Only}
|
||||
@@ -417,6 +503,8 @@ Team.AutoColorCharacters {Deprecated}
|
||||
Team.Score {CanLoad Only}
|
||||
Team.Score {Deprecated}
|
||||
|
||||
TeamCreateData is NotCreatable but TeamCreateData.InitialCameraCFrame has a default value: __api_dump_no_string_value__
|
||||
|
||||
TeleportAsyncResult.PrivateServerId {CanSave Only}
|
||||
TeleportAsyncResult.ReservedServerAccessCode {CanSave Only}
|
||||
|
||||
@@ -431,6 +519,18 @@ TestService.IsPhysicsEnvironmentalThrottled {CanLoad Only}
|
||||
TestService.TestCount {CanSave Only}
|
||||
TestService.WarnCount {CanSave Only}
|
||||
|
||||
BubbleChatConfiguration is NotCreatable but BubbleChatConfiguration.AdorneeName has a default value: HumanoidRootPart
|
||||
|
||||
ChatInputBarConfiguration is NotCreatable but ChatInputBarConfiguration.AbsolutePosition has a default value: 0, 0
|
||||
|
||||
ChatWindowConfiguration is NotCreatable but ChatWindowConfiguration.AbsolutePosition has a default value: 0, 0
|
||||
|
||||
TextChatMessage is NotCreatable but TextChatMessage.BubbleChatMessageProperties has a default value: __api_dump_no_string_value__
|
||||
|
||||
TextChatService is NotCreatable but TextChatService.ChatTranslationEnabled has a default value: true
|
||||
|
||||
TextSource is NotCreatable but TextSource.CanSend has a default value: true
|
||||
|
||||
Translator.LocaleId {CanSave Only}
|
||||
|
||||
TweenBase.PlaybackState {CanSave Only}
|
||||
@@ -440,6 +540,8 @@ UIListLayout.VerticalPadding {CanLoad Only}
|
||||
|
||||
UIPageLayout.CurrentPage {CanSave Only}
|
||||
|
||||
UnvalidatedAssetService is NotCreatable but UnvalidatedAssetService.CachedData has a default value: {"lastSaveTime":0,"lastKnownPublishRequest":0,"users":[]}
|
||||
|
||||
UserGameSettings.IsUsingCameraYInverted {CanSave Only}
|
||||
UserGameSettings.IsUsingGamepadCameraSensitivity {CanSave Only}
|
||||
UserGameSettings.MicroProfilerWebServerIP {CanSave Only}
|
||||
@@ -453,6 +555,9 @@ UserInputService.MouseDeltaSensitivity {CanLoad Only}
|
||||
UserInputService.MouseEnabled {CanSave Only}
|
||||
UserInputService.TouchEnabled {CanSave Only}
|
||||
UserInputService.VREnabled {CanSave Only}
|
||||
UserInputService is NotCreatable but UserInputService.AccelerometerEnabled has a default value: __api_dump_skipped_class__
|
||||
|
||||
VRService is NotCreatable but VRService.AutomaticScaling has a default value: World
|
||||
|
||||
DoubleConstrainedValue.ConstrainedValue {CanLoad Only}
|
||||
DoubleConstrainedValue.Value {CanLoad Only}
|
||||
@@ -460,8 +565,16 @@ DoubleConstrainedValue.Value {CanLoad Only}
|
||||
IntConstrainedValue.ConstrainedValue {CanLoad Only}
|
||||
IntConstrainedValue.Value {CanLoad Only}
|
||||
|
||||
VersionControlService is NotCreatable but VersionControlService.ScriptCollabEnabled has a default value: false
|
||||
|
||||
VideoCaptureService is NotCreatable but VideoCaptureService.Active has a default value: false
|
||||
|
||||
VideoDeviceInput.IsReady {CanSave Only}
|
||||
|
||||
VoiceChatInternal is NotCreatable but VoiceChatInternal.VoiceChatState has a default value: Idle
|
||||
|
||||
VoiceChatService is NotCreatable but VoiceChatService.EnableDefaultVoice has a default value: true
|
||||
|
||||
WeldConstraint.Active {CanSave Only}
|
||||
WeldConstraint.CFrame1 {CanLoad Only}
|
||||
WeldConstraint.Enabled {CanLoad Only}
|
||||
|
||||
@@ -15,66 +15,76 @@ def array_to_dictionary(table, hybrid_mode=None):
|
||||
else:
|
||||
for value in table:
|
||||
if isinstance(value, str):
|
||||
tmp[value] = True
|
||||
tmp[value] = True
|
||||
return tmp
|
||||
|
||||
|
||||
s = "\n"
|
||||
|
||||
|
||||
def fetch_api():
|
||||
api_dump_url = "https://raw.githubusercontent.com/MaximumADHD/Roblox-Client-Tracker/roblox/Mini-API-Dump.json"
|
||||
response = requests.get(api_dump_url)
|
||||
api_classes = response.json()['Classes']
|
||||
api_classes = response.json()["Classes"]
|
||||
|
||||
global s
|
||||
class_list = {}
|
||||
|
||||
for api_class in api_classes:
|
||||
class_name = api_class['Name']
|
||||
class_members = api_class['Members']
|
||||
class_tags = api_class.get('Tags')
|
||||
|
||||
class_name = api_class["Name"]
|
||||
class_members = api_class["Members"]
|
||||
class_tags = api_class.get("Tags")
|
||||
|
||||
if class_tags:
|
||||
print(class_tags)
|
||||
class_tags = array_to_dictionary(class_tags)
|
||||
|
||||
|
||||
class_info = {
|
||||
'Tags': class_tags,
|
||||
'Superclass': api_class['Superclass'],
|
||||
'Properties': {}
|
||||
"Tags": class_tags,
|
||||
"Superclass": api_class["Superclass"],
|
||||
"Properties": {},
|
||||
}
|
||||
|
||||
prev_len = len(s)
|
||||
|
||||
|
||||
for member in class_members:
|
||||
if member['MemberType'] == "Property":
|
||||
property_name = member['Name']
|
||||
ignored = False # Placeholder for actual ignored properties
|
||||
if member["MemberType"] == "Property":
|
||||
property_name = member["Name"]
|
||||
ignored = False
|
||||
|
||||
if not ignored:
|
||||
member_tags = member.get('Tags')
|
||||
|
||||
member_tags = member.get("Tags")
|
||||
|
||||
if member_tags:
|
||||
member_tags = array_to_dictionary(member_tags)
|
||||
|
||||
|
||||
serialization = member['Serialization']
|
||||
if serialization['CanLoad']:
|
||||
if not serialization['CanSave']:
|
||||
serialization = member["Serialization"]
|
||||
if serialization["CanLoad"]:
|
||||
if not serialization["CanSave"]:
|
||||
s += f"{class_name}.{property_name} {{CanLoad Only}}\n"
|
||||
if member_tags and member_tags.get('Deprecated'):
|
||||
if member_tags and member_tags.get("Deprecated"):
|
||||
s += f"{class_name}.{property_name} {{Deprecated}} { ' {CanSave}' if serialization['CanSave'] else ''}\n"
|
||||
elif serialization['CanSave']:
|
||||
elif serialization["CanSave"]:
|
||||
s += f"{class_name}.{property_name} {{CanSave Only}}\n"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class_info["Properties"][property_name] = {
|
||||
"Serialization": serialization,
|
||||
"Tags": member_tags,
|
||||
"Default": member.get("Default"),
|
||||
}
|
||||
|
||||
if class_tags and class_tags.get("NotCreatable"):
|
||||
for property_name, property_info in class_info["Properties"].items():
|
||||
value = property_info.get("Default")
|
||||
if value != "__api_dump_class_not_creatable__":
|
||||
s += f"{class_name} is NotCreatable but {class_name}.{property_name} has a default value: {value}\n"
|
||||
break
|
||||
|
||||
if len(s) != prev_len:
|
||||
s += "\n"
|
||||
|
||||
class_list[class_name] = class_info
|
||||
|
||||
|
||||
return class_list
|
||||
|
||||
|
||||
|
||||
@@ -179,6 +179,7 @@ Workspace.FluidForces
|
||||
Workspace.IKControlConstraintSupport
|
||||
Workspace.MeshPartHeadsAndAccessories
|
||||
Workspace.ModelStreamingBehavior
|
||||
Workspace.MoverConstraintRootBehavior
|
||||
Workspace.PhysicsSteppingMethod
|
||||
Workspace.PlayerCharacterDestroyBehavior
|
||||
Workspace.PrimalPhysicsSolver
|
||||
|
||||
Reference in New Issue
Block a user