Advertisement
Guest User

Untitled

a guest
Dec 16th, 2019
452
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.26 KB | None | 0 0
  1. # "A BEGINNERS GUIDE TO EXPLOITING & LUA" Critique
  2.  
  3. Written by Greenman
  4.  
  5.  
  6. ## "The Art Of Leeching"
  7.  
  8. ### 1.1
  9.  
  10. > And we'll be showing copying; ... Pay no notice, it is an entirely valid form of learning and this is the whole concept behind open-source
  11.  
  12. Although, you are correct about it being a concept of working on open-source projects, for learning purposes not so much. When people modified copied code, it's because they know what they are doing.
  13.  
  14. > The above is a very basic client-sided walkspeed script.
  15.  
  16. You use the term **client-sided** absolute beginners won't understand the meaning of. Make sure to provide an explanation in layman terms.
  17.  
  18. > However, we can heavily improve it
  19.  
  20. Hardcoding the values instead of referencing variables doesn't "heavily improve" the script because the memory footprint of the variables is low. Instead, explain that you are going to reduce the script.
  21.  
  22. > ... variable, its basically a way to make a 'short-cut' to something we want code to remember
  23.  
  24. This explanation is simple yet giving the student the wrong idea. A better way to explain it is to say that a variable is a named container that holds a value which can be accessed and changed at any time.
  25.  
  26. > *Tip: String is is mostly used as a fancy word for Text*
  27.  
  28. I would just explain it as is. Say a string is a **sequence of characters** because later you will need to get the student to understand how it can be iterable.
  29.  
  30. > We've simply put a number - or sometimes commonly refered to as an integer (whole number)
  31.  
  32. Lua recognizes all numbers under one type (the number type) so including the detail about variable value being an integer isn't necessary.
  33.  
  34. > We don't need to quote this, as it needs to be an integer not a string
  35.  
  36. Use the word **number** instead of **integer** because you want the student to identify this datatype as a number
  37.  
  38. > ... the code knows it's the number 20
  39.  
  40. You forgot to explain that when you don't use quotes, the number works properly because you can perform arithmetic operations on it
  41.  
  42. > You may have used the workspace before using 'Dex'
  43.  
  44. Even though this tutorial is related to exploiting, I wouldn't encourage the student to use Dex. Roblox Studio is a much better way to help a newbie scripter under stand how a Roblox game works and makes it easy to see the results.
  45.  
  46. > Notice how there is a lot of services listed here?
  47.  
  48. You never explain what a service is and what some of the basic services do.
  49.  
  50. > ... you can see the instances inside of it ...
  51.  
  52. Again, you use a term [instances] but never explain it
  53.  
  54. > Notice how the arrow faces down "\/" ...
  55.  
  56. You should've used a Unicode character for the down arrow. You can find one [here](https://unicode-table.com/en/sets/arrow-symbols/).
  57.  
  58. > WalkSpeed is a property ...
  59.  
  60. You need to explain what a property is.
  61.  
  62. > And the final '=' is telling the code what we want to set the final number as.
  63.  
  64. This is correct but you should clear up the misconception between `=` in the context of comparison (which the student is familiar with from math) and `=` in the context of assignment.
  65.  
  66. ## "Improving Code"
  67. ### 2.1
  68.  
  69. > And, Roblox has it's own function that allows you to reference yourself ...
  70.  
  71. `LocalPlayer` is not a function but a property. Also, make sure to mention that this can only be used in a `LocalScript`.
  72.  
  73. > ... we've changed the variable PLAYER to reference a INSTANCE instead of a STRING.
  74.  
  75. This isn't true because `game.Players.LocalPlayer` returns a `string` and not a Roblox `Instance`.
  76.  
  77. > ... we actually need to put "game" ...
  78.  
  79. You forgot to explain that `game` is just the top level of the heirarchy.
  80.  
  81. > Then we use ".Character" which leads us finally to our Character in the workspace.
  82.  
  83. This is correct but don't forget to mention that the "character in the workspace" is the model you showed in Section 1.1
  84.  
  85. ## "A Final Footnote" (My Response)
  86.  
  87. I'm glad you are open to criticism as it helps you improve as a creator.
  88.  
  89. > What did you like?
  90.  
  91. I liked the design of the thread. It was very easy to read the text, the code was formatted nicely, and the syntax highlighter colors fit in well with the theme.
  92.  
  93. > What did you dislike?
  94.  
  95. I dislike the "learn by copying then editing" approach. When beginners go to write a script on their own, it's going to be difficult if they don't have experience with writing code from scratch.
  96.  
  97. > What confused you, was the tutorial moving too fast?
  98.  
  99. I understood it all because I am an experienced scripter. I feel like the tutorial is moving too fast by not starting out with a simple "Hello World" script.
  100.  
  101. **Note:** I left out the questions that don't apply to me.
  102.  
  103. > What we learned in Part 1: Variables, Paths, Explorer, Properties
  104.  
  105. You should also include terminology such as string, number, service, instance because it's important to understand how Lua and Roblox works.
  106.  
  107. > I also do youtube video-based tutorials.
  108. However, these are not specifically built for exploiting and are based around game-development.
  109. However, coding remains the same.
  110.  
  111. I understand what you are trying to do here, but absolute beginners aren't going to connect the dots between scripting for a game and scripting for exploiting purposes.
  112.  
  113. ## Conclusion
  114.  
  115. Now let me wrap up my critique by pointing out where you can improve.
  116.  
  117. ### Teaching Method
  118.  
  119. One thing your tutorial does is encourage people to copy and modify. When you're working with absolute beginners, they will develop a bad habit of building everything from copied code. You will see the method flop when the student tries to write their own script because they won't know how to start from scratch.
  120.  
  121. In your tutorial, you provide scripts and explain them as you go. This leaves any room for the student to work on their own which is **essential** for mastering the concepts.
  122.  
  123. ### Concepts
  124.  
  125. I would focus in on the basic concepts of Lua first (but showing the results in Roblox ofc). Your tutorial structure is starting with a script that utilizes multiple concepts and going on tangents to explain each concept. This is not a good way to learn because it's hard to remember everything that way.
  126.  
  127. Instead, what you need to do is to teach each concept because it's easier for the student to remember to due everything they learn being under the same umbrella. For example, you would teach strings, numbers, nil, and booleans at the same time because they all fall under the concept of "datatypes".
  128.  
  129. Then, when the student is trying to remember the information, they can connect the dots. For example, if they're making a variable and want to give it a value, they will think about datatypes and think about all of their options.
  130.  
  131. ### Terminology
  132.  
  133. You need to make sure that when you use an unfamiliar term, you explain it. Also, don't use terms that aren't used in Lua (i.e. integer). Also, make sure to use the correct terms to describe things or else the student will be misinformed.
  134.  
  135. ### Missed Opportunity
  136.  
  137. One thing you are doing in creating this tutorial is competing with existing tutorials. You mentioned your closest competitor at the beginning of your thread. In your tutorial, you had better formatting, a lot less misinformation, and overall quality.
  138.  
  139. Your tutorial compared to the other is going to be more appealing for beginners so you miss an opportunity to be far superior by using a bad method of learning.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement