A NEW way to SAVE PLAYER DATA In Roblox Studio - Roblox Studio ADVANCED scripting Tutorial

  Рет қаралды 16,228

AshRBX

AshRBX

Күн бұрын

Пікірлер: 142
@ropiano3508
@ropiano3508 6 ай бұрын
according to my calculations the digit at the start is ≈ 1300 * 100 (the entire scroll bar was 24 cm in total and the handle or whatever its called was 1.2 cm on my screen. every section was 65 times 100 and 24/1.2 = 20.... 65 * 20 = 1300) and that is the following number: 5942169568057011403095792883692661214545063638617044559201298818056420363412268531209438987336264838082068624310274252461877781777148413232577594529166601543475800187967365649388200600339354852289854909350188352728393724833906795141762821818915727695634207075742550358719548358002700671320135619591720585998152899410197943778212705792282234477865464416557994243763989768220269864257073917172010601058498587534322458407597764825565463121566252845203252770299250877400188571652119243476958675489271197707574847344324982589672873283793082396880458279866243397215416009640953166268226943403679395450018609221332638336615078510550954241511122201523828731961837611785158200221685703258309921390784150384326767816900933972296864187237402673008298497489971271667423416958774042468039185305916336190717684592608808341359492292530595773531075919510881989056843121076930757518058001105477077280752021703752945174428468821434007387916734267453964297460347128757728001737732639124800291267059470450507813540597366224474729749613162460997340429067794178595959425006135576178370893713689779116320139784861985669355786500119322895571862049754874682025574393444574698711998396672884897630500 (correct me if im wrong, i tried my best to explain it with my flawed english) also with handle i mean the thing you use to scroll from left to right idk man hope you understand
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
Hahahaha A for effort bro 😂
@xtremev13
@xtremev13 6 ай бұрын
Not reading alldat.
@rato_yes
@rato_yes 6 ай бұрын
the real exam answer: me who answered 2 with no explanation whatsoever: Close enough
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
@@rato_yes 🤣🤣
@squigole
@squigole 6 ай бұрын
thats 6 x 10^10^3 or a 6 followed by 1000 0's
@ottoman.2
@ottoman.2 6 ай бұрын
i swear the best guide for roblox studio you just need to be little advanced to iderstand this btw welcome back
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
Appreciate it bro, definitely one of the more advanced tutorials on the channel but it’s definitely a valuable topic! Appreciate you watching 👍
@shadnatic
@shadnatic 3 ай бұрын
thanks ashrbx now I will be able to optimize 1 mb of memory to my game.
@gameroffire2587
@gameroffire2587 22 сағат бұрын
I'm not sure if I will get a response, but I am trying to figure out how to save and load character unlocks and stuff. For example, you can purchase a character, and then whenever you join back into the game, it will still be unlocked. Also, you can purchase upgrades for every character, which also should save. Looking for answers for the game I'm working on.
@Charlie-mp1ch
@Charlie-mp1ch 5 ай бұрын
Why do you have semicolons after your services? Specifically at 11:58
@AshRBX_dev
@AshRBX_dev 5 ай бұрын
This is not something you need it is something syntactically that is accepted by the grammar that you do not need (force of habit from me 😅)
@tatilişte
@tatilişte 5 ай бұрын
Hello, I'm at 21:55 . Do i need to write cost of upgrade to saved? I have 5 things can be upgraded and price is increasing at every purchase. Can you answer pls?
@AshRBX_dev
@AshRBX_dev 5 ай бұрын
Depends on how the cost increases, if the cost increases in a linear fashion, then you can store the starter cost only and use a linear function to get the value to the upgrade cost (eg default cost * level * 1.5) something like that, if you want random pricing for each upgrade, then you would assign an ID to each priced item and store it as a separate ID
@Marisol-Channel
@Marisol-Channel 4 ай бұрын
Really don't use single-letter variables, they make it extreamly difficult to figure out what code does in the future and overall looks weird.
@AshRBX_dev
@AshRBX_dev 4 ай бұрын
Appreciate the feedback, I should have not used them you’re correct on that will refrain from it in the future 👍👍
@sebcalvert6534
@sebcalvert6534 2 ай бұрын
I love your videos it's clear you put a lot of effort in to make it understandable and engaging - so thanks :) It's not really a programming suggestion but more of a suggestion for concept tutorials. I struggle with trying to think of elegant solutions for integrating multiple systems. For example if I were to create a CPR system, how I would make that work with a handcuff tool without bugs. Another example is if I wanted to have a movement system involving inertia synergise with a vaulting/ wall climbing system. I just have no idea what the best practice is to allow systems to work together. Another video suggestion is just coming up with game mechanics. I have lots of ideas but no idea of how to implement them. I'm sure you can think of games you have played where you have thought that their game mechanics are just brilliant and so creative. Do you have any methods or ideas on how to think of audience appropriate ways to bring a conceptual idea to life. An example of this could be if I wanted to create an in-depth yet easy to understand medic system. How could I allow 7 year olds to use it without it being too complex, whilst still challenging more adept players. Thanks for your time keep up the videos
@ropiano3508
@ropiano3508 6 ай бұрын
He's back with the exact stuff i was just struggling with!! Thanks alot man!
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
No problem appreciate you sticking around 🙏 glad I could help with this as there’s not a lot out there about it
@Fujui
@Fujui 5 ай бұрын
Please go over general use of this pleeeeease
@scriptifyy
@scriptifyy 6 ай бұрын
20:23 you don't really need that function since you could do #table which returns the number of indexes a table has..
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
I see where you’re coming from, however the system relies on the fact that you can delete indexes, which means that this count function is required as the # operator is only a sound operation on arrays 👍 I believe I explain it in a bit more detail after this timestamp if you’d like more reasoning, but appreciate the comment
@tatilişte
@tatilişte 5 ай бұрын
i got this error Module code did not return exactly one value - Server - Server:9 Stack Begin - Studio Script 'ServerScriptService.DataStore.Server', Line 9 - Studio - Server:9 Stack End - Studio
@AshRBX_dev
@AshRBX_dev 5 ай бұрын
This error means that the module you are requiring on line 9 did not return only 1 table which is causing this error check the module you are requiring on line 9 in server and find all the return statements to make sure
@spoon1126
@spoon1126 4 ай бұрын
what would you think is the best use for an inventory system with this method?
@khile5568
@khile5568 5 ай бұрын
Hi, Nothing seems to be saving. In my GetMemoryAddress function, when ID is equal to IDtoFind, returning the address and count, it returns multiple times. I think this may be something to do with it. I can provide more info if you could help!
@AshRBX_dev
@AshRBX_dev 5 ай бұрын
The get memory address should only return once but will return 2 values as you say the count and the address. If it is returning 2 states I would say there’s an extra memory address call somewhere that may be causing it. If you join the discord server I may be able to look at your functions and help with a little more detail 👍
@khile5568
@khile5568 5 ай бұрын
@@AshRBX_dev will do, is it okay if i ping you for help?
@il1ekp1e4
@il1ekp1e4 6 ай бұрын
Although it's a powerful system, a more managable system would be to use tables, and then write all the table information into a buffer when saving (prefarably a function or something). Assuming I did not skip over anything, you did not write the length to the string so it will have more bytes then needed. I believe it would be more beneficial to just write the length using an unsigned 8 bit integer. It would be useful to keep it in a buffer state if you're managing large amounts of data though. Nice tutorial though
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
I do mention in the video that tables are definitely more readable, however which part are you referencing here? Are you talking about saving the cube string to the buffer? I do mention that when setting up the data sizes table, you should know what sizes your data will take and the system should probably not be used if you don’t know how large the data will be before running the game as the system relies on the data map having the correct sizes on compile time. There are definitely advantages and disadvantages of using both systems it’s just whatever fits your requirements is the more suitable in my opinion 👍 appreciate the analysis though
@ArrogantBuilder
@ArrogantBuilder 5 ай бұрын
hey Ash, remember your pirate game devlog? You said you'd make a buoyancy tutorial, could you please make it soon in the near future or tell me the script because I'm sure it's probably short, I've been trying for a while now and I can't figure it out.
@tikoko_
@tikoko_ 6 ай бұрын
I am new to this channel and got sent the video by a friend. Great tutorial, I was able to understand everything well. But wouldnt it be easier to convert tables into buffers when saving? Because storing everything in a buffer might be complicated at some point. If I were to implement this, I would prefer dealing with tables, then doing conversions before saving.
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
This is definitely an option / alternative solution if you do not want to deal with buffers in your game. However, the reason we store everything in a buffer is so that we reduce the memory usage during runtime. This saves us from having to convert the buffer to a table and back each time and greatly reduces heap memory usage from the tables that would be saving the data if we were using that method. This can be greatly advantageous if you are using large amounts of data however if you are saving only a few attributes, then either solution is usually completely fine 👍 To answer your question, yes it would be easier to store into tables and convert, however it would take more memory to save and there are more advantages to buffers such as using less bandwidth than tables to send over the network and reading and writing to buffers will be faster. Hope this makes sense and glad you understand everything 👍👍
@tikoko_
@tikoko_ 6 ай бұрын
@@AshRBX_dev Thanks for your reply. And keep on going. You are very underrated.
@engineser6470
@engineser6470 4 ай бұрын
is it possible to transfer player data with this system to a new world? we have the situation that we have a game which has been published and some players already played and has their data there, so but now we have to transfer this world into a development group and there the world has to be published new, but what we do not know how to transfer the player data from the old world to the new publishing. is there a way to do this? or do we really have to this by hand each one of them
@Jaypiasco
@Jaypiasco 6 ай бұрын
my king !! welcome back!
@AshRBX_dev
@AshRBX_dev 5 ай бұрын
Ayyy appreciate it thanks for coming back to watch 👍
@dizrods5609
@dizrods5609 5 ай бұрын
Hey im struggling a lot im trying to make a coins and kills also coins pick up but it wont save anything at all what can i do? pls help
@AshRBX_dev
@AshRBX_dev 5 ай бұрын
First of all you need to check what sizes your data will max at and use that size in your datasizes table (for a test maybe set ID 1 to 4 bytes) so [1] = 4 in the datasizes table. Next you need to check how you’re writing the data. When you leave the game, you are going to want to use the writeData() function, you’re going to want to use the buffer.writef32 function and save your coins values. Finally you need to read the data in the join function. Once you have done this, you can finally set up the kills which to update your coins value you would just read the current kills value and then add 1 to that and save it to the buffer using the write data function
@mattemas2605
@mattemas2605 6 ай бұрын
Is it really worth it? Doesn't it make troubleshooting and data recovery/versioning harder? I mean, datastores allow you to read 4MB at once and write 1MB if i remember well, i never got any issues even when saving big dicts. The major problems of saving data is the trash round system of Roblox which rounds up floats to about its 10th cypher (as you can see at 51:37). The best compromise between performance and readability is to convert all the floating point numvers to save to integers and reconvert them to floating points once the player rejoins. Doing so you guarantee that a number like 10.23 is saved as 1023 and not as 10.29999999 and so on. Dicts are converted to strings once saved (JSON i think, not sure about it tho) and saving that whole lot of decimal cyphers increases a lot the byte size
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
The short answer here is that it depends on your scenario. What you say about balancing readability and performance is very important. You are correct when stating it would be more difficult to track byte data and recover lost data if you make changes to the wrong ID / byte allocation. However, this system becomes very useful in scenarios where you for example have to send very large frames of data over the network which i have had issues with whilst dealing with certain projects. Using buffers in these cases fix certain issues like this. However, If you are storing very small amounts of data and maximum performance is not for you, then using tables is no issue whatsoever and will most likely be the main use in datastores for a long time (until roblox either improves the buffer type or makes a new type that really acts like a byte array in java). Hope this helps explain some reasoning 👍
@krocker1598
@krocker1598 6 ай бұрын
Using this type of data store to store higher values of the player data will result in setting it back to a small number
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
If you want to store higher values (say 1 million) you need to allocate the ID more bytes in the data sizes table for example saving a value like 1 million would need a 16 bit number so 4 bytes should be enough. Then when you go to write this data, you need to change the function in the write data function when you leave the game so for 4 bytes it would be buffer.writeu16 (or whatever function is in the table in the ReadFunction of the readwrite function module). This should store your larger data and if you need help with this be sure to join my discord and drop me a message 👍
@crazymisterfish9614
@crazymisterfish9614 5 ай бұрын
i got a debugging problem whenever i launch it on local DM = {};
@AshRBX_dev
@AshRBX_dev 5 ай бұрын
What kind of error? If you find out what error I can try help further 👍
@llebenlle_
@llebenlle_ 6 ай бұрын
Wow!! Tysm for explaining all this.
@llebenlle_
@llebenlle_ 6 ай бұрын
Also, what is the name of the background song?
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
No worries, I’m glad it could help! If you give me a timestamp for the song you want I can let you know, I use a couple of songs in the video!
@swordlegend3256
@swordlegend3256 3 ай бұрын
buffers are amazing with then i reduced bandwidth in my td game by a huge amount. for 100 moving enemy's i get 1kb/s also according to my calculations with this system you coud save 160000 block changes in a infinite generating minecraft world also assuming you only save the changes that are made like block broken or placed instead of saving the entire chunk. for example instead of saving the chunk you coud sacrifice 1 of those blocks and save the seed and when player re-joins load the world from the seed and only change the blocks that were broken or placed.
@Jdbfjdbjej
@Jdbfjdbjej 5 ай бұрын
i watched this video twice but i can't understand how to get the date to use in another script. Can you explain for me
@AshRBX_dev
@AshRBX_dev 5 ай бұрын
Your datastore module script will contain all the data for every player in the game, to access the data from another script, you can require the datastore module script that we use as a “player class table” to access the buffer of the player. Then you can read the data using the data manager module
@dv.sv_g
@dv.sv_g 6 ай бұрын
Excellent video! However, I wondered this buffer method would still be effective if I use it with a ProfileService?
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
I will have a look at this, I definitely think this is possible and will post something in my discord server about it with an example on how to use so make sure to join that and I’ll get back to you on this 👍
@MagicalGames
@MagicalGames 6 ай бұрын
Amazing video, not sure how I would save tables with this (like a data template thing from idk profile service) and like knowing the size but yeah.
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
Yeah this is definitely a system that would not be used along side profile service rather something that could replace it, each player will have a buffer which would act as the player “profile”. I would say if you wanted to save a table, when the player leaves, you can convert your table to this system by looping through all of the data in your table and saving each element. If you would like to try this I can help in more detail via my discord server 👍👍
@speedyg2295
@speedyg2295 6 ай бұрын
Lets lay you create a game with NPC that you have many times you visit him or them. And you get offered multiple choice questions. How do you recommend storying the data of the questions to minimize size of the game? Storing the questions in a table of them or just hard script each time visited. and create a counter basically this is visit 32 goto question 32. Not sure if that makes sense. But hopefully you see how the game size can get rather large with a lot of choices in the game which each answer can make a difference in the play.
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
If you are asking to choose between the 2 options suggested in your comment, definitely the table option rather than hard code. This will be more readable for yourself in the future if you need to add more questions if needed. The counter var is a good way to track the question you are on as you suggest as well. In terms of storing the questions in the buffer system for the video, you could allocate each question an ID with a further N Ids for the N answers to that question. These would have to be stored as strings which i cover in the video, however using the buffer method would be the most memory efficient way to store those strings (just not the most readable so if you're not 100% confident with it you can use tables) Hope this helps answer your question
@speedyg2295
@speedyg2295 6 ай бұрын
@@AshRBX_dev I was just thinking about the size problem. A multiple choice has about 4 choices. Plus you have the question. So take the this line times 5 with a thru d as choices. Thats pretty big. Think of lets say 100 questions and we will make levels to transport too. I was possibly thinking a table of correct answers and a table of incorrect answers. When the correct answer is selected it just gets removed from that table and put into the Answered table. For back up. Since we agree tables are the best way to go with this large endeavor. Would using your memory space allocator be the smart way to go. Because in saving the tables would have to be saved to keep track of the answered ones and the unanswered. Unless there was a way that Roblox could reach to a .csv file with that info that can be re-saved with the information. Starting to get confused with python sorry. Plus if you transport to a different Level would that mean that it has to bring the information from level 1 along with it becuase they have to be saved together. Wow think i bit off a big bite on this idea.
@DynoDeso
@DynoDeso 6 ай бұрын
Haven't watched through it fully, but are you able to store tables?? Say I wanted to store all the items a player has: Weapons = { ['randomweaponsword'] = {level = 2, rarity = 'Legendary'} }
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
Yes, so in this system you could allocate a batch of IDs per weapon. This system discourages the use of storing large stings by replacing it with an ID system, so you’d store the level and rarity in the IDs 1 and 2 for example, but you could add a comment next to the data sizes table that tells you what ID relates to what sword. If you wanted to store the name, you could allocate an ID to the name and give it the size of the length of the name if you wanted. If you need help In practise with this idea, be sure to join my discord server and pop me a message and I’ll be sure to help out
@SadlekAski
@SadlekAski 6 ай бұрын
Couldn't you always save tables in datastores?
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
@@SadlekAski You can, but the point of the system is that you save the data into a buffer rather than a table during runtime and into the datastore. As proved in the video, tables will take more memory in your database to store the data than buffers and when storing a large amount of data this can become an issue
@SadlekAski
@SadlekAski 6 ай бұрын
@@AshRBX_dev oh
@scriptifyy
@scriptifyy 6 ай бұрын
ahh yes finally a tutorial on buffers
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
Yes! I’ve not seen many tutorials on buffers and think they’re a very powerful data type
@jlboss_ps4751
@jlboss_ps4751 5 ай бұрын
What should i try and do/make as a new scripter?
@AshRBX_dev
@AshRBX_dev 5 ай бұрын
I would start with small projects like moving 3D objects, animating UI or making a simple round system or leaderboard 👍
@ArialSoftware
@ArialSoftware 6 ай бұрын
finally man thanks you for returning
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
No worries appreciate you sticking around 👍
@zzainz
@zzainz 6 ай бұрын
hi there do you know how u can make it so if a player reaches a specific place for ex. i have a backrooms game and a player reaches level 2. how do i make it so that when they rejoin they spawn into level 2?
@ammrysir
@ammrysir 6 ай бұрын
Save and store latest player position based on checkpoint in datastore
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
All you'd need to do is write the level into the buffer as an 8 bit unsigned integer (if you have less than 256 levels), as @ammrysir says in his reply you can also store the position similarly to how I store the cube position in the video
@zzainz
@zzainz 6 ай бұрын
@@AshRBX_dev oh thank you!
@Aggelosyea
@Aggelosyea 6 ай бұрын
uh so can somebody explain me if it is better and the difrences of it than datastore in a nutshell pls
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
Of course! The differences to using this method rather than the traditional tabular method is that the amount of bytes it will take to store the elements you need to store is significantly less. This system still uses datastores but instead of storing a large string or tables, it stores the byte data inside of the buffer which greatly optimises the database. There are some cases with this system that you probably should not use this system and use a table mixed with buffers to store your data which I explain in the video in the use cases section. Hope this helps explain it and if you have any more questions be sure to ask 👍
@ayaankothari9526
@ayaankothari9526 5 ай бұрын
@@AshRBX_devI’m a new dev, but does it really matter saving bytes using this method? This is a genuine question, if it’s worth saving bytes please state advantages of saving bytes using this method, does it cost money to store a lot of information using the traditional method? And is this method better? Please respond I’m a little late, btw great vid!
@anotherdeadchannel
@anotherdeadchannel 4 ай бұрын
@@ayaankothari9526 I think saving large amounts of data and trying to retreive it takes more time. Also, roblox has limits to how much you can POST
@alt_baconxd
@alt_baconxd 6 ай бұрын
You said tables in a local scope don't take up that much space in LuaHeap, but can you explain why that is or what LuaHeap is?
@alt_baconxd
@alt_baconxd 6 ай бұрын
it gets garbage collected after the func is done running?
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
Of course! So when a variable is stored it will take up memory in the luau heap memory, this is memory that is being used during runtime and when you store a table and keep it in the scope (the script is still running and you can access the variable at the point that the script is running) then it will take up heap memory. So when we create the tables in the system, I use tables in this case as when we assign the variable to the table, it will only be in the scope whilst we can reference that variable. Once the function ends, the local variable goes out of scope (we can’t access it from the point we are in the script) and will be garbage collected meaning that the memory will be freed up in the heap memory this is visualised by the memory categories section
@alt_baconxd
@alt_baconxd 6 ай бұрын
@@AshRBX_dev Thank You for writing such a detailed reply. Now I finally understand what Luau Heap and garbage collection is! 👍
@TQNY
@TQNY 4 ай бұрын
Way over my head stuff lol ... and speaking fast didn't help either 🤣 I'll stick to the normal way for now - but good to know none the less.
@AshRBX_dev
@AshRBX_dev 4 ай бұрын
🤣 apologies for the faster speaking, didn’t want the video to be 3 hrs long 💀
@vrfrenzy8451
@vrfrenzy8451 5 ай бұрын
woah my head HURTS from this, I need it, but my brain cannot comprehend what's going on😭I'm pretty "advanced" on studio just not this advanced
@AshRBX_dev
@AshRBX_dev 5 ай бұрын
If you wanna use it there’s an RBXL file in the description you can download without worrying about bugs 👍
@mirtlife7740
@mirtlife7740 6 ай бұрын
please teach me how to save the date and leaderboards such as: Clicks, Rebirths, Gems. and so that when he took the reward from the chest, it was also saved in the same way as what the player had called for
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
If you need help with the sizes you should use for different data you want to save with the system, you can look in the description and view the text guide i created that goes through me saving data. If you need further help, be sure to join my discord linked in the description and ill be happy to help draft up something with you
@rorregalerg8932
@rorregalerg8932 6 ай бұрын
so glad to see you here, thanks to you i started to try programming paradigms for my games
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
That’s great! They become really beneficial not only for organisation of scripts but also for learning to solve problems in unique ways which will make you a better programmer 👍👍
@negazuotas
@negazuotas 5 ай бұрын
The system itself looks amazing, now i just need to know how do i connect the localscript on my screengui to gain the score. Im the beginner in roblox game making comunity and i hella lost rn XD
@AshRBX_dev
@AshRBX_dev 5 ай бұрын
That’s great! To connect a local script, you would need to go from client to server then save the data into the server buffers. You can use a remote event to do this 👍
@Mootereo
@Mootereo 6 ай бұрын
THE GOAT IS BACK
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
YESSSS
@TheArcadeMonk
@TheArcadeMonk 9 күн бұрын
Fyi the official roblox style guide recommends against using semicolons
@AshRBX_dev
@AshRBX_dev 4 күн бұрын
Apologies, this is true and should have been used, any future videos and uploaded code will use the recommended style and will be commented 👍
@TheArcadeMonk
@TheArcadeMonk 4 күн бұрын
@ No worries. Love your videos
@VectoorX
@VectoorX 6 ай бұрын
He's back!
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
Yes! Thanks for sticking around
@PurpleGuyBloxian
@PurpleGuyBloxian 5 ай бұрын
Could you add creative mode to your minecraft game?
@AxoltolGaming
@AxoltolGaming 6 ай бұрын
yoo hes backk!!
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
Yesss thanks for sticking around whilst I left the channel to die 😭😂👍
@HarryLikesLambos
@HarryLikesLambos 6 ай бұрын
Where has the uploads been? and when is more making minecraft?
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
The Minecraft series has been in the works for this year over the last few months, will be uploading a video on this soon and there is a lot to go through 👍
@SamRoblox_
@SamRoblox_ 6 ай бұрын
HE IS BACK!
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
He is officially back
@alessved
@alessved 5 ай бұрын
when are you gonna do a new minecraft in roblox video?
@AshRBX_dev
@AshRBX_dev 5 ай бұрын
Once I’ve returned to my new flat, wifi has been out for 3 weeks now and will return at the end of the month to make more videos including this one first 👀
@alessved
@alessved 5 ай бұрын
@@AshRBX_dev yay ill wait for it
@MopBK
@MopBK 5 ай бұрын
I spent 50 minutes watching this, now I have to watch it again so I can copy down the code. 😔
@MopBK
@MopBK 5 ай бұрын
pls give a google doc where i can copy of the code uwu
@AshRBX_dev
@AshRBX_dev 5 ай бұрын
@@MopBK There is an RBXL file in the description that you can download hopefully it works if not let me know
@MopBK
@MopBK 5 ай бұрын
@@AshRBX_dev kk
@Collman_fff
@Collman_fff 5 ай бұрын
what does --!native mean???
@AshRBX_dev
@AshRBX_dev 5 ай бұрын
-!native is a new concept in Roblox studio that optimises some operations in the background, it’s will make some of the process in the micro profiler faster and I’ve been using it to test it out. You won’t have to add this into your program for it to work 👍
@errorhostnotfound1165
@errorhostnotfound1165 5 ай бұрын
is he going to continue the minecraft clone?
@AshRBX_dev
@AshRBX_dev 5 ай бұрын
Yes! I have had a setback with the videos as I’ve been away from my new flat due to no internet, however I will make the video on the Minecraft devlog once I’m back (21st July)
@ROGERIOSAFADAO
@ROGERIOSAFADAO 5 ай бұрын
it works but anytime can crash
@AshRBX_dev
@AshRBX_dev 5 ай бұрын
Do you have an example of it crashing and where this might happen? From using this system I have not had this issue but if we find an issue like this I’d be happy to crash proof it 👍
@CheeseY420
@CheeseY420 5 ай бұрын
I think AshRBX's brain is litterally a computer 💀 This is not just advanced stuff, I'd call this extremely advanced stuff...
@AshRBX_dev
@AshRBX_dev 5 ай бұрын
🤣🤣
@notfrostfall
@notfrostfall 3 ай бұрын
Don't do this. Buffers get encoded as base64 in JSON anyways, this will take **more** space than using a traditional data saving system. Binary data is efficient because each byte has 256 combinations in one character, but Roblox's datastore system can't actually store raw binary data, so they convert your binary data to base64. This means that if you have an 8-byte buffer, it'll get encoded into 12 characters- this counts towards MORE data usage. Not only that, but the way you're using buffers causes slower read/write times too- buffers are fast due to fastcalls and memory locality, this setup violates both! Buffers have very niche applications (primarily remote events) where they can be used, this is not one of them!
@Maskrade
@Maskrade 2 ай бұрын
even if they are stored as JSON, it is a benefit becusse we don't need to have names on keys. JSON sucks to save data because we rely on keys to know what everything is, with buffers, even if saved as a json and a base64 string, the serialization does not depend on keys, and they depend on the ordering of the data. to;dr: you're wrong, benefit is there, you just failed to see it.
@notfrostfall
@notfrostfall 2 ай бұрын
@@Maskrade This is only the case if your keys are taking **over 2x** your data. Also you lose ease of editing w/ plugins too
@MaxWesterlund-yd3zt
@MaxWesterlund-yd3zt 6 ай бұрын
Thanks for this, now I know how to optimize my worlds saving, its an open world with dynamic structures / resources so this will help a lot
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
This can be very effective for saving large worlds with a finite size, you can use loops to create the data sizes table and then save all the required world data using the write method and save it all whilst using much less memory 👍
@MaxWesterlund-yd3zt
@MaxWesterlund-yd3zt 6 ай бұрын
@@AshRBX_devI think it might be most effective for saving / loading from DataStores. Might make some kind of library to make accessing and changing the values easily but normal tables / OOP should be good enough for runtime
@tiqosc1809
@tiqosc1809 6 ай бұрын
Bro revived
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
yes finally 💀
@stevesantana1717
@stevesantana1717 6 ай бұрын
🙏🏽❤️‍🔥
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
Thanks for coming back after a long while 😅
@stevesantana1717
@stevesantana1717 6 ай бұрын
@@AshRBX_dev I've always been here.
@sadge6430
@sadge6430 6 ай бұрын
das
@hi_1
@hi_1 6 ай бұрын
🐢:0
@AshRBX_dev
@AshRBX_dev 6 ай бұрын
Appreciate you coming back after so long 😂🙏
@RykuoZ
@RykuoZ 5 ай бұрын
can u do more of the pirate game devlog cus i needa know how u did buoyancy 🥲
@AshRBX_dev
@AshRBX_dev 5 ай бұрын
Possibly, I might release the script on my discord at some point as I might not make a video on it
Roblox Devs, stop misusing :WaitForChild()!
17:13
Crusherfire
Рет қаралды 76 М.
METATABLES | What are they and how can we use them?
18:40
Crusherfire
Рет қаралды 27 М.
Жездуха 41-серия
36:26
Million Show
Рет қаралды 5 МЛН
Wednesday VS Enid: Who is The Best Mommy? #shorts
0:14
Troom Oki Toki
Рет қаралды 50 МЛН
🎈🎈🎈😲 #tiktok #shorts
0:28
Byungari 병아리언니
Рет қаралды 4,5 МЛН
«Жат бауыр» телехикаясы І 26-бөлім
52:18
Qazaqstan TV / Қазақстан Ұлттық Арнасы
Рет қаралды 434 М.
Roblox DataStores Are Actually Extremely Simple..
13:38
Paul1Rb
Рет қаралды 4,4 М.
Bye-bye Raycasting! There's a new kid on the block...
15:13
Crusherfire
Рет қаралды 61 М.
you SUCK at organizing scripts... Let's fix that!
13:12
Crusherfire
Рет қаралды 23 М.
What is Object Oriented Progamming?
13:27
GnomeCode
Рет қаралды 46 М.
Programming Rarity is Harder Than You Think
12:31
ByteBlox
Рет қаралды 282 М.
What Roblox Doesn't Tell You | Roblox Studio
9:38
Stewiepfing
Рет қаралды 32 М.
I spent 500 DAYS Building My Roblox Game!
14:21
DeHapy
Рет қаралды 1,3 МЛН
Жездуха 41-серия
36:26
Million Show
Рет қаралды 5 МЛН