of     1   

chabad360
#172645877Friday, August 28, 2015 6:56 PM GMT

Imagine opening up Roblox studio, opening a zombie apocalypse project,and typing in the command bar, "Instance.new("Zombie", game.workspace)", and inserting a zombie :), then you click on the newly created instance and change the "speed" property from 10 to 50, I could explain more but I think you get the idea, custom instances, this is what I want, to be added to Roblox. But here's a question your bound to ask, how would they work? Well, allow me to explain, take a look at the game hierarchy below (legend: = - object, -- - property). game |=workspace ||=zombie |||-corescript = game.workspace.zombie.main |||-properties = game.workspace.zombie.propfolder |||-events = game.workspace.zombie.events |||=main |||=handle (all parts of zombie are linked to this in some way, could be in place of humanoidrootpart) |||=events ||||=touched (remoteevent) |||=propfolder ||||=speed -Value = 10 ||||=health -Value = 100 See what I mean? Now I'll explain how this works. First you'd insert a object called "CustomInstance" (duh), then you'd add a events folder, script (to be the core script), a properties folder,a part handle (if it needs one), and any other folders and instances you could possibly need. Next, you'd link all the folders to their corresponding properties, and link anything else it will ask you to link (if applicable). QA: Q: What is the core script for? A: The core script is the main script for the instance, so the core system would be based here. Any other scripts that you want to be part of or in addition to the core script should be module scripts, and then referenced (with "require()) in the core script. Q: How would events work? A: They would be remote events and they would only be able to be fired by the core script, and the event itself would be called whatever the remote events name is (i.e. if the remote event is named "killed", then the function would be like this: game.workspace.zombie.killed:connect(function(killer) -- code goes here end), etc.) More Questions will be posted here and answered as they are asked.
chabad360
#172646937Friday, August 28, 2015 7:13 PM GMT

More QA: Q: How would Instance.new inserting work? A: It could work two ways, 1. If the custom instance has already been inserted in to the game then you could just type (zombie as a example): "Instance.new("Zombie", game.workspace)". 2. If the custom instance hasn't been inserted yet then you could just type: "Instance.new(123456789, game.workspace)" and insert a custom instance with the asset id of 12345678. Q: What would I do after I'm done making my custom instance? A: You would type in to the command bar (zombie is the name of the custom instance): "game.workspace.zombie:compile()", and then you would right-click on the newly created instance, then you would click "Publish to Roblox as a custom instance" and then it would show the upload dialog. More QA coming soon.
EmporerSuperNova
#172646982Friday, August 28, 2015 7:13 PM GMT

support Nice idea
chabad360
#172659300Friday, August 28, 2015 9:57 PM GMT

More QA: Q: What is this good for? A: Egg hunt (I.e. mesh id, badge id, name, etc.), database (i.e. :newValue("name","bool", true), :getValue("name"), etc.), fireworks (i.e. color, distance, style, etc.), the possibilities are endless. Q: Why should I support this? A: Because -as I said before- the possibilities for this are endless and you also add one more definition to the phrase "infinite possibilities", and if that's not good enough, try to think of what you'd be able to do with is for your own game.
chabad360
#172838152Sunday, August 30, 2015 7:23 PM GMT

More QA: Q: Can I add my own custom icons for my custom instances? A: You can! The icons should be the same size as plugin icons and will be included by putting the asset link in a property called "IconID" or the like. Q: How will other people be able to see my and use my custom instance? A: The same way as models, you can upload them to the library, and other people can insert the from the toolbox or by typing in the command bar, "Instance.new(123456789)" (123456789 as the asset id of a custom instance), or if it's already inserted in the game they could type, "Instance.new("Zombie")".
Klink45
#172838483Sunday, August 30, 2015 7:27 PM GMT

Learn to script. Just type this into the command bar to "make" a new zombie: local Z = Zombie:Clone().Parent = game.Workspace u sicko!
Klink45
#172838572Sunday, August 30, 2015 7:28 PM GMT

And might I mention that free models are also basically "custom" instances. u sicko!
wonderful72pike
#172838923Sunday, August 30, 2015 7:32 PM GMT

@Klink45 He's saying you should be able to add Instances to use with the Instance.new() command.
Klink45
#172839191Sunday, August 30, 2015 7:35 PM GMT

Which is pointless because we basically already have "custom" instances. u sicko!
chabad360
#172845093Sunday, August 30, 2015 8:44 PM GMT

Klink, you probably don't get my point, this is supposed to add a level of simplicity to many things which need to be done quite manually, and in some cases this includes making a new script which, if everything is presented nicely, you wouldn't need to do that, which is why I brought the example of a zombie as a custom instance, for instead of modifying and adding scripts you can simply change properties and make scripts to interface with the zombie.
chabad360
#172845270Sunday, August 30, 2015 8:46 PM GMT

Also I wouldn't bring this in such great detail if I didn't know how to script. u sicko!
chabad360
#173573255Monday, September 07, 2015 7:03 PM GMT

More QA: Q: Can I lock some of the properties in my custom instance, so that they can only be edited by scripts, or locked so that they can only be edited internally? A: Yes you can, to do this, you'd put the properties that you want locked in a folder called scriptedproperties, and ones that can only be edited internally, you put in a folder called, lockedproperties. Q: Can I put some properties inside another property like in UDim2 and Vector3 properties? A: Yes, by putting one property inside of another. Q: Can I make enums for my properties, or an enum property with custom enums? A: Yes, but we have two options for how we can do enums. 1. Make a folder called enums, and put an StringValue with the value being the name of the eunum, inside the folder, and put StringValues inside of it with the value being what you the enum property to be called, and make an InstanceValue called the enums name and its value being the Parent enum you made, and then it would put them in a dropdown menu like regular enum properties. 2. Roblox would have to make a property called and EnumValue where you would put StringValues inside of it and it would put them all in a dropdown menu like regular property enums. (If you need more explanation, simply ask :)
Klink45
#173580013Monday, September 07, 2015 7:58 PM GMT

There's so much wrong with this idea. For starters: 1. How're users supposed to use these instances across games? If the instance is accessible like a free model, than once again the free model argument still wins. 2. What functions and other things could you do with an instance? Some could break it. 3. Instances shouldn't be something big like a "zombie" for starters, as there's a likely chance that "zombie" has multiple parts. Honestly, use a free model instead. u sicko!
FOXmcloud021
#173580480Monday, September 07, 2015 8:02 PM GMT

Support This would make everything easier Ratatat is life
MK_0
#173580725Monday, September 07, 2015 8:04 PM GMT

You really have 0 idea what you are talking about.
ray_revenge
#173580946Monday, September 07, 2015 8:05 PM GMT

No support You could simply wrap Instance and/or Enum. And even then it's not practical since you could just clone something "You're all idiots"
FOXmcloud021
#173582137Monday, September 07, 2015 8:16 PM GMT

Nevermind I read over it again, I don't think it's necessary It can already be done pretty much No support Ratatat is life
lostend
#173586394Monday, September 07, 2015 8:55 PM GMT

Already possible, and it's more simple to just clone it. Want custom properties, insert a value into the object. This idea is inpractical and bad.

    of     1