#code-discussion

1 messages · Page 28 of 1

vernal timber
#

@paper imp he works for me

white pecan
#

ok but from where

static coral
#

put the fries in the bag

vernal timber
#

hes unemployed now though

vernal timber
carmine gulch
#

I own 2% of blox fruits

thick sapphire
vernal timber
#

yes i'm lsplash

reef birch
paper imp
carmine gulch
vernal timber
#

@carmine gulch i own 30% of bloxfruits

carmine gulch
#

I bought it for 250k usd

thorn frigate
vernal timber
#

i bvought it for like 3 bucks

paper imp
vernal timber
#

me and indra r just cool liek dat

thorn frigate
#

im indra on an alt

#

and i do not fw u

carmine gulch
#

Crazy thing is I’m being deadass

reef birch
carmine gulch
#

lol

reef birch
#

35m is 100k

thorn frigate
#

how much did u make

carmine gulch
carmine gulch
reef birch
#

well i meant what you posted is

vernal timber
#

@carmine gulch is alright, one day you'll get to our stages and you'll be like us man

paper imp
#

ok we have extremely high figures here

vernal timber
#

dw u starting small youl be big soon

thorn frigate
white pecan
paper imp
#

bloxfruits is the biggest game out there

vernal timber
carmine gulch
vernal timber
#

my mailer being lazy

thick sapphire
#

@vernal timber stop yapping

lean ocean
reef birch
#

i think hes just trolling at this point

lean ocean
white pecan
thorn frigate
paper imp
reef birch
vernal timber
#

i'm legit

reef birch
#

yeah the name of the group is 'group bloxfruits'

vernal timber
#

yes it is tf

#

whys dis guy stupid

carmine gulch
#

Bros lying when I ACTUALLY have a percentage

vernal timber
#

@carmine gulch is alright bro one day you'll be like us big devs

#

u starting small i fw it

reef birch
paper imp
#

isnt it this?

lean ocean
#

yes

thick sapphire
paper imp
#

bloxfruits is a completelyt other group then its a lie

vernal timber
#

as a big roblox creator i'd like to give you all jobs

carmine gulch
#

😂

thick sapphire
carmine gulch
#

Ok

vernal timber
#

excluding @carmine gulch cause hes making it big soon i fw him lowk hes a small dev rn but he'll be big

carmine gulch
#

Let me find it

carmine gulch
#

I’m on my phone it’s in a old gc

thorn frigate
#

i think core is more believable than the other person here

paper imp
#

@carmine gulch what is ur roblox username

vernal timber
#

who wants a job hit me up i'll give u a job in sao paul in brazil

#

you'll be working asan executive game idea creator

#

with big studios such as fisch and blxofruits

carmine gulch
thick sapphire
#

can I report him for harmful disinformation?

vernal timber
#

no cause the job is real

paper imp
#

nvm

#

mb

vernal timber
#

lowk i believe in @carmine gulch he'll make it as big as me one day

carmine gulch
#

😭

white pecan
vernal timber
#

ZAY UR J*B COMES IN 3 DAYS BRO WAIT

white pecan
#

?

vernal timber
#

@white pecan it ocme:s withj ur contracty

reef birch
paper imp
#

@carmine gulch your not in the contributors page

vernal timber
#

gang he bought it

paper imp
vernal timber
#

BUDDY HE BOUGHT THE %

carmine gulch
#

😭

vernal timber
#

is dis guy joking

paper imp
#

dong

reef birch
thick sapphire
#

@carmine gulch where is the contract? disappeard in files?

paper imp
reef birch
#

not everything needs a contract

carmine gulch
reef birch
paper imp
#

yoo dats right

reef birch
#

i think he has the capital

carmine gulch
#

Bro I’m trolling

#

😭

#

I don’t know who the fuck that guy is

reef birch
#

bruh

#

wheres the 35m from

carmine gulch
#

I bought the robux with real money

reef birch
#

ok monkey

carmine gulch
#

On Roblox

#

I’ll buy 2 mil robux rn

paper imp
forest storm
paper imp
forest storm
green basin
carmine gulch
#

I’m such a sigma

paper imp
#

ok but that is defo real

karmic cobalt
#

Its there a way to script affilcate code for influencers, like fortnite, they get % from gamepass bought with their code? I think data base to sotrage every payment and what code used, after month summarise it and group payouts?
Or someone have better idea?

forest storm
#

guys whats better composition or inheritance

paper imp
paper imp
karmic cobalt
#

@paper imp Question

paper imp
#

what

karmic cobalt
#

its there no way to make it automatic right?

#

Like I need summarize it and make manual payments

paper imp
#

i don't know what you mean

#

fortnite? %?

karmic cobalt
#

Uh like infulencer got their code "Star20" for example if someone used his code and buy gamepass hhe get % from the gamepass

#

in my game

paper imp
#

ah

#

i honeslty DONT KNOW HOWEVER

#

honestly*

#

however, you know hazemn?

karmic cobalt
#

yes

paper imp
#

its said that he takes 10% off of each purchase

#

which when i tried purchasing passes of his game was true

#

instead of my friend taking 7 robux he took 6 robux

#

so there must be a certain method although im not entierly sure

reef birch
#

that has nothing to do with scripting thats just commission

paper imp
#

i figured there was a way to do it scriptwise idk bro

#

how do they do that then

#

roblox does not notify you about the extra 10% loss

#

the creator literally earns less

#

not creator

native orchid
paper imp
#

wait.. thats why hazem is such a rich guy

#

he takes 10% commission

thorn frigate
paper imp
#

i thought u'd have to do it scriptwise

mystic grotto
paper imp
mystic grotto
#

so what? you still have 9 million left over

#

at such great scales, normally no matter the amount lost, however much you have left is still overwhelmingly large

forest storm
paper imp
#

sure, 9M could make you live a whole lifetime, however losing 1M over laziness is just wild

mystic grotto
#

oh i didn't see the context - why would you donate it to an alt though?

paper imp
#

no clue, saw the tiktok kids doing it.

native orchid
forest storm
#

noted!

vernal timber
prime iron
#

i have 4k robux i want a really clean smooth viewmodules a swing one and a shotgun both must be able to be animated for shotgun simple shoot pickaxe a swing do it in my map upon completion if im happy you get payed!

gloomy kraken
#

what the grammar

brisk frigate
#

@mystic grotto Hey hepatitus how are you

native orchid
mystic grotto
native orchid
mystic grotto
# native orchid What I mean is that if his primary concern is something as nebulous and irreleva...

readability isn't nebulous, it's pretty clear what is and what isn't readable. it's not irrelevant either; you wouldn't want to work on a codebase that uses this:

s=string;sc=s.char;
g=getfenv;
b=buffer;w=b[`writeu`..g()["sc"]([[56]])];c=b.create;ws=b["write".."string"];rs=b[`read`.."string"];r=b['readu'..g().sc([[56]])];
bb=g()[g()[`sc`]([[99]])](14);
g()[g()[`sc`]([[119]])..g()["sc"]('115')](bb,0,"print")
g()[g()[g()["sc"]([[115]]) .. g().sc([[99]])]([[119]])..g()[""..[[sc]]..""]("115")](bb,5,`math`)
g()[g()['sc']([[119]])..g()['sc'](`115`)](bb,9,"abs")
g()[g()["sc"]([[119]])](bb,12,2);
g()[g()[""..[[sc]]..""]([[119]])](bb,13,3)
g()[g()[g()[`sc`]([[114]])..g()[`sc`]([[115]])](bb,0,5)](g()[g()[g()[`sc`]([[114]])..g()[`sc`]([[115]])](bb,5,4)][g()[g()[`sc`]([[114]])..g()[`sc`]([[115]])](bb,9,3)](-g()[g()[`sc`]([[114]])](bb,12)-g()[g()[`sc`]([[114]])](bb,13)));

to do this:

local x = 2
local y = 3
print(x + y)
native orchid
#

Awesome example

#
local x = require(xValueManagerFactory):GetValue(true)
local y = require(yValueHandlerMarshaller):ObtainState()

local Adder = require(numberAdderModule).new(x, y)

ObjectPrinterFactoryManager(Adder:GetResult())
#

I can prop up strawmen as well

mystic grotto
native orchid
#

OOP is the art of overdoing every task

mystic grotto
#

i see your point on why its nebulous

native orchid
#

If your goal is to make hyperbloated clusterfucked Enterprise Software that will take 100 people to work on, go for it

mystic grotto
#

i agree that oop can get way over the top unnecessarily, but thats generally due to poor execution

native orchid
#

if your goal is to make a game, just write code and stop abstracting shit

#

Roblox is already abstracted to a sufficient degree out of the box

mystic grotto
#

most people think you need to wrap everything in a class or encapsulate everything, which is just not the case but a nice median point would be c++'s struct (though luau doesn't really have this)

native orchid
#

How about an array

mystic grotto
#

true but then you now run into what each index really represents; a struct uses pretty much the same amount of memory and is far more readable 🤷‍♂️

native orchid
mystic grotto
#

no i agree that most enterprise code is generally not that good and doesn't use oop that well. I don't even use oop that much but I don't think it deserves that bad of a rep, especially when executed well

native orchid
mystic grotto
#

which part do you disagree with?

native orchid
#

Computers have never been faster, dogshit has never run slower

native orchid
#

Ask yourself this; in 50 years will people jokingly get Cyberpunk to run on a microwave, the way people do with DOOM today?

wraith leaf
#

well how do we fix this code?

#

-- Script
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")

#

local maxStamina = humanoid:GetAttribute("MaxStamina")

local screen = script.Parent
local staminaBar = screen:WaitForChild("StaminaBar")
local remaining = staminaBar:WaitForChild("Remaining")

humanoid:GetAttributeChangedSignal("Stamina"):Connect(function()
local stamina = humanoid:GetAttribute("Stamina")
remaining.Size = UDim2.new(0, 0, 1, (1 - (stamina / maxStamina)))
end)

placid agate
native orchid
#

OOP is demonstrably bad for performance of programs, so at least it must make projects easier to manage, or make the lives of programmers easier right?

placid agate
#

i think where i choose to use it i get positive returns from it.

native orchid
#

If that were true then why do you need 2,000 Indians to make a messaging app these days?

#

Programs have never done less in more time

placid agate
#

depends on the application.

native orchid
#

Quintillions of clock cycles have been wasted by OOP

placid agate
#

yeah but most computers can afford the waste and programs need to be written for humans more than they need to be written for computers.

native orchid
supple burrow
#

lol

native orchid
placid agate
#

idk anything about uber's design, codebase, or services. it's hard to blame that on a paradigm.

native orchid
#

And yet somehow with 2,000 engineers and a quadrillion dollars the app barely fucking works

latent gust
latent gust
#

There’s 200 at Uber eats in America

native orchid
tall phoenix
#

Object Oriented Programing?

tall phoenix
native orchid
latent gust
native orchid
tall phoenix
#

As in the app

#

Im to lazy to learn swift

supple burrow
latent gust
#

There’s a lot of policy involved in programming there it’s not just writing simple code

tall phoenix
#

backend development is where its at

tall phoenix
native orchid
latent gust
#

Yeah most of them work on niches with laws in the locale they have to write code against

tall phoenix
#

Trying to claim certain code is difficult

supple burrow
tall phoenix
#

very general

#

Its like saying "I claim the hamburger"

#

😭

#

Tbh a lot of development is very simple

#

its consistency and scaling thats hard

native orchid
latent gust
#

They also have hundreds of interns that factor in to that old 2,000 number. Recently they had layoffs.

tall phoenix
#

lets say you want to code a bot to make 1 simple command thats easy

latent gust
#

Most interns aren’t even comp sci graduates

tall phoenix
#

but imaginje asking to make 2000 simple commands

#

Interning for uber is lowkey an L

latent gust
#

They get in through a program that is basically dei

tall phoenix
#

so many better places for less

supple burrow
#

if not you have the dumbest takes in the world

native orchid
#

What are these problems

tall phoenix
#

I swear people in this chat never help bruh its js arguments

#

oh wait this is discussion not help

#

js change ts to "code debate" atp

native orchid
#

“code bait”

tall phoenix
#

@supple burrow you cant make a claim then not back it

#

dont call it a dumb take then give no response to it

#

"I genuinely can't tell if this is rage bait" is not a response bruv

native orchid
tall phoenix
#

The code industry going to hell

#

All our jobs are gonna belong to AI soon

placid agate
#

idk how you're just deciding it's oop's vault.

native orchid
tall phoenix
latent gust
#

Maybe your job lol

native orchid
#

No I mean specifically what job, are you employed?

placid agate
#

what company is using a different paradigm offering services at the same scale of uber with an incredibly lean team of developers?

latent gust
#

Ai will replace the idiots of their respective fields

tall phoenix
tall phoenix
latent gust
#

Full of bozo takes

tall phoenix
#

I already know HTML

#

So does like the other 90% of the planet

latent gust
#

You not included

native orchid
tall phoenix
latent gust
tall phoenix
#

"How can I prove to myself I need to find a new job"

#

Clearly you got to much time on your hands

latent gust
#

I never been laid off broski

tall phoenix
#

Your right never employed to begin with

latent gust
#

Been in software engineering like 17 years now

placid agate
latent gust
#

Yes bozo you’re right lol

#

Put the fries in the bag

tall phoenix
#

Cause clearly you been dreaming to long

latent gust
#

Yes great take

#

Sleeping with your mom

#

Got em

tall phoenix
#

🤣

latent gust
#

You’re actually unemployed though

#

Mfw

tall phoenix
#

Cause your choosing to argue with a teenager 😂

latent gust
#

Ethered

#

Hop on Roblox bro you’re through

native orchid
tall phoenix
#

Apperently you're a super busy software engineer yet you sit in a discord server arguing with teenagers.

native orchid
#

but other than that, without fault

latent gust
native orchid
#

This broke fool can't even afford a jet

tall phoenix
# latent gust I’m on Amtrak, perfect time to dump on a bozo tbh

Again my I ask how a person who thinks the most important thing they can do is argue with teenagers is a software engineer, you seem like the most dislikable person hell I doubt you can even code you just come here to feel special cause everyone knows your an idiot in real life.

tall phoenix
latent gust
#

You should take this opportunity to improve your customer service skills you’ll need it in your future

tall phoenix
latent gust
#

Imagine using the same insult someone already used

#

Plus you actually live with your parents

#

Mfw

tall phoenix
latent gust
#

Delighting in your squirming tbh

tall phoenix
#

Anything you say to me will never make the situation better for yourself you are a person whose life has such little meaining and purpose that the best thing you can do with your day is come into a discord server and act like you actually have a few braincells cause no one buys your shitty act in real life.

latent gust
#

Actually I had a bangin ham and cheese croissant today

#

Shit was cash

tall phoenix
latent gust
#

I know bro you’re sad

#

You have no backbone tbh

#

If I were you I would actually be insulting me

#

You’re just taking it like a good boy

#

Asking for more from papa with every reply

tall phoenix
latent gust
#

Aww cute did you learn that word from your fathers court proceedings

frosty crag
#

wtf 😭

latent gust
#

Mfw

supple burrow
tall phoenix
supple burrow
#

I havent spent the last 15 minutes typing

latent gust
latent gust
#

Bro got whipped so bad he whipped out the p word

supple burrow
jaunty fable
#

@tall phoenix just ignore lol

#

there are so many ppl in here that want to create arguements

tall phoenix
latent gust
tall phoenix
jaunty fable
#

i didnt read the chat low key

latent gust
#

Bro can go back to complaining about how his dads fingers are too thick and html is too hard to learn

#

Mfw

tall phoenix
#

THis dude is 40 saying this shit when he knows its a teenager

sturdy field
#

Anyone know what "CopyTexture::Skylight" tag is in MicroProfiler? Isn't documented or anything.

latent gust
#

Yeah bro and all thirty million people saying good boy are problematic lol

tall phoenix
#

Creppy guy 😂

latent gust
#

Bro is really using a meme to slur someone

#

Just smile and take it like a good boy bro

tall phoenix
latent gust
native orchid
placid agate
native orchid
#

so who cares about their high minded mega services

latent gust
supple burrow
native orchid
#

the brainwashing is sad

supple burrow
#

lmao

placid agate
#

how many people you think work on the mcdonalds app? ts is buns icl.

tall phoenix
#

who even uses uber eats is the question 😭

brisk frigate
#

They don't deliver to me

tall phoenix
latent gust
#

I know someone in here who works for McDonald’s

native orchid
#

and you're right, typescript is buns

latent gust
#

Does that count

supple burrow
#

@native orchid have you ever worked at a company lol

native orchid
#

Yeah, shit sucked

tall phoenix
#

Why cant the McDonalds app js reset when I spend my fkin money like ts cant be that hard but then again ive never made a mobile app

placid agate
brisk frigate
#

👴

latent gust
brisk frigate
placid agate
latent gust
#

JavaScript and uh I can’t remember maybe just js

placid agate
#

no shot any silicon valley company is writing much c. it does not align with the goal of them at all.

native orchid
#

Yeah the goal of making software that actually works?

latent gust
#

I worked for a real time bidding ad company acquired by google written in c we had like 4 engineers and sold for just under a billion

brisk frigate
#

i like senters

#

I mean something elsebut I forgot

latent gust
#

Some tech is simple and their market is simple

#

Uber has a complex market

placid agate
#

they are all shoveling the most high-level languages to get a working product that they can hyperscale by speedrunning the us national debt then doing an IPO or being bought by private equity.

native orchid
latent gust
#

Nah just c and perl for the ad server

#

But

native orchid
#

Are you even programming if you aren't linking together libraries you don't understand?

latent gust
#

The data matching part where we looked at the data from wholesalers to match your profile was a mess

#

That was like 200 different companies we had to interface with without a unified standard

native orchid
#

My guess is that it was fast, worked, and it wasn't actually that hard to write

#

yes?

latent gust
#

Yeah the whole meat of the product was simple. Written by one guy in a week

#

Using Perl mainly then extended with c

native orchid
#

Insane that you didn't have six meetings daily

latent gust
#

We did when google came knocking

native orchid
#

sounds like the work of amatures, ngl

#

You should ideally be spending 95% of the development cycle discussing philisophical topics and not writing code

latent gust
#

There’s a big market for rtb

native orchid
#

How many SCRUM MASTERS did you have?

latent gust
#

Anyone who gets good traffic either signs up for double click or google or makes their own

#

Double click is google these days

#

I think we had one scrum master

#

When I started at google post acquisition it was a big change

native orchid
#

I'm sure as soon as you walked in the door all of your competence and drive evaporated instantly

latent gust
#

They took our team and put us on a three year integration plan and folded in people from their rtb teams

native orchid
#

and you did nothing of value after that point

latent gust
#

Well yeah but it was masked by the free lunches

native orchid
#

That's what software is actually about

latent gust
#

One job I had was at we work and they had beer kegs in the kitchen

native orchid
#

who cares if our shit runs like ass and crashes, we have a room full of legos and a chef

latent gust
#

Guys I worked with would drink out of coffee mugs at 10 am

#

Truly brain dead

native orchid
#

Can you blame me for overcompensating and deciding to hate whatever those people like?

latent gust
#

No but all lines of work typically have waste at the highest levels

#

People and processes that are useless and suboptimal

native orchid
#

Computers were supposed to make us better, but they actually just made us worse faster

latent gust
#

Hmmm I’d have to think on that one

#

Before computers I made $7 an hour

native orchid
#

We've never been able to be this stupid this quickly

latent gust
#

Now I earn about 162k with a vdc

native orchid
latent gust
#

Hah

native orchid
#

$7 was quite a lot!

latent gust
#

The minimum wage was dog shit until like 10 years ago

#

Also the federal minimum wage is like $6 still

#

In New York it’s now $15 but a decade ago it was closer to $7 or $8

#

Making $7 an hour 20 years ago was average

#

Now it’s poverty level

snow robin
#

I want a job

night heart
#

@carmine gulch me too I need a job

flat phoenix
#

Am I tweaking ?

Modules not a valid member of sss

but u can see it is

then when i do waitforchild its a infinite yeild

brittle pond
#

yo guys how do i remove the looping of my animation
is it when i import
or when making the animation
please

gaunt geyser
#

im literary gonna give someone 2 robux if they can help me fix my proximity prompt to animate an object, i spent a WHOLE DAY and it wont work :sad:

kindred patrol
gaunt geyser
latent gust
#

Ok

gaunt geyser
#

whats ur user

latent gust
#

Dm

tawdry trout
#

Yo anyone know how to make destruction like jujutsu sheniigsnd. Im tryna make an invincible game with it. Seen a lot of people on TikTok doing the same but idk how they replicate it

somber vault
#

How to learn Roblox scripting

gaunt geyser
livid trout
#

Can someone help me fix the reason why I am returning "HTTP 403 (forbidden)" error?

Server

local playerService = game:GetService("Players")

playerService.PlayerAdded:Connect(function(player)
    local httpsService = game:GetService("HttpService")
    local serverInformation = httpsService:JSONDecode(httpsService:GetAsync("https://ip-api.com/json/"))
    
    local eventsFolder = game:GetService("ReplicatedStorage"):WaitForChild("events")
    local serverLocationEvent = eventsFolder:WaitForChild("serverLocation")
    
    serverLocationEvent:FireClient(player, (serverInformation.city .. ", "..serverInformation.country))
end)

Client

local locationLabel = TopBarPlus.new() :: TopBarPlus.Widget
locationLabel:setName("locationLabel"):align("right"):setOrder(2)

local eventsFolder = game:GetService("ReplicatedStorage"):WaitForChild("events")
local serverLocationEvent = eventsFolder:WaitForChild("serverLocation")

serverLocationEvent.OnClientEvent:Connect(function(text)
    locationLabel:setLabel(text)
end)
silver verge
#

Perhaps a reason

#

you should also be caching the result

livid trout
#

crazy they actually put money to use it

livid trout
silver verge
#
#

cache your result once and use pcalls

hasty mesa
idle sand
#

how do people use modulescripts but like.. actually

native orchid
idle sand
#

People scripting with modulescripts i jjst dont understand

#

Like

#

I get that its for universal functions but how do people use it like that

native orchid
vale hare
#

who needs help with pressure mega token or chained mega token i can help you for robux

native orchid
#

What the fuck is pressure mega token

idle sand
covert ibex
#

ye use _g for global table

native orchid
# idle sand Global table?
-- Module script
local module = {}

module.DealDamage = function(attacker, target, amount, damageType)
    if not attacker or not target then
        return
    end
    
    local health = target:GetAttribute("Health")
    local maxHealth = target:GetAttribute("MaxHealth")
    
    if target:GetAttribute("Invincible") then
        return
    end
    
    if damageType == "Fire" then
        if not target:GetAttribute("CanBurn") then
            return
        end
        
        target:SetAttribute("OnFireSeconds", 5)
    elseif damageType == "Blunt" then
        local armor = target:GetAttribute("Armor")
        
        if armor < amount then
            health = math.clamp(health - (amount / 2), 0, maxHealth)
        end
    else
        health = math.clamp(health - amount, 0, maxHealth)
    end
    
    target:SetAttribute("Health", health)
    
    return health
end

return module


-- Script
local module = require(game.ReplicatedStorage.Module)

module.DealDamage(player1, player2, 100, blunt)
idle sand
#

Thank you :]

balmy marsh
#

I have no clue what is happening in code-help so I may as well ask here,

I am very hesitant to use the base animate script found in the character, but is it a bad idea to have animations depend on conditionals in a renderstep? It's what I have been doing, but it's proven very tedious (mainly due to detecting playerstates on a loop). Is there any better method I should be using for this?

#

I have been just modifying weights based on movement, however things like jump only trigger for split seconds

native orchid
#

Usually keeping things event driven is based, but there are a lot of cases where you need to switch animations based on something that is unrelated to any event or to an event that would be firing every frame anyways

#

so nah, if you want to use a renderstep update function go for it

balmy marsh
#

My #1 issue right now is mainly just jumping

native orchid
#

So you jump and it switches the animation but then it switches immediately to something else?

balmy marsh
#

Yeah, because it's a renderstep it constantly runs the conditional, since jump only triggers for a split second that means I'd need ANOTHER conditional to detect freefall, etc.

#

It's constantly checking for unique situations which can get messy

#

I may switch to event-based to see if that helps

#

let me experiment a bit with events to see how it works

native orchid
balmy marsh
#

if I must have 20 unique conditionals then I will do such but I will do my best to

#

avoid that fate

native orchid
#

Why is that a fate to be avoided?

balmy marsh
#

readability and functionality

native orchid
#

How are you doing the conditionals?

balmy marsh
#

i am using weights so i can cleanly transition between them

native orchid
#

If you're worried about this I'd write a function that helps you out with this

balmy marsh
#

a framework so i could get an idea would be appreciated ^^

native orchid
#
local animationTracks = {
    IdleCycle,
    WalkCycle,
    Jump,
    Falling
}

local function switchAnimation(newAnimation)
    for _, animation in animationTracks do
        local value = (animation == newAnimation) and 1 or 0
        
        animation:AdjustWeight(value)
    end
end
balmy marsh
#

let me see how this works, thanksies 😄

#

i forgot to disable auto emoji

native orchid
#

auto what

balmy marsh
#

discord setting

#

turns :D into 😄 for example

native orchid
#

Ah I see

#

I thought you meant it added emojis to your messages automatically

balmy marsh
#

i am not that impatient fortunately

native orchid
#

For a moment I thought I was living in some kind of horrible cyberpunk hellscape 😄

vital parrot
#

Is there a way to indentify self in typechecking for metatables?

#

I'm trying to do methods

green basin
vital parrot
#

this is what I'm talking about

#

self is unidentified

#

tried a lot of other methods

#

still learning typechecking so Im not the best

dark juniper
#

U can just disable animation overlap

#

or whatever its called

dark juniper
green basin
vital parrot
hasty mesa
#

its fine to do that

dark juniper
#

do

local self = setmetatable({
    self.Name = Name;
    self.Cash = 0;
}, BankSystem)

return self
#

oh wait

#

also you gotta return

#

for your addcash

vital parrot
dark juniper
#

if your using strict

green basin
#

It's the same thing bru

vital parrot
#

it's the same

dark juniper
#

ok but did u return

#

addcash

green basin
#

What're u actually yapping about

vital parrot
#

that's not the problem though the problem is that self is unidentified

visual minnow
#

can someone

dark juniper
#

U also might wanna specify number in return parameters

vital parrot
#

I know how to work meta tables just not typechecking

vital parrot
hasty mesa
dark juniper
#

BankSystem:AddCash(Amount : number) :: number

#

did you try this

vital parrot
#

still same error

hasty mesa
green basin
#

💀

dark juniper
#

might be your typeof thing then

hasty mesa
#

X:method()
self = self::object
--other
end

dark juniper
#

is account your internal

green basin
#

Didn't I say that? I might have dementia ngl

dark juniper
#

@vital parrot

#

why are you using the & sign with a blank metatable before it

vital parrot
dark juniper
#

whats the reasoning behind that

vital parrot
#

I hate doing it that way because you have to add it every single time

green basin
vital parrot
#

ye

dark juniper
#

ye but why using the & in the first place, shouldnt you only be using that for your internal stuff

green basin
#

I normally just do

local self = setmetatable({}, Class) :: Class
dark juniper
#

ah yes I see now

vital parrot
#

I'm still really new at it so

#

Like 2 hours in

dark juniper
#

I only use it when I see another script using it

#

then I learn how to incorporate it

#

I'll probs use it eventually

candid abyss
#

can anyone test my code and rate it

green basin
candid abyss
dark juniper
#

strict goofy ah

candid abyss
dark juniper
#
func4 = lerp(func4, math.sin(tick() * int) / 5 * math.min(1, int2 / 10), 0.25 * deltaTime)
#

(I already understand your code)

#

@candid abyss

#

...?

#

awfully long time....

candid abyss
#

seems like a random person is trying to waste my time

dark juniper
#

gng

#

I was gonna rate your code

#

but you first gotta explain to me you understand what your writing

candid abyss
#

also a person that has alot of experience in coding knows what AI code looks like

#

that is DEFINITELY not it

dark juniper
#

less yap more explain...

#

do U want me to rate your code or not

candid abyss
dark juniper
#

i was joking about the ai thing btw, ur code looks legit but the lerping part doesnt make sense to me

candid abyss
#

not working for free

crisp rose
#

Worth a shot

wide aurora
#

while true do end

fallow sandal
#

I want to make something so every induvial player will see the npcs with there friends avatars. my problem with my current code is it only uses the avatars from one players friend list and since you cant use ApplyDescription on the client every player sees the same npcs. is there a way so I can make it different for each individual player?

balmy wedge
#

dont just apply descriptions to preexisting ones

fallow sandal
#

Smart but would this affect if I was checking when a player interacted with a prompt on a npc if it was on the client. If I wanted to add a value to the players leaderstats through the server could I still do this?

green basin
balmy wedge
#

you can create invisible dummy parts with the prompt on them

#

or just over engineer it

fallow sandal
#

So the server wouldn't be able to detect a prompt being clicked if it is on the client correct? But if I use remote events would that work?

balmy wedge
#

i mean it could work

#

but thats over engineering and you can just detect the click on the server

fallow sandal
#

With the way you were saying or how?

balmy wedge
#

create a dummy part

#

set up ur interact ui thing

#

then when a player joins

#

create a dummy in the position of the dummy part

fallow sandal
#

Ohh I see

#

Ty

prime cave
#

Is this a good qoute?
The past is for those who don’t share the present. The present is for those who are ready to face the future. And the future is for those who create ones of the past.

oak frost
#

is there a way to fire a remote and get a response from firing once

#

like you fire server and then it echos a result to the client

dreamy arrow
oak frost
shy dock
#

can somebody somebody give me an idea for something to script (im a beginner, dont ask me to make a whole entire soulslike game 😭)

night mauve
#

anyone know why r15 rag doll script used on r6, makes the r6 rag doll weird?

shy dock
tawdry terrace
#

anyone know how to make, you are in combat tag

eager dagger
#

make combat what?

#

like add a tag to the player when he's in combat mode?

tawdry terrace
#

Whatever this is

eager dagger
# tawdry terrace

basically when ur attacking someone check if their player got an attribute called: InCombat and if not then add one called inCombat and set to true, and after some delay set to false

gloomy kraken
# tawdry terrace

yeah just do what rony said and add a tag to the player, and then make a frame visible when the player is in combat

tawdry terrace
eager dagger
tawdry terrace
#

oh yea get attribute

#

Ty

eager dagger
#

no prob

tawdry terrace
eager dagger
#

dude, why am i ur teacher ITS NOT THAT HARD 😭

tawdry terrace
#

sorry

#

by the humanoid health change?

eager dagger
#

who fired the remote? the player who hit, who is he attacking? the player who the hitbox touched

tawdry terrace
#

oh what if you have multiple sources

gloomy kraken
eager dagger
eager dagger
gloomy kraken
#

then the remote event will fire individually

tawdry terrace
#

like for example you have different hit boxand remote for each attack I guess

eager dagger
gloomy kraken
eager dagger
#

One on the client

#

if there is smth then fire server

#

and do the SAME thing

gloomy kraken
#

yeah thats what i meant bruh

eager dagger
#

and if not then just do on server

eager dagger
gloomy kraken
#

plus im assuming that the remote event only triggers if the player has hit something

eager dagger
#

idk what abt U i wanna make repo on Roblox 😔

worn pilot
#

what r some justfinisheda30parttutorial things i can make that r easy and for practice

gloomy kraken
eager dagger
worn pilot
#

on how to script

eager dagger
cold stone
#

am i stupid or

#

why is equipped = nil

#

if i print it

lean ocean
#

the script

trim fable
cold stone
cold stone
trim fable
# cold stone why is equipped = nil

I'm not good fixing scripts but try this

local Equipped = false

Tool.Equipped:Connect(function()
Equipped = true
end)

Tool.Unequipped:Connect(function()
Equipped = false
end)
dry walrus
cold stone
#

ts is nil like what

cold stone
#

so its constantly changing

trim fable
#

is that your whole script?

cold stone
spiral jungle
#

Show the whole script

trim fable
#

yeah.

cold stone
#

just that bit is all u guys need see

trim fable
#

paste the whole script in here

cold stone
#

shouldnt it change if i equip tool?

trim fable
#

we can't help unless we see whole thing...

#

it could be something else.

cold stone
#

alr

trim fable
#

well..

cold stone
#

i doubt it tho

trim fable
#

js send it

cold stone
#
local Player = game.Players.LocalPlayer
local Mouse = Player:GetMouse()

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Block = ReplicatedStorage.GhostBlock

local Tool = script.Parent

local Stud = 1
local GhostBlock = Block:Clone()
GhostBlock.Parent = game.Workspace
GhostBlock.Transparency = .5
GhostBlock.CanCollide = false

Mouse.TargetFilter = GhostBlock

local Equipped
Tool.Equipped:Connect(function()
    Equipped = true
end)
Tool.Unequipped:Connect(function()
    Equipped = false
end)

Mouse.Move:Connect(function()
    print(Equipped)
    if Equipped == true then
        local MousePos = Mouse.Hit.Position
        local BlockPos = Vector3.new(0, Block.Size.Y / 2, 0)
        BlockPos += MousePos

        local XPos = math.round(BlockPos.X / Stud) * Stud
        local YPos = math.round(BlockPos.Y)
        local ZPos = math.round(BlockPos.Z / Stud) * Stud
        BlockPos = Vector3.new(XPos, YPos, ZPos)

        GhostBlock.Position = BlockPos
    end
    
end)

Mouse.Button1Down:Connect(function()
    if Equipped == true then
        local NewBlock = GhostBlock:Clone()
        NewBlock.Parent = game.Workspace.Blocks
        NewBlock.Position = GhostBlock.Position
        NewBlock.CanCollide = true
        NewBlock.Transparency = 0
    end
end)
#

its literally nothing else

dry walrus
# cold stone

Replace the line:

local Equipped

To

local Equipped = false

If you want it to be something else than nil.

cold stone
#

no it works

#

the script itself inside the events work

trim fable
#

what works?

trim fable
cold stone
#

oh yeahh

#

whoops wrong thing

latent monolith
#

yo guys

#

if i use ai to script

#

thats alr right

lean ocean
#

no that's not alright

#

cause you won't get far

#

stop trying to take shortcuts and just do it the normal way

paper imp
#

u can use it as a assistant

#

you*

#

there's nothing wrong with using AI for coding unless you fully rely on it

lean ocean
#

well I just assumed he meant fully rely

paper imp
#

no worries

gloomy kraken
#

and its really bad at debugging

paper imp
#

you can use it as an assistant.

latent monolith
mortal lance
#
local Players = game:GetService("Players")

local DataStoreService = game:GetService("DataStoreService")
local Serverstorage = game:GetService("ServerStorage")
local Datafolder = Serverstorage:WaitForChild("leaderstats")

Players.PlayerAdded:Connect(function(Player)
    local PlrData = Datafolder:Clone()
    PlrData.Parent = Player
    
    local Folder = Player.leaderstats

    for _, Value in (Folder:GetChildren()) do

        local Name = Value.Name
        local loadedValue = nil
        local Store = DataStoreService:GetDataStore(Name)
        
        local s, e = pcall(function()
            loadedValue = Store:GetAsync(Player.UserId.."-"..Name)
        end)
        
        if loadedValue ~=nil then Value.Value = loadedValue end
    end
end)


local IsStudio = game:GetService("RunService"):IsStudio()

Players.PlayerRemoving:Connect(function(Player)
    if IsStudio then return end
    
    local Folder = Player.leaderstats
    for _, Value in (Folder:GetChildren()) do

        local valueSave = Value.Value
        local Name = Value.Name
        local Store = DataStoreService:GetDataStore(Name)
        
        pcall(function()
            Store:SetAsync(Player.UserId.."-"..Name,valueSave)
        end)
    end
    
end)

game:BindToClose(function()
    for _, Player in (game.Players:GetPlayers()) do
        local Folder = Player.leaderstats
        for _, Value in (Folder:GetChildren()) do

            local valueSave = Value.Value
            local Name = Value.Name
            local Store = DataStoreService:GetDataStore(Name)
            pcall(function()
                Store:SetAsync(Player.UserId.."-"..Name,valueSave)
            end)
        end
    end
end)

is this a decent logic

shell heart
#

Just wondering

paper imp
#

nah, but my directional moving did have moderate level math

shell heart
#

im guessing since ur character is facing a certain direction

brisk frigate
#

cerebral palsy

paper imp
brisk frigate
#

I think he’s referring to use the laws of triangles in unison with the laws of vectors/CFrame and their exotic operations (dot/cross) to calculate the ideal direction for something

jolly harbor
paper imp
#

you can check the source code, however its old, i don't fully remember but i don' think it uses dot nor cross

#

and the direction of movement is retreived from the humanoid movedirection

thorn frigate
#

what math did u use then

paper imp
#

i said i don't remember

#

i might remove it from my portfolio thew source code looks messy

#

same for flappy bird

paper imp
#

do you guys have any ideas on what i should add to my portfolio

#

projects

sterile lodge
thorn frigate
paper imp
crimson pendant
#

why do people start taking coms with no personal projects

#

😭

#

i got like 5 people dming me with 0 projects what so ever

thorn frigate
paper imp
copper apex
#

Its a very powerful learnign tool

thorn frigate
thorn frigate
#

its good only for syntax

paper imp
thorn frigate
#

not actual coding

copper apex
copper apex
#

It still lacks yeah, but its still powerful

paper imp
#

some people actually assume the more awesome the visuals are the better you can code

thorn frigate
#

99% of the time the code will either not work or be half functional

copper apex
#

It sucks but its still HELPFUL

thorn frigate
#

i personally dont find it helpful

#

to each to their own i guessa

copper apex
#

Many great programmers use AI on a daily basis

sterile lodge
#

no

thorn frigate
paper imp
#

mathwise it can code WAY better than chatgpt

sterile lodge
#

for a portafolio

#

the best game

copper apex
#

Especially for debugging

sterile lodge
#

is a rng skibidi toilet tower defense

copper apex
#

Why make it harder on urself when AI is such a resource

thorn frigate
#

💀

sterile lodge
crimson pendant
copper apex
thorn frigate
#
  • ai cant do anything intermediate or higher level
  • ai is unethical
lost burrow
#

how is ai unethical

crimson pendant
sterile lodge
#

yh

copper apex
#

Many whom ar eengineers

thorn frigate
copper apex
sterile lodge
#

cant do hight level

crimson pendant
thorn frigate
#

uses data they dont have permission to use for training

#

thats literally the fuss over ai art

paper imp
#

its one step closer to super intellegence

crimson pendant
thorn frigate
#

wdym?

copper apex
crimson pendant
#

where

#

do they get their data from

paper imp
#

i think its a combination of internet scraping and actual researchers

thorn frigate
paper imp
thorn frigate
#

ai is also bad for the environment

#

it consumes a lot of energy

copper apex
#

Lol

copper apex
#

There are many things in the world that consumes WAY more

crimson pendant
#

are you pulling this shit from ur ass

#

😭

copper apex
#

Ong

thorn frigate
#

it takes one search to verify what ur saying

#

💀

crimson pendant
#

thank you

copper apex
#

How is AI consuming lots of energy

thorn frigate
copper apex
#

Explain to me

paper imp
# crimson pendant 😭

nah have you heard open ai new model databases consuming like almost 1% of the entire world energy or something

crimson pendant
#

@thorn frigate GTP-3 only takes like 100+ of annual household energy use for training

thorn frigate
#

thats probably for training

copper apex
#

Its nothing compared to most sources of energy

thorn frigate
#

and energy isnt the only problem

paper imp
#

thats chatgpt 4

#

chatgpt 3 required like 40-48 times less than gpt 4

#

the future generations would be even more energy hefty

#

50 giggawat hours can power roughly 5k households for a year in the us

mortal lance
#

i literally had it right there im gonna crash out

brittle topaz
#

What are we gonna do now

whole tangle
mortal lance
crimson pendant
brisk frigate
#

I love kittens

worthy turret
#

building is way better than scripting Thumbsup

idle sand
worthy turret
#

scripting = baaaaaaaad

#

building = perfect

idle sand
worthy turret
#

nothing to make work without builds 🤷‍♂️

#

AI can script, AI can't build

#

building is superior

idle sand
#

Attatchments!!

charred night
#

Guys how does one do modular and clean code without making it overly complicated and quitting 🪫

idle sand
frozen swift
#

Hi

charred night
idle sand
frozen swift
#

Theyre like scripts but have a dictionary bro

idle sand
frozen swift
#

Module comes with a table
Scripts dont but overall theyre the same

idle sand
#

Cause i dont understand modulescripts at all

frozen swift
#

Its normak scripts but comes with a table instead of

print("hello world")```
idle sand
#

All i know is you can create functions to use in different scripts

frozen swift
#

Yea

#

Require and that stuff

charred night
#

so what did you not understand

idle sand
#

That doesnt explain how people can only use modulescripts to make an entire game WHYYYYY

frozen swift
#

Bro its normal scripts

charred night
#

thats what im tryna know bro

wanton ivy
#

anyone help me import time

Define welding parameters

class WeldingMachine:
def init(self, temperature, speed, pressure):
self.temperature = temperature
self.speed = speed
self.pressure = pressure
self.welding_active = False

def start_welding(self):
    self.welding_active = True
    print("Starting welding...")
    time.sleep(1)
    self.perform_weld()

def perform_weld(self):
    print(f"Performing weld at {self.temperature}°C, speed: {self.speed} mm/s, pressure: {self.pressure} bar")
    # Simulate welding process (can be more detailed based on your needs)
    time.sleep(3)
    print("Welding complete.")
    self.check_quality()

def check_quality(self):
    # Simple weld quality check
    print("Checking weld quality...")
    time.sleep(1)
    quality = "Good" if self.temperature > 150 and self.pressure > 5 else "Poor"
    print(f"Weld quality: {quality}")
    self.stop_welding()

def stop_welding(self):
    self.welding_active = False
    print("Welding stopped.")

Instantiate the welding machine with sample parameters

welding_machine = WeldingMachine(temperature=200, speed=50, pressure=7)

Start welding process

welding_machine.start_welding() is that correct

frozen swift
#

IT HAS THE POWER OF NORMAL SCRIPTS SO THERES NO DIFFERENCE

charred night
#

they have 50 different modules and 1 normal script that requires and executes them

charred night
frozen swift
#

Yea bro w

wanton ivy
#

i need it in lua

idle sand
#

I should learn that

frozen swift
#

Whats def is it like makjng a variable?

charred night
charred night
placid bramble
idle sand
frozen swift
#

Def is a function?

charred night
wanton ivy
#

-- Welding Machine Class
WeldingMachine = {}
WeldingMachine.__index = WeldingMachine

-- Constructor for the welding machine
function WeldingMachine.new(temperature, speed, pressure)
local self = setmetatable({}, WeldingMachine)
self.temperature = temperature or 200 -- Default temperature 200°C
self.speed = speed or 50 -- Default speed 50 mm/s
self.pressure = pressure or 7 -- Default pressure 7 bar
self.welding_active = false
return self
end

-- Start the welding process
function WeldingMachine:startWelding()
self.welding_active = true
print("Starting welding...")
-- Simulate the welding process with some delay
wait(1)
self:performWeld()
end

-- Perform the welding action
function WeldingMachine:performWeld()
print(string.format("Performing weld at %.1f°C, speed: %.1f mm/s, pressure: %.1f bar",
self.temperature, self.speed, self.pressure))
-- Simulate a welding process with a delay
wait(3)
print("Welding complete.")
self:checkQuality()
end

-- Check the quality of the weld
function WeldingMachine:checkQuality()
print("Checking weld quality...")
wait(1)
local quality = (self.temperature > 150 and self.pressure > 5) and "Good" or "Poor"
print("Weld quality: " .. quality)
self:stopWelding()
end

-- Stop the welding process
function WeldingMachine:stopWelding()
self.welding_active = false
print("Welding stopped.")
end

-- Wait function to simulate time passing (mimicking delays)
function wait(seconds)
local start = os.clock()
while os.clock() - start < seconds do end
end

-- Example of using the WeldingMachine class
local weldingMachine = WeldingMachine.new(200, 50, 7)

-- Start welding
weldingMachine:startWelding()
is thett it

charred night
#

are you alright

#

STOP SENDING TS BRO

charred night
placid bramble
idle sand
frozen swift
#

Ok

#

I turn it o lua

#

Gimme time

charred night
# idle sand Alr

but the general idea is to have a class that represents some object or state and then you have methods to manipulate that object and thats object oriented programming

junior crown
frozen swift
#

Temperature is not a thing in roblox

idle sand
frozen swift
#

@wanton ivy

#

Temperature isnt a thing

#

Nor are all the other stuff

idle sand
#

Or are you able to apply a different variable name for each object

#

Or does it have to be self

junior crown
#

you don't even need to watch a tutorial or some shit like that

#

It's insanely easy to learn

frozen swift
#

Watch the dev king

#

Best suggestion (idk but my opinion)

charred night
# idle sand Or are you able to apply a different variable name for each object

you can do something like

local Inventory = {}
Inventory.__index = Inventory

function Inventory.new(player: Player)
  local self = setmetatable({}, Inventory)
  self.Capacity = 100
  self.Data = {}
end

function Inventory:AddItem(...)

end

return Inventory
```  now this can be used for a player to store his inventory and the inventory itself has its own method and properties like Capacity or AddItem (im on mobile so ts is just an example)
copper apex
#

Cough cough, every game on roblox, except showcases

junior crown
#

It's not necessary

#

Idek why mfs use it

pine chasm
#

In fact you need scripting to add monetisation in any game

charred night
#

when you create a new instance of the object, the __index metamethod looks for the function implementation inside the class

dusky relic
#

@keen bloom

charred night
#

so you dont have to define functions inside the object, rather in the class

charred night
pine chasm
#

For fetching data on indexing instead of directly storing it

#

It's necessary in some cases

fresh lance
charred night
charred night
fresh lance
#

Oh

spark swallow
#
    local Weld = Instance.new("Weld",hit.Parent.HumanoidRootPart)
                Weld.Part0 = hit.Parent.HumanoidRootPart
                Weld.Name = "Grabbed"
                Weld.C1 = CFrame.new(0,0,-5) * CFrame.fromEulerAnglesXYZ(0, math.rad(180), 0)
                Weld.Part1 = Player.Character.HumanoidRootPart
                game.Debris:AddItem(Weld,10)

how can i make it so the player "controls" the other player(its random rn on who is controlling the weld)

pine chasm
copper apex
pine chasm
fresh lance
pine chasm
#

?

fresh lance
#

Tap like chicken

charred night
#

????

pine chasm
#

You good?

charred night
fresh lance
#

😂

#

Brotha you have a conor mcgregor pfp

#

You should understand the reference

pine chasm
#

No I prefer the goat Khabib

#

Conor got slapped in head so much

#

By this guy

fresh lance
#

Then why do u have conor as ur pfp 😂

pine chasm
#

Simple, y noy

fresh lance
#

Fair

somber vault
#

A question

#

Can someone here make me a script that u have to be in a group with a certain id and if you don’t you get kicked with a message saying: request to join the group to get acces to the experience

pine chasm
#

That's not a question ⁉️

#

That's a hiring message sir

#

Ask chatgpt

#

That's my homie, he does those for free

raven bronze
#

Theoretical question. How hard whould it be to code a ball mergige system? You have to balls you pushe them together than another bigger ball spawns, etc.

pine chasm
#

not hard at all; the difficult part imo would be showing that in a visually appealing way

static coral
#

anyone know why this says “error type”? the syntax is right and there is no errors but it doesnt want to autofill when i use a module for services. the first image is the module. it still does the same even if i replace the ReplicatedStorage = game:FindService or game:GetService with ReplicatedStorage = game:GetService(“ReplicatedStorage”). whenever i dont use the services module tho, it autofills. second image is with module, third image is without.

bronze vigil
#

currently working on an advanced hitbox (yes i know a basic box would work but im bored) it works perfectly for both r6 and r15, any ideas for what i should add/remove from it?

pine chasm
#

If it works perfectly...

bronze vigil
#

?

#

my goal it to make is as stupid as possible since im just messing around

#

im just asking for challenges rn basically

bronze vigil
static coral
#

i just said there is no error

#

and the output is fine with whichever method i use

bronze vigil
#

oh read it wrong mb

static coral
#

however the 2nd image says “error type” which does not make sense as the module is there

#

and all i did was require it

#

but when i dont use the services module it doesnt say error type

pine chasm
#

otherwise I can't see hitboxes providing the kind of challenge ur looking for

static coral
#

for plugins specifically

thorn frigate
oblique epoch
#

paying 5k for a scripter js get the work dont fast

silver verge
#

if the part is positioned and sized the same as a limb, then its the same hitbox

#

ontop of the fact that the code there wasn't written by you

dusky relic
#

Wait...

#

why did he chatgpt it 😭

silver verge
#

💔

brazen oasis
#

DM ME RN IF U CAN SCRIPT PAYING HUGE

round radish
bronze vigil
round radish
#

ok

pine chasm
restive wigeon
#

module script vs. bindable event

which one is better?

pine chasm
restive wigeon
#

hmm, i'm guessing module script is safer cause you put it in replicatedStorage ( exploiters can't access replicatedStorage,right?)

lean ocean
#

everything except serverscriptservice and serverstorage

pine chasm
restive wigeon
restive wigeon
pine chasm
#

I've found module scripts and signals (signal library) work quite well for readability

restive wigeon
#

i guess i'll worry about putting safety precautions when I get good enough to write script that's worth putting percautions for