#code-discussion

1 messages Β· Page 91 of 1

vital parrot
#

I did not say some stuff..

weak radish
#

Raycasts are pretty easy

vital parrot
#

where does it say I cant code something?

#

Yes raycasts are easy I know

tribal venture
#

does anyone have a script to scale all UiStrokes through all devices?

vital parrot
#

you're smarter than I thought lol

vital parrot
#

Yes because I don't finish my project

#

Doesn't meen I cant code something

#

coding is easy

trim torrent
#

Bro I like your project keep up the good work

vital parrot
#

I can code anything and if you cant then I'm def better than you

trim torrent
#

don't argue over something small and dumb

weak radish
vital parrot
#

I wasn't bragging though..

#

I said I can code anything I put my mind to

#

it's different

#

he was asking me a question

weak radish
#

How many years do you have

vital parrot
#

I was 13 and now 25

#

so 12

#

Coded this game right here

viscid finch
#

12 years 😡

slender yew
#

Can someone help me?
I have a button which checks if a player is ready, at the beginning it's 0/2 but then once one of the players in a team presses it, its going to show up as 1/2 for the other player, so when he presses it, its 2/2 and a certain function runs
I just dont know how to display local UI changes for that specific player

coarse parcel
#

I remember when I was testing my game in studio, and when I clicked "play" all my game broke, the console had like 8 errors, also with "404" error

I tried and tried and always I tried to test it, the same errors

I said, well I will reset studio, then I closed it, opened it, and when I open, boom, my account wasnt logged in

Then I went to roblox web site, and BOOM account banned :/

#

So, if u are banned and still can play, all the game breaks

empty badger
#

if u don't mind to say why

empty badger
coarse parcel
#

I put image of a team (image took in roblox without edition)

#

And roblox said "Nope"

#

And banned me

#

I appealed and they unbanned me, but Roblox moderation is still bad

empty badger
#

and it's not bad image or smth of that

#

it's normal image

coarse parcel
empty badger
coarse parcel
#

Ban exploiters: ❌️
Ban people making games and that generate free money to roblox: βœ…οΈ

iron vigil
#

me and my friend just stayed up til like

#

6 am

somber vault
iron vigil
#

working on redoing our script connections for our hitbox

hollow plover
iron vigil
#

is profilestore the meta for data stores?

#

I got it set up and working for a test value but I’m tryna make sure I should use it

#

I know type soul and dead rails use it

viscid finch
coarse parcel
hollow plover
somber vault
coarse parcel
#

I am the only scripter in my entire Studio, I have to do ALL

iron vigil
#

well

somber vault
iron vigil
#

type soul used an out of date one

hollow plover
coarse parcel
iron vigil
#

they used profileservice which was the predecessor to profilestore

hollow plover
somber vault
#

cough

coarse parcel
somber vault
#

the only simulators that are successful are the ones that follow trends

#

if your simulator doesn't (which I can tell by the name) then I doubt it would be successful

iron vigil
#

don’t most simulators literally use reuse assets and code

hollow plover
somber vault
hollow plover
true fern
coarse parcel
#

It broke too

true fern
#

its http

south sigil
#

@crude glacier

south sigil
green grail
mystic tartan
#

can someone rate my statemachine, its my first one i made

export type StateHandler = {
    onEnter: ((previousState : string?) -> ())?,
    onExit: ((nextState : string?) -> ())?,
    onUpdate: ((dt: number) -> (string?))?
}

export type StateMap = {
    [string]: StateHandler
}

export type StateMachine = {
    start: (initialState: string) -> (),
    update: (dt: number) -> (),
    transition: (newState: string) -> (),
    getState: () -> string,
}

local function createStateMachine(states: StateMap): StateMachine
    local currentState: string = ""
    local initialized = false
    
    local function transition(newState: string)
        assert(states[newState], `State "{newState}" not defined`)
        
        if currentState ~= "" and currentState ~= newState then
            local exitHandler = states[currentState].onExit
            if exitHandler then exitHandler(newState) end
        end
        
        local previousState = currentState
        currentState = newState
        
        local enterHandler = states[newState].onEnter
        if enterHandler then enterHandler(previousState) end
    end
    
    local function update(dt: number)
        if not initialized then return end 
        
        local handler = states[currentState]
        if handler and handler.onUpdate then
            local nextState = handler.onUpdate(dt)
            if nextState and nextState ~= currentState then
                transition(nextState)
            end
        end
    end
    
    local function start(initialState: string)
        assert(states[initialState], `Initial state "{initialState}" not defined`)
        initialized = true
        transition(initialState)
    end
    
    local function getState()
        return currentState
    end
    
    return {
        start = start,
        update = update,
        transition = transition,
        getState = getState,
    }
end

return createStateMachine
#

i just want a rating on it and possible things i could improve about it

ivory sparrow
#

how can I create my own "WaitToFinished" function, roblox's version is not as smart as I need it to be.

I tried to call the "MoveTo" and then I did a while loop that waits until a certain specific, but it seems calling a while loop after the moveto like.. fully stops the moveto, so what else can I do

mystic tartan
mystic tartan
#

do u define states and code for those states, so like in a idle state an npc could be wondering and looking for players, then when it finds a player it will enter a persuit state where it will try follow the player

mystic tartan
night drift
#

how do i make a portfolio?

somber vault
ivory sparrow
somber vault
#

that's more understandable thanks

ivory sparrow
#

yup

#

could be wrong tho 😭 so take it with a grain of salt

south spruce
#

whats the difference between cframe and vector3

icy dew
coarse parcel
#

Ahh that thing

green grail
#

What game are you making

#

Looks cool

terse sinew
#

Roblox is saying continue instillation without flag settings when I try to download it how do I fix I removed bloxstrap Alr

proper veldt
#

How do I return the PurchaseDecision back to the PromptProductPurchase on the local side?

vital bear
#

why is this error?

#

nvm i found the issue

static coral
#

cframe includes postion, orientation and matrixes

#

vector3 can be postion or rotation

small shale
#

like the whole system. the car, the drifting, the steering wheel anim

somber vault
small shale
#

too late

earnest sun
ivory sparrow
#

how can I create my own "WaitToFinished" function, roblox's version is not as smart as I need it to be.

I tried to call the "MoveTo" and then I did a while loop that waits until a certain specific, but it seems calling a while loop after the moveto like.. fully stops the moveto, so what else can I do

shrewd magnet
shrewd magnet
patent mirage
marble nova
#

life would be so much easier if you could merge tables like that...........

#

or at least if there was default table.merge() method

marble nova
#

wow

#

i feel so stupid now

#

thanks

grizzled dagger
#

Does a module or a plugin that trains RL based AI agents with basic Q Learning exist yet

rugged island
#

yo does anyone know how i can save tools with their own attributes and different properties into a ds?

any open source resources i can use to convert tool into saveable data?

opal jewel
#

but why is so much data on recv

frank tiger
#

😑

lost pebble
small shale
ivory sparrow
#

so i was doing a while loop, checking how far they were from the waypoint, continuing to the next point if it gets close enough, or hreaking it if time was over 1.5 seconds (its a fast moving entity, so 1.5 is plenty)

#

but it just stopped the moving entirely

#

for some reason

lost pebble
ivory sparrow
#

how would i get the distance of each waypoint

lost pebble
#

(waypoint.Position - hrp.Position).Magnitude

ivory sparrow
#

yeah i realized after i said that

#

hmm

#

but still... waiting isnt necessarily the issue

#

its cancelling the wait

lost pebble
#

i would use a repeat until loop

#

for that

ivory sparrow
#

i was thinking about that

#

but that would work the same as a while BLANK loop

#

and apparently stop it from moving

lost pebble
#

how are you stopping it?

ivory sparrow
#

just breaking the loop

lost pebble
#

the moveto is in the loop?

ivory sparrow
#

no breaking the while loop

lost pebble
#

ik. but is the moveto in the loop as well?

ivory sparrow
#

or well, i might have just returned the entire function

ivory sparrow
#

the whole thing

#

is like

#

in a loop

lost pebble
#

what's the code?

ivory sparrow
#

can i dm you

lost pebble
#

why?

ivory sparrow
#

i dont want to spam a bunch of code 😭

#

i can just do it here i guess

lost pebble
#

just show the loop

#

or the part you're having the problem

ivory sparrow
#

ill have to explain some functions

lost pebble
#

and if it need more context, ill ask

ivory sparrow
#
local function getClosestPlayer(angel)
    local bestPlayer = nil
    local smallestDist = math.huge

    for _, player in ipairs(Players:GetPlayers()) do
        if not watchingManager.isPlayerDead(player) then
            local dist = player:DistanceFromCharacter(angel:GetPivot().Position)
            if dist < smallestDist then
                smallestDist = dist
                bestPlayer = player
            end
        end
    end

    return bestPlayer.Character
end

local function move(player, angel)

    local angelHRP = angel.HumanoidRootPart
    local angelHumanoid = angel.Humanoid

    local hrp = player.HumanoidRootPart

    -- == Functionality == --

    local pathParams = {
        AgentRadius = 2,
        AgentHeight = 5,
        AgentCanJump = false,
        AgentMaxSlope = 45,
    }

    local path = PathfindingService:CreatePath(pathParams)
    path:ComputeAsync(angelHRP.Position, hrp.Position)

    if path.Status ~= Enum.PathStatus.Success then
        return
    end

    local waypoints = path:GetWaypoints()
    for _, waypoint in waypoints do
        if watchingManager.shouldAngelMoveYet(angel) and (#watchingManager.PlayersWatchingAngel(angel) ~= 0) then
            angel.Humanoid:MoveTo(angelHRP.Position)
            return
        end

        angelHumanoid:MoveTo(waypoint.Position)

        local startTime = tick()

        while task.wait(0.05) do
            print("repeated")
            if watchingManager.shouldAngelMoveYet(angel) and (#watchingManager.PlayersWatchingAngel(angel) ~= 0) then
                angel.Humanoid:MoveTo(angelHRP.Position)
                return
            end            
            
            if (tick() - startTime > 1.5) or ((angelHRP.Position - waypoint.Position).Magnitude < 1) then
                break
            end
        end
    end
end

-- == Main Loop == --

for _, angel in CollectionService:GetTagged("Angel") do
    task.spawn(function()
        while task.wait() do
            if not watchingManager.shouldAngelMoveYet(angel) then continue end    
            if (#watchingManager.PlayersWatchingAngel(angel) ~= 0) then continue end

            local player = getClosestPlayer(angel)
            if player then
                move(player, angel)
            end

            task.wait(0.2)
        end
    end)
end
#

its a weeping angel

#

most of the function names are self explanatory

#

the part is at angelHumanoid:MoveTo(waypoint.Position)

#

below it is what i tried to do

#

to make my own wait to finished

lost pebble
#

what's watchingManager?

ivory sparrow
#

its a module script

lost pebble
#

ok i had a feeling

ivory sparrow
#

any clue how to help πŸ˜“ this whole thing has made me stop working on the game

lost pebble
#

when exactly does the problem happen? like when the angel is moving then someone looks at it? or when just someone looks at it no matter what state the angel is in?

ivory sparrow
#

it happens super randomly when every player looks away

#

when its supposed to fully move

#

no restrictions

lost pebble
#

what does watchingManager.shouldAngelMoveYet() check for?

ivory sparrow
#

its pretty much just a true value

#

its if you have looked at angel already, set to true

lost pebble
ivory sparrow
#

if its true

#

"watchingManager.shouldAngelMoveYet()" returns true

#

pretty much all the time

lost pebble
#

@ivory sparrow lua if path.Status ~= Enum.PathStatus.Success then return endi think it's this that's causing it. once you get the path and if the path isnt successful, there's nothing to change which player it's going to try to go to
when checking which player is the closest, you should check to see if the path to the player is successful as well

ivory sparrow
#

i think i get what you mean, but i dont want it to get unpredictable and not go to the closest player

lost pebble
#

also, you're setting smallestDist in getClosestPlayer() for no reason (it's never used)

ivory sparrow
#

its used as the biggest number

#

at first

#

which you right

#

i guess i could just take the first number

#

and set that as the smallest at the beginning

ivory sparrow
#

(i suck at reading stuff and understanding 😭 are you able to give a code example)

lost pebble
#

you basically do what you did here:```lua
local path = PathfindingService:CreatePath(pathParams)
path:ComputeAsync(angelHRP.Position, hrp.Position)

if path.Status ~= Enum.PathStatus.Success then
return
end```but in getClosestPlayer()

#

(after you check the distance)

ivory sparrow
#

so check if you can get a path

#

after you get the closest player

lost pebble
#

yes

ivory sparrow
#

but then i do what with that

#

try again if fails?

#

or get next player

pearl blaze
#
local currentKey : any = nil

local function callInstanceMethod(t, ...)
    t.__instance[currentKey](t.__instance, ...)
end

local function returnMember(instance, key)
    return instance[key]
end

return function(t, k)
    local class = getmetatable(t)
    if class[k] then return class[k] end
    
    local success, member = pcall(returnMember, t.__instance, k)
    
    if not success then return class end

    if type(member) == 'function' then
        currentKey = k
        return callInstanceMethod
    end

    return t.__instance[k]
end
Instead of Class.__index = Class
You're doing Class.__index = thisFunction

Any way to optimize it? It's a way to extend roblox instances with your class, so Instance methods and your class working together.
Also you have to set self.__instance to Instance that should be extended when creating your class.

lost pebble
#

you could set it to a variable outside the function so you could use it in move() instead of having to calculate the path again

ivory sparrow
#

so im just moving where it calculates thepath? what would that do.. 😭

#

sorry that im not understanding

lost pebble
#

no. you would add that same check in getClosestPlayer()

#

you calculate the path in there as well to see if a path is possible

ivory sparrow
#

to that player, if that path isnt possible to that player, break the loop (or go to next closest)

#

ima have to add the angel into the function

#

so gimme a sec

sudden estuary
#

i don't really follow what you are doing

ivory sparrow
#

forgot i already did

lost pebble
ivory sparrow
#

im tired, its been a while since ive done this

south spruce
#

how can i make the base of the cylinder face up instead of to the side?

local cf = CFrame.new(-117.616, -280.4, 209.085)
local size = Vector3.new(5, 5, 5)

local part = Instance.new("Part")
part.Anchored = true
part.CanCollide = false
part.CanQuery = false
part.CanTouch = false
part.CFrame = cf
part.Size = size
part.Transparency = 0.75
part.Parent = workspace
part.Material = "Neon"
part.Shape = "Cylinder"

---------------------------------------------------------------------

while true do
    local parts = workspace:GetPartBoundsInBox(cf, size)
    
    local hitCharacters = {}
    
    for i, part in pairs(parts) do
        if part.Parent:FindFirstChildOfClass("Humanoid") and not table.find(hitCharacters, part.Parent) then
            table.insert(hitCharacters, part.Parent)
        end
    end
    
    task.wait()
end```
pearl blaze
#
When creating class instead of usual Class.__index = Class you can set as this function and then when creating a new object you set 
self.__instance = Instance <-- any instance that should be extended
#

Basically you have a Part, you extend this part with your class, so now you can use methods of this roblox instance and methods of your class too.

#

You are able to get child, properties, everything.

lost pebble
# ivory sparrow alright

you basically do this:lua if dist < smallestDist and path.Status == Enum.PathStatus.Success then smallestDist = dist bestPlayer = player end

pearl blaze
#

You merge your class with roblox instance

ivory sparrow
#

@lost pebble this is what ive done, its not clean, but ill fix it up

local function getClosestPlayer(angel)
    local angelHRP = angel.HumanoidRootPart
    local angelHumanoid = angel.Humanoid

    local bestPlayer = nil
    local smallestDist = math.huge

    for _, player in ipairs(Players:GetPlayers()) do
        if not watchingManager.isPlayerDead(player) then
            local dist = player:DistanceFromCharacter(angel:GetPivot().Position)
            if dist < smallestDist then
                smallestDist = dist
                bestPlayer = player
            end
        end
    end

    local hrp = bestPlayer.HumanoidRootPart

    local path = PathfindingService:CreatePath(pathParams)
    path:ComputeAsync(angelHRP.Position, hrp.Position)

    if path.Status ~= Enum.PathStatus.Success then
        repeat
            local bestPlayer = nil
            local smallestDist = math.huge

            for _, player in ipairs(Players:GetPlayers()) do
                if not watchingManager.isPlayerDead(player) then
                    local dist = player:DistanceFromCharacter(angel:GetPivot().Position)
                    if dist < smallestDist then
                        smallestDist = dist
                        bestPlayer = player
                    end
                end
            end
        until
        path.Status ~= Enum.PathStatus.Success
        
        return bestPlayer
    end
    
    return bestPlayer
end
#

waiot

#

i forgot

#

to remove the player that didnt work... lol...

#

ugh

ivory sparrow
lost pebble
#

you're doing too much now

ivory sparrow
#

i bet i am 😭

lost pebble
#

there's no need to create another for loop when there already is one

ivory sparrow
#
local function getClosestPlayer(angel)
    
    local angelHRP = angel.HumanoidRootPart
    local angelHumanoid = angel.Humanoid
    
    local bestPlayer = nil
    local smallestDist = math.huge

    for _, player in ipairs(Players:GetPlayers()) do
        if not watchingManager.isPlayerDead(player) then
            local dist = player:DistanceFromCharacter(angel:GetPivot().Position)
            
            local hrp = player.Character.HumanoidRootPart
            
            local path = PathfindingService:CreatePath(pathParams)
            path:ComputeAsync(angelHRP.Position, hrp.Position)
            
            if dist < smallestDist and path.Status == Enum.PathStatus.Success then
                smallestDist = dist
                bestPlayer = player
            end
        end
    end

    return bestPlayer.Character
end
sudden estuary
ivory sparrow
#

omg i see what you mean now

#

thats genius

#

or im stupid

sudden estuary
#

well the only downside (not really one) is would be using pcall to check whether its a property of the instance

lost pebble
pearl blaze
#

otherwise it'll error instead of returning nil

#

so yeah I have no alternatives

sudden estuary
#

i believe theres some huge json data for each instances ane properties

ivory sparrow
#

and then ill optimize

sudden estuary
#

but i reckon its not worth changing to it

pearl blaze
#

it won't work anyways

#

cuz you still need to check for functions

sudden estuary
#

anyways i would say its pointless

pearl blaze
#

roblox really needs to make stuff return nil when you're doing that

sudden estuary
#

i remember some plugin called reclass use it

sudden estuary
sudden estuary
south spruce
#

guys is it possible to make reference to a variable in another script

sudden estuary
#

not directly

pearl blaze
sudden estuary
#

you could rely on modules

ivory sparrow
#

😭

sudden estuary
#

or on attributes on some cases, but i would say modules

pearl blaze
#

@sudden estuary pcall is freakin fast btw

#

from 1 microseconds to 3

flint coyote
pearl blaze
pearl blaze
#

Would be more reliable if it was inside the data itself

flint coyote
#

Its also just for easy accessability and understanding, so you arent complicating the datastore

lost pebble
ivory sparrow
#

yes

lost pebble
#

interesting

ivory sparrow
#

changed nothing else

#

pathfinding is so difficult </3

south spruce
#

ok i have another problem, its not working anymore. im trying to fix the problem where it repeatedly goes up and down when standing on the button with a spatial query, and it is just not working

local tweenservice = game:GetService("TweenService")
local button = workspace:WaitForChild("buttonHitBox")
local debounce = false

-------------------------------------------------------------------

local tweeninfo1 = TweenInfo.new(0.1)

local goal1 = {
    Position = Vector3.new(-117.616, -280.8, 209.085)
}

local tween1 = tweenservice:Create(button, tweeninfo1, goal1)

-------------------------------------------------------------------

local tweeninfo2 = TweenInfo.new(0.1)

local goal2 = {
    Position = Vector3.new(-117.616, -280.4, 209.085)
}

local tween2 = tweenservice:Create(button, tweeninfo2, goal2)

-------------------------------------------------------------------

button.Touched:Connect(function(hit)
    local humanoid = hit.Parent:FindFirstChild("Humanoid")

    if humanoid and not debounce then
        debounce = true
        tween1:Play()
        task.wait(0.5)
        debounce = false
    end
end)

button.TouchEnded:Connect(function(hit)
    local humanoid = hit.Parent:FindFirstChild("Humanoid")
    if humanoid and not debounce then
        debounce = true
        tween2:Play()
        task.wait(0.5)
        debounce = false
    end
end)```
ivory sparrow
#

and annoying </3

#

im going to revert it and show you the actual issue that is requiring a fix anyways

flint coyote
flint coyote
#

extensively read the application guidelines to ensure you dont mess up something basic and have to resubmit and wait even longer because you forgot you have to upload a script link not a image

ivory sparrow
lost pebble
ivory sparrow
#

1 angel or 1 player

lost pebble
#

angel

ivory sparrow
#

test the new code or try to get the old bug to happen

lost pebble
#

old bug

ivory sparrow
#

still happened

lost pebble
#

ok just making sure they're not interfering with each other

ivory sparrow
#

fair enough

lost pebble
# ivory sparrow fair enough
if watchingManager.shouldAngelMoveYet(angel) and (#watchingManager.PlayersWatchingAngel(angel) ~= 0) then
    angel.Humanoid:MoveTo(angelHRP.Position)
    return
end```try changing the return statement here in the while loop in `move()` to `break`
ivory sparrow
#

i believe i did have that at one point, but i shall try again

#

well now sometimes its doing that weird still moving thing even with the old code, gahh

#

ill look past it though

#

for now

#

no yeah they still do the weird glitch

#

ima try the new code changes

lost pebble
#

at this point, i would add print statement everywhere to see where it's failing

ivory sparrow
#

ive tried 😭 its always at the move to finish

#

(where this whole discussion began cry)

lost pebble
#

in the while loop?

ivory sparrow
#

in the move function

#

here

#

ill give example

#
for _, waypoint in waypoints do
        if watchingManager.shouldAngelMoveYet(angel) and (#watchingManager.PlayersWatchingAngel(angel) ~= 0) then
            angel.Humanoid:MoveTo(angelHRP.Position)
            break
        end
        
        angelHumanoid:MoveTo(waypoint.Position)
        print("Moving")
        local success = angelHumanoid.MoveToFinished:Wait()
        print("Finished Moving")

        if not success then
            return
        end

    end
#

oop

#

it would freeze at the "print('moving')" part

#

so something is happening when waiting

#

so thats why i wanted to custom version

#

where it would just move to the next one if it took too long

ivory sparrow
#

im gonna have to hire someone smarter than me to fix this πŸ₯€

#

aka give up bc im broke

lost pebble
ivory sparrow
#
while task.wait(0.05) do
            print("repeated")
            if watchingManager.shouldAngelMoveYet(angel) and (#watchingManager.PlayersWatchingAngel(angel) ~= 0) then
                angel.Humanoid:MoveTo(angelHRP.Position)
                return
            end            
            
            if (tick() - startTime > 1.5) or ((angelHRP.Position - waypoint.Position).Magnitude < 1) then
                break
            end
        end
#

this wasmy first version

#

but ill try that one

#

just cuz

ivory sparrow
#

(for some reason.)

lost pebble
#

you put it after you called MoveTo(), right?

ivory sparrow
#

yup

lost pebble
#

try adding your other checks:lua repeat task.wait() until (angel.Position - waypoint.Position).Magnitude < 1 or not watchingManager.shouldAngelMoveYet(angel) or #watchingManager.PlayersWatchingAngel(angel) == 0

ivory sparrow
#

still not moving

lost pebble
#

i dont see how it just doesnt move now. try just adding task.wait(5) and see if it starts moving again

ivory sparrow
#

alright 😭

#

wait

#

what the

#

i think the code suddenly started working

#

hold

#

nevermind

ivory sparrow
lost pebble
#

what teleport thing?

ivory sparrow
#

where they still move towards me even while looking at them

lost pebble
#

oh

lost pebble
#

or just the task.wait(5)?

ivory sparrow
#

i realiuzed you said angel.Position

#

and not humanoidrootpart

#

so i changed that

lost pebble
#

oh

#

yeah im typing pseudoish code with that

ivory sparrow
#

yuh its fine

#

its mb for not checking

lost pebble
#

wait

ivory sparrow
#

please tell you just had a great revelation

lost pebble
#

i mightve

#

in your original code that you sent

#

in the while loop inside of move()

#

the if statement boolean expression might be wrong. i think it should be this:lua if not watchingManager.shouldAngelMoveYet(angel) or #watchingManager.PlayersWatchingAngel(angel) == 0 then angel.Humanoid:MoveTo(angelHRP.Position) return end

ivory sparrow
#

nooo

#

you need it to move when people are looking

#

so when it doesnt equal 0

#

if it doesn't equal zero, then have it stop moving

lost pebble
#

i changed it. that was a mistake

ivory sparrow
#

o

#

LOL

#

alright lemme look

#

well its fine as is

#

shouldAngelMoveYet will never really be false

#

its just kinda there for optimization

#

to make sure its not tryna stop if its somehow not supposed to move

#

and then

#

#watchingManager.PlayersWatchingAngel(angel) ~= 0

#

so if more than 1 player is looking

#

stop moving

lost pebble
#

oh wait im stupid. yeah change it to ~=

#

so it wasnt a mistake

#

i just changed it into a mistake

ivory sparrow
#

yuh

#

its fine 😭

lost pebble
#

does it work, though?

ivory sparrow
#

does what work

#

the code now?

#

sadly not

lost pebble
#

this is a struggle

ivory sparrow
#

a big one

#

and im LOSING MYM IND

raven marsh
#

o shit

#

hi

lost pebble
#

hello

lost pebble
ivory sparrow
#

i already did :(

#

the freezing is at that area, and no other value changes from whats predicted

safe onyx
# ivory sparrow ```lua while task.wait(0.05) do print("repeated") if wat...

while task.wait(0.05) do
    print("repeated")

    local playersWatching = watchingManager.PlayersWatchingAngel(angel)
    local shouldMove = watchingManager.shouldAngelMoveYet(angel)

    if shouldMove and #playersWatching > 0 then
        angel.Humanoid:MoveTo(angelHRP.Position)
        break
    end

    local timeElapsed = tick() - startTime
    local distanceToWaypoint = (angelHRP.Position - waypoint.Position).Magnitude

    if timeElapsed > 1.5 or distanceToWaypoint < 1 then
        break
    end
end```
ivory sparrow
#

am i missing something in the code

lost pebble
# ivory sparrow the freezing is at that area, and no other value changes from whats predicted

you might have to compute the path again bc the for loop is looping through waypoints based on a previous position of the hrp if the play has moved. so i think this bug happens when player moves away from the angel while not looking at it. so i think you should compute the path if there isn't a straight path to the player. if there is a straight path to the player, just call MoveTo(hrp.Position)

lost pebble
ivory sparrow
#

😭

delicate ferry
lost pebble
#

a value passed into a function

delicate ferry
#

can you explain more simplified

safe onyx
ivory sparrow
safe onyx
#

just remove it

lost pebble
# delicate ferry can you explain more simplified
local function MyFunction(str) --We can access this value by giving a name to the parameter
    print(str)
end

MyFunction("Hi") --Passing a string value into MyFunction```it's basically a function specific varaible
delicate ferry
#

killin me

#

I dunno what you mean

weary gazelle
#

hey guys please if someone wants to work with me, pls lmk 😭✌ im skilled, i surpass my limits, and im the eminece in the shadow, pls if u already got skill, and money, and dev experience, please lmk. thaank you.

lost pebble
#

wdym

lost pebble
delicate ferry
#

I don't understand

delicate ferry
#

took me a year to understand them

#

but still

safe onyx
ivory sparrow
#

they stop moving

delicate ferry
weary gazelle
#

hey guys please if someone wants to work with me, pls lmk 😭✌️ im skilled, i surpass my limits, and im the eminece in the shadow, pls if u already got skill, and money, and dev experience, please lmk. thaank you. I need to make money PLEASE, i got skill bro.

safe onyx
#

ok

#

i thought they already stopped moving

lost pebble
delicate ferry
#

oh

ivory sparrow
delicate ferry
#

also one more question

#

How do I know if it goes inside the end or outside the end

lost pebble
ivory sparrow
#

that too

#

well, what if they collide with eachother πŸ€”

#

guess itll just push em LOL

lost pebble
delicate ferry
safe onyx
#

?? Wdym

delicate ferry
#

Like

#

Local fuction
"rehehehe"
end

Or

Local function
end
reheheh

#

this is jst a example

lost pebble
#

you put the code that you want to happen when you call the function in between the function definition (local function Example()) and the end

safe onyx
#

yea

lost pebble
#

the point of functions is to be able to have a block of code be done multiple times without having to rewrite all of it

safe onyx
#

yea

lost pebble
#

(there's also a readability aspect of it, but that's for later)

safe onyx
#

honestly readability is only important if you're gonna show your code to others

#

that might just be me

lost pebble
#

not really. it's nice coming back to old code and being able to read it faster and figure out what you wrote than having to read the specifics of what's going on

safe onyx
#

used to do that

lost pebble
lost pebble
ivory sparrow
lost pebble
viscid finch
#

Guys have you ever been in the stage where you can understand any code that you see but whenever it comes to writing your own code you have no idea what to do

How can someone get out of this stage

ivory sparrow
#

sorry, im being dumb

lost pebble
#

you're good

viscid finch
lost pebble
#

practice with concepts you know. but you dont really get to choose which concepts you use when you think of something. so you'll most likely have a mix of the two. you use knowledge you've learned already and learn more as you're making it

delicate ferry
#

Is luau coding hard work

viscid finch
#

No

#

Luau ez

lost pebble
#

just think of something that you think you can make with what you know. then if it doesnt work out, research

delicate ferry
#

gooood

viscid finch
#

Also ui

gray escarp
#

then you are forced to recreate it

#

when i started i did that with killbricks and was so proud when it worked

viscid finch
#

Whenever i think of making something, i remember that i need models, animations, and ui to work with, all of which require learning

gray escarp
#

ui isnt that bag

#

its arguably easy

viscid finch
gray escarp
#

have you learnt important stuff like cframe and tweenservice yet

viscid finch
#

Yea

gray escarp
#

try relearning one by 1 and making your own challenges to do

viscid finch
#

Learnt as in basics right?

gray escarp
#

absorbtion only works when u apply

#

yesd

haughty hedge
#

if anyone knows how to make a soccer system dm me frfr (if you hirable ofc)

delicate ermine
#

Wait, if I were to make a inventory system that saves after rejoin, do I have to generate an ID for every ID instance/copy created?
So I can log them in DataStore?
And if so, how to prevent hackers from just pulling out the ID and effectively put the ID in their inventory so they own that item's copy.
Do I need to encrypt it ontop of turning item information into ID?
But then I'd have to deal with the key to decrypt and encrypt the key with a different key?

#

And is putting the encryption key on the server secure enough? Should I put the key on a web hosting website and use HTTPService to get key or smth? I am very confused.

copper apex
delicate ferry
#

Guys how do I know If I should put

#

= or ==

gray escarp
#

== is checking somethings value is true i think

copper apex
lost pebble
delicate ferry
#

thanks

#

How do I know to use else or elseif

lost pebble
#

else is for any other case other than the original if statement
elseif is for another case other than the original if statement that fits this new if statement

delicate ferry
#

I dont understand

#

nvm

#

I get it now

stone mango
lost pebble
#

why?

stone mango
lost pebble
#

nah. sorry

stone mango
lost pebble
#

no sorry

stone mango
lost pebble
#

im currently helping someone with a game so it would be a mess managing between them

lost pebble
pliant dagger
#

Generally speaking, exploiters should not be able to inject items into their inventory because of server sanity checks

neon compass
#

Alr so how do I fix this. I’m trying to make a simple button game and I’m copying the buttons but this happens. Someone help lmao

viscid finch
#

Have you defined "player"?

sick quiver
#

can someone breka down difference between client and server i think i understand but i js want to make sure im 100% clear

pliant dagger
sick quiver
#

so server would be something like a 2x coin event and client would be your inventory

pliant dagger
pliant dagger
#

I’d suggest looking this up in the docs to really learn what the client and server are

sick quiver
#

i will ty

somber vault
#

but you need to update the leaderstats in server, so you need to communicate with the remote signals, aka remote event or function

delicate ermine
gritty grove
#

I am a avid remote hater so I use server scripts on ui sometimes

#

you can still get click signals from them and stuff

remote bear
lofty grotto
#

I am looking for a scripter to develop the "unboxing simulator: Rebirth"

copper apex
#

R u planning on making a game out of it ?

rapid spade
proud idol
#

Or is it an edit

rapid spade
proud idol
rapid spade
#

I'm good at editing then

proud idol
rapid spade
#

ill use this to prank some friends

proud idol
#

Nice

rain smelt
#

so i made this code as to like spawn items, Coins for instance ina scertain area (Zone) everything works thankfully but now i noticed the coins sometimes spawn out of zone, any tips to help me with it? The blue zone is supposed to be zone\

#
local coinmodel = game.ReplicatedStorage:WaitForChild("Coin")
local coinzone=game.Workspace:WaitForChild("coinzone")
local Debris=game:GetService("Debris")
local playerserv=game:GetService("Players")

--Create Instances (leaderstats)
playerserv.PlayerAdded:Connect(function(plr)
    local lbfolder=Instance.new("Folder")
    lbfolder.Name="leaderstats"
    lbfolder.Parent=plr
    print("leaderstats created.")-- Confirmation
    local coinint=Instance.new("IntValue")
    coinint.Name="Coins"
    coinint.Parent=lbfolder
    print("Coin folder created")--Confirmation
    coinint.Value=0
end)

local function spawncoin()
    --Randomize the zone of spawn per coin
    local offX,offY,offZ=coinzone.Size.X/2,coinzone.Size.Y/2,coinzone.Size.Z/2
    local randX,randY,randZ= math.random(-offX,offX), math.random(-offY,offY), math.random(-offZ,offZ)
    local newcoin=coinmodel:Clone()
    newcoin.Position=coinzone.Position+Vector3.new(randX,randY,randZ)
    newcoin.Anchored=true
    newcoin.CanCollide=false
    newcoin.Parent=coinzone
    local cantouch=false
    newcoin.Touched:Connect(function(otherpart)
        if cantouch then return end
        cantouch=true
        local character = otherpart:FindFirstAncestorOfClass("Model")
        if not character then return end    
        
        local humanoid=character:FindFirstChild("Humanoid")
        if not humanoid then return end
        local player=playerserv:GetPlayerFromCharacter(character)
        if not player then return end
        
            print("Touched by:",otherpart.Parent.Name)
                if player and player.leaderstats and player.leaderstats.Coins then
                    player.leaderstats.Coins.Value+=1
                    newcoin:Destroy()
                --task.wait(0.5)
                --cantouch=false
                end
    end)
    game.Debris:AddItem(newcoin,5)
    end
    
while true do
    task.wait(1)
    spawncoin()
end
jaunty herald
#

yo when you guys add module scripts, if it's related to a local script do you ever put it under the local script, or do you you store it under one module scripts folder

true birch
#

I would store it on replicatestorage

jaunty herald
jaunty herald
#

thats what i did in the left screenshot

#

seems more organized

true birch
#

Yh and better

#

Typically everyone does it

jaunty herald
#

ok thx

true birch
#

Tbh I never saw a module inside localscript

jaunty herald
#

same lmao

copper apex
#

Up to preference

#

I use modules for everything I have one script that loads my lazy loader which loads all my modules

hardy pilot
#

Lazy

true birch
#

Fr

hardy pilot
#

Most the time is spent on api calls anyway

jaunty herald
#

whats a lazy loader

copper apex
#

Its a module loader but it only loads module when you need it

hardy pilot
#

Its a loader but lazy

jaunty herald
#

why dont you wanna load all of it

copper apex
#

Its just to make ur the game run faster on startup

jaunty herald
#

doesnt all of it load automatically

true birch
#

You gotta call him

copper apex
jaunty herald
#

ohh

hardy pilot
true birch
#

Typically I don't understand absolutely nothing about modules I still haven't reach my tutorail

true birch
hardy pilot
#

Ive never experienced making code so intense it takes noticable time to load

true birch
#

I do know that it need to be called and it's just like easier to store things like tween and items do

copper apex
copper apex
#

It also helps to organize code

true birch
#

Yep

copper apex
jaunty herald
#

words of encouragement and disencouragement when you win or lose a match

heady steeple
lofty grotto
#

I am looking for a scripter to develop the "unboxing simulator: Rebirth"
We have

jaunty herald
jaunty herald
jaunty herald
weak radish
weak radish
#

Just think these channels are for fun, a scripter can do it all

viscid finch
#

Guys do you think tick() and os.time are outdated?

lofty grotto
#

Bro just doesn't knowπŸ’€

lofty grotto
weak radish
lofty grotto
weak radish
lofty grotto
weak radish
next hull
next hull
lofty grotto
lofty grotto
fiery heron
#

what does the word revamp means that everybody using it now ...

lofty grotto
#

first portal

pine torrent
#

Think of it as a mod or DLC

dire comet
#

Can anyone please explain to me why this script doesn't work on the client:

local Workspace = game:GetService("Workspace")

local Parts = Workspace.Parts:GetChildren()

for index, Part in ipairs(Parts) do 
    print(index)
    if index > 2 then
        Part.CanCollide = false
        print("Should've worked")
    end
end
pine torrent
dire comet
#

Nope, that's the thing. No prints in the output.

pine torrent
dire comet
#

Do I have to wait for the child part?

pine torrent
#

Possible issues so far

pine torrent
dire comet
#

Ohhh, I thought the server took care of that.

pine torrent
dire comet
#

I am, yes.

pine torrent
#

You must put it in StarterPlayerScripts first of all

dire comet
#

It is in StarterPlayerScripts, but thank you for mentioning it.

#

But when I use WaitForChildren, on this line:

local Workspace = game:GetService("Workspace")

local Parts = Workspace.Parts:WaitForChildren() -- line 3

I get this error:
WaitForChildren is not a valid member of Folder "Workspace.Parts" - Client - LocalScript:3

hardy pilot
#

How did you come up with that

dire comet
#

Are methods the ones that use colons?

hardy pilot
dire comet
#

But how do I wait for the children then?

#

Instead of just one?

hardy pilot
#

You can't wait for multiple

dire comet
#

Oh well, then I do know what to do.

hardy pilot
#

in one method atleast

dire comet
#

Thank you for the help Queln.

hardy pilot
#

\ (^-^) /

rotund pawn
#

Working on an advanced building system, how to handle colision between other builds?

#

Just check Hitbox and border collision?

dire comet
#

Is there a better way to do it than this way:

local Part = Workspace.Parts:WaitForChild("Part")

local Parts = Part.Parent:GetChildren()
hardy pilot
fiery heron
rotund pawn
#

Nope, builds have connectors, players choose which connector to build on

sudden estuary
rotund pawn
hardy pilot
hardy pilot
sudden estuary
sudden estuary
sudden estuary
rotund pawn
#

I just started, so no idea. I just use it for bridges, so player clicks to end of bridge, chooses what type of build, it builds,

hardy pilot
sudden estuary
hardy pilot
sudden estuary
#

yea

hardy pilot
#

:<

#

@we

sudden estuary
#

hewas just here

#

can

pine torrent
gray maple
lofty grotto
#

I'm trying to strive for the 2019 style, aren't I?

dense flame
#

How hard it’d be to code a 2d toca boca world type game?

#

Like purely on UIs

graceful delta
#

depends

#

the fuck is a toca boca

lofty grotto
dense flame
graceful delta
#

i do not want to begin to image what "starterUi" would look like πŸ₯€

dense flame
#

True..

#

But is it possible?

sudden estuary
#

i would personally not use roblox for it

dense flame
#

Oh man

#

Any 2d game would be difficult in roblox ig?

sudden estuary
#

yea, 2d is pretty much limited

#

thats why people go pseudo 2d

dense flame
#

I see yeah

#

I’d probably have to pay shit tons to a scipter to script that kind of game

#

Would 200k fall too short? Probably

graceful delta
#

but it'll take a while and be very messy

dense flame
#

True, yeah

graceful delta
#

your best bet would be smthn like what Gacha Online did

dense flame
#

I just think the idea is exciting

dense flame
rotund pawn
#

Easiest way to store player builds in sandbox tycoon?

dense flame
#

I mean i got the skill to draw the entire world

#

Id be very detailed work in coding omfg

gray escarp
#

how do i scam someone without them knowing guys!

rotund pawn
#

Team create is always scam

woven pelican
dense flame
#

Oh?

#

I feel like creating a prototype for it

#

Its basically an 2d sandbox

graceful delta
rotund pawn
#

They are πŸ˜„

woven pelican
dense flame
#

Mmmm yeah i wanna create a prototype

#

Would it be laggy?

woven pelican
graceful delta
# rotund pawn They are πŸ˜„

i swear it's a dead feature bro, every aspect of dev now is "here's a limited file with only the section you're working on, fix it and send it me back pls thx!!!"

#

like you're never in the same place

dense flame
#

I’ll try to make a prototype of the silly 2d game this week starting from today

#

I suppose it’d be fun

#

(I have no idea how to script)

#

Tho it means i can just make the assets

#

like maybe one character to customize and 2 rooms

rotund pawn
#

Why workspace does not need game. prefit, but replicated storage does XD

hardy pilot
rotund pawn
#

Yeah, but why they dont add shortcuts for the rest?

hardy pilot
#

because its freq use

rotund pawn
#

Workspace was never my freq. used πŸ˜„ Its annoying

graceful delta
#

obv only use "GetService" if it's a local script

rotund pawn
#

is there any difference between game.Replicated vs GetService?

graceful delta
#

if it's a server script js do game.ReplicatedStorage

graceful delta
rotund pawn
#

Never had any issues without using that

hallow crag
#

its good to define all your services at the top every script

#

with GetService

graceful delta
#

Never once used GetService with a server script

hallow crag
graceful delta
#

i do

#

js with server scriptsa i never do "GetService"

#

i js do game.

hallow crag
#

some services u have to use GetService so its more consistent to just use getservice for every service besides workspace

#

for workspace u can just use workspace.

dense flame
rotund pawn
#

Can I just have module, that handles building of players bases, but it also has array, where it stores player data to save it?

rotund pawn
#

No idea what that is

hallow crag
#

makes data saving and structuring alot easier

rotund pawn
#

So it is datastore module template?

hallow crag
#

yeah

#

profilestore

#

its a module

#

u should look into it

#
#

literally every big game uses it

rotund pawn
#

Cool, Ill try

viscid finch
#

Guys

#

Is it good if a new scripter relies on ai to create codes

#

Note: the code works perfectly

#

So is it bad in any way?

viscid finch
hallow crag
#

cause ai uses depricated functions and leaves alot of mem leaks

gloomy kraken
delicate ermine
#

is it possible to tween unions?

hallow crag
viscid finch
#

Maybe it's tutorial hell

#

Idk

summer plume
#

πŸ’€ i learned how to code much lesser

gloomy kraken
summer plume
#

you have to practice

#

focus ur scripting, but i suggest resting ur mind.

#

i spent coding for like 6 years on lua

#

actually is 4 years

#

bc the 2 years i learned how to modify code

hardy pilot
#

Skid

hardy pilot
#

Unions are treated the same as all baseparts

somber vault
#

guys can any one help me there is a problem when my timer restarts when i die

delicate ermine
rain smelt
#

so i created a handle and put it into the stater pack, backpack i mean now whenever i click the tool for handle, my character gets stuck in the initial place where i first placed my handle, whats the move?

rain smelt
lost pebble
somber vault
lost pebble
#

what's the code?

radiant belfry
#

guys help i need a script that gives u hdadmin mod commands when u touch a part, some suggestions about how can i code tscry

somber vault
#

for _,p in pairs(game.Players:GetPlayers()) do
script.Parent.SpeedrunTimerGUI:Clone().Parent=p.PlayerGui
end
script.Parent.SpeedrunTimerGUI.Parent=game.StarterGui

lost pebble
#

i dont see anything about touching a part and setting the timer. you're just setting the parent of cloned guis (which im confused on why since StarterGui already does that for you)

eager orchid
#

im a beginner and i js made this script where there is a movingpart and it chases you around and if you touch it you die, and if you click it, it despawns, but i dont kmow how to make the part clone every few seconds and that clone also chases you around.

lost pebble
eager orchid
#

i used ai

lost pebble
lost pebble
eager orchid
#

i tried learnin i gave up

lost pebble
#

that's where you messed up

#

never give up

eager orchid
#

right

lost pebble
#

if you really want to, you wouldnt let any obstacle get in your way

eager orchid
#

yeah ill try learning again some day

#

i really want to

eager orchid
lost pebble
#

which ever part of the script that has the logic to chase the player

eager orchid
#

where would that be

#

ik im dumb sorry bout that

viscid finch
#

To the people who are already established scripters and are making thousands of robux: do you utilize AI alot?

lost pebble
# eager orchid where would that be

there's more to it than just looping the chase logic since there's other logic with the player touching the part. so it's a little more complicated than that. but i want you to figure it out. i want you to learn enough to read the code and edit it yourself to make multiple parts chase you

lost pebble
lost pebble
lost pebble
#

and celebrate small victories

#

dont just focus on big picture stuff

eager orchid
#

yee

viscid finch
#

Today I wanted to make a big system

#

I asked Ai and it literally gave me the script

#

I just had to tweak some small things

#

And there it was

lost pebble
eager orchid
#

local function getNearestPlayerHumanoidRootPart()
local nearestPlayer = nil
local minDistance = math.huge -- Start with a very large distance

for _, player in ipairs(Players:GetPlayers()) do
    if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
        local distance = (MovingPart.Position - player.Character.HumanoidRootPart.Position).Magnitude
        if distance < minDistance then
            minDistance = distance
            nearestPlayer = player
        end
    end
end

if nearestPlayer then
    return nearestPlayer.Character.HumanoidRootPart
else
    return nil
end

end

lost pebble
#

no

eager orchid
#

oh.

lost pebble
#

that just returns the closest player

#

the function names usually tell you what it does

eager orchid
#

returns?

lost pebble
#

it's basically the output of a function that can then be used outside of the function

eager orchid
#

i see

lost pebble
#

you can see what it returns with the keyword return

eager orchid
#

local direction = (targetPosition - currentPosition).Unit -- .Unit normalizes the vector to length 1

#

so this code calculates

#

sum kind of position right?

lost pebble
#

a vector with a magnitude (size/length) of 1

#

based off of the positions of the target and the current part's position

#

more specifically, the direction from the part to the target

eager orchid
#

i see

#

yes

#

so thats the direction code

#

i have to find the movement code right?

lost pebble
#

yes

eager orchid
#

how about this

RunService.Stepped:Connect(function(time, deltaTime)
local targetHumanoidRootPart = getNearestPlayerHumanoidRootPart()

lost pebble
#

no. but it's probably within that function

eager orchid
lost pebble
eager orchid
#

so it HAS to be this

if targetHumanoidRootPart then
local targetPosition = targetHumanoidRootPart.Position
local currentPosition = MovingPart.Position

lost pebble
#

what's the entire if statement?

#

it probably is

eager orchid
#

if targetHumanoidRootPart then
local targetPosition = targetHumanoidRootPart.Position
local currentPosition = MovingPart.Position

     the MovingPart to the player
    local direction = (targetPosition - currentPosition).Unit -- .Unit normalizes the vector to length 1

    
    local desiredVelocity = direction * MOVEMENT_SPEED

    close to prevent jittering
    local distance = (targetPosition - currentPosition).Magnitude
    if distance < MIN_DISTANCE_TO_PLAYER then
        desiredVelocity = desiredVelocity * (distance / MIN_DISTANCE_TO_PLAYER) -- Slow down as it gets closer
    end
hallow crag
#

make one script that handles everything

eager orchid
#

thats what i did

hallow crag
#

clones the parts and moves it etc

eager orchid
#

now its confusing

lost pebble
#

but i want you see why and how though

eager orchid
#

oh uh

#

wai

hallow crag
lost pebble
# eager orchid wai

i want you to be able read it yourself and understand that this is where the movement happens

somber vault
lost pebble
#

he literally said he used ai

hallow crag
eager orchid
#

so its finding the position of the player and going towards it

lost pebble
#

he never tried to hide it in the first place

somber vault
#

praysob we are doomed

lost pebble
eager orchid
#

thats what i undertsoof other stuff is js confusing

hallow crag
eager orchid
hallow crag
#

and whats not working exactly?

eager orchid
eager orchid
hallow crag
hallow crag
#

well i would recommend learning how to script before making something 😭

eager orchid
#

i was bout to say that

#

where is a good place to start and learn scripting

hallow crag
#

whats the point of using ai for everything when u cant even fix the bugs in it

#

or understand anything

eager orchid
#

like any good tut yk?

hallow crag
#

just read the documentation and devforum posts

eager orchid
#

where do i start

somber vault
#

documentation

hallow crag
eager orchid
#

alr lemme read

somber vault
#

the best way is to just make a system and learn by doing

#

there's no shortcut

hallow crag
#

especially if u have no previous programming knowledge

somber vault
#

no bruh

#

just search anything you need

#

and overtime youll learn everything

hallow crag
#

thats skidding u aint gonna learn from that

somber vault
#

i learned from it bro

hallow crag
#

if ur just copy and pasting code

somber vault
#

bruh i didnt

#

that's not what i meant

eager orchid
#

alr thanks guys ill get learning

lost pebble
summer plume
#

reworking whole rpg

#

is gonna take another 6 months 😭

#

but today, is not gonna be 6 months..

#

prob takes 1-3 months.

brittle sable
#

Can someone give me robux pls. Pls dm me

delicate ermine
#

are there ways to get the default roblox materials?
Like as images that I can turn into a material variant, a 1 on 1 clone

rotund pawn
#

Looking for one-task scripter ASAP (hiring post is being aproved)

misty lodge
#

@eager dagger

eager dagger
#

did someone call me?

misty lodge
#

I figured out that fuckin lookAt thing btw 🀣

eager dagger
misty lodge
#

I had to use cframe.fromEulerAngesYXZ

#

I have 0 idea why I just guessed it

#

I think its because of how its oriented you have to use a different rotational order?

#

I looked at the fact that the X was controlling the Y and was like I wonder if this fucking function is used for that type of scenario and I guessed right

tired sinew
#

can anyone help me code that when i click the screen the gui hides

ripe plume
#

mousebutton1click

rain smelt
ripe plume
rain smelt
#

its not

ripe plume
#

u sure?

#

and is it called Handle

rain smelt
#

both yes

ripe plume
#

that sounds strange hm

#

send the .rbxm

rain smelt
ripe plume
#

whats that inside it

rain smelt
#

Weld

ripe plume
#

did u weld it to the baseplate or something

rain smelt
#

i havent touched it

ripe plume
#

why is there a weld when its just one part

rotund pawn
#

You do not need weld if its one part item

ripe plume
#

just delete it

#

u prob on the weld to surface feature thingy, disable it then remove the weld

rain smelt
#

ok it worked now, but what does Weld do?

rotund pawn
#

Glue

ripe plume
#

its to glue parts together

#

man ur too quick

pearl blaze
#

How to inherit from 2 classes?

#

At the same time

signal mauve
#

hey, how do you make actual moon animator animations play in game

rigid willow
#

save them and export them

#

right click -> save to roblox

winged marten
#
local part = script.Parent
local RunService = game:GetService("RunService")

-- Configuration
local axis = "Z" -- Change to "X", "Y", or "Z"
local rotationSpeed = 20 -- degrees per second

-- Axis lookup table
local axisRotation = {
    X = function(angle) return CFrame.Angles(math.rad(angle), 0, 0) end,
    Y = function(angle) return CFrame.Angles(0, math.rad(angle), 0) end,
    Z = function(angle) return CFrame.Angles(0, 0, math.rad(angle)) end
}

RunService.Heartbeat:Connect(function(deltaTime)
    local rotateFunc = axisRotation[axis]
    if rotateFunc then
        local rotation = rotateFunc(rotationSpeed * deltaTime)
        part.CFrame = part.CFrame * rotation
    else
        warn("Invalid axis: " .. tostring(axis))
    end
end)

How can i change this so if people stand on the object, they move with it

true fern
delicate ermine
#

how to obfuscate luau?

hallow crag
delicate ermine
#

typo

gray maple
hallow crag
#

best obfuscator

#

i would say

delicate ermine
#

XD

#

is it better to obfuscate or encrypt?

#

its one tier lower than encryption interms of security I think.

grave cloud
#

@random nebula πŸ’”

random nebula
random nebula
eager dagger
grave cloud
#

really didnt even bother

#

to aura farm him

#

πŸ’”

weak radish
#

Just don't have important code on the client in the first place

gray maple
#

yup idk why he obfuscate

grave cloud
#

well

#

vfx

random nebula
#

u need to obfuscate for client ac

rain smelt
rotund pawn
#

How to handle Saving of Building system, where each part build has 0-3 connector pieces, where players can build another building, nowhere else?

earnest sun
#

Use profile service

rotund pawn
#

What does that have to do with it

#

I have to create some kind of structure that roblox can handle

grave cloud
#

life if custom vms πŸ’”

weak radish
grave cloud
#

it stops them from understanding it

random nebula
#

ur client ac is only as strong as people not knowing ur detections

weak radish
random nebula
#

very few people have access to them

grave cloud
#

not for luau?

#

if there is shit to reverse luraph those people get paid off

#

literally the owner of oracle is on payroll to not release his deobfuscator

weak radish
#

Oops

#

that shutdown

grave cloud
#

it let you obtain the bytecode and decompile it