generic image
Processing...
  • Games
  • Catalog
  • Develop
  • Robux
  • Search in Players
  • Search in Games
  • Search in Catalog
  • Search in Groups
  • Search in Library
  • Log In
  • Sign Up
  • Games
  • Catalog
  • Develop
  • Robux
   
ROBLOX Forum » Game Creation and Development » Scripters
Home Search
 

Re: API suggestions

Previous Thread :: Next Thread 
ColorfulBody is not online. ColorfulBody
Joined: 17 Jun 2012
Total Posts: 2353
31 May 2013 12:08 AM
After seeing coplox's suggestion thread on unprotecting members (http://www.roblox.com/Forum/ShowPost.aspx?PostID=99461408), I decided to take the API dump and go through all of it to write down suggestions and stuff.

The result is a bit long:

Should not be protected:
; Property int Instance.DataCost [readonly] [RobloxPlaceSecurity]
: Not harmful, but useful when used to measure the cost of storing an object using data persistence.
; Function string Instance:GetDebugId(int scopeLength = 4) [notbrowsable] [LocalUserSecurity]
: Completely useless, but also completely harmless.
; Event BadgeService.BadgeAwarded(string message) [RobloxScriptSecurity]
: Useful and completely harmless.
; Function string Script:GetHash() [RobloxPlaceSecurity]
: Useful in very limited cases, and completely harmless.
; Function void Camera:PanUnits(int units) [RobloxScriptSecurity]
; Function bool Camera:TiltUnits(int units) [RobloxScriptSecurity]
; Function bool Camera:Zoom(float distance) [RobloxScriptSecurity]
: Useful and completely harmless.
; Function void GuiService:SendNotification(string title, string text, string image, int duration, Function callback) [RobloxScriptSecurity]
: Useful and completely harmless.
; Function int NetworkServer:GetClientCount() [LocalUserSecurity]
: Not particularly useful, but completely harmless (already possible through other means).
; Property bool Player.Guest [readonly] [RobloxScriptSecurity]
; Function FriendStatus Player:GetFriendStatus(Instance player) [RobloxScriptSecurity]
; Function void Player:RemoveCharacter() [LocalUserSecurity]
; Function Instance Players:GetPlayerByID(int userID) [LocalUserSecurity]
; Event Players.PlayerChatted(PlayerChatType chatType, Instance player, string message, Instance targetPlayer) [LocalUserSecurity]
: Useful, and completely harmless (already possible through other means).

Should be deprecated:
; Property bool Instance.archivable [hidden]
: Most members with a startingLowerCase name were deprecated, but it appears this one was missed. Was replaced by "Archivable".
; Function Vector3 BodyPosition:lastForce()
; Function Vector3 BodyVelocity:lastForce()
: Most members with a startingLowerCase name were deprecated, but it appears this one was missed. Was replaced by "GetLastForce".
; Function void InsertService:Insert(Instance instance)
: Is equivalent to changing the object's parent to the workspace, but may cause problems in some particular cases, and should therefore not be used.
; Property FormFactor FormFactorPart.formFactor [hidden]
: Most members with a startingLowerCase name were deprecated, but it appears this one was missed. Was replaced by "FormFactor".

Should be removed:
; Event AnimationTrack.Stopped() [deprecated]
: This event is deprecated, but the animation API was never released and therefore it is very unlikely for any script to actually use this event.

Should be deprecated and renamed (the old name should be deprecated, and a new equivalent member with another name, not deprecated, should be created):
; Property Vector3 BodyAngularVelocity.angularvelocity
: Should be called "AngularVelocity".
; Property Vector3 BodyAngularVelocity.maxTorque
; Property Vector3 BodyGyro.maxTorque
: Should be called "MaxTorque".
; Property Vector3 BodyForce.force
; Property Vector3 BodyThrust.force
: Should be called "Force".
; Property CoordinateFrame BodyGyro.cframe
: Should be called "CFrame".
; Property Vector3 BodyPosition.maxForce
; Property Vector3 BodyVelocity.maxForce
: Should be called "MaxForce".
; Property Vector3 BodyPosition.position
: Should be called "Position".
; Property Vector3 BodyThrust.location
: Should be called "Location".
; Property Vector3 BodyVelocity.velocity
: Should be called "Velocity".
; Property Color3 Lighting.ColorShift_Bottom
: Should be called "ColorShiftBottom".
; Property Color3 Lighting.ColorShift_Top
: Should be called "ColorShiftTop".
; Event NetworkServer.IncommingConnection(string peer, Instance replicator) [RobloxScriptSecurity]
: Should be called "IncomingConnection".
; Property int Player.userId
: Should be called "UserId".
; Function Instance Players:GetPlayerByID(int userID) [LocalUserSecurity]
: Should be called "GetPlayerByID".
; Property string ReflectionMetadataItem.summary
: Should be called "Summary".

Should not be hidden:
; Property double DoubleConstrainedValue.ConstrainedValue [hidden]
; Property int IntConstrainedValue.ConstrainedValue [hidden]
: Should be possible to set in the property window.

Consider unprotecting:
; Function void Players:SetChatStyle(ChatStyle style = Classic) [LocalUserSecurity]
; Event ScriptContext.CamelCaseViolation(Instance object, string member, Instance script) [RobloxScriptSecurity]
; Event ScriptContext.Error(string message, string stackTrace, Instance script) [RobloxPlaceSecurity]
: Useful and not harmful.

_________________________________________________________________________
Twitter: https://twitter.com/MarkOtaris
Report Abuse
coplox is not online. coplox
Joined: 07 Jun 2008
Total Posts: 3252
31 May 2013 12:18 AM
Well, I wanted my thread to somewhat appeal to the S&I regulars...

But yeah I agree with all of this.
Report Abuse
cntkillme is not online. cntkillme
Joined: 07 Apr 2008
Total Posts: 44956
31 May 2013 01:08 AM
I agree to all of this as well, would be super useful!
Report Abuse
ColorfulBody is not online. ColorfulBody
Joined: 17 Jun 2012
Total Posts: 2353
31 May 2013 01:25 AM
I published a version of this list on my website, so I can update it whenever I see a change in the change log, and so I can edit it; if anyone has suggestions of things to add, tell me: https://twitter.com/MarkOtaris/status/340352922556706816.

_________________________________________________________________________
Twitter: https://twitter.com/MarkOtaris
Report Abuse
ArceusInator is not online. ArceusInator
Joined: 10 Oct 2009
Total Posts: 30553
31 May 2013 01:40 AM
Don't forget: Put BoolValue, BrickColorValue, CFrameValue, etc. under the superclass "ValueContainer", or something similar.
Report Abuse
As8D is online. As8D
Joined: 24 Dec 2009
Total Posts: 2907
31 May 2013 06:32 AM
I agree with most of it.

Though, deprecating or removing a selection of properties and methods might cause trouble, and I'd have to incorporate Jobro13's environment-watcher to my scripts or replace all the .velocity, .position ect. with .Velocity and .Position. Though it would cause older games (owners quit playing Roblox) to break.

Yeh, that or just making both properties and methods and link them somehow.

local bp = Instance.new("BodyPosition")
bp.position = Vector3.new(1, 2, 3)
print(bp.Position)

> 1 2 3


- As, hurhur, I laik :GetHash(), thanx u Mark.
Report Abuse
StealthKing95 is not online. StealthKing95
Joined: 13 Dec 2008
Total Posts: 4263
31 May 2013 07:09 AM
I agree with all of the stuff, although like as8d said things shouldnt be deprecated/removed
Report Abuse
Guarranteed is not online. Guarranteed
Joined: 06 Dec 2010
Total Posts: 2799
31 May 2013 07:29 AM
A lot of things will get "deprecated" over time. It's just how it works.
Report Abuse
Oysi is not online. Oysi
Joined: 06 Jul 2009
Total Posts: 9058
31 May 2013 09:29 AM
[ Content Deleted ]
Report Abuse
coplox is not online. coplox
Joined: 07 Jun 2008
Total Posts: 3252
31 May 2013 11:23 AM
Also,
Don't you just love how open roblox is with their availability of useful functions?
Report Abuse
coplox is not online. coplox
Joined: 07 Jun 2008
Total Posts: 3252
31 May 2013 11:57 AM
Isn't Player:GetUnder13() useful? It doesn't give out their age or anything.
Report Abuse
uyjulian is not online. uyjulian
Joined: 29 Nov 2012
Total Posts: 1214
31 May 2013 12:10 PM
^ What he said
Report Abuse
digpoe is not online. digpoe
Joined: 02 Nov 2008
Total Posts: 9092
31 May 2013 12:16 PM
@coplox

It would be better if they had a player:GetSafeChatEnabled() method because most users lie about their age...
Report Abuse
uyjulian is not online. uyjulian
Joined: 29 Nov 2012
Total Posts: 1214
31 May 2013 12:20 PM
Yeah... liers
Report Abuse
digpoe is not online. digpoe
Joined: 02 Nov 2008
Total Posts: 9092
31 May 2013 12:20 PM
It's 'liars'

:l
Report Abuse
uyjulian is not online. uyjulian
Joined: 29 Nov 2012
Total Posts: 1214
31 May 2013 12:42 PM
Yeah I know, lol
Report Abuse
coplox is not online. coplox
Joined: 07 Jun 2008
Total Posts: 3252
31 May 2013 03:00 PM
If they lie about their age then they would get all the content fit for the age they lied about.

If they complain "OMG WHY DID YOU MAKE BLOOD DEFAULT FOR ME I'M 9!", well, they said they were over 13 so that is what they will get.
Report Abuse
ColorfulBody is not online. ColorfulBody
Joined: 17 Jun 2012
Total Posts: 2353
31 May 2013 04:00 PM
> Though, deprecating or removing a selection of properties and methods might cause trouble, and I'd have to incorporate Jobro13's environment-watcher to my scripts or replace all the .velocity, .position ect. with .Velocity and .Position. Though it would cause older games (owners quit playing Roblox) to break.

> I agree with all of the stuff, although like as8d said things shouldnt be deprecated/removed

What are you both talking about? The only thing I suggested to remove is something that is deprecated and that no user on ROBLOX has ever used. Deprecating something doesn't break anything; deprecation is just a status, it doesn't change how the item behaves in any way.

_________________________________________________________________________
Twitter: https://twitter.com/MarkOtaris
Report Abuse
As8D is online. As8D
Joined: 24 Dec 2009
Total Posts: 2907
31 May 2013 05:18 PM
Ah, okay.

But:
> that no user on ROBLOX has ever used.
> no user


Uhm... so I am "no user"? Or not the only...

Well, the fact that properties are case-sensitive is quite a problem, as typos might ruin a test-run. ):

- As, We Are Talking About Cake. Serious Cake. And Sophisticated Cake.
Report Abuse
ColorfulBody is not online. ColorfulBody
Joined: 17 Jun 2012
Total Posts: 2353
31 May 2013 05:24 PM
> Uhm... so I am "no user"? Or not the only...

You have never used AnimationTrack.Stopped, the only member I have suggested to remove, for the simple reason that you cannot use it in the first place since the animation API is not released.

_________________________________________________________________________
Twitter: https://twitter.com/MarkOtaris
Report Abuse
ColorfulBody is not online. ColorfulBody
Joined: 17 Jun 2012
Total Posts: 2353
31 May 2013 05:24 PM
> Well, the fact that properties are case-sensitive is quite a problem, as typos might ruin a test-run. ):

And this is why I have specifically mentioned that those should be deprecated, and that new equivalents with the correct name should be created.

_________________________________________________________________________
Twitter: https://twitter.com/MarkOtaris
Report Abuse
Seranok is not online. Seranok
Joined: 12 Dec 2009
Total Posts: 11083
31 May 2013 05:45 PM
There seems to be a misunderstanding that a method should only be locked if it is abusable. Actually, many methods are locked because developers don't want to people writing code that relies on them because then the developers can't change or remove the methods at will.
Report Abuse
coplox is not online. coplox
Joined: 07 Jun 2008
Total Posts: 3252
31 May 2013 05:48 PM
Can't they unlock them and label them as experimental/unstable/indev?
Report Abuse
cntkillme is not online. cntkillme
Joined: 07 Apr 2008
Total Posts: 44956
31 May 2013 05:52 PM
Seranok!!!
From foruming to foruming ;)
Report Abuse
Previous Thread :: Next Thread 
Page 1 of 1
 
 
ROBLOX Forum » Game Creation and Development » Scripters
   
 
   
  • About Us
  • Jobs
  • Blog
  • Parents
  • Help
  • Terms
  • Privacy

©2017 Roblox Corporation. Roblox, the Roblox logo, Robux, Bloxy, and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.



Progress
Starting Roblox...
Connecting to Players...
R R

Roblox is now loading. Get ready to play!

R R

You're moments away from getting into the game!

Click here for help

Check Remember my choice and click Launch Application in the dialog box above to join games faster in the future!

Gameplay sponsored by:
Loading 0% - Starting game...
Get more with Builders Club! Join Builders Club
Choose Your Avatar
I have an account
generic image