#code-discussion

1 messages ยท Page 17 of 1

carmine yacht
#

AlignPosition worked nicely for me

indigo flame
#

fr

carmine yacht
#

But not for knockback

#

gotta try it out

#

pretty sure replicating to the client and giving network ownership is the best way

hardy pilot
#

It'd be pretty iffy for knockback

carmine yacht
#

you have to replicate anyways so

hardy pilot
#

Since you'd lose all control

carmine yacht
#

for effects

hardy pilot
#

as well get knocked not in a direction but to a position

hardy pilot
deft lodge
#

@hollow steeple your dms are off. we cant message you for work please open them

indigo flame
#

i thought smh about applying the bodymover to the victim client then simulating on other clients with tween but that would probably suck

hardy pilot
#

Oh you mean for work as an offer

#

not as portfolio

carmine yacht
hardy pilot
carmine yacht
#

let me just test in a baseplate

hardy pilot
#

Out of time catangry

carmine yacht
#

i did a slam moveset the other day and i had to resort to localized replication

#

with a sanity check

#

to sync the slam effects up

#

because of ping

#

what is sharkbite games

#

what is his roblox user btw

carmine yacht
#

with a temporary queue

#

and a 3 second sanity check to ensure that the player doesnt block the damage remote incase of a cheater

#

@indigo flame are u sure its choppy?

#

im testing in 2 player test to double check

#

ah i see

indigo flame
#

yeah

carmine yacht
#

yea i saw

indigo flame
#

smooth for only one player right?

carmine yacht
#

yea

#

i saw a solution was to replicate it to each client in the game

#

but maybe you can try non-force movement

indigo flame
#

if you give the networkship of the victim root to the attacker then its only smooth for the attacker

carmine yacht
#

like a spring

#

i do not recall non-force movement being choppy

indigo flame
#

i think it has to do smth with non force, but when u tween the victims client its still choppy for others if you do not replicate somehow

carmine yacht
#

no tween

#

spring bro

#

also animations i know are smooth

#

so you might wanna look int othat

indigo flame
indigo flame
carmine yacht
#

a spring movement module

#

like

#

update the cframe on stepped/renderstepped

#

with a spring

indigo flame
#

oh right i saw that being used somewhere but why spring isnt kb kinda just linear

#

i mean depends on the

carmine yacht
#

but i feel like you will need to be do cframe updating

#

for knockback

indigo flame
#

i guess, but i'd also need raycasting in case the player is in a corner or a wall cfame will just clip them thru

carmine yacht
#

im trying to think of a solution it cannot be that difficult lol

indigo flame
#

i know god its been done already in most games but i can't think of a good one

carmine yacht
#

have you tried removing mass btw

#

of the character

#

and using unreliables alongside regular remotes

surreal sky
#

i have a part that is supposed to give u 1 coin every time u touch it ive tried evrything even using remote events and functions to just legit making the part give u one value when touched on the local side how can i do this i am confused rn

indigo flame
proper flicker
#

does anyone know how I could handle ore spawning in my game for mining like pet sim 99 does like how do they generate or spawns? i thought of generating random spots in a area and then using bound box on them to check if htere is any ores nearby but how often could I do this to not cause any performance issues, so do I use bound box or magnitude checks and generate a random pos on the area?

charred dragon
#

can someone help me make a script?

twilit parcel
#

question pls, i tried changing the property of the camera but it doesnt work. Any idea how i could reference the players camera using a script (that is not local script).

bleak glade
charred dragon
#

Can someone help me fix a script

karmic cobalt
#

Can someone help with ProfileSerivce, I lost all ideas how to fix it XD

wispy trench
#

never turn on new type solver on studio beta

faint saffron
#

does touchpan ignore gameprocessed? because even if i check for it, when i move over the thumbstick; it moves my camera while it should be blocking it

smoky flare
mental hawk
somber vault
surreal sky
twilit parcel
warm root
#

can someone help i need a local script in starterplayerscripts to check the players leaderstats to see what stage the player is on and if the player is on stage 20 it disables scripts in some gui buttons

somber vault
#

Why is PathfindingService so annoying

#

I'm going to snap necks if it isn't updated soon

mellow prawn
#

does anyone recommend use script sync? programming with vsc in roblox

proper flicker
#

For my ore spawning system in a certain area. Do I use the models extent sizes to do magnitude checks? + some extra distance and how many times should I run the function, before I time out for a certain time if the area is full.

plain dock
#

lf someone who can make a game icon/thumbnail dm me fast

indigo flame
sudden igloo
#

is there a way to make a hit box that could always be on the floor no matter the elevation changes?

mellow prawn
indigo flame
#

vscode extensions are nice and you have an lsp so you're not missing out

mellow prawn
whole turtle
#

how does a m1 system work? does it just detect each m1 in a certain time period and link a animation to that click or?

indigo flame
proper flicker
#

For my ore spawning system in a certain area. Do I use the models extent sizes to do magnitude checks? + some extra distance and how many times should I run the function, before I time out for a certain time if the area is full.

manic bolt
#

yo

#

anyone knows how to send the accesscode from reserveserver() to other servers through messagingservice

rugged wasp
#

Does it make a difference to use module scripts to save global tables, instead of just doing "_G.PlayerData = DataTable"?

shut sorrel
rugged wasp
shut sorrel
#

I don't see a problem with using it if it works

rugged wasp
#

that's what I am saying

radiant mist
#

Sorry if this sounds dumb but what is meant by libraries in programming?

rotund cedar
#
 region = region:ExpandToGrid(1)
    local partsInRegion = workspace:FindPartsInRegion3(region,"shitwewillexclude", 1)
    if #partsInRegion > 0 then
        for _, part in ipairs(partsInRegion) do
            print("Part blocking area:", part.Name, part.Position)
        end
        
    end

how can we make it so that shitwewillexclude is not one object but a list? Somebody said overlap parameters but I didnt understand how to use it so Im looking for a diferent advice

obsidian lintel
#

is there a way to change a parts velocity even if it is the primarypart of a model and is welded with other parts?

gentle crypt
#

hello everyone

foggy siren
#

my page build and deployment workflows keep on failing, why is this?

carmine yacht
indigo flame
hasty cobalt
#

is upladoing animations down

shut sorrel
sacred prairie
rotund cedar
sacred prairie
#

lol

rotund cedar
#

Ive decided to not fix it

sacred prairie
#

pass the code

rotund cedar
#

until a bigger issue appears

sacred prairie
#

ok

gloomy kraken
rotund cedar
#

Im gonna sweep my issues under the rug till the rug is no longer holding it back

rotund cedar
sacred prairie
rotund cedar
rotund cedar
sacred prairie
#

what if

rotund cedar
#

maybe #array > 0?

#

yo waitt hold on chat did I cook

sacred prairie
#

if array: return False
This means if the list is not empty (has elements), it returns False. If it's empty, the if statement doesn't execute, and you can handle that case separately.

gloomy kraken
sacred prairie
#

in python that is

rotund cedar
rotund cedar
# gloomy kraken so like what are you trying to do

I have spawn areas for objects to spawn. I create zones around the objects Im trying to create to check for stuff like trees. If the zone is colliding with a tree it prevents the object from spawning

sacred prairie
#

this is how u do it in lua

rotund cedar
sacred prairie
#

so yes ur way works

#

he cooked

#

he did it.

rotund cedar
#

๐Ÿ™

#

on gang chatgpt is not useful I learned more trying to correct what chatgpt does wrong than any other method

sacred prairie
#

i learned with docs and grok

#

grok 3 most specifically

#

and api reference

rotund cedar
sacred prairie
rotund cedar
gloomy kraken
sacred prairie
#

yes

#

lol

#

chatgpt needs some milk

rotund cedar
sacred prairie
#

wow u actually paid for the subscription

gloomy kraken
sacred prairie
#

never had a reason to lol

half mango
#

anyone want a mod for his roblox game im free of charge

rotund cedar
rotund cedar
sacred prairie
#

๐Ÿ‘

gloomy kraken
half mango
#

anyone want a mod for his game im free of charge?

livid spear
rotund cedar
#

local function createPart(properties, i)
    local newPart = Instance.new("Part", spawnArea)
    for key, value in pairs(properties) do
        newPart[key] = value
    end


    newPart.Position = Vector3.new(randomPosition(newPart, i))
    
    print(newPart.Position)
    newPart.Name = "Part " .. i
    local cd = Instance.new("ClickDetector", newPart)

    return newPart
end

```currently the zone detection script I have returns false if the zone is not empty. When false is returned for RandomPosition and the newPart.Position is printed it is printed as 0,0,0. How can I make it so that if randomPosition returns false, the script tries it again
livid spear
#

its free and its one of the best AIs for scripting atleast out of all of the ones ive tested

rotund cedar
#

like it will constantly try until it finds a place.

livid spear
#

but then again, it can really only make stuff that a 2 week scripter could make tbh.

half mango
#

so no one wants a free mod?

livid spear
half mango
#

no in a roblox game

#

like

#

a moderator

livid spear
#

what is u talking abt chicken ass boy

#

time in time out ass boy

rotund cedar
livid spear
rotund cedar
half mango
#

bro you misunderstood me

half mango
#

i wanna be a mod

livid spear
#

oh

half mango
#

for a game

sacred prairie
#

im investigating the issue

half mango
#

im bored

#

and i have nothing to script

livid spear
#

bro u dont even need any experience in anything to do that

half mango
#

ik

livid spear
#

alr then so which game is it

sacred prairie
#

i think u should create

#

3 variables

sacred prairie
#

for postion, attempts, and maxAttempts

livid spear
#

its about understanding, then the memory naturally comes.

sacred prairie
#

local function createPart(properties, i)
    local newPart = Instance.new("Part", spawnArea)
    for key, value in pairs(properties) do
        newPart[key] = value
    end

    local position
    local attempts = 0
    local maxAttempts = 100

    repeat
        local temp = randomPosition(newPart, i)
        attempts = attempts + 1
        if attempts > maxAttempts then
            error("Could not find a valid position after " .. maxAttempts .. " attempts.")
        end
        if type(temp) == "table" and not (temp.x == 0 and temp.y == 0 and temp.z == 0) then
            position = Vector3.new(temp)
            break
        end
    until false

    newPart.position = position
    print(newPart.position)
    newPart.Name = "Part " .. i
    local cd = Instance.new("ClickDetector", newPart)
    return newPart
end
livid spear
#

oh yeah and just script more often and it will naturally stick

rotund cedar
#

so I did a print(randomPosition(newPart, i)) and it returned false as expecte

#

cant we make it so that if it equals to false it does something

#

in this case attempts

#

or am I pulling a yandereDev rn

sacred prairie
#

hm

#

Good question

ancient dome
#

Thanks, I watched 8 videos and i understand almost everything from them except "return" 3113peepohypers

sacred prairie
#

since the print(randomPosition(newPart, i))

#

confirms randomPostion returns false, when it fails

#

right?are u following?

#

where's the guy im talking to

rotund cedar
#

wait

#

Im here

sacred prairie
#

are u following?

rotund cedar
#

yeah

sacred prairie
#

exactly. so

rotund cedar
#

I had to check something

sacred prairie
#

we can tweak the createPart function

#

to retry specifically

#

when it returns false

rotund cedar
#

yeah I tried to implement it

sacred prairie
#

so that u don't have to check for a table with 0,0,0 coordinates

half mango
#

how do i become a moderator for roblox games?

sacred prairie
#

lemme edit it real quick

rotund cedar
#

maybe if we use a repeat until?

sacred prairie
#

local function createPart(properties, i)
    local newPart = Instance.new("Part", spawnArea)
    for key, value in pairs(properties) do
        newPart[key] = value
    end

    local position
    local attempts = 0
    local maxAttempts = 100

    repeat
        local temp = randomPosition(newPart, i)
        attempts = attempts + 1
        if attempts > maxAttempts then
            error("Could not find a valid position after " .. maxAttempts .. " attempts.")
        end
        if temp ~= false then  -- If not false, assume itโ€™s a valid position
            position = Vector3.new(temp)
            break
        end
    until false

    newPart.Position = position
    print(newPart.Position)
    newPart.Name = "Part " .. i
    local cd = Instance.new("ClickDetector", newPart)
    return newPart
end

#

the loop repeats

#

like it keeps running

#

if temp == false

#

when randomPosition returns anything other than false

rotund cedar
#

shouldnt we make it until true?

sacred prairie
#

, we assume its a valid position

rotund cedar
#

oh wait

sacred prairie
#

loop

rotund cedar
#

if the placing fails it returns false

#

so shouldnt we make the loop break when we get a valid position?

#

like shoudlnt the loop continiue as long as we are getting false

sacred prairie
#

u could actually use repeat-until true

#

since it aligns well

#

the other one prob could have made it to run indefinitely

rotund cedar
#

also we didnt make local position equal to anything

sacred prairie
#

but the position could be nil

#

if attempts > maxAttempts

#

triggers first

rotund cedar
#

like else if position nil do something

sacred prairie
#

well

#

since randomPosition

#

returns false when the zone is not empty

#

it might also return nil in other failure cases

#

like an error in its logic

#

but adding an elif statement

#

is a good way

#

to make the script more yk

#

robust

rotund cedar
#

let me do these changes and tweak them a little bit

#

and see if they work

sacred prairie
#

alright

#

good luck champ

rotund cedar
#

appreciate it

#

also

#

we didnt assign local position to anything yet

sacred prairie
#

yh i was just saying

#

as an example

rotund cedar
#

no like

#

local position
local attempts = xxx

weary marlin
rotund cedar
#

there is no equal sign after local position

sacred prairie
rotund cedar
#

to assign it to anything

sacred prairie
rotund cedar
#

should I just make it 0,0,0

sacred prairie
#

prob just leave it declared

#

i dont think it'll error out

rotund cedar
sacred prairie
#

yeah, or just assign what position u want

rotund cedar
#

dangg bruh this is crazy

sacred prairie
rotund cedar
sacred prairie
#

lol

sacred prairie
#

when u dont assign

#

something to it though

quasi pond
#

looking for scripters to work on a cashgrab game, Im paying with game revenue, DM me

sacred prairie
wispy creek
sacred prairie
#

from a modeler

#

with the skill role

weary marlin
#

lol

quasi pond
#

Desperate times

rotund cedar
sacred prairie
#

?

rotund cedar
#

let me send a video

sacred prairie
quasi pond
#

Huh

rotund cedar
quasi pond
#

That is strange

rotund cedar
#

the issue is firstly objects are weird as hell. Their positioning has a problem with the y axis probably

#

also when I click on a part it shows a few blue areas yk

#

ok so

#

the a few blue parts thing is related to the Zones which I use for area control

#

everytime random position runs a new zone is made

sacred prairie
#

the video isnt loading for some weird reason

rotund cedar
#

and because we run it a few times we have a few zones

#

I think we can remove the zones during the loop and just fix it

sacred prairie
#

u have the game revenue or do u mean %?

sacred prairie
#

๐Ÿ˜ฎโ€๐Ÿ’จ

sacred prairie
quasi pond
#

Cashgrab

#

A guy will invest 50k

sacred prairie
#

no like a cashgrab idea

#

u can't just "make a cashgrab game"

rotund cedar
#

ok rain we have a lot of issues actually but I will try to fix it myself first. I will lyk

sacred prairie
#

ok

safe jolt
#

im pretty sure theres a channel for hiring scripters

safe jolt
#

who put the nerd emoji ๐Ÿ˜ญ

quasi pond
#

I always get denied there

fossil salmon
#

nah fr

safe jolt
fossil salmon
#

have you made other projects befor?

quasi pond
#

Probably

fossil salmon
quasi pond
#

No

#

Me

fossil salmon
#

me

sacred prairie
#

ok

quasi pond
#

DM me

safe jolt
#

use ai ๐Ÿ˜ญ

crisp steppe
#

who here knows OOP looking for comm work

hasty cobalt
#

ty tho

rotund cedar
#

@sacred prairie I made it bruh๐Ÿ˜ญ sort of at least

#

--this is to destroy the zones if a placement fails:
    if #emptyZone > 0 then
        print("Zone " .. zones.Name .. " found error")
        zones:Destroy()
        return false
    end

-- this is to repeat placement until the position is not 0,0,0 (because if it returns false, the position is defaulted to 0,0,0)

    repeat
        local tempx, tempy, tempz = randomPosition(newPart, i)
        print(tempx, tempy, tempz)
        wait(1)
        newPart.Position = Vector3.new(tempx, tempy, tempz)
    until newPart.Position ~= Vector3.new(0,0,0)
    
```currently the script doesnt rlly have a solution to nil returns (If randomPosition returns nil will the position default back to 0,0,0? because if yes then everything is fine) 

Also the script currently works like this: The part is placed, it got in contact, it is sent to (0,0,0), its zone backtrack is deleted, a new zone is created in a new position, the part is sent to that position.
#

Also the after fail placements are being made one by one. Lets say part 2 and 3 failed to place:

Part 1,4 and 5 load automatically at the start because they didnt fail. First 2 will undergo the process and when a suitable spot is find for part2 part 3 will begin. Maybe I can use taskspawn though

peak sphinx
#

Lmfao

fallow arrow
#

atleast ur honest

strange dirge
#

I'm looking for the best way / best practice to store and sync cooldowns for my abilities. I saw this tutorial, I learned a lot. But I still have some questions.

His final solution seems to be bad, someone commented to do this instead.

-- Module script
local module = {}
module.Actions = {
    Cooldown = 1
}

module.SkillMoves = {
    Test = {Duration = 3}
}

-- Server script
local started = workspace:GetServerTimeNow()
remote:FireClient(player, {module.Actions.Cooldown, started, "Test"})

-- Client script
remote.OnClientEvent:Connect(function(content)
    local action = content[1]

    if action == module.Actions.Cooldown then
        local started, skillName = table.unpack(content, 2)
        local skillInformation = module.SkillMoves[skillName]

        local textlabel = ... -- create a textlabel to visualize cooldown

        local c
        c = RunService.heartbeat:Connect(function()
            local remaining = math.floor(skillInformation.Duration-(workspace:GetServerTimeNow()-started))
            textlabel.Text = `{skillName} {remaining}`

            if remaining <= 0 then
                c:Disconnect()
                c = nil
                textlabel:Destroy()
                textlabel = nil
            end
        end)
    end
end)

Is this the right way to do it?

weak ravine
#
local function abc()
    def.OnServerEvent:Connect(function()
        -- stop the abc function. how????????
    end)
end
buoyant ice
#

that is garbage and exploitable

weak ravine
#
local function abc()
    def.OnServerEvent:Connect(function()
        -- stop the abc function. how????????
    end)
end
unreal frost
#

theres nothing there to exploit

#

๐Ÿ˜ญ

buoyant ice
buoyant ice
unreal frost
#

oh u were talking ab the other one

buoyant ice
#

what how would that be exploitable

unreal frost
#

I see

#

yeah thats what i was saying lol

buoyant ice
strange dirge
#

People recommend os.time() and time() functions should be avoided

#

I cant post links

ivory dove
#

What about tick?

buoyant ice
#

are u trying to store the cooldown in datastore

strange dirge
#

devforum roblox com /t/how-to-actually-sync-cooldowns-between-server-and-client/2661854

strange dirge
buoyant ice
#

it depends on what ur trying to do

weak ravine
strange dirge
buoyant ice
#

time is basically the amount in seconds since the server started/client started (i think)

#

os.time is the amount of seconds passed since some day in 1970 or some shit

#

or am i getting mixed up idk

strange dirge
#

Why is it so difficult to find good / best practices for this btw? Every server, every channel, everyone I ask has different answers.

#

Everyone disagrees to the best ways to do it

buoyant ice
#

if u want to sync between server-client then u can use Workspace:GetServerTimeNow()

#

but if ur just doing cooldowns on the server u can just use time

weak ravine
#
local function abc()
    def.OnServerEvent:Connect(function()
        -- stop the abc function. how????????
    end)
end

how can i end the outer function using the nested function?

strange dirge
#

I think I'll use this three-way script I made now.

buoyant ice
rotund cedar
buoyant ice
strange dirge
ivory wing
#

i am new to scripting. i tried to make part that kills. why this no work?? local script = script.Parent
script.Touched:Connect(function(hit)

if hit.parent:findfirstchild("humanoid") then
    hit.parent.humanoid.health = 0
end

end)

strange dirge
#
local module = {}


module.Actions = {
    StartCooldown = "StartCooldown",
    EndCooldown = "EndCooldown"
}


module.SkillMoves = {
    Fireball = { Duration = 5 }, 
    Heal = { Duration = 10 },   
    Dash = { Duration = 3 }  
}

return module

@rotund cedar @buoyant ice

#


local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")

local CooldownEvent = ReplicatedStorage:WaitForChild("CooldownEvent")
local CooldownModule = require(ReplicatedStorage:WaitForChild("CooldownModule"))

local playerCooldowns = {}


local function isOnCooldown(player, skillName)
    local cooldownData = playerCooldowns[player] and playerCooldowns[player][skillName]
    if not cooldownData then return false end

    local remaining = cooldownData.startTime + cooldownData.duration - workspace:GetServerTimeNow()
    return remaining > 0
end


local function startCooldown(player, skillName)
    local skillInformation = CooldownModule.SkillMoves[skillName]
    if not skillInformation then
        warn(`Skill "{skillName}" not found in CooldownModule.SkillMoves`)
        return
    end

    local startTime = workspace:GetServerTimeNow()
    playerCooldowns[player] = playerCooldowns[player] or {}
    playerCooldowns[player][skillName] = { startTime = startTime, duration = skillInformation.Duration }


    CooldownEvent:FireClient(player, CooldownModule.Actions.StartCooldown, skillName, startTime, skillInformation.Duration)
end


CooldownEvent.OnServerEvent:Connect(function(player, action, skillName)
    if action == "UseAbility" then
    
        if isOnCooldown(player, skillName) then
            
            CooldownEvent:FireClient(player, "OnCooldown", skillName)
        else
        
            startCooldown(player, skillName)
            CooldownEvent:FireClient(player, "AbilityUsed", skillName)
        end
    end
end)
#

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local UserInputService = game:GetService("UserInputService")
local CooldownEvent = ReplicatedStorage:WaitForChild("CooldownEvent")
local CooldownModule = require(ReplicatedStorage:WaitForChild("CooldownModule"))


local keyAbilityMap = {
    [Enum.KeyCode.Z] = "Fireball",
    [Enum.KeyCode.X] = "Heal",
    [Enum.KeyCode.C] = "Dash"
}


UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if gameProcessed then return end 

    local abilityName = keyAbilityMap[input.KeyCode]
    if abilityName then
    
        CooldownEvent:FireServer("UseAbility", abilityName)
    end
end)


CooldownEvent.OnClientEvent:Connect(function(action, skillName, startTime, duration)
    if action == "AbilityUsed" then
        print(`Successfully used {skillName}! Cooldown started.`)
    elseif action == "OnCooldown" then
        print(`{skillName} is on cooldown. Please wait.`)
    elseif action == CooldownModule.Actions.StartCooldown then
        print(`Cooldown started for {skillName} (Duration: {duration}s)`)
    end
end)
#

I'm sure it works, as I've tested it, but I am mainly asking about modularity & efficiency

buoyant ice
#

try that

ivory wing
ivory dove
#

Mainly

buoyant ice
spice egret
#

Hi

ivory wing
#

ok

strange dirge
# ivory dove What's your issue?

I just wish to know if this is the best solution to do this, or if there's something at fault. Everything works, but I want a Client & Server Sync which is re-usable for multiple cooldowns of abilities/gun shootings etc.

#

There's no "best practice" out there it seems. People suggest os.time() , others tick(), others GetServerTimeNow()

rotund cedar
strange dirge
#

I'm not sure how to choose

ivory wing
buoyant ice
ivory wing
#

ok

buoyant ice
#

its not findfirstchild it is :FindFirstChild

strange dirge
rotund cedar
#

Im currently talking to somebody else so I couldnt give full attention

#

Im here now tho

strange dirge
#

No rush.

buoyant ice
#

if u want something simple that u expand on later u can use attributes for cooldowns

ivory dove
rotund cedar
buoyant ice
#

--Server
player:SetAttribute("Cooldown", 3)

--Client

player:GetAttributeChangedSignal("Cooldown"):Connect(function()
   for i = player:GetAttribute("Cooldown"), 0, -1 do
       print(`Cooldown: {i}`)
       task.wait(1)
   end
end)
strange dirge
buoyant ice
#

i mean u can expand on it

#

but that's just as simple as it gets.

strange dirge
#

I kinda feel like task.wait is a bad method to use in general

#

idk why

buoyant ice
#

?

#

what in the world are u talking about

rotund cedar
strange dirge
# buoyant ice what in the world are u talking about

Like, why would it be better than something like this:

UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if gameProcessed then return end 

    local abilityName = keyAbilityMap[input.KeyCode]
    if abilityName then
    
        CooldownEvent:FireServer("UseAbility", abilityName)
    end
end)

CooldownEvent.OnClientEvent:Connect(function(action, skillName, startTime, duration)
    if action == "AbilityUsed" then
        print(`Successfully used {skillName}! Cooldown started.`)
    elseif action == "OnCooldown" then
        print(`{skillName} is on cooldown. Please wait.`)
    elseif action == CooldownModule.Actions.StartCooldown then
        print(`Cooldown started for {skillName} (Duration: {duration}s)`)
    end
end)
hasty mesa
#

and theres multiple ways to make something

rotund cedar
#

just a side note

buoyant ice
#

ditch the tutorial and wing it

rotund cedar
#

like you dont want a level 1 player be able to use 99 level abilities

ivory dove
#

Ngl, I don't care enough about exploiters lol.

#

I probably should

rotund cedar
strange dirge
#

I mean I believe in re-usable code that you just know is well done/thought out.

rotund cedar
#

just put cooldowns both in server and local side imo

strange dirge
#

But you mean like, people shouldnt be able to use abilities they don't have "equipped" right?

rotund cedar
#

it should be sanity checked

strange dirge
rotund cedar
#

server should verify it I mean

#

like if the player has it equipped and stuff

silver panther
#

can someone help me to make stand script

strange dirge
#

Hmm

rotund cedar
#

can we not put the whole cooldown system for skills in the cooldown module

#

when the fireserver is sent to the server

#

it will connect to the module

#

and the module will have the function to put it on a cooldown

silver panther
#

anyone here good at scripting

strange dirge
#

I can still name a few things wrong with my code, but I don't know if it's something worth worrying about

#

Like, things like rate limiting

#

If someone has some kind of exploit script and just spams the ability button, what will happen?

#

or am I worrying over nothing now

silver panther
#

anyone here good at scripting
i need help anyone

strange dirge
#

Just ask your question

rotund cedar
#

an exploiter however will be able to remove the cooldown in the local script BUT because we have cooldown in the server here is what will happen:

strange dirge
#

This is why u want to sync it

#

and not have a two-way check

rotund cedar
#

its not a two way check look listen

silver panther
#

.-.

#

i need help

rotund cedar
#

When you throw a skill

#

a cooldown on local will start

#

also

#

when the server gets the request to throw the skill and eventually passes it as sent

#

a cooldown will start on the server too

#

now an exploiter will remove the local cooldown

ivory dove
rotund cedar
#

and in his screen he will be able to throw limitless amounts of skills

#

but when you look at things serverside

silver panther
rotund cedar
#

none of them will be registered during the cooldown

#

so other players wont be affected

ivory dove
strange dirge
#

Isn't that exactly what syncing is?

#

I don't get what you're explaining to me

rotund cedar
strange dirge
#

Like what is different from my code now, that you are trying to explain to me

rotund cedar
#

like just sync it and everything is fine I dont see the issue

rotund cedar
#

its 3 am so

#

Im kinda stupid

strange dirge
#

AHaha, No worries man

#

Appreciate the help

rotund cedar
#

I mean I dont rlly see any delay in the scripts u sent

strange dirge
#

wdym delay?

rotund cedar
#

like the whole cooldown

strange dirge
#

Hmm, I think I am digging too deep

rotund cedar
#

yeah like it cant be that complex

#

just put task.wait(cooldown) and ur good to go no?

nimble canopy
#

I'm making a shark using PathfindingService & Humanoid:MoveTo() but it's moving way too slow in water, any ideas? Changing walkspeed doesn't help, I tried changing CustomPhysicalProperties but that didn't change anything either

strange dirge
#

Like, I am genuinely asking about what's the most efficient way to handle my situation and more foolproof

#

But I doubt people here have this knowledge

rotund cedar
#

also

#

if it can be more foolproof

#

does it need to be?

strange dirge
#

I don't like inefficient faulty code

rotund cedar
#

are u sure enough that the game will do that well that the best exploiters will mess up your game? like a normal exploiter wont get past sync

strange dirge
#

But if I don't have the resources I can't really do anything tbh

rotund cedar
strange dirge
#

There's not a single tutorial on how to do things properly on the internet

#

Maybe somewhere it's hidden in an tutorial

strange dirge
hot edge
#

๐Ÿคซ

First one to talk is gay

zinc rapids
#

ApplyDescription() doesn't get the attachment positions correctly until i run the game, how can i fix this? i need the positions to be correct on the editor, as im making a plugin

warm mulch
#

Does anyone know how to create a character selection in Roblos Studio?

vale sable
#
repeat task.wait() until game:GetService("ContentProvider").RequestQueueSize == 0

local plr = game.Players.LocalPlayer
local char = plr.Character

local ts = game:GetService("TweenService")

local info1 = TweenInfo.new(1, Enum.EasingStyle.Cubic, Enum.EasingDirection.InOut, 0, false)

local newColor = Color3.fromRGB(0, 34, 255)

local hum = char:WaitForChild("Humanoid")

local hrp = char:WaitForChild("HumanoidRootPart")

local checkpoint = char:WaitForChild("checkpoint")

local BestYPos = 0

local previousText = ""

local previousCheckpoint = 0

local function ShowHint(text:string, waitTime:number)
    --print("Showing hint..")
    if plr and plr.PlayerGui then
        --print("Player and player gui exist.")
        
        
        if previousText ~= text then
            
            for i,v in pairs(plr.PlayerGui:GetChildren()) do
                if v.Name == "HintUI" then
                    v:Destroy()
                end
            end
            
            print("previous text is good")
            previousText = text

            local ui = game.ReplicatedStorage.HintUI:Clone()
            
            ui.WaitTime.Value = waitTime

            ui.Hint.Text = text

            ui.Parent = plr.PlayerGui
        end
        
    end
end

checkpoint.Changed:Connect(function(a)
    
    script["click confirm SFX"]:Play()

        if checkpoint.Value == 1 then
            ShowHint("Welcome to Capybara's Nextblocks!", 0.05)
            task.wait(4)
            
            ShowHint("This tutorial will teach you the basics of our movement system.", 0.05)
            
            task.wait(7)
            
            ShowHint("Proceed through the red door to continue.", 0.05)
        elseif checkpoint.Value == 2 then
            ShowHint("Move around without stopping to gain acceleration.", 0.05)
            task.wait(7)
            ShowHint("If you stop moving, you will loose all of your speed. By the way, the blue bar at the top shows how much speed you have.", 0.05)
        end
    
end)

while task.wait() do
    local highlightedCheckPoint = game.Workspace:FindFirstChild("checkpoint"..tostring(checkpoint.Value + 1))
    if highlightedCheckPoint then
        highlightedCheckPoint.Highlight.Enabled = true
    end
    
    
    if game.Workspace:FindFirstChild("checkpoint"..checkpoint.Value) then
        local currentCheckPoint = game.Workspace:FindFirstChild("checkpoint"..checkpoint.Value)
        
        currentCheckPoint.Highlight.Enabled = false
        
        local changeColorTween = ts:Create(currentCheckPoint, info1, {Color = Color3.fromRGB(0, 255, 0)})
        
        changeColorTween:Play()
    end
end

help why is the checkpoint turning black instead of green lmao

feral bloom
#

What is the error being shown in the output?

inner sentinel
#

can anyone help plz its a feedback to discord webhook

zinc rapids
#

does all the code of a plugin have to be inside the main script? i have scripts inside it's ui, but when i publish it it just doesnt work

wide sphinx
#

or it could just mean roblox servers are being ratelimited if shared ips are used

#

wait a bit and see

pulsar frost
#

Guess what

raven marsh
#

can anyone help me with anims they play for me but not for other people

gloomy kraken
raven marsh
gloomy kraken
#

yeah thats why

raven marsh
feral bloom
#

@raven marsh if the animations are in a script in like ServerScriptService then it will run throughout the entire server and everyone can see it but if it runs in a local script then only you as the player would be able to see it on your screen since the player is considered as a client and for local scripts it would only take the client side (or your player/ your screen)

#

Normal Scripts run on the server and Local Scripts run on the Clients

#

Unless ofc there is any communication between the two so like one way communication or two way

#

One way communication is when the server sends a message to all clients or a client or it can be the other way around and two way is when the client sends a message to the server and the server responds back to the client I believe is how it works

#

Also two way communication might be better to use then just one way but it can go either way

#

Iโ€™m still kinda learning this process but I believe I understand it quite well

signal pewter
stiff ibex
#

include/compiler.h

thorn grotto
#

should i get into frontend

chilly canyon
chilly canyon
dusty lagoon
#

can someone message me i have a question about coding

dusty lagoon
weak ravine
#

can someone message me rq i have some bug in my code i have no idea how to fix it

wraith spear
#
    mouse.WheelBackward:Connect(function(scrollzoomi)
        if fov + 0.2 <= maxFov then
            fov = fov + 0.2
            script.ProportionalPTZ.CameraCurrentFoV.Value = fov
            interface.Zoom.Text = "X:" .. math.ceil((maxFov/fov)-0.5)
        end
    end)    

    mouse.WheelForward:Connect(function(scrollzoomo)
        if fov - 0.2 >= minFov then
            fov = fov - 0.2
            script.ProportionalPTZ.CameraCurrentFoV.Value = fov
            interface.Zoom.Text = "X:" .. math.ceil((maxFov/fov)-0.5)
        end
    end)
 ``` How can i make my camera zoom in both smooth and sorta fast. No matter where i put it, it only does one or the other.
spare nacelle
spare nacelle
bleak glade
#

didnโ€™t know that was a function ngl

spare nacelle
wraith spear
tawdry terrace
#

how would I make make a part that always positioned infront of the players root part even when player is moving

spare nacelle
#

Weld it

#

Using weld constraints

#

@tawdry terrace

tawdry terrace
#

thx

spare nacelle
#

Np

#

I think that you can also use pathfinding but that's a bit more complex

#

Stick to welds for now

crude quarry
#

I logged back in after a couple months of not touching this code and im getting an error on datastoreserivce? Was there some change?

silver verge
#

๐Ÿ˜ญ

split timber
#

any1 knows why cframe.new bugs when a part is supossed to look at the sky center?

crude quarry
#

weird they changed all my code

silver verge
crude quarry
#

it all worked a couple months ago now im getting errors up my A

#

I think I resolved it now but damn

silver verge
#

perhaps a find all replace all

crude quarry
#

nah the issue was it was waitforchild waiting for the cash folder but there was no cash folder because the datastorge script was broken

silver verge
crude quarry
#

yeah idk it was a script I pulled from the developer documents which worked fine at the time

silver verge
#

it would never work in that state so idk what you've been doing

spare nacelle
#

Yo michael

crude quarry
#

idk how then because it did work

silver verge
silver verge
#

:GetDataStore() would always fail

spare nacelle
silver verge
crude quarry
#

I dont have proof it did work other then a video of it adding value

spare nacelle
#

I'm in the middle of a flight so I might not be able to talk in a bit

crude quarry
#

but istg

silver verge
#

yo what part of it can never work doesn't make sense

#

youre trying to use a variable that references nothing

#

therefore the get datastore method would always fail

#

since youre indexing nil

#

somehow you changed datastoreservice to datastore

spare nacelle
silver verge
#

reading this

spare nacelle
#

Thx so much bro like

crude quarry
#

well anyways I fixed the error so now I gotta learn how to make a door transparent onyl for the user who clicked it

silver verge
#

by doing it on the client

crude quarry
#

yeah I know what that means

silver verge
#

Ok then you're in good shape

crude quarry
#

well actually I do but im not smart enough to code it

silver verge
#

listen for clicks on the client, set the transparency on the client

crude quarry
#

thats a whole lotta words I don't know, im just gonna try a remote event

silver verge
#

learn the difference between the client and server

crude quarry
#

sucks for the players then

silver verge
#

it would be easier to script to just do it all on the client ๐Ÿ˜ญ

crude quarry
#

I dont wanna learn all that

silver verge
#

youre not learning anything youre literally just doing it in a local script

wheat garden
#

Does anyone know why, when I create a ProximityPrompt, it only works the first time I trigger it? The ProximityPrompt appears but doesn't work anymore

silver verge
#

are you saying youre getting your walkspeed back to 16 again, and then triggering it and nothing happens?

wheat garden
#

the another scrit is a textbutton and always works

silver verge
wheat garden
#

but the proximitypromt only one

wheat garden
#

but the walkspeed still in 16 and the screengui still in false

silver verge
#

is the textbutton a local script

wheat garden
#

yes

silver verge
#

and the prompt is a server script

wheat garden
#

yes

silver verge
#

that would be my only guess as to why

#

put the triggered connection on the client and only set the walkspeed and ui if its the local player who triggered it

wheat garden
#

how i can connect the triggered to the client

crude quarry
#

This is the most disorganized code its hard to read

silver verge
carmine siren
#

Yo i made a secret for my game to use my api key, the secret works in game but in studio it errors could not find secret with given key why does this happen?

carmine siren
carmine siren
spiral jungle
#

I donโ€™t know

agile fulcrum
#

wdym

indigo pine
#

can anyone can help me scripting :<

worldly bolt
#

No

crude quarry
#

Trying to figure out remote events, is there something i'm doing wrong

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local remoteEvent = ReplicatedStorage:FindFirstChildOfClass("RemoteEvent")
    
local function onTouched()
remoteEvent:FireServer(Color3.fromRGB(255, 0, 0), Vector3.new(0, 25, -20))
print("worked")
end

remoteEvent.OnClientEvent:Connect(onTouched)```
silver verge
#

remote events require two scripts, the server and the client

crude quarry
#

Oh yeah im dumb, I should've scrolled down a bit more

orchid dawn
hard mulch
#

Anyone got some small 500 rbx commission?

indigo pine
hard mulch
fossil schooner
#

which it probably issssssss

crude quarry
#

That was when I was still learning tween service and sending it to my friends who don't know coding that kuch

#

I've learned now that I don't like comments and don't use them anymore

zealous gorge
#

what does the child and parent in scripting act as?

#

I am a bit confused between those two

somber vault
#

Parent is what the instance is inside of

#

Shouldnโ€™t be hard to understand, youโ€™ve probably used the explorer in your pc

zealous gorge
#

hmm...it's just that I am learning to script so I am a bit confused

zealous gorge
#

So like

#

child acts as a file inside the folder

somber vault
#

If you put an imagine inside a folder

zealous gorge
#

that means, the folder is the parent?

somber vault
zealous gorge
#

I got it clear now, thanks a lot

somber vault
#

It could be anything

zealous gorge
# somber vault Yes buy

hmm and also in this line of code, there are two brackets present. So that means the brackets act as an separater right?

#

like

#

one is in the last end

somber vault
#

Wdym what brackets

zealous gorge
#

hold on

#

@somber vault

#

that means that two functions are present in the killbrick right?

#

like 2 in one?

somber vault
#

Yes kind of let me explain

zealous gorge
#

Aight, I am here

somber vault
#

Kill brick is the kill brick and its a part

#

All parts got an event listener called Touched

#

With events you can multiple stuff but in this case you have used the :connect method/function

#

So every time the event fires (part gets touched) the function in the โ€œ()โ€ will run

zealous gorge
#

Aight so that means when it's touched the code inside the second bracket will run?

somber vault
#

You can also place the function above by just copying it and giving it a name

zealous gorge
somber vault
#

An actual name, function funcName() end

#

Then you put the function name in the connect

zealous gorge
rotund cedar
#

is runservice heartbeat heavy on the performance?

somber vault
#

Its the name of the function

#

Thats all

zealous gorge
#

Aight then, got it. Thanks

hasty mesa
rotund cedar
# hasty mesa it depends on what is running in it

lets say I want to spawn coins in a certain area. I want these coins to reset every designated duration. What is the best way to do it? I already made the designated area spawns and what not but cant decide on how I should loop it

zinc rapids
#

hey there! what triggers the script injection permission on plugins? i just published one and when downloading it says my plugin injects scripts, even though it doesnt

fading onyx
#

why is my beams like kind of disconnecting from their attachments whenever i transfer them from the rps to the character? they would only reappear when i manually set the beams attachements again

rotund cedar
hasty mesa
#

well then just use hb

#

not gonna be expensive to loop over coins

rotund cedar
hasty mesa
#

hearbeat

rotund cedar
#

yh

#

Im thinking like if I should do it so that

#

it only spawns when a player is nearby

hasty mesa
#

its fine to do that

rotund cedar
hasty mesa
#

wdym

rotund cedar
#

lets say the coins wont generate unless a player is in 100 stud distance

hasty mesa
#

yeah

rotund cedar
#

would doing this improve performance first of all

hasty mesa
#

yeah

#

a bit

rotund cedar
#

yeah this is basically render distance right

#

like almost render distance

hasty mesa
#

yeah

rotund cedar
#

anyways so a player could like get in the range collect coins and leave the range before coin delay ends

#

then enter range again to spawn them again

hasty mesa
#

debounce

rotund cedar
#

yeah so wouldnt debounce cause calculation in the background constantly

#

reducing performance further or nah

hasty mesa
#

compared to the cost needed to modify a coin/render them no

rotund cedar
hasty mesa
#

and you can also just use task.wait to check every x interval instead

rotund cedar
#

this coin placement is happening on the serverscript

hasty mesa
#

yeah you can still use task.wait

rotund cedar
#

so what if a player gets out of the range and then gets in and repeats this constantly spawning and despawning coins for everyone

rotund cedar
hasty mesa
#

nothing much

#

performance won't really drop that much

rotund cedar
#

ok so I should make it distance based spawning

hasty mesa
#

go for it

rotund cedar
#

or like while player in range do

#

or smtn like that

hasty mesa
#

you still going to have a loop that runs at an interval

#

so heartbeat will work

rotund cedar
#

oh alr i guess

#

let me try

sacred prairie
rotund cedar
sacred prairie
#

u have a lot to do

rotund cedar
#

it is normal right

#

games just hide that area i suppose

sacred prairie
#

when u spawn an object ?

#

is that what u meant?

sacred prairie
#

wdym by it is normal

#

are u talking about the position

rotund cedar
#

the object spawns in at 0,0,0 then it is placed

#

is this a mistake made by me or this is how it is supposed to work

sacred prairie
#

im going over the docs rn

sacred prairie
#

When you create a new object in Roblox Luau using Instance.new(), its initial position is (0,0,0) relative to its parent. If you set the parent (e.g., to the workspace) before setting the position, the object will first appear at (0,0,0) in the game world.

rotund cedar
#

yeah

sacred prairie
#

and yes this behavior is normal

#

if you're setting its the parent before the position

rotund cedar
#

so the other games just make it so that the player doesnt see the 0,0,0 area

sacred prairie
#

idk what the other games do lol

rotund cedar
#

that zone checks for a position

#

if it is empty it proceeds with the part creation

sacred prairie
#

In this case, the part's position is set to (5,5,5) in its own coordinate system before being added to the workspace

rotund cedar
sacred prairie
#

ok

rotund cedar
#
local zones = Instance.new("Part")
    for props, value in pairs(zoneProps) do
        zones[props] = value
    end

    local params = OverlapParams.new()
    params.FilterDescendantsInstances = {part, game.Workspace.Baseplate, spawnArea}


    local emptyZone = workspace:GetPartsInPart(zones, params)


    if #emptyZone > 0 then
        
        zones:Destroy()
        return false
    end

    task.wait(1)
    zones:Destroy()
```I made the task.wait 1 so it is easy to visualize it
sacred prairie
#

so what is the issue here?

rotund cedar
sacred prairie
#

Congratulations, you've learnt it.

rotund cedar
#

also should I just remove the task wait or keep it as 0,01

tranquil tundra
#

does anyone here know how i put the old 2006 animations on a startercharacter rig im so lost

sacred prairie
#

idk

#

do what you want to do

tranquil tundra
#

what typa advice is that

#

THAT is what i wanna do

sacred prairie
#

wasnt talking to you

tranquil tundra
#

๐Ÿ’€

young rock
#

What should i do if i dont want players to be able to use some of the functions in a module? For example what if i dont want hackers to save data using the module.Save() function?

#

Like what is the most efficient way to do this, remote functions?

gloomy kraken
#

also no hackers can spoof remote functions and send false signals to the server

shy rune
#

any idea for a scripting project for portofolio?

young rock
#

ServerStorage, ReplicatedStorage etc.

somber vault
#

Store them in server storage / script service and you are good to go

#

They can see the modules in Replicated Storage

gloomy kraken
young rock
#

@somber vault but what if i wanna read data from client-side? Would there be a problem if i put the module in replicatedstorage?

twilit parcel
#

Hello everyone, question pls. Sometime my code doesnt work when the game loaded and sometime it does if i add a task.wait(...) before everything. I think it has something to do with the order of how scripts are loaded but dont know how to fix this. Any suggestion?

gloomy kraken
#

did someone ghost ping me

young rock
gloomy kraken
#

alg

late nexus
#

@twilit parcel Does the script just start or does it function through an event?

young rock
#

i thought you saw the message it was just "@ nulatic alr thanks"

late nexus
#

Without any wait before or anything else?

gloomy kraken
#

oh lol

twilit parcel
#

this for example

local camera = game.Workspace.CurrentCamera
camera.CameraType = "Scriptable"
late nexus
#

Is it a serverscript or a local script?

twilit parcel
#

it is a local script

late nexus
#

Ah I think I know the problem

#

It often happens that many thingss didn't load in local scripts

#

You need to use

#

game.Workspace:WaitForChild()

twilit parcel
#

i ran to this problem while making my game during the game jam too but didnt konw how to fix it so i just ended up forcing the script to turn on and off for it to work lol

late nexus
#

Ye cause many things didnt load in the client

#

In local scripts use WaitForChild()

rotund cedar
#

how to optimise your game better

late nexus
#

Do you mean recuding lag?

rotund cedar
late nexus
#

@twilit parcel Does it work now?

twilit parcel
#

like for current camera i mean

gloomy kraken
late nexus
#

WaitForChild should be always used in a local script when the game didn't load 100% yet.

twilit parcel
somber vault
#

If they change the values in the module, it will only replicate to the client itself

#

so it will replicate to the exploiter only, not other players as long as Im aware

late nexus
young rock
somber vault
#

Depends on what you are using the module for

#

If you are storing value data such as coins, player stats etc, that should be in server

young rock
#

so like the datastore modules goes to ss and the tempdata goes to rs

late nexus
#

@twilit parcel

#

I did this now:

young rock
somber vault
late nexus
#

@twilit parcel I tried it myself and it worked perfectly fine

somber vault
#

You would need to secure your remotes tho

late nexus
#

Gtg now bye guys!

gloomy kraken
young rock
#

okay but why shouldnt i just put the module inside rs then?

twilit parcel
late nexus
#

cya!

gloomy kraken
#

bye!

young rock
#

if they want to read the data, they can since the module is replicated to the client

gloomy kraken
#

did bro just answer his own question ๐Ÿ˜ญ

late nexus
#

@twilit parcel I dont know much about the instance "Camera" but if CurrentCamera doesnt work try WaitForChild("Camera") it worked for me too

#

Bye!

young rock
somber vault
#

However if you store, lets say coins in replicatedstorage in a module

#

they can just make their coins 99999 and get every item by manipulating

twilit parcel
gloomy kraken
#

yeah, client can use scripts and read stuff off replicatedstorage but cant change anything

young rock
gloomy kraken
#

even if they do set their coin count to 999999, it will only be for their client.

#

on everyone else's laptop their count will still be 0

somber vault
gloomy kraken
#

hmm idk about that since they're only modifying information on their client

somber vault
#

You are asking the client to buy items

#

You should be asking the server instead

gloomy kraken
#

oh i thought it was server side lol

somber vault
#

No, modulescript in replicatedstorage

fickle garden
#

what is the easiest way to make a parry system

young rock
#

prolly

somber vault
#

that is not practical

gloomy kraken
somber vault
#

You wouldnt want to check if player got more than 999999 coins for every data value

gloomy kraken
#

if so during an attack then idk like play parry effect

civic garnet
young rock
somber vault
#

anyway I would recommend:
Important data such as Ingame currency, player stats etc. goes to server modulescript
Visual data goes to rs modulescript

half mango
#

hey guys im working on a game who wants to be a mod for free (you can moderate when you want)

fossil salmon
#

they auto replicate, when the player leaves you read them and overwrite the data

young rock
#

is using modules a bad idea?

#

@fossil salmon

graceful summit
#

Who told you that

young rock
#

no no

graceful summit
# young rock i meant for this

Generally speaking when dealing with stores, it would be better if they're using serverscriptservice while the things that will be bought by the player are in replicated

silver panther
#

I need help

graceful summit
#

If you want an easier life just go for a simple server script

graceful summit
silver panther
graceful summit
#

like a value or a key

#

then if someone else try to claim the booth it will check if its already claimed then it can be nulled

white dock
#

Whats difference between D1 Retention and D1 Stickiness?

graceful summit
# white dock

I think retention only tracks new players while stickiness tracks all the players that played your game

#

Like how long they played your game

silver panther
graceful summit
white dock
graceful summit
fossil salmon
ivory wing
#

why doesnt this work local baseplate = game.Workspace.Baseplate baseplate.Transparency = 0.3 baseplate.Material = "Limestone" baseplate.BrickColor = "Navy blue" baseplate.Size = 0.1

graceful cargo
ivory wing
#

brick color is the only one that is not working

spiral jungle
#

BrickColor.new()

#

BrickColor.new("Navy blue")

#

get sigma

umbral carbon
#

Very sigma after this

umbral carbon
#

I can't really hear what you're saying

ivory wing
#

he said what the sigma

sacred prairie
#

I dislike brick color

fluid vale
daring solar
#

hey guys, what would happen if i set a transparent gui to be the teleport gui?

#

would it fully show the game loading?

#

and what about the part where the 3d things arent loading but the backend stuff is?

spiral jungle
daring solar
#

whats that?

spiral jungle
#

not transparent

#

like a rock

#

a rock is opaque

daring solar
#

wait lemme make a game real quick

spiral jungle
#

either that or it slaps a grey background on it

daring solar
#

gray background

spiral jungle
#

or it might just show the skybox

#

who knows

lunar musk
#

guys

daring solar
spiral jungle
#

it just makes it opaque

daring solar
#

well no

#

cause the ui is not full size

lunar musk
spiral jungle
#

it adds a black background

daring solar
#

or i just dont understand what opaque means

lunar musk
#

i am hiring

spiral jungle
daring solar
spiral jungle
lunar musk
spiral jungle
daring solar
#

^^

lunar musk
spiral jungle
#

no i dont even play roblox

#

whats roblox

lunar musk
#

LOL

lunar musk
daring solar
#

what

lunar musk
#

can u

spiral jungle
#

no

lunar musk
daring solar
spiral jungle
#

nuclear option

daring solar
#

yea lol

lunar musk
tight siren
#

hey idk who to post on scripter hiring so if someone can mp me ? pls

tight siren
#

hiring somoene

#

im bad at scripting

daring solar
umbral geode
#

guys, why is it when I turn the camera away from an axis, it wont tilt forward correctly?

tight siren
#

ok thx

lunar musk
#

is there any roblox scripter who can make a combat system

lunar musk
tight siren
#

?

#

im hiring someone

lunar musk
#

@daring solar bro can u dm pls

ocean mesa
#

Maybe try using lookvectors like this

local rightVector = camera.CFrame.RightVector -- Right direction of the camera
local forwardVector = camera.CFrame.LookVector -- Forward direction of the camera

local tiltDirection = forwardVector * -seat.Throttle + rightVector * seat.Steer
xAngle = math.clamp(tiltDirection.Y * AngleIncrement * dt, -maxAngle, maxAngle)
zAngle = math.clamp(tiltDirection.X * AngleIncrement * dt, -maxAngle, maxAngle)

foggy siren
#

how do i change the color of the Cayman theme for Jekyll on GitHub Pages?
Heres the code i use:

-
-
@import "{{ site.theme }}";

body {
  background-color: #1D1D1D;
}

.page-header {
  backgorund-color: #171717;
  background-image: none;
}
ivory wing
#

what did i do wrong?

#

local mypart = game.Workspace.Part
script.Parent.Touched:Connect(function(Hit)
if Hit.Parent then
mypart.transparency = 0
end
end)

foggy siren
#

specify, please

ivory wing
copper vigil
#

Why does it still print template can be destroyed if I am trying to make it so it doesn't get the template? I know this is probably really simple but my head cant wrap around it

foggy siren
#

if im correct

latent fox
ivory wing
latent fox
#

You can just search it up and identify what color

foggy siren
foggy siren
latent fox
#

What is

foggy siren
#

okay ill explain

#

i need to change the colors of my site to a dark theme

#

but its not working

ocean mesa
foggy siren
ivory wing
#

local mypart = game.Workspace.Part
script.Parent.Touched:Connect(function(Hit)
if Hit.Parent:FindFirstChild(mypart) then
mypart.transparency = 0
end
end)

umbral geode
foggy siren
ocean mesa