#Scripting Help

2596 messages · Page 3 of 3 (latest)

harsh flare
#

is it editable on local scripts

flat crow
#

Oh my god how did I not know about this sooner

#

Thank you both for informing me about this, I will have to look into it

harsh flare
#

its better not to make bad habits

#

try using a modulescript instead

#

and just holding the data in there

flat crow
#

and why is it a bad habit

#

idk anything about _g

#

so

harsh flare
#

@wary thorn could you explain since i don't know too much about _G

wary thorn
#

its like saying

#

local blah = {}

#

but that blah variable is shared in every script and is a table

#

seprate ones for client and server though

harsh flare
wary thorn
#

it just isn't optimized at all

#
oblique dagger
#

Its kinda weird when I'm using modulescript for client side stuff

#

For me.

oblique dagger
lament karma
#

i dont know what modulescript does

lean mango
#

Bruh I need desperate help

lament karma
lean mango
#

well

lament karma
#

like

#

what error prints

lean mango
#

this first line which is trying to be a table but its returning nill

#

local t = {game.Workspace.EMGlight1,game.Workspace.EMGlight2,game.Workspace.EMGlight3,game.Workspace.EMGlight4,game.Workspace.EMGlight5,game.Workspace.EMGlight6,game.Workspace.EMGlight7}

for i,v in pairs(t) do
v.EnableScript.Enabled=true
wait(0.1)
end

lament karma
#

because it is nil

lean mango
#

wait what

lament karma
#

because t doesn't have anything in the line

#

it thinks its nil

#

you need to do

white nymph
#

i think the variable has to be assigned on the same line itself

lean mango
#

😭

lament karma
#

local t = {
code}

lean mango
lean mango
lament karma
#

can u screenshot

lean mango
#

the code?

lament karma
#

yes

lean mango
#

or the error message

#

ok

lament karma
#

both preferrably

lean mango
lament karma
#

thats just saying the script is running

lean mango
#

Im fucking stupid idk what te hell im doing

lament karma
#

what r u tryna do anyway

lean mango
#

enable the enableScript inside of the EMGlights

#

;-;

lament karma
#

i dont think you can enable scripts

#

idk

#

try using a fire event

lean mango
#

what abt a bool value you think that would work

#

make that true and then referance that to enable it ?

lament karma
lean mango
#

Ok i'm trying it

lament karma
#

i think theres a function that allows a script to run with .Changed

lean mango
#

💀 hell no

lament karma
#

like

#

game.Workspace.BoolValue.Changed:Connect(function()

#

it will run when the bool value changes value or something

white nymph
#

i think its :GetPropertyChangedSignal("Value")

lament karma
#

oh yeah

#

then just check if its enabled or not

lean mango
lament karma
#

just put the for _, script in the function

lean mango
lean mango
#

Alr ill try it

lean mango
#

nvrm

maiden dew
#

They can have variables and functions inside of them

lament karma
#

ohhh

#

interesting

lean mango
#

yeah but they are modular so they are weird

lean mango
lament karma
#

u cant

#

enable scripts

#

with a script

lean mango
#

well that's not quite true but, I guess for for

#

for _,v loops yes

maiden dew
# lament karma interesting

Basically

-- ModuleScript
local Module = {
    Variable1 = “hello”,
    MyFunction = function(arg)
        print(arg)
    end,
}

return Module
-- Another normal Script
local MyModule = require(path.to.ModuleScript)
MyModule.MyFunction(MyModule.Variable1)
grizzled ore
#

i keep forgetting to require the module scripts

stuck anvil
#

is there a way to make a screengui object disable if im in studio

odd chasm
#

yes

grizzled ore
odd chasm
#

run service

stuck anvil
#

i have

#

zero idea how to implement that

grizzled ore
#

if statement?

odd chasm
#

local RunService = game:GetService("RunService")

if RunService:IsStudio() then

#

🐟

stuck anvil
#

glad you said this

#

forgot to actually add the part where i need the service

summer spire
#

IDE errors if you try to use Module:Function

fallen meadow
sour orchid
#

what

torn spear
#

What? slugtired

odd chasm
harsh flare
summer spire
#

you shouldnt store functions directly under a modules table

harsh flare
#

its just more readable tbh

summer spire
#

otherwise you cannot differ between . and :

#

for example

#
function Module:MyFunction()
  self.Table = {}
end
#

you cant do that^

#
MyFunction = function()
  local self = Module
  self.Table = {}
end
#

you can only do that^

#

if you put functions under a module table*

harsh flare
#

honestly you could define the. functions in the modules table and the : functions the other way but that's inconsistent

summer spire
#

yeah and frankly unoptimized

#

memory usage would go off the charts

torn spear
#

Namecalls (:) are slow. It's best to avoid them as much as possible.

sour orchid
#

They are good as a shortcut for that self parameter steamhappy

lament karma
#

you can also manually change it in the properties tab by hitting enabled

stuck anvil
lament karma
#

oh

harsh flare
#

yeah it works in the playtest

lament karma
#

OH YEAH

harsh flare
#

or would you rather not have to do that manually

lament karma
#

i forgot to do the door thing

#

@stuck anvil sorryy

#

i dider the school

stuck anvil
#

no worries

lament karma
#

LIE

stuck anvil
#

anyway lets keep qsml3r chat out of here

lament karma
#

god bless blender

odd chasm
#

Make a localscript under the GUI element you want hidden in servers

Insert this

if not game:GetService("RunService"):IsStudio() then script.Parent.Visible = false end
#

Simplest way I guess, though I wouldn't do that for myself

grizzled ore
#

Wouldnt this disable the gui if youre not in studio tho

final path
fallen meadow
summer spire
#

this man does NOT use OOP in his day-to-day scripting

final path
#

I hate OOP

summer spire
#

ur gonna have to un-hate it as OOP becomes a necessity (practically) as you delve into coding more

final path
#

I can do it, just don’t like it

summer spire
#

like, having door classes for example

#

very useful

final path
#

Eventually I’m gonna have to use it for my gun system

summer spire
#

yea an OOP based gun system is good

#

use metatables for bullet types too

#

@final path rate the workflow

final path
#

Damn

#

🗣️

odd chasm
lean mango
#

guys I need some help again

#
local ts = game:GetService("TweenService")

local parent = script.Parent
local cfv = Instance.new("CFrameValue")
cfv.Parent = script
cfv.Value = parent:GetPivot()

local tween = ts:Create(cfv,TweenInfo.new(13, Enum.EasingStyle.Sine, Enum.EasingDirection.Out, 0, false), {Value = CFrame.new(parent:GetPivot().Position + Vector3.new(0, 40, 0))}):Play()

cfv.Changed:Connect(function(val)
    parent:PivotTo(val)
end)
wait(13)
workspace.Laser_Start_Handler.Enabled=true
#

This code is rotating the parent model 90 degrees also, and I have no idea why

#

Anyone got ideas?

odd chasm
#

Do

Value = parent:GetPivot() * CFrame.new(0,40,0)

that method applies a transformation while retaining the original rotation vectors, though movement is relative. you might have to play around with the number positions as it may be on the wrong axis

#

by doing CFrame.new and dumping positions in it, the rotation will reset

lean mango
#

Okay thanks

#

I think its just being weird because of the set pivots of the parts interacting with eachother

frosty flume
#

how tf do i make a light

#

Im trying to make this actually

#

light stuff up

sour orchid
#

add a PointLight or SpotLight or SurfaceLight

wind radish
wind radish
#

I see you are trying to add onto a cframe but you can save it using parts in a model so that it wont break if you rotate the model in the workspace

lean mango
lean mango
wind radish
#

it works with both models and regular parts and plays the cframe tween locally

lean mango
#

Oh thats cool

#

can you send script example

wind radish
lean mango
#

alright just ping me

wind radish
#

I’m on my phone rn which I can’t really open studio on

lean mango
#

ye

flat crow
#

alrighty I've come for some more help
LUA even though it's my first language I'm more fluent in python...

#

so

#

idk if this makes sense but either how could I access a variable through another variable that stores it's path, or what's an alternative

#

basically I have these slots for information, and I want to access them in a way that doesn't involve 100 lines of if then elseif statements to test if they're already in use. In the last line, I want to instead of changing what is inside of the variable alarm, access the variable that is inside of that variable and change it. So basically that last line I want to do the same thing as if it said alarm1 = "something". The reason I don't just put that there, is because I need to be able to access all 20 of them, so I need to be able to change that number at the end.

flat crow
wary thorn
#

for i,v in <alarms here> do?

sour orchid
#

Use a table

flat crow
flat crow
#

few reasons why I may not

#

yeah I'll use tables

#

I think

#

not completely sure but I'll try it

sour orchid
#

Depends on if you need to store data or you just need to like edit properties

flat crow
#

can I like have table-ception?

#

as in tables inside tables

wary thorn
#

yes

flat crow
#

or nested tables i guess

#

okay

wary thorn
#

local blah = { something = { etc = {} } }

flat crow
#

okay cool thanks

sour orchid
#

Yep

flat crow
#

okay yeah this makes sense, I already had a whole conversation with ChatGPT about it lmao

#

ChatGPT is such a powerful tool

#

You shouldn't use it to code for you, but there's nothing wrong with using it as coding assistance

wary thorn
#

you don't need pairs or ipairs for tables

#

you can just do

#

in table do

sand hamlet
#

local Devices = script.Parent.Devices

function mainPolling()
while true do
for _, device in ipairs(Devices:GetChildren()) do
if device:IsA("Device") then -- Assuming Device is the class type for device objects
if device:FindFirstChild("Poll") then
device.Poll:Fire()
print("Polling " .. device.Name)

                if device:FindFirstChild("Activated") and device.Activated.Value == true then
                    if device:FindFirstChild("AlarmThisDevice") then
                        device.AlarmThisDevice:Fire()
                    else
                        warn("AlarmThisDevice not found for " .. device.Name)
                    end
                end
            else
                warn("Poll not found for " .. device.Name)
            end
        end
    end
    task.wait(10)  -- Wait before the next polling cycle
end

end

-- Start the polling in a new thread
task.spawn(mainPolling)

#

should work

#

idk if correc

#

but should

#

in scripting

#

u dont know why ur code works

#

and why it doesnt work

harsh flare
harsh flare
flat crow
odd chasm
torn spear
wary thorn
#

Still works the same

sour orchid
#

I think no option defaults to pairs

blazing stirrup
#

so it basically is an implicit pairs call

#

however you have to define that manually for metatables

ripe dirge
#
for i, v in <table> do...

you dont need to add

pairs`/`pairs

none “automatically” choose the right one for you

ipairs/pairs are hinted to no longer be used as they maybe deprecated as part of a mission to make luau syntax more better and cleaner.

#

^ @sour orchid

grizzled ore
#

So you just shouldnt use pairs/ipairs at all?

wary thorn
#

yeah it really doesn't need to be used

#

like you can still use it but

#

you don't need it

ripe dirge
#

yes

#

I'm not sure tho if this has been implemented yet with the current Luau version that roblox is using, tho I know that you will no longer need to use pairs and ipairs to sort through arrays, mixes and dictionaries

flat crow
#

I need to access an instance, but what that instance is relies on dynamic non hardcoded variables that could be different every time. I have a hierarchy that looks like this (image 1) and sometimes I might need to access SLC1 or SLC2 depending on the situation. There could theroritically be infinite SLCs so it needs to be able to work without hardcoding

The value "newAlarmFrom" is used in the script (image 2) to communicate which SLC is sending the signal there is a new alarm. Then I need to access "script.Parent.Parent.Parent.SLCs.SLC<whatever SLC it is>.DeviceValues", but I can't figure out how to do that

ripe dirge
#

I'm not native give me a sec to translate it

flat crow
#

yeah I figured that would be hard to follow, let me try to explain better

#

basically imagine trying to access the DeviceValues folder by doing " local values = script.Parent.Parent.Parent.SLCs.SLC .. fromSLC .. ".DeviceValues" "

#

but you can't do that

#

then like doing local address = values. Address.Value

ripe dirge
#

ooh

#

yeah give me a sec

#

igu

flat crow
#

alrighty tysm

chilly coral
#

I would love to pin this thread as well

#

But thanks to Discord, we can only pin one

flat crow
#

yep...

#

maybe just remind people it exists in #other?

chilly coral
#

So this really is not an option

flat crow
#

I mean maybe but it wouldn't hurt to just do it once

chilly coral
#

You could maybe create one pinned thread which links to all other threads

flat crow
#

yeah that's a good idea

#

or you could have dyno send in #1101168449855684678 "#1191508375842869248 exists btw" every like day or so

chilly coral
#

Oh yeah, good idea

#

I think that's really the best option here

flat crow
#

yeah

ripe dirge
#
local Alarm
script.Parent.NewAlarm.Event:Connect(function()
    Alarm.Value = true

    local fromSLC = script:FindFirstAncestor("SLCs").newAlarmFrom.Value --script.Parent.Parent.SLCs.newAlarmFrom.Value
    local slcFolder = script.Parent.Parent.Parent.SLCs:FindFirstChild("SLC" .. fromSLC)

    if not slcFolder then
        error("SLC folder not found for: SLC" .. fromSLC)
        return
    end

    local DeviceValues = slcFolder:FindFirstChild("DeviceValues")
    if not DeviceValues then
        error("DeviceValues folder not found in: SLC" .. fromSLC)
        return
    end

    local alarms = {}
    local alarmCount = 0

    for _ in pairs(alarms) do
        alarmCount += 1
    end

    local newAlarm = alarmCount + 1
    
end)

does that answer ur problem or did I get it wrong lol

flat crow
#

let me take a look

ripe dirge
#

oops I left my quscr you can change it back lol

flat crow
#

I'll try that, but I'd find it strange if that worked since it's very similar to the way I did it

flat crow
#

just have this bit pasted in a test script in the same parent as the main one

chilly coral
ripe dirge
#

oh wait

#

where is ur script located

flat crow
#

same parent

ripe dirge
#

OH

#

oops

flat crow
#

oh wait I need to add

#

path here

ripe dirge
#

local fromSLC = script.Parent.Parent.SLCs.newAlarmFrom.Value

#

yeah mb

flat crow
#

got this same thing now

ripe dirge
#

what am i missing lmao

#

oh

#

wait no

#

huh?

#

wait it should be correct lmao

#

script>Scripts<N001>newAlarmFrom

#

can you try

#

:WaitForChild

flat crow
#

like in line 1?

ripe dirge
#

yeah

#

wfc newalarmfrom

flat crow
#

tried that and same thing happened

#

oh wait

#

hold on

ripe dirge
#

im so confused

#

this should work lmfoa

flat crow
#

no that was my bad there

#

hold on

#

same error as before

ripe dirge
#

SLCs:WaitForChild("newAlarmFrom")

flat crow
#

same still

ripe dirge
#

huuuuuuuuuuuuuuuuuuh

flat crow
#

wait hold on

#

huh I thought if I was making edits while the game was running that disabling and reenabling the script would run the new code but I guess not

#

so let me try completely restarting the game

ripe dirge
#

LOL

flat crow
#

bruh????

#

gosh why does doing something seemingly so simple have to be so complicated

ripe dirge
#

oh

#

fr

#

why does it go up to workspace

flat crow
#

not sure...

ripe dirge
#

did u change it to
script.Parent.Parent.SLCs.newAlarmFrom.Value

flat crow
#

script.Parent.Parent.SLCs:WaitForChild("newAlarmFrom")

#

is in the code

#

first line

ripe dirge
#

alr

flat crow
ripe dirge
#
local Alarm = false
script.Parent.NewAlarm.Event:Connect(function()
    Alarm.Value = true

    local fromSLC = script.Parent.Parent:WaitForChild("SLCs"):WaitForChild("newAlarmFrom").Value
    local slcFolder = script.Parent.Parent.Parent.SLCs:FindFirstChild("SLC" .. fromSLC)

    if not slcFolder then
        error("SLC folder not found for: SLC" .. fromSLC)
        return
    end

    local DeviceValues = slcFolder:FindFirstChild("DeviceValues")
    if not DeviceValues then
        error("DeviceValues folder not found in: SLC" .. fromSLC)
        return
    end

    local alarms = {}
    local alarmCount = 0

    for _ in pairs(alarms) do
        alarmCount += 1
    end

    local newAlarm = alarmCount + 1
    
end)
flat crow
#

let me try that

flat crow
ripe dirge
#

alr

flat crow
#

up here

#

GUH???

ripe dirge
#

tf????

flat crow
#

is this an engine bug???

ripe dirge
#

pretty sure it is

#

bc there's no way

flat crow
#

I'll sanity check by removing one of the .Parents

#

THERE'S THREE THERE THAT'S WHY

ripe dirge
#

LOL

flat crow
#

LMFAO

ripe dirge
#

i was lwk so confused

flat crow
#

okay now we got

ripe dirge
#

ok now that's a good error

flat crow
#

yes

ripe dirge
#

do you have that

flat crow
#

indeed I do

ripe dirge
#

show me line 81 rq

#

bc this shouldnt error

flat crow
#

hold on I'm gonna test something real quick, I'll get you that first though

#

hmmmm maybe this is why?

#

hold on

#

that was supposed to be 2 images

#

this is the second image

ripe dirge
#

I mean slc1 is a valid folder

flat crow
#

yes, but shouldn't it print the whole path

#

or wait no

#

cause that would be a string

ripe dirge
#

not when u print an instance

flat crow
#

yeah

#

so that bit is working fine

#

so we should be able to access the correct folder now

ripe dirge
#

Instance:GetFullName() is the path is ur wondering

flat crow
#

one sec

#

wait hold on

#

I might be actually so fucking incredibly dense

ripe dirge
#

lmao wdym

flat crow
#

the values I'm trying to access are outside the numbered folders, and they get set by the script inside each SLC

#

so there was.. no point then I think

#

💀

flat crow
#

LMAO

ripe dirge
#

i love that gif bro

flat crow
#

im saving that

flat crow
#

anyway

#

sorry I sent you on that wild goose chase

#

and thanks for your help

ripe dirge
#

LOL

#

its fine

flat crow
#

let's see... how long did we spend on this?

ripe dirge
#

i was crying yesterday after I fixed a bug by accident i spent a year trying to fix

flat crow
#

over 30 minutes

ripe dirge
#

I disabled autorotation on the humanoid and it stopped the character from jittering when u walk backward

#

also volume warning

flat crow
#

nice

flat crow
ripe dirge
flat crow
#

cool

ripe dirge
#

also idk what ur scripting but

#

instead you should use a tag system ig

#

idk how ur doing it tho

flat crow
ripe dirge
#

oooooooooooooooooo

flat crow
ripe dirge
#

and instead of instance values me personally

#

since im a perfectionist

#

id use attributes

#

lol

flat crow
#

not sure how to use those exactly or exactly what they are and it seems to work the way I'm doing it so

#

if it ain't broke don't fix it good

#

(to an extent)

ripe dirge
#

LOL

#

true

flat crow
#

neither of us noticed it

ripe dirge
ripe dirge
#

LOL

flat crow
#

lmao me neither

#

WOOOOOOOOOO WE DID IT

#

4 LINES OF CODE

ripe dirge
#

today I spent the day getting the HRP world orientation in 360 to match my custom camera

flat crow
#

interesting

#

fuck I have to change the name of this

ripe dirge
#

you can keep type as a variable

flat crow
#

it's fine I already changed it

ripe dirge
#

If someone searched this:
keywords like if, while, for, etc cant be used
but functions can be replaced like
local spawn/type/typeof/task/delay/etc can be set as variables

merry plover
flat crow
#

aw man

ripe dirge
wary thorn
#

so on so on?

ripe dirge
#

true and you can save memory and speed by doing
local parent = script.Parent

wary thorn
#

not by much

ripe dirge
#

ofc but scripting is all about speed and efficiency

#

and it looks cleaner

sour orchid
#

That is the

flat crow
sour orchid
#

True*

flat crow
#

they have to be global

wary thorn
sour orchid
wary thorn
#

if you put local at top level it is global

#

regardless

ripe dirge
#

yeah

flat crow
ripe dirge
#

it is

#

top level scope

flat crow
#

well

ripe dirge
#

its already global

flat crow
#

what does it change at all to make it local

ripe dirge
#

nothing, just an habit and it looks cleaner overall

flat crow
#

then there's literally no point?

ripe dirge
#
local example1 = 1
example2 = 3

samethings

local function d()

end

function e()

end
flat crow
#

that makes no sense to make it local because it "looks cleaner"

ripe dirge
flat crow
#

how does it make it more readable?

ripe dirge
flat crow
#

if I'm listening to your logic then I should make these local too, but that just makes no sense

ripe dirge
#

its not about sense

#

its more about preferences

#

there's nothing else to it

#

just preference

flat crow
ripe dirge
#

right

flat crow
#

(not trying to be mean just trying to get a point across)

#

I do see where you're coming from, but I declare all my globals at the top so

wary thorn
#

due to how roblox manages memory it is better to use local

flat crow
#

cause if it does then it makes sense

ripe dirge
#

local read/write tends to be a lot faster than for globals

flat crow
#

huh, weird

wary thorn
flat crow
#

well I guess I'll local em then

ripe dirge
sour orchid
#

something about how the variables are stored in memory

torn spear
#

Use cases for global variables are far and few between.

flat crow
# ripe dirge

also the reason why I didn't know this is because my native language is python, in which they're automatically local and have to be declared global

#

although lua is starting to become my more fluent language now

ripe dirge
#

I just how lua is just like making sentences

#

while true do end

#

if this and that or (this and that) then return end

flat crow
#

lol

ripe dirge
#

I used to like always do return

#

at the end

torn spear
flat crow
ripe dirge
#
local function exam()
    print('functioned')
    return
end
flat crow
#

I'm sure people switching from like java put semicolons on the end of everything

flat crow
ripe dirge
#

you can catch code that was decompiled with semicolons lol

#

and the variables names

#

v[number];
end;
etc

torn spear
#

I'm trying to get into C# and I always forget semicolons. Thinksweatori

flat crow
torn spear
#

Extremely annoying that they're needed in the first place, but perhaps I'm too Lua- and JS-pilled.

ripe dirge
#

and with luau

#

you can compress ur code

#

af

torn spear
#

Hell yes.

#

Less typing + looks nicer + things aren't spread out all over the floor in a cryptic hodge podge.

ripe dirge
#
-- ternary
local result = b and "this" or "that"

-- nestedTernary
local result = (b and c) and "this" or "that"

-- immediateFunction
local result = (function()
        local toReturn = "this" -- Perform complex operations here
        return toReturn
    end)()

-- typeAnnotation
local part: Part = workspace.Part -- Provides better autocomplete support

-- shortCircuit
return a or b or "default"

-- tableConstructor
local settings = {
        Mode = b and "Fast" or "Slow",
        Active = b or false,
    }

-- defaultAssignment
local result = a or "default"

Falsy Values:
nil
false

Everything else in Lua is considered "truthy," including:
0 (zero)
Empty strings ("")
Empty tables ({})
Any other non-nil or non-false value.

ripe dirge
#

i have something similar for when I obfuscated some code

wary thorn
flat crow
#

Interesting

wary thorn
#

that is why most games make a lot of their stuff modular

ripe dirge
#

me af

wary thorn
#

I work things slightly different

ripe dirge
#

It was like that at first

#

but I had cyclic problems

wary thorn
#

I don't have that issue

ripe dirge
#

ill prob rewrite everything once the R6 limb inspection is done

wary thorn
#

starter player scripts is known to have mem leaks so I stay away from it lol

ripe dirge
#

I made sure to stop everything once the player dies

#

so it should be fine

wary thorn
#

regardless

ripe dirge
#

the client isnt even big i can make it a module

wary thorn
sour orchid
torn spear
#

I don't remember if mine does...

#

Yea it does yipee.

odd chasm
sour orchid
#

i keep trying to use local with typescript

chilly coral
#

📌 Special Threads

The creators-corner has various special threads, to help creators improve their work and enhance their abilities.

 
chilly coral
odd chasm
#

why not just

#

edit the host thread thing

chilly coral
#

@odd chasm

#

So the issue is

#

You can only pin one thread

odd chasm
#

YEHA I KNOW

#

i just unpinned the wrogn thread

chilly coral
#

The to get more people into the other threads, I pinned this into every special thread

#

Because why not

odd chasm
#

imo meh idea

#

we maybe unpin general discussion

fallen meadow
#

what am i missing

the array returned by GetPartBoundsInBox includes members of the Default collision group, which shouldnt be happening because of how OverlapParameters is defined

#

my first attempt was also having the raycastfilter be Include and having the collisiongroup be Player but that just returned an empty array

chilly coral
#

No screenshots

#
Your code here

Use these code blocks.

fallen meadow
odd chasm
#

Use :SetFilterDescendantsInstances() and you might need to specify instances themselves

#

Or grab an array of instances searched by collision group

fallen meadow
odd chasm
#

I MISTYPED IT

#

Just FilterDescendantsInstances

fallen meadow
#

yeah

ripe dirge
odd chasm
#

why add the slash

wary thorn
#

so it doesn't turn into a full code block

#

for an example id assume

sour orchid
#

Escape character

orchid cliff
#

can who help my whit my script

sour orchid
#

A lot people here can

ripe dirge
# orchid cliff can who help my whit my script

I have this that I used from my old discord server, It's pretty universal:

Things to do:

  • Expectations vs reality:

What you expected to happen and what was supposed to happen.

  • Code

Include all code relevant to your question.

Things NOT to do

Do not just say...

  • "Hello"

You're trying to be polite by not jumping right into the request, like you would do in person or on the phone. Chat is neither of those things, and typing is much slower than talking. Instead of being polite, you are just making the other person wait for you to phrase your question. See nohello for more information.

  • "Any [subject] experts here?"

Asking if there are any "experts" to help you implies very negative things. You're walling people who do not self-identify as experts (which is most people) off from answering your question, even though the question may not need any specific expertise whatsoever to answer. In general, phrasing your question in this way just discourages people from ever actually answering it.

  • "Please just give me the code to do [thing]"

"Give someone a fish, and you'll feed them for a day. Teach someone to fish, and you'll feed them for a lifetime." Spoonfeeding you answers is in nobody's best interest. If you are given the answer on a silver platter, you'll be back the next day with the same problem without even realizing it's the same problem, because you learned nothing. Helping you understand the logic will help you understand how to arrive at the answer yourself, and will help you be able to write solutions to the same problem yourself in the future.

  • Ask about your attempted solution rather than your actual problem

This is called "the XY problem". See The XY Problem for more information.

odd chasm
#

Hello

orchid cliff
#

it supposed to open a door for innovation inc security only

orchid cliff
# ripe dirge ??

the code should open a group only door but it doesn work in any way

ripe dirge
orchid cliff
#

dude its old

ripe dirge
#

okay?

orchid cliff
#

il get sreenshot

orchid cliff
ripe dirge
orchid cliff
#

bc i try doing my own game

ripe dirge
#

ok so first thing first, why are you creating the door with a script

orchid cliff
#

wdym it should only open the group i want

orchid cliff
ripe dirge
orchid cliff
#

dude your basicly a teacher 💀