#code-discussion

1 messages · Page 55 of 1

static coral
#

since forever

weak radish
prime mortar
#

Calamiplex [ Need new people ]

-=+{ LUA }+=-

-=+ Need Scripters And Modelers +=-
-=+ You Will Recieve 5% Revenue +=-
-=+ As You Progress You Will Recieve More +=-

-# -=+ The Game Is About Natural Disaster Type Of Shit +=-

static coral
static coral
#

tables are converted to json in datastores anyway

weak radish
static coral
#

like a year more or less

weak radish
#

Because you didnt used to be able to store tables in datastores..

#

theres tons of forums of people asking how to save tables to ds

static coral
#

its literally datastore:SetAsync(id, {})

#

????

#

r u referring to something else

weak radish
prime mortar
#

@weak radish

weak radish
#

You didnt used to be able to do it

weak radish
prime mortar
#

how do i type the form

#

where do i fill the form

static coral
# weak radish You didnt used to be able to do it

maybe in like 2014 you werent able to do it but as long as i have been scripting it was possible. and in thedevking’s tutorials (which are from like 2017) he says that you can save tables to datastores so u gotta be trippin

weak radish
static coral
#

????

ruby iron
#

you used to not be able to save tables

static coral
#

you are the one with the question, google it yourself

ruby iron
#

like a long long long time ago

weak radish
#

Omd idk if I have the patience to talk to you dngr, but im saying google "how to save tables to datastores", there are TONS of forums

static coral
#

those must be some very old forums then

#

saving tables to datastores is not difficult

weak radish
#

you used to have to use jsondecode + encode

static coral
#

well not anymore

#

tables are automatically converted to json in datastore

weak radish
#

Bro

#

your gonna get punished

#

enjoy

prime mortar
#

JUST TELL ME HOW TO PUBLISH FORM

#

AAAAAAAAA

weak radish
prime mortar
#

oh

#

thanks

untold crater
#

Guys if i wanted to add abilities to my game and wanted to enequip and equip then i should make all the abilities module scripts and use them when needed right?

untold crater
#

ok thx

umbral carbon
past pendant
#

does anyone know how to add an anti afk system in games? (it rejoins the player every 15mins so they can afk)

#
local PLACE_ID_TO_TELEPORT = game.PlaceId

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

local player = Players.LocalPlayer
local button = script.Parent

local teleportEvent = ReplicatedStorage:WaitForChild("RequestTeleport")

local isAntiAFKEnabled = false
local lastCFrame
local startTime
local monitoringCoroutine

local function hasPlayerMoved()
    local currentCFrame = player.Character and player.Character:FindFirstChild("HumanoidRootPart") and player.Character.HumanoidRootPart.CFrame
    if currentCFrame and lastCFrame then
        return currentCFrame ~= lastCFrame
    end
    return false
end

local function teleportPlayer()
    print("Requesting teleport...") 
    task.wait(1)  
    teleportEvent:FireServer()
end

local function startMonitoring()
    if monitoringCoroutine then return end

    monitoringCoroutine = coroutine.create(function()
        while isAntiAFKEnabled do
            task.wait(1)
            if hasPlayerMoved() then
                startTime = tick()
                lastCFrame = player.Character and player.Character:FindFirstChild("HumanoidRootPart") and player.Character.HumanoidRootPart.CFrame
            else
                local elapsed = tick() - startTime
                if elapsed >= MAXIDLE_TIME then
                    print("Player idle for too long, teleporting.") 
                    teleportPlayer()
                    break
                end
            end
        end
        monitoringCoroutine = nil
    end)
    coroutine.resume(monitoringCoroutine)
end

local function toggleAntiAFK()
    isAntiAFKEnabled = not isAntiAFKEnabled
    if isAntiAFKEnabled then
        button.Text = "AFK MODE: ENABLED"
        button.TextColor3 = Color3.fromRGB(0, 255, 0)
        startTime = tick()
        lastCFrame = player.Character and player.Character:FindFirstChild("HumanoidRootPart") and player.Character.HumanoidRootPart.CFrame
        startMonitoring()
    else
        button.Text = "AFK MODE: DISABLED"
        button.TextColor3 = Color3.fromRGB(111,111,111)
    end
end

-- Update tracking on respawn
player.CharacterAdded:Connect(function(character)
    character:WaitForChild("HumanoidRootPart", 5)
    if isAntiAFKEnabled then
        lastCFrame = character.HumanoidRootPart.CFrame
    end
end)

-- Setup default state
button.Text = "AFK MODE: DISABLED"
button.TextColor3 = Color3.fromRGB(111,111,111)

button.MouseButton1Click:Connect(toggleAntiAFK)```
lofty plinth
#

I'd recommend using .Idled for checking if a player has gone afk

past pendant
#

It does check its just not allowing me to join back like it says "You have disconnected please rejoin" or "Client has innitiated disconnect"

#

it works it just wont allow the full rejoin

lofty plinth
#

Are you attempting to join a server thats closing?

#

That might be the issue if ur testing alone

past pendant
#

ah, I am testing alone

#

yo nice thinking dude

#

didnt even think of that

#

Well I hope that was the problem, thanks

winter girder
#
  • Server Sided:
    print("Teleport request from", player.Name)
    local character = player.Character
    if not character then return end
    
    task.wait(5)
    local RootPart = character:WaitForChild("HumanoidRootPart")
    local TeleportTarget = workspace.Gate:WaitForChild("TeleportPart")

    if RootPart and TeleportTarget then
        RootPart.CFrame = TeleportTarget.CFrame + Vector3.new(0, 5, 0)
    end
end)```

- Local Script:
```local Gate = script.Parent
local Teleport = game.ReplicatedStorage.RE:WaitForChild("Teleport")
local player = game.Players.LocalPlayer

Gate.Touched:Connect(function(hit)
    print("Gate touched!")

    if hit.Parent == player then
        print("Firing server...")
        Teleport:FireServer()

        Gate.BrickColor = BrickColor.new("Lime green")
        Gate.Transparency = 0.5
        Gate.CanCollide = false

        task.wait(3)

        Gate.BrickColor = BrickColor.new("Really red")
        Gate.Transparency = 0
        Gate.CanCollide = true
    end
end) ```

Anyone knows why this doesn't work when I touch the gate part?
lofty plinth
#

If stuff like that happens u can also use reserved servers for rejoins

past pendant
#

so like private servers?

lofty plinth
#

Not exactly

past pendant
#

well its gonna be an afk for ugc game and it basically will just rejoin any active server/ the last server it was in

safe sail
#

any scripters qualified in combat systems and abilities would be interested in a job

lofty plinth
#

Its a closed off server only players with a specific code can join and you can create 1 at will without worry itll close on u

past pendant
#

oh so its like a key that you need to have to access to the server?

lofty plinth
#

Effectively

#

What teleport method using?

past pendant
#

ah okay, would that be good to use for most players using that?

lofty plinth
#

TeleportAsync?

past pendant
#

not sure I used chatgpt 😭

lofty plinth
past pendant
#

teleportEvent:FireServer() thats what im using

#

its serversided cuz its a local script on a text button

lofty plinth
#

What is teleportEvent conne cted to tho?

past pendant
#

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

local PLACE_ID = game.PlaceId

ReplicatedStorage:WaitForChild("RequestTeleport").OnServerEvent:Connect(function(player)
print("Teleport request received from player:", player.Name) -- Debug print
local success, err = pcall(function()
print("Attempting teleport to place ID:", PLACE_ID) -- Debug print
TeleportService:Teleport(PLACE_ID, player)
end)
if not success then
warn("Teleport failed:", err)
else
print("Teleport succeeded!") -- Debug print
end
end)

lofty plinth
#

I'd honestly change it to TeleportAsync but its not needed

past pendant
#

how would it be better? genuine questions since I dont know

lofty plinth
#

You can check documentation on the different teleports you can use and what sparks ur fancy

lofty plinth
#

Can teleport upto 50 players at once can create reserved servers can be used to join players with a jobId ect...

past pendant
#

oh, thats cool, ill research more about this and let my scripter do it for me 🤣 thanks man

sacred widget
#

Oh in the past

wet basalt
#

Basically, I'll show you that using the Animator on the server causes the animations to be replicated everywhere, including on the server itself. I believe this is a big issue because it unnecessarily consumes server resources.

#

In this second approach, the player who performs the action animates locally, and at the same time sends a packet to the server. The server then notifies the other clients to play the same animation on that player.

cursive thorn
#

i'm not sure how to use the nexus.lua file for roblox account manager. i don't have their discord server either, so if someone knows how to make the executor work, it'd be very much appreciated.

gaunt flax
#

for combat systems what would be the best way to detect a player within a zone and damage them?

Would it be a .touched event with a hitbox part? or region3 or world root get parts bound in box?

gaunt flax
#

theres this module called zone plus im also thinking of using that but i dont know which would be more optimized

severe bloom
#

honestly idk

#

wdym

honest shuttle
#

GUYS

#

i need help

#

how to make sure that the hair and the head are shattered and that the hair doesn't float in the air

narrow star
#

Does anyone know how to disabled autojump

light niche
vivid willow
#

how do i change my gamepass ids?

#

@everyone

tight holly
vivid willow
#

i cant?

vivid willow
vivid willow
nimble steeple
#

does any1 knows how to create a clashing system based for swords on magnitude or collision method ? i couldn't find any vids abt it

narrow star
wet basalt
nimble steeple
#

already got the idea ig, its either magnitude or collision

wet basalt
#

I did a prototype once, I didn't use collision, just plain magnitude comparison

cyan notch
#

im looking for someone who knows abit of scripting like me so we can learn together and work together

light niche
#

anyways you can search up, im not sure

narrow star
#

Im trying to make it so it dosent keep jumping when you hold it and instead there is a db between each jump

lost pebble
narrow star
lost pebble
#

you're welcome

jolly vessel
#

why does roblox break my entire script when i have an error but their goofy ass has like 10 💔

sharp lagoon
#

But like you gotta store your actual pet models somewhere too right and when it’s equipped

#

When making inventory with the scroll frame how do I add an image background to it and also how do I make it so the more inventory the scroll gets longer?

somber vault
#

anyone got some good resources on learning ModuleLoader

jolly vessel
#

but i didnt understand whats wrong?

#

you want a way to optimise it?

wet basalt
#

Can you wait a minute, english is not my first language so I've got trouble phrasing xD

jolly vessel
#

alr

wet basalt
#

I'll try to explain what troubles me

jolly vessel
somber vault
sharp lagoon
#

I hope you understand my explaining is a bit weird maybe

sharp lagoon
somber vault
sharp lagoon
#

Oh yeah getting from replicated storage?

#

Yeah I meant that

gloomy kraken
jolly vessel
sharp lagoon
sharp lagoon
gloomy kraken
jolly vessel
wet basalt
#

@jolly vessel
What’s bothering me is a technical detail.
It’s obviously a bad idea to play an animation on the server, so it makes sense to want to handle it on the client side instead. But what I find frustrating is that everyone keeps saying that without really explaining what it actually implies in terms of architecture.

While digging into the Animator documentation, I noticed that you can retrieve and play a track from an Animator that was instantiated on the server. That made me think, “Great, Roblox handles replication for me!”
But then I ran a test and turns out, that’s not what happens at all. When you create a track on the client and rely on a server-created Animator, the animation also plays on the server, which is... really counterintuitive.

So in the end, it seems like we do have to handle it ourselves, like the approach shown in the second video.

sharp lagoon
#

So it has a set scroll limit already?

somber vault
jolly vessel
sharp lagoon
#

So I should make its parent an image and then make the scroll frame transparent?

jolly vessel
sharp lagoon
#

Are you sure I can’t auto expand it? 😭

jolly vessel
sharp lagoon
#

Is that good?

jolly vessel
gloomy kraken
sharp lagoon
#

Also when making inventory you add an Uilayout something I seen some games they have like an upper part for equipped selection in same frame I think how is that possible?

sharp lagoon
deft pasture
#

does anyone know how to code a npc buys your tool system? just a imple one becaus eim not a good coder but like when i click on a proximity prompt thats plced in a npc based on my tool nme like sword the npc will buy the sword fo rlike 50 cash and th ephone for 30 cash eveytime i click the proximit yprompt it just buys the part based on its name and price

gloomy kraken
sharp lagoon
wet basalt
deft pasture
gloomy kraken
jolly vessel
gloomy kraken
#

they probably just use seperate frames

tired roost
gloomy kraken
deft pasture
jolly vessel
#

this one if statement is holding my entire script together 🙏

if i == 1 then 
  continue
end
gloomy kraken
#

yk we should really invest in mind reading technology so we can fix people's scripts

wet basalt
jolly vessel
wet basalt
jolly vessel
#

if thats possible

#

then just fire all clients

umbral carbon
umbral carbon
#

“Couch fighting game”

jolly vessel
#

cool idea

wet basalt
# jolly vessel if thats possible

Yes it's possible, and that's what I showcase in the second video.
Sorry if it wasn’t super clear with the three windows, the top-left one is the server, the bottom-left is Client 1, and the right one is Client 2.
You can see that the animations are played by the clients, but not by the server, which is exactly what I was aiming for.

jolly vessel
wet basalt
# jolly vessel then use it, im not sure how well made it is but if it suits your needs go ahead

I’ve talked to quite a few people about this whole animation replication topic, and I get the feeling there’s a bit of a misconception around how it actually works.

A lot of people seem to think they’re optimizing things by relying on the built-in replication, but in reality, that’s not the case. Animations end up playing on the server.

Like you said, the real solution is to set up a custom service that handles broadcasting and animation logic cleanly across clients. At least that's the conclusion

deft pasture
#

i got the selling system to work all i did was forgot to make some words like Function capslock 😅 i always deal with forgetting to caps lock

quick gazelle
#

could sm1 help me with this extremely complex code? :

print("helo world")

somber vault
hearty harbor
#

guys

somber vault
#

yes

hearty harbor
#

me wanna be a scripter

somber vault
#

okay

#

start scripting brother

hearty harbor
#

cuh

#

the only shit i can do is print("hello world")

somber vault
#

gotta start somewhere bro

wet basalt
#

@jolly vessel Replicating animations between players is fairly straightforward.

The tricky part is having the server notify clients when an NPC should play a specific animation. For that, I’ll need to set up a proper system, probably involving tags to categorize NPCs into groups (to make lookup easier), and also some kind of ID system, maybe using attributes to uniquely identify each entity.

Since we can’t rely on passing instance references (pointers) directly between the server and client sessions, having those IDs will be necessary for clients to resolve which NPC to animate.

hearty harbor
#

give me something to script

#

trust

#

ill coook!!!

somber vault
#

just watch couple vids or read the docs and go thru some basic little tutorials on basic syntax and stuff then slowly work on small projects yourself and use the web to learn what you need for specifc things

#

never watch tutorials on how to make something full it's better to research the small parts and put it all together atleast that's just me could be different for other people helps u learn way bettert

novel cloak
somber vault
novel cloak
#

just don’t over rely on tutorials or free models

somber vault
#

and play the song its raining tacos

wet basalt
#

Guys I'm curious to hear your thoughts on what I said

somber vault
#

and i got some tutorials on my old channel if u need they might be outtated tho lol the channel is Xcrossy but its like main menu tutorails and stuff

somber vault
wet basalt
#

Design is mostly a group effort, right? 😄

novel cloak
somber vault
spare reef
#

What random quick things should I make as a beginner who understands functions loops tweens (kinda) and tables (kinda) and variables

wet basalt
#

Haha I meant like technical design

jolly vessel
#

i try to replace too many things roblox made

quick gazelle
wet basalt
# jolly vessel me personally i would stick to the default one

But from what I understand, the default animation replication can actually be pretty heavy in terms of bandwidth.

It seems like the server sends full joint data for every frame of every replicated animation which adds up fast if you have dozens or even hundreds of animated entities, like in an MMO.

That’s why I’m exploring lighter alternatives where clients handle the animation locally, and only minimal info (like “entity X is doing animation Y”) is sent over the network.

It’s not about replacing everything Roblox provides just optimizing where it's critical.

shut whale
#

Can someone in here help me

somber vault
shut whale
#

I need to know or figure out how to record inside the game

somber vault
shut whale
#

Like scream stream

#

Yeah

somber vault
#

u can use OBS

shut whale
#

How?

somber vault
#

download obs

#

and look up tutortial on basic recording and u will be good

#

take like 5 mins

shut whale
#

For your character to have a camera that records

jolly vessel
#

good luck on that 😂

somber vault
shut whale
#

Have you played scream stream

#

On roblox

somber vault
#

i have nott

#

ill check it out

shut whale
#

I would be a really good game but the dev doesn't keep up on it

somber vault
#

looks like content warning!

#

imma check it out rn

somber vault
wet basalt
#

Optimizing games is a real hassle as you can see here, but it's worth it : https://devforum.roblox.com/t/how-we-reduced-bandwidth-usage-by-60x-in-astro-force-roblox-rts/1202300?page=2

somber vault
#

happens a lot with trend games

wet basalt
#

Also, using a packet library that allows for more compact data transfer is really important

shut whale
#

Yeah

wet basalt
#

As well as using a pool or cache to avoid unnecessary and expensive memory accesses

hearty harbor
#

is this aura?

#

i scripted it into the world

#

😭

somber vault
#

its a start

jolly vessel
somber vault
#

all that matters

hearty harbor
#

i literally started 2 minutes ago

somber vault
#

i think he was just confused on what it actually was

jolly vessel
#

ye

wet basalt
somber vault
#

what about a character replication system where u store the cf data in a script then make the player render in the characters

stable verge
#

should i use profile service or datastoreservice?

runic quarry
#

Or is this something else

hearty harbor
distant tiger
#

custom data modules protect against all that

slow gorge
runic quarry
#

Or is it like a disappearing platform or something

worn pilot
#

how do u pause a task until something happens
i only want the proximity promt on the first item (when i = 1 basically) but it's doing all of them

runic quarry
worn pilot
#

oh yes ty

#

but like

#

what happens when i want to iterate through

#

like when it's clicked it's gonna change to the next object in the dictionary

runic quarry
#

Oh

#

Ok that's what you mean

worn pilot
#

yes

#

do yk how to do that

runic quarry
#

I guess ProximityPrompt.Triggered:Wait()

#

Yea

#

It'll wait until the prompt is triggered

#

If that's what you want

worn pilot
#

tysm

worn pilot
#
DrinksBE.WaterBE.Event:Connect(function()
    for i, v in pairs(DrinksRecipes.Water) do
        KitchenBeam.Attachment1 = v

        local ProximityPromt = Instance.new("ProximityPrompt")
        ProximityPromt.Name = "ProximityPromt_"
        ProximityPromt.Parent = v.Parent
        
        
        ProximityPromt.Triggered:Wait(function(player)
            ProximityPromt:Destroy()
        end)
    end

    --[[
    KitchenBeam.Attachment1 = Plate_STEP1_Attachment ]]
end)
random gulch
worn pilot
random gulch
#

Just try this DrinksBE.WaterBE.Event:Connect(function()
for i, v in pairs(DrinksRecipes.Water) do
KitchenBeam.Attachment1 = v

    local ProximityPromt = Instance.new("ProximityPrompt")
    ProximityPromt.Name = "ProximityPromt_"
    ProximityPromt.Parent = v.Parent
    
    ProximityPromt.Triggered:Connect(function(player)
        ProximityPromt:Destroy()
    end)
end

--[[
KitchenBeam.Attachment1 = Plate_STEP1_Attachment ]]

end)

worn pilot
#

yea that doesnt work

hearty harbor
runic quarry
#
DrinksBE.WaterBE.Event:Connect(function()
    for i, v in pairs(DrinksRecipes.Water) do
        KitchenBeam.Attachment1 = v

        local ProximityPromt = Instance.new("ProximityPrompt")
        ProximityPromt.Name = "ProximityPromt_"
        ProximityPromt.Parent = v.Parent
        
        
        ProximityPromt.Triggered:Wait()
        ProximityPromt:Destroy()
    end

    --[[
    KitchenBeam.Attachment1 = Plate_STEP1_Attachment ]]
end)
#

Try something like this

#

:Wait() yields until the signal is fired

#

Before continuing with the code

#

You don't pass a function to be executed on the firing of the signal

#

That's :Connect()

worn pilot
#

o ty

hearty harbor
runic quarry
worn pilot
#

bindable events

iron skiff
#

What is needed by you:
2 player teleport system
2 player movement system
Spin the wheel
Gamepass system
Crate System
Troll System
Ui System (such as opening/closing, sounds, animations, & reward system) This should be the easiest one, but I want it as a module script not a local script per frame)
Skin system (with perks for different skins) There will also be a camera system allowing to equip skins and animations
Interaction System in the lobby
Checkpoint system/badge system
Obstacle system

how much would yall charge for this?

rapid verge
#

pause the co rountine until you want to add the next proximity prompt and then repeat that untill all of them are done

#

they run along side the main script so it wont yield anything

next escarp
#
local testPart = game.Workspace:WaitForChild("testPart")
local touched = false

local function changeColor()
  testPart.BrickColor = BrickColor.New("Toothpaste")
  task.wait(1)
  testPart:BrickColor = BrickColor.New("Medium stone grey")
end

testPart.Touched:Connect(function()
  if not touched then
    touched = true
    changeColor()
    task.wait(2)
    touched = false
  end
end)

It's not working 😦

ionic oar
#

for the brick color of testPart

next escarp
ionic oar
#

run it and see if there is another error thats all i can see on first glance

next escarp
#

K

blissful sparrow
#

i have a problem in my game (when i go to shop and then leave the shop and then come again, the shop will not apear again)

zealous blaze
#

you still learning im surprised

copper jay
#

does anyone here know how i'd be able to patch exploiters flinging people?

ancient urchin
hoary cedar
copper jay
copper jay
pure furnace
ancient urchin
pure furnace
blissful sparrow
#

can someone help me with smthing?

#

anyone?

nimble steeple
#

got a problem with my sword held

lost pebble
#

and someone might

blissful sparrow
#

i quit (i will never make a good roblox game) see ya

#
  • i dont have the plugins i need to make a good roblox game cuz they cost robux
#

so mutch robux

lost pebble
runic quarry
#

anyone wanna playtest a volleyball game

runic quarry
#

like archimedes

lost pebble
blissful sparrow
#

ye but i dont know how to script very well and what about moon animator

#

just look at this animation waht goffy is it

runic quarry
blissful sparrow
#

wait

runic quarry
#

also learning to script takes time

#

like learning anything takes time

blissful sparrow
runic quarry
#

and its been a few years

blissful sparrow
#

wait come to VC Private 2a ill show you my project

lost pebble
runic quarry
#

it depends on how you want to structure things

#

@blissful sparrow wait hold on

#

stop discussing your project first

#

how old are you?

blissful sparrow
#

do i need to tell you?

runic quarry
#

no

blissful sparrow
#

oky

runic quarry
#

but like

blissful sparrow
#

im not over 18

#

okay?

runic quarry
#

i know mb

lost pebble
runic quarry
#

my bad

#

sometimes this stuff takes time

#

and you need to wait until you're old enough

#

cause like there's a lot of logic

#

and you might not be able to grasp it rn

blissful sparrow
#

wait look at my screen 1 sec

runic quarry
#

yes

#

yea i see

#

the addition function and stuff

#

yea sure

blissful sparrow
#

yes

runic quarry
#

properties?

#

i mean yea

#

i get you know these

#

i mean like not really

#

you can declare a variable without local

#

local just sets it in the local scope

#

i get that

#

and all

blissful sparrow
#

okay

runic quarry
#

you can declare a variable

#

and uh do math

blissful sparrow
#

lol

runic quarry
#

but i mean

#

to be honest for 2 years

#

thats not a lot

blissful sparrow
#

i was ling

#

i like start it like uhhh]

#

1-3 weeks (but i learn like 1h a day

#

sometimes never a day

runic quarry
#

oh ok

blissful sparrow
#

sry for wasting ur time 😦

runic quarry
#

i mean just keep at it

blissful sparrow
#

oky

runic quarry
#

but if you feel like its not fun

#

just take a break

blissful sparrow
#

i feel like its fun but i can only play on my pc 1-1:30 H a day 😭

blissful sparrow
#

can i add you on discord?

runic quarry
#

that kinda sucks

blissful sparrow
#

ye

#

true

lost pebble
#

Part1 needs to be a BasePart. not the model itself

nimble steeple
#

but it doesn't dispear when i press the bind to pick up the sword

#

don't know if i need to use a tag for that

lost pebble
#

is the sheath a seperate mesh?

nimble steeple
#

yea

#

i mean, model

lost pebble
#

well, the model holds the sheath meshes. if you want it to simply go invisible, just set its transparency to 1. if you want the sheath to detach from the sword, disable/destroy whatever is holding it together

#

in code, have it 0 when unequipped, then 1 when equipped

#

or have it detach if you want it visible on your back when holding it

nimble steeple
# lost pebble in code, have it 0 when unequipped, then 1 when equipped

if action == "Equip/UnEquip" and not char:GetAttribute("Equipped") then --equipping
char:SetAttribute("Equipped",true)

    Welds[plr].Part0 = rightArm
    Welds[plr].C1 = WeaponsWeld.Leather.HoldingWeaponWeld.C1
    
elseif action == "Equip/UnEquip" and char:GetAttribute("Equipped") then --unequipping
    char:SetAttribute("Equipped",false)

    Welds[plr].Part0 = torso
    Welds[plr].C1 = WeaponsWeld.Leather.IdleWeaponWeld.C1
end
#

in those line ?

lost pebble
#

yeah

nimble steeple
#

i got two mesh for the stealh too

#

isn't it a problem aswell?

#

cuz i can't make the model itself transparency, can i ?

lost pebble
#

no. you would just make both visible/invisible

nimble steeple
#

way too hard, i can't get it, the shealth isn't getting detected

#

local function SetSheatheVisible(char, visible)
local weapon = char:FindFirstChild("Leather")
if not weapon then
warn("Weapon 'Leather' not found in character")
return
end

local sheathe = weapon:FindFirstChild("Sheathe")
if not sheathe then
    warn("Sheathe not found in weapon")
    return
end

local mesh1 = sheathe:FindFirstChild("Meshes/BAO sword_S2")
local mesh2 = sheathe:FindFirstChild("Root")

if not mesh1 then warn("Mesh 'Meshes/BAO sword_S2' not found") end
if not mesh2 then warn("Mesh 'Root' not found") end

if mesh1 then mesh1.Transparency = visible and 0 or 1 end
if mesh2 then mesh2.Transparency = visible and 0 or 1 end

print("SetSheatheVisible ran. Visible =", visible)

end

lost pebble
#

is this a local script?

nimble steeple
#

yea

#

no

#

script

#

its like my weaponserver

lost pebble
#

i would fire a RemoteEvent to then change the transparency of the meshes. unless you're already doing that

nimble steeple
lost pebble
#

so you're firing that and using that function, right?

tardy pasture
nimble steeple
#

yea but, it don't use it on the hide shealthe

lost pebble
tardy pasture
# nimble steeple

do u first equip it on the client and then send it to the server ?

#

believe me do this

nimble steeple
#

-- SERVICES --
local Players = game:GetService("Players")
local RS = game:GetService("ReplicatedStorage")

-- FOLDERS --
local Models = RS.Assets.Melee
local Weapons = Models.Swords --
local WeaponsWeld = script.Welds.Melee
local ClientRemotes = RS.Remotes.Client

-- EVENTS --
local WeaponsEvent = ClientRemotes.WeaponsEvent

--- OBJECTS --
local Welds = {}


Players.PlayerAdded:Connect(function(plr)

plr.CharacterAdded:Connect(function(char)
    local torso = char.Torso
    --

    char:SetAttribute("Equipped",false)

    local Weapon = Weapons.Leather
    Weapons.Parent = char

    Welds[plr] = WeaponsWeld.Leather.IdleWeaponWeld:Clone()
    Welds[plr].Parent = torso
    Welds[plr].Part0 = torso
    Welds[plr].Part1 = Weapon
end)

end)

Players.PlayerRemoving:Connect(function(plr)
if Welds[plr] then
table.remove(Welds, table.find(Welds, Welds[plr]))
end
end)

--

WeaponsEvent.OnServerEvent:Connect(function(plr, action)
local char = plr.Character
local hum = char.Humanoid
local torso = char.Torso
local rightArm = char["Right Arm"]

if action == "Equip/UnEquip" and not char:GetAttribute("Equipped") then -- equipping

    Welds[plr].Part0 = rightArm
    Welds[plr].C1 = WeaponsWeld.Leather.HoldingWeaponWeld.C1


elseif action == "Equip/UnEquip" and char:GetAttribute("Equipped") then -- unequipping
    char:SetAttribute("Equipped", false)

    Welds[plr].Part0 = torso
    Welds[plr].C1 = WeaponsWeld.Leather.IdleWeaponWeld.C1

end

end)

tardy pasture
#

if there is a player with high ping it wont feelresponsive

nimble steeple
#

thats the current code of the weaponserver

#

deleted the previous part for the hiding stealhe since it didn't worked

#

and thats my weaponhandler

#

-- SERVICES --
local RS = game:GetService("ReplicatedStorage")
local uis = game:GetService("UserInputService")

-- FOLDERS --
local ClientRemotes = RS.Remotes.Client

-- EVENTS --
local WeaponsEvent = ClientRemotes.WeaponsEvent


uis.InputEnded:Connect(function(input, isTyping)
if isTyping then return end

if input.KeyCode == Enum.KeyCode.One then 
    WeaponsEvent:FireServer("Equip/UnEquip")
end

end)

tardy pasture
#

ye u dont handle it on the client first

#

in here handle the equip first : if input.KeyCode == Enum.KeyCode.One then
WeaponsEvent:FireServer("Equip/UnEquip")
end

#

client sided

#

so it feel responsive for the owner off the sword

nimble steeple
#

tryna figure out how to hide my stealthe actually

#

would optimize the code later if its look too much spagetti and have ton of lag

tardy pasture
#

the hell is a stealthe ?

nimble steeple
#

the cache for a weapon

#

that

tardy pasture
#

and why do u wanna hide it ?

nimble steeple
#

cuz

tardy pasture
#

ah

nimble steeple
#

who the hell handle a sword with a stealthe on

tardy pasture
#

lol

#

well thats a ez fix

nimble steeple
tardy pasture
#

just put the cache in a seperate model

#

and the sword also in a diffrent model

nimble steeple
#

don't pay attention to the actual tags

#

theyre useless

tardy pasture
#

create a diffrent model for the sheathe

#

and weld that to the charachter where the sword should be

#

then if u equip the sword the sheate will remain in place

modern mantle
#

Mo vent

tardy pasture
#

te hell do gie ier

modern mantle
#

Kiken

nimble steeple
tardy pasture
tardy pasture
modern mantle
#

Tot vijf

tardy pasture
#

baha

nimble steeple
modern mantle
tardy pasture
#

what ?

#

just weld the sheathe where the sword would be welded to the character

nimble steeple
#

it would work alone then, theres no current function for the sheathe ITSELF

#

like, only the whole sword is getting dragged when im using my bind to pick it up

#

if i'll separate the sheathe form it and put it in a different folder, it would do absoluty nothing

tardy pasture
#

isnt that what u wanted ?

#

to only equip the sword an leave the sheathe behind

lost pebble
nimble steeple
#

wht

lost pebble
#

like a weld or something

nimble steeple
#

theres nothing inside

lost pebble
#

the weld/constraint doesnt have to be parented to the mesh itself to attach it to something

#

look for any welds/constraints where one of the parts if one of the meshes

hollow forum
#

hello 🙂

lost pebble
#

or you could call :GetJoints() on it

lost pebble
proper flicker
#

I want to make a quests system compatible with daily, weekly, monthly and normal quests.

For quests I would use
type Quest = "Daily" | "Weekly" | "Montly" | "Normal" |
I would also like for a function that I made update quest progression, which it would do by looping through all of the quest objects the player has. However if a questhad multiple data types how could I set that up?

type QuestData = "Coins" & "Diamonds"

Or would I just loop through the progression types in the quest instance like
{
Type = "Daily"
Progress = {
["Coins"] = 10
["Diamonds"] = 50
}
} and then a seperate module for the requirements.

#

Nvm realized I should just loop through progression since its a type alr

loud stratus
proper flicker
loud stratus
hollow forum
proper flicker
# loud stratus if you are just starting out honestly just vibe code

Ive been coding for a year and I was using imperative coding but I would like to learn oop as it fits more for optimizations cleaner codes and bigger frameworks and much more. I alr was using modules and such so I was technically partially doing so but I was just using it for reusability and frameworks not much for it being oop.

ancient urchin
#

never knew that luau has official mascot lol (until now)

loud stratus
proper flicker
#

And could you explain why many people were telling me to switch to oop

loud stratus
#

oop doesnt provide optimisation

#

it only provides organisation

#

and that is why its encouraged but its completely optional

#

you do not need oop

proper flicker
wild heath
#

Is there a way to make invisible frame with a button and make it all invisible but u still if u click on the button place it clicks it?

loud stratus
#

theirs more work

#

oop is just about organisation

proper flicker
loud stratus
#

not having to repeat yourself

loud stratus
#

you can already do that with a modular based system

wild heath
proper flicker
somber vault
#

using velocity from a localscript to make a partmove when you touch it, how do you make it slow down and then stop?

loud stratus
#

the same goes with learning roblox typescript

#

its all an ego / signal mechanism

#

even though roblox ts is slower since it has to get compiled into lua

proper flicker
loud stratus
#

they are just asking for a performance loss

proper flicker
somber vault
#

using velocity from a localscript to make a partmove when you touch it, how do you make it slow down and then stop?

loud stratus
#

as well as serialising binary data via buffers

#

and use useful dependencies such as goodsignal made by stravant

#

thats the only advice u need

#

dont listen to anyone else's bs

#

back in my exploiting days I used to decompile these front page games

#

their code base was complete dogshit

#

no use of modules, no oop, nothing

#

dont overthink it

#

overthinking is the biggest problem I made in roblox development

proper flicker
loud stratus
#

people only use type casting for intellisense thats all

flat wagon
loud stratus
#

and u dont need oop

proper flicker
loud stratus
#

a modular service / controller based codebase is a great way to organise ur code base

#

similiar to Knit however I would not use it since its obsolete

#

if you want to learn oop you can its optional though just as how type casting is optional

loud stratus
loud stratus
#

not imo

proper flicker
#

Type casting I feel like yes

loud stratus
#

I've used oop many times before

#

theirs no need

#

I can code systems normally just fine and not have to use oop

proper flicker
# loud stratus I've used oop many times before

Can u add me for more advice urs is so gud its the same thing my dad said hes a full time programmer my first language was luau and I feel in love in roblox game devving I wanna make a livving off id it one day

#

Cuz I have some more questsions

loud stratus
#

ok

#

come to me anytime

proper flicker
#

Ill ask u smth a bit later if thats okay in dms

loud stratus
#

wtv u need

ornate needle
#

guys i wanna start my first scripting practice, where do i start and what system is the easiest to start with

next escarp
#

If player touched a part there exist a event to detect (part.Touched) it then what event exist and what to do when player unstepped of the part

light gust
#

can someone gimme a task

slender yew
#

my first modular based code

slender yew
loud stratus
#

its not needed at all

#

their are many ways to avoid repeating urself

gaunt delta
slender yew
slender yew
#

OOP is the one I know

#

this just screams for itself

night gazelle
#

You call that Modularity and not OOP

tulip wyvern
#

whats the api to get the updated time of a place i can't find it anywhere

night gazelle
#

Is it server time or a date time

#

Or you mean the actual place latest published date

tulip wyvern
night gazelle
#

@tulip wyvern Search for Roblox Cloud API Get Place

#

I can't send a link

#

/cloud/v2/universes/{universe_id}/places/{place_id}

loud stratus
#

Most don’t know what their talking about

night gazelle
#

OOP favors Modularity but they are not equivalent

#

You can do ECS and still be using Modular system

#

Lots of frameworks are modular but that doesn't mean they use the OOP paradigm

stark fjord
#

i want when someone donates it sends to the new textchatservice
i want you to transfer it from oldlegacychatservice to the new textchatservice

someone told me to do this

#

does anyone know what it means or how to do it?

steady cove
#

guys I want to use rbxUtil does vs code necessary

silver verge
steady cove
stark fjord
#

im paying

silver verge
silver verge
stark fjord
#

damn

#

im not a scripter tho

lime gyro
#

Y'all got any tutorial to replicate a physics based projectile/ball/throwable movements?

hardy pilot
hardy pilot
lime gyro
#

Idk what's that cryingdead

hardy pilot
#

Well it should work with heartbeat too

lime gyro
#

Aight I'll check

thin nova
lime gyro
maiden karma
regal bough
#

can i submit a react app on programmer application html, css or they only accept vanilla

rapid silo
#

not sure if this is a code issue but u scripters usually know the solutions to most problems

#

is there any way to allow materials to show alongside surface appearances

#

e.g if i want neons to show on a mesh that has a surface appearance applied

regal bough
rapid silo
#

or do I have to have the mesh seperated

silent niche
#

Guys Any of you What type of Script i should make for a Tool Cutscenes ?

thin nova
ionic oar
silent niche
# ionic oar ???

i have made an skill and i want to make a cutscenes but idk what i need to do

#

and since i am broke i ask gpt

ionic oar
#

use a local script and work on some camera manipulation

silent niche
ionic oar
#

for a cutscene

silent niche
#

wdym

#

I ask it to make me a Camera script that when i use the tool it play the animation ?

ionic oar
#

im sure if you just ask it how do i add a cutscene to this skill it will tell you

silent niche
#

kk

tepid slate
fleet gull
#

How does ProfileService work

karmic coral
#

who knows the game: stay alive and flex your time on others. or any stay alive/steal time game if u do dm me.

deft pasture
turbid torrent
karmic coral
#

dm me to make a stay alive game / steal time sort of game i need a scripter i pay per task

violet oriole
#

guys does anyone know hot to make lobby gui

karmic coral
violet oriole
#

i want something simple

#

but i cant pay you right now

karmic coral
#

okk

#

go dms

limpid raft
#

guys i just did a devex request for the first time and i clicked cash out,what should i do now?

turbid torrent
calm vessel
#

does anyone know a good general place to start from if i'm trying to learn how to manipulate characters (like making vaulting/climbing etc.), ive tried a few times in the past and just can't really get it down

#

just realized this is probably a better question for code help

nova scaffold
#

What are "free scripts"

night drift
#

what way did you guys learn scripting?

umbral carbon
#

Tinkering with models

#

And just watched YouTube videos in my free time

#

I didn't even follow along, and that was a bad decision

light pollen
#

Urime

fringe barn
leaden perch
#

can someone help me

#

with my code

undone trench
#

is there any good scripters that can help me rq

frosty flume
#

Guys if i used external API to check if people follows me on roblox to use codes would that be unsafe? Cuz rblx doesnt allow it and they might do smth

open oracle
#

Go for it

#

Whats the worst that could happen?

cinder zinc
#

Why doesn't processreceipt work on team test?

alpine river
#

Anyone wanna help me/teach me how to make a summoning system bro

lofty plinth
#

And good chance they act on it

alpine epoch
#

looking for someoen to help me make gui shops/buttons

ionic oar
tame echo
#

who is a very experienced scripter that has made games before and wants to work on one, we are gathering a team and we have some ideas to mind

timber star
#

Im triying to do an ApplyImpulse for a Knockback system in a server script but it seems that applyImpulse only work in a local script? Should i use fireAllClients or other method?

distant tiger
polar furnace
#

somebody give me a task to do in roblox studio (scripter)

timber star
distant tiger
distant tiger
somber vault
somber vault
timber star
shell heart
somber vault
#

when an input is detected basically

distant tiger
# shell heart apply a force on the ball

^^ and im assuming you'd also need a scaling system to go along with the player being able to apply a certain amount of force to the ball. but overall relatively easy to make

shell heart
#

yes

#

so clamp the force value

somber vault
#

ok, thank you

spare zealot
#

Whoever needs a scripter, I'm your guy. DM me if you can pay, if not then don't because I don't do scripting for free, I gotta be able to actually get money off of my time

distant tiger
timber star
#

And does it look smooth?

#

Because i see some people using bodyvelocity

distant tiger
#

well if you want a more controlled movement, like if you were flying, or a slow push, or if you needed to last for a more extended duration then BodyVelocity or just custom movement . But for something like a simple Knockback, ApplyImpulse would get it done and is more ideal

dusky moon
#

can a remote event be referecened from a script to a script

#

or is that what module's are for

jolly vessel
#

What bro

somber vault
#

whoever gets my script to work i can pay 500 dm me

somber vault
jolly vessel
somber vault
# jolly vessel What's the script

local spawnersFolder = workspace
local cratesFolder = game:GetService("ServerStorage")

local spawners = {}
for _, spawner in ipairs(spawnersFolder:GetChildren()) do
if spawner:IsA("BasePart") and spawner.Name:match("^Spawner%d+$") then
table.insert(spawners, spawner)
end
end

local crates = {
cratesFolder:WaitForChild("Crate1"),
cratesFolder:WaitForChild("Crate2"),
cratesFolder:WaitForChild("Crate3"),
}

-- A table to track if a spawner is busy
local occupiedSpawners = {}

local function getRandomCrate()
local roll = math.random(1, 100)
if roll <= 80 then
return crates[1]
elseif roll <= 95 then
return crates[2]
else
return crates[3]
end
end

local function spawnCrate()
-- Find all free spawners
local freeSpawners = {}
for _, spawner in ipairs(spawners) do
if not occupiedSpawners[spawner] then
table.insert(freeSpawners, spawner)
end
end

if #freeSpawners == 0 then
    return
end

-- Pick a random free spawner
local randomSpawner = freeSpawners[math.random(1, #freeSpawners)]
local selectedCrate = getRandomCrate()
local crateClone = selectedCrate:Clone()

-- Ensure PrimaryPart is set
if not crateClone.PrimaryPart then
    warn(crateClone.Name .. " has no PrimaryPart set!")
    return
end

-- Move crate model above spawner
local spawnPos = randomSpawner.Position + Vector3.new(0, 5, 0)
crateClone:SetPrimaryPartCFrame(CFrame.new(spawnPos))

crateClone.Parent = workspace

-- Mark as occupied
occupiedSpawners[randomSpawner] = true

-- Animate the whole model floating up
crateClone.PrimaryPart.Anchored = true
local targetPosition = spawnPos + Vector3.new(0, 2, 0)

local tweenService = game:GetService("TweenService")
local info = TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
local goal = {Position = targetPosition}
local tween = tweenService:Create(crateClone.PrimaryPart, info, goal)
tween:Play()

-- Destroy after 8 seconds
task.delay(8, function()
    if crateClone and crateClone.Parent then
        crateClone:Destroy()
    end
    occupiedSpawners[randomSpawner] = nil
end)

end

-- Keep spawning crates every 2 seconds
while true do
spawnCrate()
task.wait(2)
end

jolly vessel
#

Chatgpt ahh code

somber vault
jolly vessel
#

It's just everything in it is wrong

#

Chatgpt isn't a scripter gng

somber vault
#

but the game i wanna make is too hard

lofty plinth
#

What type of game is it?

jolly vessel
somber vault
#

i wanna make a game like dungeon quest

#

id build but i dont got ui or scripters

lofty plinth
#

You'll get it with time and alot sooner than u think with determination

#

Just learn rather than depend on ai and free code

somber vault
#

i js learned my building in like 3 weeks. i dont wanna learn more stuff for now

lofty plinth
#

Its always worth learning even if its a small bit

#

Can help with building 2

somber vault
#

plus i just got done with the lobby today so i wanna focus on improving

stiff cloud
#

{"print+&"( "hello world" ) = true +

lofty plinth
#

Just learning how to use it with builds is enough

#

Gives u a taste of it

somber vault
#

and people say i look like i built for a year or 2

lofty plinth
#

Think about having moving parts in ur builds or having objects change when ur near them

#

The very basics

jolly vessel
lofty plinth
#

Then u can slowly work from what u have

#

Thats the point

somber vault
#

i js cant continue without the ui and scripts

jolly vessel
solemn root
#

ngl Imma learn scirpting again

#

what videos should i check out

somber vault
jolly vessel
#

Wow

somber vault
#

meh

#

made it ina day didnt wanna spend too much time

jolly vessel
#

Cmon

#

It looks really good

#

You should hire a ui designer

#

I can help with scripting if you want

somber vault
#

icl

jolly vessel
somber vault
#

plus the main prob will be models

#

i could prob enslave 2 of my friends

#

and get them by tmr

jolly vessel
#

Then do it

somber vault
#

i still wont have ui

jolly vessel
#

Learn

#

Ui isn't that hard to do

somber vault
jolly vessel
#

I don't think dungeon quest has complex animations and effects

#

Just steal them

somber vault
#

if i make a game i wanna make shit myself

#

js stealing stuff is laz

jolly vessel
#

Use them as inspiration

somber vault
#

i wont learn ui or animations if i started deving bc of building

#

if i cant make the game i just wont

jolly vessel
#

Damn

somber vault
#

the windmills also have animations

jolly vessel
#

I'm just a braindead scripter

somber vault
jolly vessel
somber vault
#

but ud need ui

#

2 casted and you would have to attack each other breaking the enemys flag placed int he middle of the base

#

ud also have a arrow and could go on top of walls etc

cursive spire
#

is there any way to view the history of script edits of a certain script

jolly vessel
#

No

somber vault
jolly vessel
somber vault
jolly vessel
#

Oop

somber vault
#

sooo?

jolly vessel
#

Idk

short nacelle
#

can anyoone here help me debug something really small in my game

somber vault
# jolly vessel Idk

also a 5% health boost if ur in the group and another 10 if u follow someone

jolly vessel
rapid silo
spice summit
#

all the other kids at school are doing sunglas

rain hound
#

is it more optimized to clone a sound from replicatedstorage and play it on a part versus always having the sound in the part and playing it? (via a script)

jolly vessel
rain hound
jolly vessel
rain hound
#

k thx

delicate quarry
#

any computer science student or grad here?

jolly vessel
onyx inlet
#

Code help is full of bots

#

Sometimes

jolly vessel
#

I'm watching you...

solar surge
#

thoughts?

gaunt ridge
solar surge
#

i just didnt add the animations

#

otherwise it has some detailed features

gaunt ridge
#

i rate it a 8/10

solar surge
#

it has gun swaying

#

camera bobbing

solar surge
gaunt ridge
#

its pretty good

solar surge
#

should add animatation

gaunt ridge
#

ye

solar surge
#

ty

gaunt ridge
#

add that and i rate it 9.5

#

nice work

solar surge
#

ty

#

i should find an animator to do that

gaunt ridge
#

you can try to cook up some urself and see how it turns out

#

or if you want to find an animator you can also do that

solar surge
#

i should prolly

#

it cant be that hard

ashen badge
solar surge
#

ill ask someone to do it

spice summit
solemn roost
livid sandal
#

Hi, does anyone know how to program games? I have a project in mind, obviously I'll pay money.

iron skiff
#

?

iron skiff
solar surge
iron skiff
solar surge
#

dms

#

@iron skiff

iron skiff
#

K

hoary cedar
harsh stream
hoary cedar
harsh stream
fossil salmon
somber vault
#

some one try?

#

pleassee

nova scaffold
somber vault
#

Ye?

nova scaffold
#

It works then.

#

I ran it.

somber vault
#

is good?

#

LOL

#

jk

#

but dont go running anything in ur pc

nova scaffold
#

I understand what it did

#

and I ran it on an online compiler

somber vault
#

thank god it was me or it might be another MyDoom

somber vault
undone trench
#

is anybody an experienced scripter I need a little help!

runic quarry
errant narwhal
#

Hello, just to inform everyone. Do NOT take commission from @adi_royyy . It is a scam, he will ask you to add UI guy into studio where you make scripts and they will just steal it without paying you.

hoary cedar
#

That's a given, lol

#

Did you make a report?

hoary cedar
#

I recognize that profile

#

Weren't they offering a stupid amount of money for a job?

#

Yeah. $500 USD

plucky plank
#

Would it be more efficient to program the characteristics of npc's all in one main module on serverscriptservice ... or give each npc a script?

hoary cedar
#

I thought it was too good to be true

hoary cedar
#

You start a new thread for the NPC

#

Should all work through interfaces

next escarp
worn ingot
#

This module so good bruh

plucky plank
worn ingot
plucky plank
plucky plank
plucky plank
worn ingot
#

so like

#

not the module

hoary cedar
plucky plank
hoary cedar
#

It abuses niche syntax loopholes

worn ingot
#

ok so the way my npc system works is theres a serverscript that handles spawn events

#

and it calls the entity creator with the parameters

hoary cedar
#

You should generally avoid using those loopholes

worn ingot
#

and the entitycreator creates the entity and assigns its data

hoary cedar
#

There's no need to go that far in emulating OOP

worn ingot
#

and for each npc

#

it gives it the entity module

#

which is basically the character controller

#

so humanoid npcs and players share the humanoid controller

#

but monsters have their own

plucky plank
worn ingot
#

what is your game like

#

do you have a script that handles stuff like character attacks etc

worn ingot
#

module is very intuitive

worn ingot
hoary cedar
# worn ingot why

Violates standard and Roblox-set conventions, inhibits natural readability, adds overhead

plucky plank
worn ingot
hoary cedar
#

It's unconventional

#

The overhead matters more, lol

worn ingot
#

a tower defense or rpg or what?

plucky plank
#

so no troop movement

worn ingot
#

oh for a tds game

plucky plank
#

ya

worn ingot
#

you should do your npcs on the client

#

and only store essential data on the server

plucky plank
worn ingot
#

alr ill just call it the conventional way

worn ingot
#

its gonna be really really laggy otherwise

#

theres good tutorials on it i think

#

i think suphi has one

plucky plank
plucky plank
worn ingot
#

yes

plucky plank
#

idk i always assume that the server is better computational wise then the clinet

worn ingot
worn ingot
#

dont do needless calculations on the server

plucky plank
worn ingot
#

server should ideally only be used for important logic

#

in an ideal optimized game every effect, building, etc is done on the client

#

and the server just handles data

#

in my rpg all effects are done on the client as well as some other stuff

plucky plank
worn ingot
plucky plank
#

i was told that vfx is really the only thing to do on client (besides gui and stuff)

worn ingot
#

i mean realistically it is for most projects

#

but for some like tds games you also have to do the enemies

#

treat the enemies as vfx

#

the display of the enemies is the vfx

#

and the actual logic behind them is on the server

worn ingot
plucky plank
worn ingot
#

this is insanely impractical

worn ingot
#

i havent made a tds game

#

But i guess you would have a table of npcs positions or something on the serevr

#

and the npc data like the enemy type or something

#

and then you give the position data to the client

#

and then the client makes the enemies and syncs them with the data

plucky plank
worn ingot
#

what can they do

#

if you do all the calculations on the serevr exploiters cant do shit

plucky plank
#

all they can do is stop the npcs locally

worn ingot
#

yeah

plucky plank
#

but the npcs will still be moving for all other clients

worn ingot
#

it would still go on the server

#

so basically treat the enemies in a tds game as vfx because they basically are just vfx

#

im pretty sure most enemies in tds games are just like static guys that walk at different speeds with different health

reef fjord
plucky plank
#

so its not like i need to put crazy things

worn ingot
#

yes

#

and even if you did make some boss npc with advanced logic or something down the line

plucky plank
#

or combat systems

worn ingot
#

u can still just do the logic on the server and replicate it to the client because nothing in a tds game is based on reactions etc

#

even some rpgs do what im talking about where the npcs are all on the client

#

im pretty sure vesteria does

plucky plank
worn ingot
#

watch this video