#code-discussion

1 messages ยท Page 96 of 1

robust rose
#

wrong

true fern
#

try it

stiff ibex
true fern
stiff ibex
#

I promised myself I wouldn't use AI.

#

I can see the detail... I'm going to say it's AI.

short rampart
#

how hard would it actually be to make a roblox executor? anyone have any idea???

robust rose
true birch
short rampart
#

who wanna make a roblox executor

somber vault
short rampart
true birch
stiff ibex
true fern
true fern
stiff ibex
short rampart
#

i forg how u do that tho

true fern
#

thats the start of it

robust rose
true fern
short rampart
stiff ibex
true fern
#

why do you talk like ai tho

#

are you ai..?
hate your own kind

#

i mean that COULd be possible

stiff ibex
robust rose
true fern
stiff ibex
true fern
robust rose
stiff ibex
# true fern why's that

It's fucking up children, and developers are using it, with them having the audacity to stomp over REAL DEVS.

stiff ibex
robust rose
stiff ibex
#

ok i need to take a break, I've let out my anger enough for one day...

robust rose
stiff ibex
#

I'll be right back, guys.

true fern
short rampart
#

quick question, am i allowed to use the ai in roblox to just like explain a line of code to me

#

not make just purely explain

true fern
#

why wouldn't u be

ember nimbus
short rampart
#

to script

ember nimbus
#

like i don't want chat gpt codeswitching ๐Ÿ’”

true fern
true fern
#

not coding

short rampart
#

ye

#

are u good at coding

#

ballsman

true fern
true fern
stiff ibex
#

this feels SOOO much better

true fern
#

im joking..

dense aspen
#
local MarketplaceService = game:GetService("MarketplaceService")

local function handlePurchase(info)
    local ReceivedProductID = info.ProductId
    local Player = game.Players:GetPlayerByUserId(info.PlayerId)

    if ReceivedProductID == ProductID then
        if Player then
            for i = 1, 1000 do
                local y = 50
                local Part = Instance.new("Part")
                Part.Parent = workspace
                Part.Position = Vector3.new(x, y, z)
                Part.Color = Color3.fromRGB(math.random(1, 255), math.random(1, 255), math.random(1, 255))
            end
        end
    end
end

MarketplaceService.ProcessReceipt = handlePurchase``` Does anyone know how to wrap this in a pcall
dense aspen
#

so it actually buys instead of giving me an error likek this

somber vault
stiff ibex
dense aspen
stiff ibex
#

pcall the function

dense aspen
#

okk

dense aspen
# stiff ibex no

local ProductID = 1234567890
local MarketplaceService = game:GetService("MarketplaceService")

pcall(local function handlePurchase(info)
local ReceivedProductID = info.ProductId
local Player = game.Players:GetPlayerByUserId(info.PlayerId)

if ReceivedProductID == ProductID then
    if Player then
        for i = 1, 1000 do
            local y = 50
            local Part = Instance.new("Part")
            Part.Parent = workspace
            Part.Position = Vector3.new(x, y, z)
            Part.Color = Color3.fromRGB(math.random(1, 255), math.random(1, 255), math.random(1, 255))
        end
    end
end

end

MarketplaceService.ProcessReceipt = handlePurchase

#

)

#

liek that?

peak sphinx
#

putitinacodeblock

stiff ibex
dense aspen
#

okay

#
local MarketplaceService = game:GetService("MarketplaceService")

pcall(handlePurchase()
    local ReceivedProductID = info.ProductId
    local Player = game.Players:GetPlayerByUserId(info.PlayerId)

    if ReceivedProductID == ProductID then
        if Player then
            for i = 1, 1000 do
                local y = 50
                local Part = Instance.new("Part")
                Part.Parent = workspace
                Part.Position = Vector3.new(x, y, z)
                Part.Color = Color3.fromRGB(math.random(1, 255), math.random(1, 255), math.random(1, 255))
            end
        end
    end

)
MarketplaceService.ProcessReceipt = handlePurchase
``` would this work?
#

?

dense aspen
foggy fiber
#

Hey everyone,

Iโ€™m searching for a solution or a toolโ€”like a virtual animatorโ€”that can play animations directly on models or rigs without relying on Humanoids or Animator instances.

The reason is, I want to protect my animations from being stolen by exploiters who use GetPlayingAnimationTracks() to detect and copy them.

If anyone knows of any existing modules, plugins, or custom scripts that handle animation playback completely off the Humanoid system (for example, by directly manipulating CFrames or joint transforms), Iโ€™d love to hear about it.

stiff ibex
#

i thought you were going to do that upon a button being clicked or smth

#

mb

dense aspen
#

yea

dense aspen
#

the buy thing shows up

shut sorrel
dense aspen
#

how?

dense aspen
shut sorrel
dense aspen
#

okay

shut sorrel
#

function handlePurchase()

dense aspen
#
local ProductID = 1234567890 
local MarketplaceService = game:GetService("MarketplaceService")

local function handlePurchase(info)
    local ReceivedProductID = info.ProductId
    local Player = game.Players:GetPlayerByUserId(info.PlayerId)

    if ReceivedProductID == ProductID then
        if Player then
            for i = 1, 1000 do
                local y = 50
                local Part = Instance.new("Part")
                Part.Parent = workspace
                Part.Position = Vector3.new(x, y, z)
                Part.Color = Color3.fromRGB(math.random(1, 255), math.random(1, 255), math.random(1, 255))
            end
        end
    end
end

MarketplaceService.ProcessReceipt = handlePurchase```
dense aspen
noble garden
#

Hey guys, does anyone have experience with viewport frames?

dense aspen
hallow crag
dense aspen
#

hmm

#

OH

hallow crag
#

make sure on the gamepass page to click copy pass id not copy asset id

dense aspen
#

wait

#

whattt tyy lets see if it workks

#

my only option is to copy asset id

hallow crag
true fern
foggy fiber
hallow crag
true fern
dense aspen
#

hm

hallow crag
#

click 3 dots

#

and then copy pass id

dense aspen
#

its a dev product tho

hallow crag
#

ohh

#

copy asset id should work fine then

#

also send ur code

foggy fiber
#

and it detects saveinstance()

foggy fiber
true fern
foggy fiber
true fern
hallow crag
dense aspen
foggy fiber
dense aspen
hallow crag
#

?

dense aspen
foggy fiber
hallow crag
dense aspen
#

lol

hallow crag
#

ur using PromptGamePassPurchase my guy

#

on a product

hallow crag
tranquil holly
#

does anyone know the best way to get better at scripting? ive tried yt and it doesnt help

foggy fiber
dense aspen
#

should i use smth else instead?

hallow crag
dense aspen
#

oh yeaaa its not a gamepass its a dev product-

hallow crag
dense aspen
#

my brain

frank karma
#

i wanna do

hallow crag
frank karma
#

but i am only learning how to code

dense aspen
#

okay

frank karma
#

i am a scripter

dense aspen
#

OMG

#

IT WORKS

#

BROOOOO TYSM

#

IVE BEEN TRYING FOR DAYS

#

TYYYYYYYYSMMMMM

hallow crag
hallow crag
true fern
foggy fiber
hallow crag
true fern
#

right

hallow crag
#

this is my dex detection

#
local ContentProvider = game:GetService("ContentProvider")

local LocalPlayer = Players.LocalPlayer

local BlacklistedAssets = {
    "rbxassetid://5642383285",
}

table.freeze(BlacklistedAssets)

local OldCount = #BlacklistedAssets

while task.wait() do
    if not table.isfrozen(BlacklistedAssets) then
        LocalPlayer:Kick()
    end

    if #BlacklistedAssets ~= OldCount then
        LocalPlayer:Kick()
    end

    for _, asset in BlacklistedAssets do
        if ContentProvider:GetAssetFetchStatus(asset) == Enum.AssetFetchStatus.Success then
            LocalPlayer:Kick()
        end
    end
end```
#

kicks them instantly

foggy fiber
#

oh i see

#

Does it detect Inf yeild

foggy fiber
#

yield*

true fern
#

you're calling ContentProvider asset MULTIPLE times per second

#

also, it takes just this to bypass it:

local old;
old = hookfunction(game:GetService("ContentProvider").GetAssetFetchStatus, function(Self, Asset)
   if Asset == "rbxassetid://5642383285" then return end
   return old(Self, Asset)
end)
hallow crag
#

lmao

#

it doesnt affect peformance

true fern
# hallow crag so what

do you realize how bad that is for performance?
just to get bypassed by 1 hookfunction?

true fern
foggy fiber
true fern
hallow crag
true fern
hallow crag
#

to send to this guy

hallow crag
hallow crag
#

^^ open ac

#

also uses the MakeDetection function

#

which is used in here

foggy fiber
#

who gave u that

hallow crag
true fern
#

@foggy fiber

local unfilter = { "rbxassetid://0", "rbxassetid://10066921516", "rbxassetid://13262267483", "rbxassetid://13253401424" }
local old;
old = hookfunction(getrenv().string.match, function(a, b)
  if (b == "^rbxassetid://" or b == "^http://www%.roblox%.com/asset/%?id=") and table.find(unfilter, a) then return nil end
  return old(a, b)
end)
#

bypassing anticheats is not hard

foggy fiber
#

huhh

#

i just need a inf yield detection icl ๐Ÿคท๐Ÿปโ€โ™‚๏ธ

true fern
#

inf yield is useless for actual exploiters lmao

hallow crag
true fern
#

i dont use it for anything except loading dex, in fact i don't even use it, i just load their dex

true fern
#

also it does what's needed, its not made to bypass 100 generations of detections

hallow crag
#

they patched it

#

with getcustomasset

true fern
hallow crag
true fern
#

with preloadasync, if devs don't hide their file extensions

true fern
#

anything, you just need a file extension

#

its funny how nobody does it, but the bypass is just renaming the file to the file without an extension

hallow crag
#

oh aight didnt know about that

true fern
#

nw im not hating or anything

foggy fiber
true fern
foggy fiber
#

yh prob

true fern
#

but any "executor" detection is stupid

#

90% of them are just error detections

#

and seeing if they have the executor's name

#

or a service using loadstring

hallow crag
#

unless u have a popular game making detections in the first place is a waste of time

true fern
#

even on games with 3 players

hallow crag
#

also i prefer not have false positives

#

in my games

true fern
#

for example, unanchored parts

#

either weld them or anchor them

#

thats a basic, no matter how big your game is

earnest sun
#

how can i bypass jumppower limits

true fern
earnest sun
#

1000

#

you can change it technically but scripts cant

true fern
#

humanoid.JumpPower = math.huge

earnest sun
true fern
# earnest sun

game.Players.LocalPlayer.Character.Humanoid.JumpPower = 1000000

earnest sun
#

thats only local

true fern
#

then do it from the server

hallow crag
#

they just gonna be falling over and shit

earnest sun
true fern
hallow crag
#

took me 2 years to get a big game

true fern
hallow crag
#

it got sold in 3 days

hallow crag
true fern
#
  • their code
hallow crag
#

ive seen experienced scripters with terrible codebases

#

they just like to get things done over clean code

short rampart
#

just started scripting and i have a question

#

iam following a tutorial

#

and i came to this part, which means that myVariable is = 100 why dont you just type 100 next to the print instead of myVariable?

weak radish
#

It's just showcasing variables and how to output them

short rampart
#

oh ok

weak radish
#

You don't need any variables but your code would be a mess

short rampart
#

ty

weak radish
#

nws

fresh cloud
#

i should use a 48 bits to store the userid?

short rampart
# weak radish You can

i also just found it that the myVariable makes it so when u change the 100 it changes everywhere

#

instead of changing the number next to every print

#

which is wayyy easier

next hull
short rampart
#

and takes way less time

fresh cloud
next hull
#

shoot i forgot my computer classes

#

ok so if i remember correctly

#

thats probably like 12 hexdecimal places

#

whats FFFF FFFF FFFF to decimal

#

i forgor

fresh cloud
#

do i can use a 48 bits uint to stor the userid?

#

so*

graceful kelp
#

yoooooooo

next hull
#

tbh u probably wouldnt need that much

#

i think 8 hexadecimal places would be fine

fresh cloud
#

oh ok, but how many user roblox currently have?

next hull
#

ngl no idea

fresh cloud
#

same

next hull
#

well consdering some places have over 10b visits

#

probably 10 billion then lol

#

i have decided that i am not smart enough to speak out on this topic

short rampart
#

what things can i place after the = like strings or numbers,...

fresh cloud
#

this is wrong

#

variables canยดt have spaces

#

local this is a test = t

short rampart
fresh cloud
#

variables name

short rampart
#

local ("this is a test") = true

#

can this be smt?

short rampart
true birch
#

Change name to anything you want

short rampart
true birch
#

What I didn't know that

sick saffron
#

anyone know how i can incorporate a sort of camera movement every time i left click in a combat system game?

true birch
#

But usually the most common and most used use must do local Test =

sick saffron
#

have you ever played jujutsu shenanigans?

#

im trying to do something like theirs

true birch
#

Nope

sick saffron
#

where every time you attack the camera shakes a little

true birch
#

Ohh I think by moving the fov

#

Wait let me check rq

sick saffron
#

yeah that

#

thank you

true birch
sick saffron
#

yes

true birch
#

Recommend to learn it not getting random code and you don't know how shake even works

sick saffron
#

yeah, although im not trying to shake the camera, im just trying to move it in a way so that it feels like im attacking, its hard to explain but you can check out the game (jujutsu shenanigans) yourself and see what i am talking about because it isnt just a camera shake

true birch
#

Idk I haven't played that game

true birch
sick saffron
#

ok cool

#

here

true birch
#

For each direction it moves to where you want if the attack is left the make shakeoffeset go to left

#

The Zoffeset

sick saffron
#

ok thanks

magic trench
#

local mps = game:GetService("MarketplaceService")
local plrs = game:GetService("Players")
local dpi = 3306147300

mps.PromptPurchaseFinished:Connect(function(userId, productId, isPurchased)
if productId == dpi and isPurchased then
local player = plrs:GetPlayerByUserId(userId)
player.leaderstats.Stage.Value += 1
player:LoadCharacter()
end
end)

can anyone help me pls i dont know why this script is not working. its a skip stage script ๐Ÿ™

white seal
modest trout
#

how to get experience coding

true birch
short rampart
short rampart
magic trench
#

m new

merry shoal
#

bro

#

๐Ÿ’€

merry shoal
magic trench
#

local MarketplaceService = game:GetService("MarketplaceService")

MarketplaceService.ProcessReceipt = function(receiptInfo)
local player = game.Players:GetPlayerByUserId(receiptInfo.PlayerId)

if receiptInfo.ProductId == 3300138288 then
    player.Leaderstats.HardStage.Value +=1
    wait(1)
    player:LoadCharacter()
    return Enum.ProductPurchaseDecision.PurchaseGranted
end

end

#

another 1

merry shoal
#

bro

#

crazy

magic trench
#

.

merry shoal
#

learn how it works

#

if u still cant do it comeback

thick sail
#

Do NOT buy gamepasses from this guy ๐Ÿ’”

#

They wouldn't even work

merry shoal
#

its diff in 2 scripts

thick sail
#

๐Ÿ’€

merry shoal
#

wrong one

#

๐Ÿ˜”

magic trench
merry shoal
#

okay ๐Ÿ‘

median fable
#

hey anyone with experience can help my friend he crashing out about his script

magic trench
#

but still not working WHYYYYY

weak radish
merry shoal
median fable
#

frl?

merry shoal
#

is it a m1 system

weak radish
#

.

median fable
#

idk what you mean bro im not the scripter XD

#

hold on

merry shoal
#

bro like

#

the punches or attacks u do with mousebutton1 is called an M1 in any game

#

that has nothing to do with being a scripter

median fable
#

well

#

its not that really

#

just when we equip the weapon they dissapear of the item bar

#

plus they like glitch out and we have to press right to be able to attack

rigid tundra
# merry shoal that has nothing to do with being a scripter

he just means yes the m1 system is kinda broken because of my feint being in the sript so when we use the item, they disapear and when i feint, i can attack again so im in a loop where i have to press m1 and m2 at the same time so i can execute my next attack

craggy niche
#

how do i make a leaderboard from getting the top 5 of a certain leaderstats from everyone in the game and displaying

upper sleet
#

I am using an roproxy api to get game icons for different games, the images comes in a url format, but when I set ImageLabel.Image = url, the image just becomes white, even if I try to do it manually when the game is not running. Does someone know the problem?

true fern
wide sparrow
#

^

#

check if roblox has an internal api for that

#

like what they do for profile images

true fern
true fern
#

gng

#

dont be so kevin rn

wide sparrow
true fern
upper sleet
true fern
upper sleet
true fern
upper sleet
#

I am trying to display different game icons

wide sparrow
#

i mean i would honestly want to ask why

true fern
#

its something to do with :GetProductInfo

upper sleet
hallow crag
#

this works fine for me

true fern
#

yea @upper sleet

hallow crag
#

just change id

#

and change first bit

true fern
#
local result = game:GetService("MarketplaceService"):GetProductInfo(placeid)
local icon = result.IconImageAssetId
#

though, you can get ratelimited, so i'd consider adding a cooldown on how fast you use it @upper sleet

true fern
#

i've never heard of it

wide socket
#

what easy OOP should i try to make ๐Ÿ˜ญ

true fern
hallow crag
#

works fine tho

true fern
#

dude whats up with images?

#

are yall able to post images

hallow crag
#

yeah discord servers are cooked rn

#

u cant send shit

true fern
#

ggs

sonic juniper
#

Do yall have any videos that would help learning a good vsCode + git workflow?

#

Im only now learnkng about github rn

true fern
#

Gg

wide socket
#

.

hallow crag
# true fern

im pretty saw aws is down rn thats why discord is fucked

wide socket
sick saffron
#

guys can you use tween service on the humanoid camera?

true fern
marsh kelp
true fern
#

but no, i don't have any games, but i think grow a garden does it

true fern
wide socket
true fern
#
function Object.new(Properties)
    assert(Properties.Name, "Object must have a Name.")
    assert(Properties.Path, "Object must have a Path to the real item.")
    assert(Properties.Data, "Object must have Data.")
    assert(Properties.Owner, "Object must have an Owner!")

    local Metatable = setmetatable({
        Owner = Properties.Owner,
        RealItem = Properties.Path or "",
        Type = Properties.Type or "Object",
        Name = Properties.Name,
        Data = Properties.Data,
        Hash = HttpService:GenerateGUID(false)
    }, Object)

    return Metatable
end
hallow crag
true fern
#

thats the base of it

true fern
#

cframes + vectors arent datastoreable

hallow crag
true fern
#

you need a serializer, which is something i use

sick saffron
# wide socket ye

one more thing, is the original position of the humanoid camera 0,0,0?

hallow crag
#

thats why u convert to a table

true fern
#

so you can store those values, it's pretty easy

true fern
#

you'd need to convert back to cframe or vector while using the object which is pretty pmo

hallow crag
true fern
hallow crag
#

not hard

true fern
wide socket
sick saffron
#

ok thanks

hallow crag
true fern
true fern
wide socket
hallow crag
#

so i was right ๐Ÿ’€

true fern
#

i offered better alternatives

wide socket
#

@true fern ```lua
local PlacementSystem = {}
PlacementSystem.__index = PlacementSystem

function PlacementSystem.new(part)
local self = setmetatable({}, PlacementSystem)
self.Part = part
return self
end

function PlacementSystem:Place(Target)
local Clone = self.Part:Clone()
Clone.Position = Target
Clone.Parent = workspace
end

return PlacementSystem

true fern
#

good job

wide socket
true fern
wide socket
#

ye

#

just give me ;-,

true fern
#

i dont have any, ask chatgpt

wide socket
true fern
upper sleet
wide socket
#

what is PascalCase?

upper sleet
upper sleet
trim basin
marsh kelp
trim basin
#

camel case on top

empty rapids
#

how do i send a script in lua on discord?

wide socket
leaden basin
#

code help aint helping

marsh kelp
leaden basin
#

i have about 30 minutes of coding experince and i want this gui to be invisible when i press play and i am just getting laughed at in there

#

all i need is the gui to be invisible

upper sleet
#

where do i start?

leaden basin
#

and i have 0 idea how

trim basin
#

yeah just learn from youtube tutorials at first

#

then try building systems

#

start with easy ones

#

and go up from there

leaden basin
#

ok guys i just got to the 7th beginner brawldev video time to pray he tells me how

upper sleet
wide sparrow
#

this is going to be a syntax problem

#

its good you already are thinking about how it should be ordered but all you need to learn is syntax

upper sleet
#

yeah

trim basin
#

try slowing down and really watching the videos

#

understanding them

wide socket
leaden basin
wide socket
#

how did you even write that line

#

like what was your process

leaden basin
wide sparrow
leaden basin
mint cloud
#

Letโ€™s make it a learning quest

wide sparrow
#

do you know what a variable is

wide sparrow
#

a variable just declares something

#

like a number or whatever

leaden basin
wide sparrow
#

local numberfive = 5
local texthello = "hello"

leaden basin
#

im trying to use it to refrence the ui to make it invisible

wide sparrow
#

theres a bunmch of different datatypes like numbers, strings, etc

wide sparrow
#

so for that you need somrething called a reference

upper sleet
candid cliff
#

hello - string
5 - integer

wide sparrow
#

^ yes but dont worry about the number types for now

candid cliff
#

5.0 - float

leaden basin
# wide sparrow yes

actually right before u said that i did this, ik its probably terrible but im experimenting

candid cliff
#

String::new()

wide sparrow
#

in lua and roblox lua, objects and instances are always passed by reference and not clones

#

values are passed by NON reference

candid cliff
#

String::from("Sygau")

wide sparrow
#

this is something youve got to get down fast

candid cliff
#

&mut iq

wide sparrow
#

if you are referencing an instance, you are NOT making a copy, you are getting a reference to it

mint cloud
#

My burger is getting cold

candid cliff
#

sorry

candid cliff
#

my bad

wide sparrow
#

but if you are referencing a "primitive" (basically the basic non table non instance) you are getting a CLONE of the value

upper sleet
#

what to do

wide sparrow
#

you dont have control over that youve got to have someone else do it

wide sparrow
leaden basin
upper sleet
wide sparrow
wide sparrow
leaden basin
wide sparrow
candid cliff
#

ur new to programming

candid cliff
#

how old r y

wide sparrow
leaden basin
candid cliff
leaden basin
candid cliff
#

broo

leaden basin
wide sparrow
#

okay you're going to need to watch yotuueb tutorials

leaden basin
#

im sacred

candid cliff
#

thats client side

#

not server

wide sparrow
#

you also need to learn where to place scripts

#

aka what works and what doesn't

leaden basin
#

Oh my gosh

candid cliff
#

gui - client

wide sparrow
#

thats also a finnicky topic because its not ultra intuitive, but its something you do have to do

candid cliff
upper sleet
#

use StarterPlayerScripts or StarterCharacterScripts

wide sparrow
#

now the immidiate problem if you want to fix is that you're using a server script to control a local client UI

candid cliff
wide sparrow
#

and im not going to get into the legacy versus new system because its going to overcomplicate it

upper sleet
wide sparrow
#

but watch a yotube tutorial on the basics of where scripts go

wide socket
wide sparrow
#

and the server-client boundary

#

which sounds like a scary word but isnt

candid cliff
#

bro sygau u talkin too much

wide sparrow
#

well actually it is scarry and annoying but you'll learn it

leaden basin
#

do uy guys think using parents and children would work

candid cliff
#

u makin it complicated ngl

true fern
wide sparrow
candid cliff
#

so much info

leaden basin
#

IM SO GOOD

candid cliff
#

his brain is not braining

upper sleet
leaden basin
#

I can just make gui enabled = false

candid cliff
mint cloud
true fern
wide sparrow
true fern
upper sleet
leaden basin
#

ima use local player so it refrences that

candid cliff
true fern
upper sleet
#

okay

candid cliff
#

data types not that hard

#

but string

#

for example in rust ts is painful for me

leaden basin
#

MU HA HA HA I DID IT

candid cliff
#

bro becomin evil

wide sparrow
candid cliff
#

why tf

wide sparrow
#

nah it saves my ass sometimes but

trim basin
#

dude codes in rust

wide socket
leaden basin
#

I FINALLY DID IT

wide sparrow
#

its a pain to write

candid cliff
#

yeah ik

#

prolly cuz of borrow checker

upper sleet
candid cliff
#

ts is pretty new for me in programming

leaden basin
#

HAHAHAAH

wide sparrow
latent tartan
true fern
candid cliff
#

just learning

#

smth

upper sleet
true fern
wide socket
trim basin
#

yeah thats probably just nil

upper sleet
mint cloud
#

Isnโ€™t Id capital

upper sleet
#

something...

true fern
trim basin
#

we dont know what it is

mint cloud
#

Oh

upper sleet
#

ohh

true fern
upper sleet
#

theres only 1 game that doesn't work...

#

its 65241

true fern
hallow crag
upper sleet
#

uhhh

#

very confidential

hallow crag
#

u might aswell just make a list of game ids instead at that rate thats alot of api calls

upper sleet
#

yeah

#

I just dont got energi

#

to do it

true fern
mint cloud
#

Code help has become unsafe ๐Ÿ˜ญ

true fern
#

make the lua make it

hallow crag
#

especially with alot of players the server is gonna get rate limited

wide sparrow
true fern
wide sparrow
#

and employed people

true fern
#

AHHHH

mint cloud
#

Donโ€™t bring it here ๐Ÿ˜ญ

true fern
#

wait why am i scared i shower

wide sparrow
#

AHHH

mint cloud
#

๐Ÿ’€๐Ÿ’€๐Ÿ’€๐Ÿ’€

true fern
#

i use deodorant

mint cloud
#

Iโ€™m going to dev discussion ts pmo

true fern
#

im owen

wide sparrow
#

i touch grass

#

nah im a scripter thats a lie

true fern
candid cliff
upper sleet
#

you can only pass 1 id to GetProductinfo

candid cliff
#

to make it safe

#

๐Ÿ‘

upper sleet
wide socket
#

i can give you a way i used in an old game

#

its so ass tho ๐Ÿ’”

hallow crag
#

and then use getproduct info

#

to get the images

#

and store the images in the module

#

aswell

#

no need to call getproductinfo when you join

#

everytime

upper sleet
#

why not

#

what if someone changed there icon....

hallow crag
#

cause its unnecessary

hallow crag
leaden basin
#

yess

upper sleet
#

hmmm

hallow crag
#

not hard

upper sleet
#

yeah

leaden basin
#

im making a main menu rn with scripti

upper sleet
#

thats smart

hallow crag
#

keep going

candid cliff
#

did u just start

#

like today

hallow crag
#

he probably just started

leaden basin
hallow crag
#

cut him sum slack

leaden basin
#

but im using the videos to help

candid cliff
#

go learn c++

#

so much easier

hallow crag
candid cliff
#

luau is complicated

#

ngl

leaden basin
#

my only problem is the dumbah camera is stuck at 0, 10, 0

hallow crag
#

"so much easier"

trim basin
#

Lua is the easiest along with python ๐Ÿ˜ญ

hallow crag
#

what r u on

candid cliff
candid cliff
#

yall can only lie bro

#

not actually helping

trim basin
#

dude said C++ easier than luau man ive seen it all

#

this is discussion not help

candid cliff
#

who cares

#

like u following the rules

#

bruh

trim basin
#

yeah theres nothing to help with

candid cliff
#

cuz luau is complicated

trim basin
#

because no one asked for help

candid cliff
#

lie

#

stop lying lil bro

#

go sleep

mint cloud
#

Everyone knows B is the best language

candid cliff
#

yes and brainfuck

young harbor
#

im learning

shy bobcat
young harbor
#

C

shy bobcat
#

ngl it's hard to adapt to other programming languages when you use it for the first time

young harbor
#

i know some lua python C# they are really similar to each other but C is just harder

#

but it's faster

wary furnace
#

So, I have this rig that's a lot bigger than a normal player and I made it so that it updates to my avatar every time I change my avatar, is there a way I can still do this while maintaining the size of the rig ?

near sonnet
#

guys i just stareted this all. I know basics on scipting like events, childs and parents, functions and stuff. my biggest opp is gui. HOW DO I GO ON FROM HERE PLEASE HELP

young harbor
#

like designing the gui or

wary furnace
#

watch a yt tutorial

young harbor
#

scripting it

wary furnace
#

they can show how to make it functional

#

thats what helped me

near sonnet
#

both tbh gui is just different

#

the most things i learned i just went through and understood it but this is different

wary furnace
#

opposite for me gui is one of the easier parts imo

young harbor
#

yeah i think so

wide sparrow
#

gui is basically the same thing

near sonnet
#

a lot of people tell me "just practise" but what the actual fuck am i supposed to do fr fr

wide sparrow
#

its just confusing because of how it gets thrown around in parents

near sonnet
#

like i wanna go from begginer to advanced

wide sparrow
#

thats just called time unfortunately

#

aka coding something, failing, and then realizing you dont know something

#

honesltly id just say try to code a game you want to code, and when you inevitably fail, you learn what you fucked up and you'll fix it

#

thats the fastest way anyways

near sonnet
#

xD alr

#

i have time and i wanna learn

wide sparrow
#

yep

young harbor
#

i think the fastest way to improve yourself is create and finish a game

wide sparrow
#

then chuck yourself at hard games

#

you don't need to be the greatest dev

#

you need to be a scripter good enough to code anythign YOU want to code

near sonnet
#

any advice what game is easy to do but also challenging?

wide sparrow
#

see those are juxtapositions

#

something isnt easy and difficult

young harbor
#

try to copy a game you like or create a system you like in a game

near sonnet
#

is a tycoon hard? cuz i dont rll think so

#

i mean i never did 1 but it seems pretty easy rightรŸ

wide sparrow
#

its not difficult but you should do it if you want to

#

it gives you a very nice starting point because it introduces a lot of systems you need to think about

wary furnace
young harbor
#

it is easy but if you code it by yourself you'll definitely learn things

near sonnet
#

alr so no tutorials?

wide sparrow
#

yes

#

until you get stuck

#

then use tutorials

#

but only on what you need help with

#

dont follow a "how to make tycoon"

near sonnet
#

i see

young harbor
#

like dont watch a tutorial on how to make a tycoon game but you can follow a tutorial of a specific system if you cant manage to make it by yourself

wide sparrow
#

if you get an error:
1 ) try to debug
2 ) throw in devforum
3 ) throw it in chatgpt
4) throw it in this server

wide sparrow
#

the whole idea is you need to think about the logic behind the system

near sonnet
#

omg ily guys

#

ty

wide sparrow
#

anyone can set a proiperty to something with enough syntax

#

the coding comes in the strategy

#

thinking about how stuff lines up

#

like if i say

#

"code a tycoon"

#

the real learning comes from learning where to even begin

near sonnet
#

i see

wide sparrow
#

as much as you can, try to figure it out for yourself before you ask

#

but if you need to, then you can ask ofc

young harbor
#

you can divide it into some parts

#

like first make a dropper system

wide sparrow
#

heres another thing

#

your code is going to look like garbage when you code your first finished project

#

do not compare it to someone else's code

#

i remember my first project literally had 20 if statements and i would puke on it now, but let it be

near sonnet
#

ye my teacher told me that good managed scripts are 20% xD

wide sparrow
#

if i was gonna do it again, yes

#

as long as the script does what you want it to do

#

you dont change it

near sonnet
#

W mindset

wide sparrow
#

and please for the love of god please do not start using frameworks for a WHILE

#

ive seen way too many people become a framework and never do anythign with it

near sonnet
#

alr

wide sparrow
#

good luck

near sonnet
#

ty yall fr man

#

love this community already man

wide sparrow
#

you won't quickly

near sonnet
#

wym?

wide sparrow
#

and if anyone tells you your code is garbage literally do not listen unless you have a reason to think they're right

#

all your code has to be is:

a ) needs to do its goddamn job
b ) needs to be performant
c ) needs to scale and be understandable

#

usually code isnt even all 3

#

in shitty projects its 1, most its 2, and then only a few do 3

#

but unless theres a problem with one part of it, literally DO not sweat it

#

if someone complains about the structure of your code, its usually about being able to scale or understand it

near sonnet
#

can i ask u a question?

wide sparrow
#

but if you tick all 3 boxes, you dont need to listen to whatever you hear

wide sparrow
near sonnet
#

how long have u been doing this

#

like scripting

wide sparrow
#

8 years

near sonnet
#

8 YEARS

wide sparrow
#

but in reality it was more like 3

#

most of it was coasting because i was an idiot

#

thats why im telling you to throw yourself at challenging projects

near sonnet
#

did u make any games yet?

wide sparrow
#

because instead of spending 8 like me, you could be in the same place with 3

junior iris
#

why does my viewportframe not render shirts/pants

wide sparrow
near sonnet
junior iris
#

gang who knows about viewportframes

wide sparrow
#

eh wouldnt say that

wide sparrow
#

does it just not load the texture

wide sparrow
near sonnet
#

did u aslo started for fun?

wide sparrow
#

yes

junior iris
#

I can see it having the id, but the viewporframe doesnt show the shirt

wide sparrow
#

your code does not need to be clean, it needs to hit those 3

#

now clean code usually always hits number 3

#

and sometimes you can skip 3 if you just want to code something

near sonnet
#

bro u are my man frfr

#

best mindset ive seen in ages xD

wide sparrow
#

didnt get it instantly

near sonnet
#

so u just told me to practise like the others but way better xD

#

ty man

eternal heath
#

that conversation deadass motivated me LMAO thank you all

near sonnet
#

I got like motiavtion for 3 rn

#

can i hit u up if i got serious questions? @wide sparrow

true fern
true fern
eternal heath
wide sparrow
wide sparrow
young harbor
#

isn't it camelCase

true fern
wide sparrow
near sonnet
#

wth is all that guys

wide sparrow
#

thats what i thought it was called but i dont memorize lmao

true fern
wide sparrow
#

ALL_CAPS is mainly for static

true fern
#

or a_b

#

camelCase is aB

near sonnet
#

alr guys enough chat for me

#

ty tho

dark juniper
#

If u can make the code work with strict mode on

#

Then 99% of the time itโ€™ll be fine

true fern
dark juniper
#

โ€”!strict

true fern
#

yea whats it do

dark juniper
#

itโ€™s like coding

#

On hardcore mode

true fern
#

fr?

true fern
dark juniper
#

But it also helps u too

#

Type annotation

wide sparrow
#

lmao

dark juniper
#

Yells at u if u mess up a type

true fern
#

thats not half bad

wide sparrow
#

it actually is hardcore mode lol

true fern
#

no its just C

wide sparrow
#

but its great for type safety

#

well

#

most of the time

true fern
#
  • knowing what you're coding
dark juniper
#

yea no noobs allowed

wide sparrow
#

the other half is yelling at the typechecker

dark juniper
#

Nah

true fern
#

got an english test tmrw

#

i got ts guys

#

source: trust me bro

dark juniper
#

Just define properly and it work

#

If u canโ€™t code with strict mode

#

U need more practice

true fern
#

more like

#

if you can't use oop

dark juniper
#

OOP kinda irrelevant to it

true fern
#

is this glaze

#

im vxsty btw

true fern
wide sparrow
#

eh

#

we can have an argument about that

#

but its one of the ways

dark juniper
#

Only cs rejects donโ€™t like it

wide sparrow
#

use whatever makes your life better

true fern
idle wind
idle wind
idle wind
#

Alr

#

Its my 2nd game ever tjat im making lol

#

Anyway ty for help

true fern
#

the ui needs alot of improvement

idle wind
true fern
idle wind
#

But ima improve it later, rn i wanna make base mechanics first then i detail more

wide sparrow
true fern
wide sparrow
#

oh god

true fern
#

what

wide sparrow
#

alright i see why

#

but it just becomes hell for me

#

im not interested in writing metatable boilerplate on every new class

true fern
#

doing ```lua
local Object = {}
Object.__index = Object

function Object.new(a)
return setmetatable(a, Object)
end

--methods for an object


is much cleaner
wide sparrow
#

i mean i cant reccomend my way of coding to anyone because of how weird it is but i will just say that oop just doesnt work for me, i cannot handle so many classes for no reason

true fern
#

easier to manage aswell

wide sparrow
#

we ready for a deep dive?

true fern
#

perhaps..

wide sparrow
#

i code in an OOP ECS MVC combo

#

its a frankenstein of the best parts of each

#

theres no inheritence but there is a form of OOP by composition

true fern
wide sparrow
#

no metatables i use the helper way of doing with basic tables and then using Ships.update(shipTable)

true fern
#

get out

wide sparrow
#

all ships are added to local object registries

#

given unique ids that are also recycled

true fern
#

you realize namecalls aren't metatables tho right

wide sparrow
#

that way nothing is being run on references

true fern
true fern
#

so happy i don't have to work w u

wide sparrow
#

everything is looked up by ID

true fern
wide sparrow
#

and every object has standards that will have x properties

wide sparrow
true fern
#

if its the index its O(1)

#

if it's the value then its O(n) or O(2n)

wide sparrow
#

a ship in the list looks like:

[id] = {
id = id,
rest of table
}

marsh kelp
wide sparrow
marsh kelp
#

:D

wide sparrow
#

and i agree nobody needs to or wants to use it

#

but its the greatest thing ive ever done

#

oh right and theres a transformer layer in the middle

#

that takes the OOP objects out of the ECS systems and services

#

and transforms them into a game "model"

#

which is auto replicated and then recieved on the client by the client MVC

marsh kelp
#

just send us a snippet

wide sparrow
#

of the explorer?

marsh kelp
#

I can't even imagine what will it look like

#

code

wide sparrow
#

which part

#

heres the explorer tree

true fern
#

wtf

#

๐Ÿ™

wide sparrow
#

listen this is better than my pure tables before, before that pure ecs, before that pure oop

marsh kelp
wide sparrow
#

yeah that was a mixup i just realized and deleted it

#

ig i accidentaly duplicated it

true fern
#

never apply to work for someone

wide sparrow
#

yes thats why i dont need to worry about others

true fern
wide sparrow
#

lmao

pure kiln
#

how often do yall use AI when you have struggling to code a certain something?

pure kiln
#

cause i lowk feel shameful for usin it

wide sparrow
#

24/7 but never on structural changes