This guide will show you how to make a proper #help-and-feedback:scripting-support post.
I’ve seen lots of scripting support posts improperly structured and unclear, resulting in much more time than what is needed to find a solution or falling victim to The XY Problem.
This tutorial will go through a step-by-step process on how to create a proper scripting support topic. At the end of the tutorial, you will have a complete topic that will make getting support for your scripting problem much easier
. There also some bonus tips and extras at the end as well.
At the end of this tutorial, you will learn how properly structure a scripting support topic which heavily increase your chances of receiving help from others while also saving lots of time.
1 - Identifying the problem
1 - Identifying the problem (The XY Problem)
Failing to identify and explain the issue you’re having is a very common problem. When making a scripting support post, your goal is to find the solution to your problem. Most people instead ask how to properly implement what they think is the solution to their problem instead of finding the right solution to their problem. This situation is commonly known as the XY Problem.
To fix this, ask for help on the original problem you have and show what solutions you have tried so far. Do not ask for help on how to implement what you think is the solution to the problem.
Bad:
Good:
2 - Describing your issue
2 - Describing your issue
Other developers need to fully understand what your issue is so they know how to help. If you give them too broad terms, they won’t be able to help.
To fix this, describe what you are trying to script, what’s going wrong, and what solutions you’ve tried so far.
If videos or screenshots of the issue you are encountering are necessary, please provide them.
Bad:
Good:
3 - Providing your code and the output
3 - Providing your code and the output
I cannot emphasize more on how important this is. When you are encountering a problem with a script, always provide all the code in the script after you describe your issue. This will allow other scripters to examine the code and point out the problem with it. If multiple scripts are involved in your issue, provide the all of the code for each script.
It is also crucial that you provide a screenshot of the output. One error message can go a long way when finding the solution to your problem. If nothing appears in the output, mention that nothing appears in the output.
If other relevant scripts are related to the script with the issue you have, include them as well. Even if it’s related in a small way, include it anyway as it’s always possible that the other scripts can be the cause of the problem.
Ensure that you don’t just paste the code into the topic. And don’t provide a screenshot of the code. Use code blocks.
You can do this by wrapping your code in the topic with 3 back ticks, like this:
``` -- 3 back ticks
-- Code here
``` -- 3 More back ticks right after the code
Wrap the code for each script you
Bad:
Good:
4 - Spoonfeeding
4 - Spoonfeeding
By definition, spoonfeeding means “to provide (someone) with so much help or information that they do not need to think for themselves.” In scripting, it means getting provided with the entire code without understanding it and knowing how it works.
I cannot stop you from asking to get spoon-feeded nor can I stop people from spoon-feeding, but I can give you this advice:
If you want to become a better programmer, you will need to understand the code you view and write.
Copying and pasting working code you don’t understand won’t make you a better programmer. If you understand the code and the solution to your issue, you will gain useful knowledge. Otherwise, you won’t get better at scripting.
5 - Providing the solution
5 - Providing the solution you found
If you managed to find a solution on your own after creating a support topic, make sure that you reply to your original support topic with the solution you found (including the code). That way, others will find a solution if they encounter the same problem you had.
Extra: Assisting Other Scripters
Extra 1 - Asking General-Scripting Questions
If you’re creating a topic asking for a general question about scripting that you don’t understand or of how to script a certain thing, all you need to do is describe what you don’t understand or what you want to know. Provide code examples for better clarity if necessary.
Extra 2 - Attempting to help another scripter
Not everyone will follow the steps above the create a problem. That being said, the developer still needs help regardless of the topic structure. If you want to help a fellow scripter with their problem, here are some tips:
Properly encouraging them to include relevant information
If they did not include relevant information that is crucial to solving the problem they are having, you should tell the user to provide said information in a positive tone. Phrasing things in a positive tone will give the developer seeking help a sense of comfortable and reassurance.
Bad:
Why didn’t you provide the code? We need the code to help you solve the problem. Always provide the code.
Good:
Hey mate, can you please provide the code where the problem is occurring?
Otherwise, it will be very difficult to help you solve the problem you are having.
Don’t criticize parts of their script that are unrelated/don’t affect the problem
The developer is seeking help for the problem they have. They are not asking for others to criticize the way they script. They are asking for others to help solve the problem they are having. So help them solve the problem they are having by guiding them instead of criticizing their code.
That being said, you could recommend some ways they can improve their code by pointing out some bad practices after they have found the solution to their problem. If you do decide to do this, ensure that you describe why you think this part of the code should be change
Guide them towards the answer
I know its tempting to just provide the answer right away instead of taking the time to guide the developer towards the solution because it could save lots of time. However, the developer won’t learn from the problem if the answer is provided towards them. When guiding them towards the answer, try leading them through the steps to the solution. When providing them with code, add comments so the developer will understand the code and learn from it.
Have Patience
Not everyone is as skilled as you are. It’s best that you do your best to help guide them through the problem. If they don’t understand a concept, try your best to explain it to them so they will get a better understanding of the problem and how to find the solution.
Avoid telling the person seeking support to figure it out by themselves
Even if the solution is obvious to you, it might not be obvious to them. Instead of telling them to figure it out on there own, give them the benefit of doubt and guide them towards the solution.
Same goes for if the developer did not try to troubleshoot on their own first. You should still help them, but also include that they should next time try to troubleshoot on their own while also giving tips on how to debug and such.
Linking the documentation
When there’s a concept that’s crucial to solving the problem that is explained in the Creator Documentation, try linking the specific documentation article any other relevant documentation links when guiding them towards the answer.
For example, if you’re trying to explain RemoteEvents to another developer, give them a brief run-down of RemoteEvents and then provide a link to the Documentation article on RemoteEvents so the developer can get a detailed explanation on how they work.
Another example would be if the solution to the problem is using a specific method, such as MarketplaceService:PromptGamePassPurchase
You would give a brief rundown on how the method works, as well as how it relates/solves the problem and provide a link to the method on the documentation.
(To learn more about assisting others in scripting support, see this in-depth guide made by @tannnxr)
Summary
When seeking help because of a scripting issue, ensure that you
- Identify and provide what the issue is instead of asking how to implement what you think is the solution to your issue
- Describe the issue and include any necessary information. The better the description, the easier it will be for others to help you. Don’t be too broad, and include screenshots and videos if necessary.
- Always include the code of the entire script (or scripts) that contain the issue you have. Also, ensure that the code is in a code block for better formatting.
- Provide a screenshot of the output. If there aren’t any warnings or errors that are relevant to your issue in the output, mention in your post that nothing appears in the output.
- If you find the solution to the problem on your own, reply to your own topic saying that you managed to solve the problem while also including how you solved the problem as well as providing the final code
I hope this guide helped you. I want this guide to be very informative and have zero misinformation. I’m open to constructive criticism, so please let me know if there’s something wrong with the guide or if you have any questions.