stravant
|
  |
 |
| Joined: 22 Oct 2007 |
| Total Posts: 2893 |
|
|
| 19 Aug 2013 07:39 PM |
http://www.roblox.com/ROBLOX-Battle-Open-Sourced-place?id=96623001
There's some good stuff in there to check out, such as: - The 3D inventory code that fits a part into a GUI - A backup/rollback system based on place version for the Data Persistence - Dynamic updating of the shop / items via an asset description - A fully secure non-exploitable persistent grid-based inventory - Data Persistence automatically switches to an offline mode which saves to a stringvalue for local testing.
Quite a lot of code to digest, but if you're able to get the pieces broken apart you should be able to get quite a lot of useful components out of it. |
|
|
| Report Abuse |
|
|
Sorcus
|
  |
 |
| Joined: 29 Nov 2010 |
| Total Posts: 3775 |
|
| |
|
mew903
|
  |
| Joined: 03 Aug 2008 |
| Total Posts: 22071 |
|
| |
|
|
| 19 Aug 2013 07:41 PM |
| Does this mean we can expect to find 100 copied versions with different names and maps ripped from free models by tomorrow? ._. |
|
|
| Report Abuse |
|
|
Sorcus
|
  |
 |
| Joined: 29 Nov 2010 |
| Total Posts: 3775 |
|
|
| 19 Aug 2013 07:42 PM |
That is correct Notun! We share because we care!
-- Sorcus |
|
|
| Report Abuse |
|
|
mew903
|
  |
| Joined: 03 Aug 2008 |
| Total Posts: 22071 |
|
|
| 19 Aug 2013 07:44 PM |
@Not
We should get to editing it to fit The Battle and include the black helicopters/sporks. |
|
|
| Report Abuse |
|
|
cntkillme
|
  |
| Joined: 07 Apr 2008 |
| Total Posts: 44956 |
|
| |
|
mew903
|
  |
| Joined: 03 Aug 2008 |
| Total Posts: 22071 |
|
|
| 19 Aug 2013 07:44 PM |
| Oh and @Sorcus do you still read emails? |
|
|
| Report Abuse |
|
|
blocco
|
  |
| Joined: 14 Aug 2008 |
| Total Posts: 29474 |
|
|
| 19 Aug 2013 07:45 PM |
| Awwwwww man I was gonna say FIRST |
|
|
| Report Abuse |
|
|
ZachBloxx
|
  |
| Joined: 26 Jun 2013 |
| Total Posts: 2833 |
|
|
| 19 Aug 2013 07:45 PM |
| I can see the copies now.. |
|
|
| Report Abuse |
|
|
|
| 19 Aug 2013 07:48 PM |
"A fully secure non-exploitable persistent grid-based inventory"
By non-exploitable, what do you mean? Is player stats not stored in the player, but elsewhere? DOES that make it non-exploitable? |
|
|
| Report Abuse |
|
|
Sorcus
|
  |
 |
| Joined: 29 Nov 2010 |
| Total Posts: 3775 |
|
|
| 19 Aug 2013 07:51 PM |
It's entirely server based. That's what he means.
Also Mew, yuss, I do read my emails.
-- Sorcus |
|
|
| Report Abuse |
|
|
|
| 19 Aug 2013 07:52 PM |
| So if a value in a player is changed, a server-side script checks its value against what should be correct and if it is not it changes it back, and then the actual data is just there for GUIs and stuff? |
|
|
| Report Abuse |
|
|
cntkillme
|
  |
| Joined: 07 Apr 2008 |
| Total Posts: 44956 |
|
|
| 19 Aug 2013 07:54 PM |
I would think it's like Survival 303's inventory (or I think it's like that)
-If has a non-valid tool in backpack -remove tool/kick player? |
|
|
| Report Abuse |
|
|
|
| 19 Aug 2013 07:54 PM |
| But I would still prefer the ability to create Animations ourselves over making Roblox Battle open... :( |
|
|
| Report Abuse |
|
|
Sorcus
|
  |
 |
| Joined: 29 Nov 2010 |
| Total Posts: 3775 |
|
| |
|
cntkillme
|
  |
| Joined: 07 Apr 2008 |
| Total Posts: 44956 |
|
| |
|
stravant
|
  |
 |
| Joined: 22 Oct 2007 |
| Total Posts: 2893 |
|
|
| 19 Aug 2013 07:56 PM |
"So if a value in a player is changed, a server-side script checks its value against what should be correct and if it is not it changes it back"
Even better, the server doesn't even need to "change it back" at all, it just doesn't care what the public value is because it operates on it's own internal value and simply updates the public one when the private one changes.
This is done through a "MirrorValue" class that you can find in the code, which contains a private value, and automatically updates some Value* object in the game hierarchy as that private value changes. |
|
|
| Report Abuse |
|
|
|
| 19 Aug 2013 07:58 PM |
Aren't half of the features coming soon..? I still do not understand what happened to Prism/Pyramid/whateverParts... I used them in one of the test servers and they worked just fine :P
Still trying to find a way to make a completely in-exploitable RPG inventory system with NPC chatting (Where talking to NPCs will complete quest objectives and give you rewards)... Any ideas? Maybe just make it so utterly complex nobody but me can understand it. Give items really obscure names and such... |
|
|
| Report Abuse |
|
|
blocco
|
  |
| Joined: 14 Aug 2008 |
| Total Posts: 29474 |
|
|
| 19 Aug 2013 07:59 PM |
| Any developer who cares about exploitations should do everything server-sided. Except the things that shouldn't be server-sided. |
|
|
| Report Abuse |
|
|
cntkillme
|
  |
| Joined: 07 Apr 2008 |
| Total Posts: 44956 |
|
|
| 19 Aug 2013 08:03 PM |
^^ What if it's just a simple GUI script, like a reset button? |
|
|
| Report Abuse |
|
|
blocco
|
  |
| Joined: 14 Aug 2008 |
| Total Posts: 29474 |
|
|
| 19 Aug 2013 08:05 PM |
-------------------- --| WaitForChild |-- -------------------- -- Waits for parent.child to exist, then returns it local function WaitForChild(parent, childName) assert(parent, "ERROR: WaitForChild: parent is nil") while not parent:FindFirstChild(childName) do parent.ChildAdded:wait() end return parent[childName] end
You better have a good excuse for this. |
|
|
| Report Abuse |
|
|
|
| 19 Aug 2013 08:08 PM |
| You can download the place here: http://c3.rbxcdn.com/010742b411a2c92a8b7b249aaeb628e6 |
|
|
| Report Abuse |
|
|
|
| 19 Aug 2013 08:13 PM |
| But what about things like NPC chatting..? How can I have it server side when the entire NPC model is client side? I cant pass data to the server, as that could be exploited... |
|
|
| Report Abuse |
|
|
stravant
|
  |
 |
| Joined: 22 Oct 2007 |
| Total Posts: 2893 |
|
|
| 19 Aug 2013 08:14 PM |
"You better have a good excuse for this."
Battle existed before WaitForChild, and you don't re-write code that still works unless you have a good reason to. |
|
|
| Report Abuse |
|
|