Guide to Making a Proper Scripting Support Topic

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. :eyes:

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. :slight_smile:

18 Likes

Thank you for helping us on how to ask for help. This generation really needed it!

I’d like to add that you should NOT make duplicate posts on the same issue. If it’s not getting attention, maybe that’s saying something. You probably have not provided enough information, made it too complicated, or are asking for way too much work for free.

If you bump the post, try to provide more information instead of just saying “bump” or “could somebody help”? You could provide solutions you tried that failed, scripts that didn’t work but may need fixing, better clarity on your end goal, etc. Make it easy for people to help you.

4 Likes

Thanks for the positive feedback! :slightly_smiling_face:

Spot on. This observation is precisely why I decided to make this guide. I’ve seen lots of scripting support posts that would’ve gotten more attention if the post was properly structured. Clarity and organization can go a long way.

2 Likes

A common question I’ve been getting:

“Why don’t you just make this topic apply to all of the help-and-feedback support categories?”

Because I don’t have any observations nor experience in any of the other subcategories. I know scripting support because I’m a programmer/scripter and I most frequently post in #help-and-feedback:scripting-support compared to the other subcategories.

The steps and structure for the different subcategories could definitely vary, and I don’t want to make a tutorial full of misinformation or information that I don’t understand or have experience in.

2 Likes

Leaving this here as well: Asking the smart question

2 Likes

I have just spent the last 30-40 minutes making an edit to the Guide that includes the following:

  • I have improved the formatting of this topic by using the Hide Details
  • I put “providing the solution to your problem” as a step to the main tutorial instead as a bonus tep"
  • I added an “Extras” Section that provides includes:
    • A tip when asking a general scripting question
    • Tips on how to help another developer solve a problem they are having.

I highly recommend looking at the extras if you have time :slight_smile:

Let me know if you notice anything wrong so I can fix it or provide any constructive criticism you want to give for the guide.

2 Likes

Chances are, the inexperienced forum users who do this stuff aren’t even going to see this. Still, this is a great guide and it is very clear and helpful. Good job! :+1:

If I have anything that I can think of to add I’ll send another reply or edit this one.

2 Likes

Is this one proper?

1 Like

Let’s go through the checklist.

  • Did you identify the original problem? Yes, you did.

  • Did you properly describe the issue you were having? Yes. You provided an example and explained what you were stuck on implementing.

  • Did you provide all relevant information to your issue? Yes. Providing code and a screenshot of the output isn’t necessary in your scenario, but you provided sufficient context that gave a clear understanding of what you were trying to do.

  • Did you provide what you have tried so far? No, but in this case, your issue was more of a general scripting question rather than a specific problem in your code. That meant providing what you have tried wasn’t entirely necessary.

  • Did you ask to get spoonfed? Nope. That’s great :slight_smile:

So far everything looks great.

Looking at the thread, it looks like you were able to smoothly troubleshoot and get proper help with solving your issue. However, I’m not completely sure if you were able to find a solution to your issue. Were you able to?

Realistically speaking, yes. But what I can do is provide a guide that scripters can refer to instead of there being no guide at all :slight_smile:

Thank you! I appreciate your kind words :slight_smile:

3 Likes