#code-discussion

1 messages · Page 25 of 1

ivory lark
#

The issue is that luau gets updated really frequently, thats why I personally prefer to use roblox's documentation

#

youtube can teach you a bunch of bad practices that'll be hard to work on longterm

brave island
ivory lark
#

fair

brave island
#

Like I kinda get the concept behind basic raycasts

#

But the system they use in like

#

Melee systems and such

ivory lark
#

as ive said, roblox docs got u

brave island
#

Where it’s similar to a trail

ivory lark
#

with examples too

brave island
#

Is weird asf

ivory lark
#

lua's a weird language tbh

brave island
ivory lark
brave island
#

Roblox doc does a good job explaining it

#

But what if it’s something niche like the system utilizing the raycasts to make melee hitboxes work

ivory lark
#

Thats why you gotta do codewars, to build out your logic

brave island
ivory lark
#

and try to find a solution with your current knowledge

brave island
#

Something like this

brave island
#

Old af

shadow sphinx
#

tbh im only learning scripting to become a solo dev on a game with fisch mechanics

brave island
#

Can’t find anything recent

ivory lark
brave island
#

But it’s basically

#

What I’m getting at

ivory lark
brave island
#

Would it work if u just made a tiny raycast at the start of the position and maybe have it extend to the position it will be in like a millisecond after

astral flume
#

So like on a scale of 1/10 how difficult do you think it would be to try and make a game like Rofighters

brave island
#

Then repeat that for the entire duration of the attack for example

#

That’s the only logic I could think of that would work for it

#

No real clue though

ivory lark
#

If I had to make a hitbox system I personally wouldnt use raycasts tbh

brave island
#

I did it with overlayparams before

brave island
#

It was pretty nice but hitboxes with raycasts seem more specific

#

Like if you wanted to target specific affected body parts

astral flume
#

But with characters from different animes and stuff

brave island
#

Overlayparams is more general

ivory lark
brave island
#

Plus I’ve done it before so I wanted to see what could be possible

#

With other things such as raycasts

astral flume
#

Imma just assume that's a 7/10

ivory lark
#

ehh

#

8/10

astral flume
#

That's a bit demotivating

brave island
#

Nah dw just get to work

ivory lark
#

well depends on how complex you want it to be

shadow sphinx
#

@ivory lark print('{Joined.Name}Has Joined the Server')
Error

brave island
#

One step at a time

ivory lark
#

start out simple

shadow sphinx
astral flume
shadow sphinx
#

so it prints your name when u join the server

#

with the player added event ofc

brave island
#

Don’t you have to do like an entire thingy to check if the player joins and loads in

#

Then get the name and print

shadow sphinx
brave island
#

Yeah that

shadow sphinx
#

thats mine but the print statement is an error

brave island
#

Shouldn’t you say

ivory lark
#

there you fo

brave island
#

Player.Name and have a variable for the specific player that joined

brave island
#

😭

ivory lark
#

it was because you wrote function(joined)

#

instead of Joined

#

yep, also you gotta use ` instead of '

shadow sphinx
#

yea its just a PlayerAdded event that prints out the player's username when they joined, Joined.Added pretty much means their username

brave island
#

That’s nice

brave island
#

@ivory lark what do u think about the logic though

#

For the raycast hitbox

#

Wait lemme pull up what I’m trying to achieve

ivory lark
#

it is very much so doable

#

its just a lil bit too complicated for my liking

brave island
#

Aight I found something in YouTube

#

Something like that

shadow sphinx
ivory lark
#

yup

ivory lark
brave island
#

Random yt demo

#

There are a lot like it on yt

#

But I wanna achieve smthn similar

#

Trynna figure out how the raycast would work without the premade asset since most tutorials just use that instead

shadow sphinx
#

Getting this error from line five 20:14:12.429 Workspace.KillBrick.Script:5: attempt to index nil with 'Health' - Server - Script:5 this is the code KillBrick.Touched:Connect(function(Kill) local Humanoid = Kill.Parent:FindFirstChild("Humanoid") Humanoid.Health = 0 end)

ivory lark
#

I wish I could make stuff like that but i cant animate at all lol

ivory lark
#

you didnt check if the Humanoid exists

normal swan
#

ye

#

try

ivory lark
#

let him figure it out

#

hes new

shadow sphinx
#

umm ok

normal swan
#

nah

ivory lark
#

just an if statement before chanfing it

brave island
normal swan
#

i like to learn when sm1 teaches me and ill js tell him either way

ivory lark
#

to make sure it exists

brave island
#

Cuz I animate mostly

ivory lark
shadow sphinx
#

i fixed it by myself

ivory lark
#

gj

shadow sphinx
#

without looking at what u said

normal swan
brave island
#

It was 🔥

#

It’s 3am rn tho I gotta go sleep

shadow sphinx
#

Im the goat at UI though

#

been doing Roblox Studio for three years now and im the best at UI

ivory lark
#

Ooo show

brave island
#

Aight gn g

#

Imma ask around a bit more then go sleep probably

golden mauve
#

Working on a tycoon where every player will have their buildings on their plot of land saved in a table. These buildings are complex and will be represented as classes themselves. One of their attributes will be a relative c frame to origin on the players plot of land. Right now im trying to figure out what other attributes a building(represented as a base part or model) should have apart from its relative c frame. Any ideas

shadow sphinx
#

I dont take pictures of my work and I usually just delete it after, I can make UI for you though.

ivory lark
shadow sphinx
#

Im horrible at being creative

ivory lark
#

or a shop

shadow sphinx
#

alright

ivory lark
#

just anything to see your style

somber vault
#

Whos trying to creat a naruto game with me

shadow sphinx
#

mb was afk

#

imma get started now

ivory lark
#

wb

shadow sphinx
#

start the timer now

ivory lark
#

lmao

#

take as long as you need

shadow sphinx
#

Im looking for the required vectors rn

ivory lark
#

using vectors is already a W

#

im not really into ui so i just draw some simple assets & thats it

shadow sphinx
#

oh ok

ivory lark
#

ping me when ur done btw

crystal olive
#

when using oop, am i correctly extending the class?

I test it and it works but when i print the door (subclass of interactables), the function is not printed.

function Door.new(model: Model)
    local self = Interactables.new(model)
    setmetatable(self, Door)
    
    --self.Description = "A sturdy wooden door."
    
    self.IsOpen = false
    self.Instance:FindFirstChild("InteractPart").ProximityPrompt.ActionText = self.IsOpen and "Close" or "Open"
    print(self)
    return self
end
#

this is what door prints

#

got it-

solution was to print the door class instead

native orchid
shadow sphinx
#

@ivory lark

#

I rushed it, used non-png vectors from google, didn't really try my hardest on it, but still kinda tried. This is what I got. Usually I pay a bit for vectors for commisions and the backrounds are also from google. @ivory lark

flat phoenix
#

which data store should i use

native orchid
#

Don’t predict the future because you’re probably going to be wrong

spice breach
ivory lark
simple orbit
shadow sphinx
#

@ivory lark I tried remaking the code from earlier without any help and I did it first try

local killBrick = script.Parent
killBrick.BrickColor = BrickColor.new("Really red")
killBrick.Touched:Connect(function(kill)
    local humanoid = kill.Parent:FindFirstChild("Humanoid")
    if humanoid then
        humanoid.Health = 0
    end
end)

game.Players.PlayerAdded:Connect(function(Joined)
    print(`{Joined.name} Has Joined the Server`)
end)
native orchid
#

Why is a kill brick printing when a player joins the game

shadow sphinx
native orchid
dark juniper
#

he might be cracked…

#

gg

native orchid
#

You’re well on your way to becoming an unthinking cargo cultist

shadow sphinx
#

I jst started scripting today

flat phoenix
shadow sphinx
#

Im not that good

native orchid
#
> I just started today
> “Web Developer” in bio
#

Yeah that checks out

dark juniper
#

keep grinding U will be a demon one day

shadow sphinx
dark juniper
#

I believe in you

shadow sphinx
#

'preciate it

dark juniper
#

we need more cracked scripters

#

On the platform ngl

#

these noobs just don’t get anything

#

🙏

shadow sphinx
#

yea

shadow sphinx
native orchid
#

Oh I’ve never heard of those

shadow sphinx
#

I dont have any backround in JS for Web Development

shadow sphinx
#

every website you visit is made of HTML for structure and CSS for design

shadow sphinx
#

search it up

dark juniper
#

whats it called

shadow sphinx
#

I mastered both of those languages in a matter of a week

dark juniper
#

wow your goated

native orchid
shadow sphinx
shadow sphinx
dark juniper
#

Oh I see

shadow sphinx
shadow sphinx
# shadow sphinx

Its a part that if you step on, it deals 50% of the players HP.

native orchid
#

Very based

shadow sphinx
ivory lark
long osprey
#

local script only works once and then breaks after death, already tried putting it in startercharacter sscripts, tried changing the variablers upon Player.CharacterAdded, nothing seems to work
any ideas?

latent gust
#

What’s it do

lean temple
#

Would making an obby be a good practice for a beginner scripter?

lean temple
#

How do I delete a Game Experience?

upbeat grove
#

why isnt sponsord experience appearing

agile fulcrum
#

il give some 200 robux just to fix this please

warm plaza
#

Guys, I am learning about datastores but I can't seem to get the code working, I understand everything and copied everything in the tutorial but it doesn't work, the code returns "nil", could anybody please help me figure out my error?: local DataStoreService = game:GetService("DataStoreService")
local killsData = DataStoreService:GetDataStore("Kills")

game.Players.PlayerAdded:Connect(function(player)

local leaderstats = Instance.new("Folder", player)
leaderstats.Name = "leaderstats"

local kills = Instance.new("IntValue", leaderstats)
kills.Name = "Kills"

local success, currentKills = pcall(function()

    return killsData:GetAsync(player.UserId)

end)

if success then
    print(currentKills) -- part where the code returns the value of "nil".
end

end)

turbid torrent
# warm plaza Guys, I am learning about datastores but I can't seem to get the code working, I...

It's returning nil because you have never used SetAsync to assign a value. Next, I recommend assigning the values to a table that can act as a cache to avoid datastore calls. Ideally you'd only need two datastore calls:

  • one when the player joins the game; add the player's stats to the cache
  • one when the player leaves; save their cache to the datastore
    Note that with this setup, you'd have to update the player's cached stats rather than call the datastore every time.
glacial condor
#

What units exactly is vectorforce. Force calculated in. Because it's not studs per seccond

glacial condor
# somber vault Newtons

Since studs are 0.28 cm and Roblox mass units are 21.952 kg i woud just need to divide studs per seccond speed by 0.28 and multiply the mass by 21.952 and multiply them together but it's still off

somber vault
glacial condor
#

For realistic movement. I use a vector field for pathfinding

somber vault
#

Ah

merry holly
#

yo, can you ask someone about this error because we are stuck due to this error, the sword is working (killing people) {"Failed to load animation with sanitized ID "} this is the erro which we faced previously

somber vault
#

So what's off

glacial condor
#

It's kinda innacirate. What is acceleration of vector force?

#

Aka time it takes to reach full speed

glacial condor
merry holly
glacial condor
merry holly
#

ye

glacial condor
#

Then press the error and tap give permission

merry holly
#

i will try, y

#

ty

somber vault
#

OK backpacks do work on mobile

#

Backticks.

#
local force = VectorForce.Force -- Force applied
local mass = Part.AssemblyMass -- Mass of the object
local acceleration = force / mass -- Acceleration in m/s²
print(acceleration)

glacial condor
#

K so what do I do with acceleration

somber vault
#

If it's jerky or jittery that's probably the reason

glacial condor
#
local direction = (NewCfr.Position.Position - CurCFrame.Position.Position).Unit
            
local speed = (Troop.Speed * (GridSize / Step)) / 0.28
local mass = Troop.Mass * 21.952

local requiredForce = mass * speed
somber vault
#

Speed is the rate of change in position

Acceleration is rate of change in speed

glacial condor
#

yeah i get that wait

glacial condor
#
local direction = (NewCfr.Position.Position - CurCFrame.Position.Position).Unit
            
local speed = (Troop.Speed * (GridSize / Step)) / 0.28
local mass = Troop.Mass * 21.952
            

local requiredForce = mass * speed
local Acceleration = requiredForce / mass
marsh rapids
#

use irl acceleration formula

somber vault
#

Requiredforce is equal to mass times acceleration

glacial condor
marsh rapids
#

yea

glacial condor
#

well time shoud always be 1 seccond

#

so i guess that is a constant

#

so all i need is a change of velocity

#

What if i just used linear velocity instead of Vector force

honest zenith
glacial condor
honest zenith
glacial condor
#

roblox mass unit

honest zenith
#

why would you multiply it tho

#

is it like 1

#

what do you even get

glacial condor
#

because i want the mass in kg

honest zenith
#

does bodyvelocity use kgs

#

or any velocity

glacial condor
#

it uses Newtons

hasty mesa
#

it uses velocity

honest zenith
#

im struggling

glacial condor
#

m/s^2

hasty mesa
glacial condor
#

in this came m/s^3

hasty mesa
#

Velocity is what pushes it

glacial condor
#

Force of VectorVelocity is calculated in newtons

hasty mesa
#

yeah it uses velocity

glacial condor
#

LinearVelocity uses velocity

hasty mesa
#

for body velocity you give it a target velocity

glacial condor
#

Vector force uses Force

honest zenith
#

how do i explain whats my problem to anyone

#

the lower the maxforce of my bodyvelocity is the higher the dogsh at the end

#

when you land your direction changes for some reason

#

and im not pushing the player with anything else

#

i tried removing the humanoid but that didnt help

#

theres nothing that could change the players velocity

#

its like wind or sme shit

#

but theres no wind

#

i even removed the velocity from bodyvelocity

#

the player juts changes direction when the max force is low

#

got nothing else to try even

thick sail
glacial condor
thick sail
native orchid
dusky relic
#

Just create your own physics engine, fuck robloxs shitty ass constraints

native orchid
sage shell
#

How do I make an inf generating map

turbid torrent
#

Hi

simple dawn
#

i know it may seem hard, but adds more realism. make a custom made language like BASIC a retro coding language fit with the theme

native orchid
#

I could do that, but why?

simple dawn
#

anyways goodjob!

#

one question, how do you run the source code? my guess is that its loadstring or?

native orchid
#

Nope, the plugin just directly writes to the source of a script

simple dawn
#

i thought thats a ui

#

MAKES MORE SENSE

#

custom script editor :o

#

thats honestly so cool

native orchid
#

I should write something like Vim for studio

simple dawn
simple dawn
native orchid
#

Syntax highlighting wouldn't actually be that hard to implement with rich text

simple dawn
#

managing the explorer like its part of a folder directory

simple dawn
#

if so, do you have any resources about that? interested in learning them

native orchid
#

Not really, just the docs for string manipulation

simple dawn
#

ah

#

gotcha

native orchid
#

I'm thinking about having it so that if you type out a line and hit enter, but don't specify a line number then it executes that code instead of writing it to the selected script

#

then I can catch the output and print it on the retro screen using LogService

woeful adder
#

oh brother fingeroo is in chat

native orchid
simple dawn
#

now it really reminds me those ibm machines

native orchid
simple dawn
native orchid
#

Typing in only a line number should fill the input line with whatever is in that line

native orchid
#

that absolutely isn't open in my browser right now, and is NOT what made me want to make this

simple dawn
#

lol

#

its pretty sad its shortlived and only 3 episodes

native orchid
native orchid
#

Monochrome amber is very nice too

simple dawn
#

damn that really looks nice

#

would love to try coding on that

native orchid
#

I'll make it not destroy whatever you're working on occasionally and then release it

simple dawn
#

how does it handle "long code"

native orchid
simple dawn
#

like a line of code surpassing the width of the screen

native orchid
#

Uhhhhhhh

#

I'm actually not sure, my guess is the text label for that line would shrink

simple dawn
#

oh

#

guess you have to work on it then 🤓

native orchid
#

That's exactly what happens

#

My plan was to make it spill over to the next line

#
15 goal = {
16 Vector16.new(100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100
   1200, 1300, 1400, 1500, 1600)
17 }
#

Ideally this interface would encourage you to not write long as fuck lines that would go off the screen

simple dawn
native orchid
#

Can plugins use HTTPService?

simple dawn
native orchid
#

I should host my own internet

#

accessible via this plugin

simple dawn
#

have used it for webhooks, and the LogService serving as my input

#

🤓

simple dawn
#

roblox hub

#

rohub

native orchid
#

Imagine a ZORK-like multi user dungeon MMO playable from inside Roblox studio

simple dawn
#

even devs need some break

simple dawn
native orchid
#

Or shit, just message boards or IRC kinda things

simple dawn
#

iirc it was some game called dwarves something

#

with full on npc ai 💀

#

in BASIC

native orchid
#

Sounds based, I’ll try to find it

simple dawn
#

found it

#

later added some ascii characters to make the "graphics" look more pretty

#

lol

native orchid
#

Oh not quite an MMO

simple dawn
native orchid
#

I’m not even sure what to classify it as

#

It is a singleplayer world generator management game

simple dawn
#

hm

#

just make sims

#

in the terminal

#

🤓

native orchid
#

Maybe I should make something like BonziBuddy

simple dawn
#

and maliciously hide malware

native orchid
#

I prefer the term bonusware

#

I forgot the most important part of this

simple dawn
native orchid
#

I'd dial back the amplitude or increase the frequency of your camera shake

native orchid
#

Like around 13 seconds, when you click on the keypad

simple dawn
burnt parcel
#

hey guys help

native orchid
#

Or when you clicked on a module of the bomb and the camera zoomed into it

burnt parcel
#

how do I just make my character die

#

with the serverscriptservice

native orchid
#

there's some kind of spring-like action there and the frequency of it is a bit too low I think

simple dawn
#

the zooming in or clicking part

#

or both

native orchid
#

The frequency of the spring

#

Yeah both

simple dawn
#

soo

native orchid
#

Just make it faster, I mean

burnt parcel
#

I have this little print thingy

simple dawn
#

what should i do

#

ah

#

alright, noted

native orchid
#

Either faster or less intense

burnt parcel
#

what do I write to make it kill me or smite me

native orchid
burnt parcel
#

how do I do that

native orchid
#

Lots of ways, here's an easy one

local players = game.Players:GetPlayers()
local character = players[math.random(1, #players)].Character
simple dawn
native orchid
#

This will get a random player's character that is currently in the game

simple dawn
#

so probably make it a tad slower?

burnt parcel
#

I'm not gonna sugarcoat it but
ctrl+c

simple dawn
#

the one you saw was 1 second

burnt parcel
#

now how do I kill the player

native orchid
#
local humanoid = character:FindFirstChild("Humanoid")

if humanoid then
  humanoid.Health = 0
end
native orchid
#

Try half of that

burnt parcel
#

mild dud

simple dawn
#

the going back tween hasnt been adjusted

burnt parcel
#

now how do I fix this

native orchid
#
if credit_score > 301 then
burnt parcel
#

oh forgot about that

#

scratch ptsd

native orchid
#
== -- is equal to
~= -- is not equal to
> -- greater than
< -- less than
>= -- greater than or equal to
<= -- less than or equal to
simple dawn
#

remember in grade school, the crocodile bites the bigger number

#

or so

burnt parcel
#

what

simple dawn
#

thats honestly what im using if it should be < or >

native orchid
simple dawn
#

💀

native orchid
#

You might have more luck with a spring module for the camera

#

you'd have more control over the behavior of it

simple dawn
burnt parcel
#

alr now how do I fix this

simple dawn
#

if it aint broke dont fix

#

ill adjust to .75, still seems too fast to me

burnt parcel
#

your credit score is insufficient

#

your execution date is..... NOW

simple dawn
native orchid
hexed zinc
#

]

simple dawn
#

oh wait, i just realized it now 💀

burnt parcel
#

could it be this particular string

simple dawn
#

i thought it was the other person who sent the codePogChomp

simple dawn
#

remove then

balmy wedge
#

what is bro making

cerulean pier
#

Hello
Who needs a Builder

primal panther
#

somebody here expirence with scripting animatsion and npc and doing kind of tsb scripts

tiny obsidian
#

my ass

tiny obsidian
#

if u have to explain this to someone

#

fuckin report them with underage

#

💀

simple dawn
#

?

#

it was a joke 💀

native orchid
sour vine
sage heath
#

If anyone needs there code debugged dm me.

rotund bear
#

Is there a way to disable clickdetectors? I have meshes that need to be in the same location and each mesh has a clickdetector, but if I set the maxactivationdistance to 0 it still doesn't work

brave ermine
#

code help didnt help

#

they just ignored me

sour vine
brave ermine
frosty crag
frosty crag
brave ermine
frosty crag
brave ermine
#

hold on

tiny obsidian
#

Bro 💀

brave ermine
#

?

hardy pilot
tiny obsidian
frosty crag
#

🙏

tough condor
#

anyone here make custom chasis? or know someone who does?

burnt parcel
#

where I'm from that means nothing

carmine imp
#

yo i created my own syntax highlighting rules for VSCode that are inspired by (but obviously not a 1:1 match of) Roblox Studio's syntax highlighting. if I released this as a plugin on VSCode, would people use it? or do people generally not gaf?

strange kiln
hardy pilot
#

if people would use a free plugin to slightly alter the appearance

carmine imp
carmine imp
carmine imp
#

1 is enough for me

hardy pilot
remote perch
#

Yo guys

#

Check out my ice ability

#

I should put this in my portfolio

#

U guys like it?

lost locust
#

hey does anyone have an idea of how the game gravedigger made their sprint system?

brave elk
#

Can someone please help make A ai gk i have been trying so long🙏

hardy pilot
hasty cobalt
#

hey guys

hasty cobalt
#

i dont get why

#

personal preference?

#

or are there advantages idk about

iron stump
#

how do i start scripting

#

plz someone Help..

dim sentinel
brave elk
#

Hoe does a ai gk even work?

carmine imp
hardy pilot
#

Well most visual plugins aren't worth the effort

dusky relic
lost locust
# hardy pilot It seems to be a really basic sprint, what part are you confused about

Mainly just the transition into sprint. It seems as though the speed of the walking anim is tweened to increase along with the characters speed and FOV and then the sprint is played. I've tried this however in order to increase the animation speed I would have to access the direct walk animation that the player uses which would require me to write my own movement script and it would be very invasive to the default controls.

hardy pilot
#

but I don't think I noticed that

#

only that they transition into a second animation at a treshold in a really rigid way

lost locust
hardy pilot
#

Mess with the default scripts then

celest cipher
valid axle
#

can someone help me with my weapon system? Im already sitting here and searching the issue in the code for 2 hours and i just cant find it. can someone help?

naive birch
fervent belfryBOT
valid axle
fervent belfryBOT
# valid axle how should i post 400 lines of code? And prolly also more scripts
Tag » ask

// READ THIS:
Before asking a question on the Internet, knowing how to effectively ask a question will help both you and the person being asked. Something as simple as asking a question might seem trivial, but a lot of people do it wrong.
Please don't do it wrong. It gets tedious.

To summarize a few important articles:

http://xyproblem.info
The XY Problem is a very common problem among newer programmers. It stems from the Dunning-Kruger effect and the overconfidence of newer programmers.
Always include the original problem in your question, as well as your proposed solution. Chances are, yours mightn't work, which will waste both yours and everyone else's time if nobody knows what your actual problem is.

https://stackoverflow.com/help/how-to-ask
• Summarize your topic like you're talking to a busy college student.
• Do your research, because your question might've been asked before.
Take your time asking. Take time to word your question so it's easily understood. Don't fragment your question into multiple messages, take your time writing it.
Always include relevant info, like errors or a code sample. Do some basic print() debugging to find problematic code, so we don't have to stare at a 200-liner.

http://www.nohello.com
When asking a question, ask the question! Don't just say "Hello!" and wait for a response, simply ask the question instead. You may think it's impolite to do otherwise, but the recipient just wants you to ask the question. This is the Internet, after all.

https://dontasktoask.com
Don't "ask to ask" a question. Asking "Can I ask you a question?" is a huge time-waster. Just ask the question and you'll get a response much sooner.

remote perch
#

Im making a script where if you press z and icespike spawns. Im done witht he script and i welded the primary part to all the meshes but it wouldnt work please help me no one wants to help me in CODE HELP

junior glen
#

who can create grid placement system dm me!

glossy pivot
charred hazel
#

i need that

old valley
#

I have a scrolling frame but I can't scroll down to add more UI why?

hardy pilot
random nebula
#

fast syntax highlighting based on a parse tree isntead of regex

frail fox
#

wtf is this code

#

all it takes

#

ok it didn't work for some reason but you get jist of what I'm doing

carmine imp
random nebula
carmine imp
#

it can be boiled down to "ooh shiny"

turbid torrent
frail fox
#

I'm aware they exist I just haven't experimented with them yet

turbid torrent
#
local Tracks = workspace.MusicPlaylist["Music randomizer playlist"]:GetChildren()

for _, Loop_Track in Tracks do
    if not Loop_Track:IsA("Sound") then continue end -- If it's not a sound, this loop would break. The continue key word skips the item and moves on to the next.

    Loop_Track.Volume = 0
end
#

Loops are relatively easy. The syntax is tricky for first timers though.

remote perch
#

I need help

#

The gui woudlnt go visible

#
local DamagePart = IceSpike:FindFirstChild("PrimaryPart2")
            GUI.Visible = true
            task.wait(0.5)
            Humanoid.WalkSpeed = 16
            Humanoid.JumpHeight = 7.2```
#

Its in a local script in starter player its an ability script

autumn phoenix
#

anybody tryna make a 2 player obby with me, im honestly just bored and tryna find sum to do

latent gust
autumn phoenix
#

alr

junior glen
frail fox
#

I'll look into loops later since there's a certain thing I'm planning that needs them

turbid torrent
chilly spire
#

for some reason this Remote function is returning the value of plr1 twice instead of plr1, plr2

#

does someone knows how to fix that

hot hatch
chilly spire
warm hearth
#

Which you shouldn't be, it is done for you so you just need to reference it on the server

chilly spire
#

oh

frail fox
#

comical levels of incompetence

chilly spire
#

tysm friend, i knew it was a dummy problem XD

merry holly
#

yo, can you ask someone about this error because we are stuck due to this error, the sword is working (killing people) {"Failed to load animation with sanitized ID "} this is the erro which we faced previously

lean heath
#

can somone help me

#

i need help with my script

#

@turbid torrent

#

could you help

turbid torrent
lean heath
#

ok so'

#

im making a script where when i step on a button i get cash and theres a multipler and whn i press play it just startes going up and whn i step on it nothiing happens

#

it just keeps going up

#

heres script

#

local button = script.Parent
local playersService = game:GetService("Players")

local function checkPlayerOnButton()
while true do
for _, player in pairs(playersService:GetPlayers()) do
local character = player.Character
if character then
local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
if humanoidRootPart then
if player.leaderstats.Cash.Value >= 100 then
player.leaderstats.Cash.Value = player.leaderstats.Cash.Value - 100
player.leaderstats.Multiplier.Value = player.leaderstats.Multiplier.Value + 1
end
end
end
end
wait(0.25)
end
end

checkPlayerOnButton()

warm hearth
lean heath
#

so how

#

would i fix it

trim dove
lean heath
#

nvm

#

my freind told me it was diffrent concept

#

so its working

trim dove
#

ok

brittle pond
#

for m1s do i put the 2nd m1 in action2 or all m1s in action?

hollow kayak
#

is there a way to put a particle emitter in top of a part?
I want it to appear in top of every face of the model, not just on top. I need it to be similar to billboards on top property

somber raft
#

Guys help me,i need to make a fuel system for my cart,so when it throttls it loses fuel,but the problem is that my cart reaches speeds highter than the speed limit and then stops decreasing the fuel pls help

placid coral
warm hearth
# somber raft

Your repeat loop stops when your velocity goes past MaxThrottle, so that is intentional, no?

frank sleet
#

does anyone know roblox api and python, quick job

rotund igloo
#

guys

#
                elseif restrictedAction == "walk" then
                    local conn = RunService.Heartbeat:Connect(function()
                        if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
                            if player.Character.HumanoidRootPart.Velocity.Magnitude > 1 then 
                                eliminatePlayer(player)
                            end
                        end
                        local humanoid : Humanoid = player.Character:FindFirstChild("Humanoid")

                        local conn = humanoid.StateChanged:Connect(function(_, newState)
                            if newState == Enum.HumanoidStateType.Running then
                                eliminatePlayer(player)
                            end
                        end)
                    end)
                    table.insert(eventConnections[player], conn)

is it better to use velocity or hmd statetype?

#

to detect running?

fresh dirge
#

can someone help me on making it change colors when you touch it instead of changing colors by itself (2nd day scripting)

ocean wind
#

im a bored c+ scripter what the do?

#

roblox scripter

tiny obsidian
#

im so cute

vast hornet
#

how do i make this go up and down

#

instead of diagonally

tiny obsidian
#

your mom idiot

hot wraith
gusty latch
#

yo wsg dan

#

that my name too

feral bloom
gusty latch
fresh dirge
hot wraith
fresh dirge
#

how long have u been scripting damn

hot wraith
brittle dagger
#

How do you apply math in coding btw

remote gull
#

anyway to compare 2 dictionaries other than checking their respective keys and values?

hot wraith
frank sleet
#

HIRING A PROGRAMMER WHO KNOWS PYTHON AND ROBLOX API, DM ME. YOU WILL BE PAID USD

hot wraith
remote gull
#

i've decided to use the key/value comparison but i'd like to know this too

hot wraith
dusky relic
#

The question should be us it more efficient

#

Is*

hot wraith
#

The idea is a principle of hashing on 2 dictionaries, in fact instead of browsing the 2 o(n), we transform them into number which allows a direct comparison is o(1) the only problem would be the order is messed up, but otherwise here it is, I can give you a code if you want to exploit it

jaunty nymph
#

How do I shuffle a list

hot wraith
dusky relic
hot wraith
jaunty nymph
hot wraith
remote gull
#

alr

hot wraith
# jaunty nymph Avoids bias probably

If you want to avoid bias, Fisher-Yates is the best choice. It ensures every permutation has an equal chance, unlike naive shuffling methods that favor certain orders. Want a quick code example too?

celest cipher
hot wraith
# remote gull alr
-- FUNCTION: Turns a dictionary into a unique number (so we can compare it fast)
local function hashDictionary(dict)
    local hash = 0 -- Start with a neutral value
    local prime = 31 -- Just a random prime number to make things more unique

    for key, value in pairs(dict) do
        -- Convert the key and value into numbers (because we need math-friendly data)
        local keyHash = tostring(key):byte(1, -1) -- Convert key into numerical form
        local valueHash = tostring(value):byte(1, -1) -- Same for value

        -- Mix both values in a unique way so that no two different dictionaries end up with the same number
        local combined = keyHash * prime + valueHash 

        -- Apply XOR operation (basically, a smart way to mix numbers)
        hash = hash ~ combined
    end

    return hash -- At the end, we get ONE number that represents the whole dictionary
end

-- FUNCTION: Compares two dictionaries instantly (instead of looping through them)
local function compareDictionaries(dict1, dict2)
    return hashDictionary(dict1) == hashDictionary(dict2) -- If the numbers match, they're the same
end

-- EXAMPLES:
local dictA = {a = 10, b = 20, c = 30}
local dictB = {a = 10, b = 20, c = 30}
local dictC = {a = 10, b = 25, c = 30} -- One value is different

print(compareDictionaries(dictA, dictB)) -- true (same content)
print(compareDictionaries(dictA, dictC)) -- false (different content)

-- 🧠 EXPLANATION:
-- Instead of looping through every key and value to compare two dictionaries, 
-- we transform each dictionary into a single number (its "fingerprint").
-- Comparing two numbers is WAY faster than comparing every single element.
-- The only downside? If order matters in your dictionary, this method doesn’t preserve it hehee

I've tried to make it as friendly as possible, so it should make a nice guide hehe

remote gull
#

thank you nonetheless

hot wraith
autumn phoenix
#

Anybody tryna make a game with me, its a simple idea and I think it has potential (im broke 😭 so I can't pay you but ill give you half of what the game makes)

jaunty nymph
hot wraith
jaunty nymph
#

thx

rough vine
#

isnt this hard to add tho

gloomy kraken
hot wraith
#

Fisher-Yates is an algorithm used to shuffle a list randomly and without bias. Here's a quick example: It guarantees that each element has an equal chance of being placed anywhere in the list, so thats all and now the code

#
-- FUNCTION: Fisher-Yates Shuffle (this will shuffle your list with no bias!)
local function fisherYatesShuffle(list)
    -- Start from the end of the list and work backwards
    for i = #list, 2, -1 do
        -- Pick a random position in the list from 1 to i
        local j = math.random(1, i)
        
        -- Swap the current element (i) with the randomly picked element (j)
        list[i], list[j] = list[j], list[i]
    end
end

-- EXAMPLE: Let's shuffle a simple list of numbers
local myList = {1, 2, 3, 4, 5}
fisherYatesShuffle(myList) -- This will shuffle the list
print(table.concat(myList, ", ")) -- Prints out the shuffled list

-- EXPLANATION:
-- This method ensures every element has an equal chance of being anywhere in the list.
-- Unlike some simple methods that might favor certain orders, Fisher-Yates is fair and unbiased.
-- It shuffles "in place" which is also memory-efficient.
-- Same format as the old code I made, enough to understand, let me know if you have any questions.

jaunty nymph
#

thx

hot wraith
spiral ice
#

hi

hot wraith
jaunty nymph
hot wraith
hot wraith
#

np:)

outer bridge
#

who can help me make a buy script? ive made the buttons and all, and when i have 20 or less coins nothing happens when u click double buttons, when u have 21 u can just spam the button to get tons of clicks when u click the main button, any help?

hasty mesa
mighty escarp
#

Ignoring the cupboard model from toolbox, what do you think ab the combination lock system I made?

crystal olive
#

holy oop programming is actually great

#

wtf have i been doing

crystal olive
stray dock
#

whats the best way to check constantly if the players hp is below a certain amount? runservice or for loop?

mighty escarp
#

Yeah! I really focused on the mechanic

crystal olive
crystal olive
mighty escarp
#

So you can rotate manually and then it snaps in place

crystal olive
#

i can see the vision

stray dock
#

ooh wait i think i see

crystal olive
#

yea

stray dock
#

so i should connect that with a function if the current hp is lets say below 60% the max then i can run a block of code

crystal olive
#

change as needed

glass rain
stone wadi
#

I can code anything for a few dollars! DM me with your idea!

hot wraith
tacit elbow
#

trying to change baseplate to green, why wont this work?

placid bramble
copper apex
hot wraith
brittle dagger
hot wraith
languid ingot
#

I’m trying to make a 2 player obby with custom movements and rope constraints won’t work, any advice?

hot wraith
raven marsh
#

y am i making a game called india tower defence

stone ember
raven marsh
somber vault
#

anyone trying make a naruto game dm me

stone ember
#

drip nuke on India simulator

raven marsh
spiral ice
#

does anyone here own roblox games w/ some players?

violet leaf
#

i'm new to this scripting stuff i'm jsut curious and how long something like that would take

abstract scarab
#

just knowing math and youre done

#

its making randomly generated parts around a sphere and then linking some beams between the parts

#

maybe connecting parts that are in a selected distance for the beams?

burnt parcel
#

how do I fix this

abstract scarab
burnt parcel
#

I want it to kill me

abstract scarab
#

humanoid is nil?

#

if its that then instead of findfirstchild do waitforchild of

abstract scarab
burnt parcel
#

oh

abstract scarab
#

else statements dont need an else

#

its if then/elseif then/ else pretty sure

#

the then there is not necessary because its its inside and else statement

burnt parcel
#

hey guys how do I fix this

abstract scarab
#

humanoid just doesnt exist

burnt parcel
#

how do I do that

abstract scarab
#

your code doesnt make sense

#

first off credit_score should be local credit_score

burnt parcel
#

exactly

#

this is like my first lua code

abstract scarab
#

second if youre trying to know every player’s credit score u got to either store somewhere inside the player or in a table inside the script

#

when you are doing local players = game.Players:GetPlayers() you are literally getting every player in the game

burnt parcel
#

this is just gonna be a singleplayer test

#

I'll do the rest later

abstract scarab
#

a humanoid is inside a single character, which is inside a single player

#

basically you are doing if humanoid(which doesnt exist) then do something end

#

you need to make sure the humanoid exists

#

now imma go sleep bye

burnt parcel
#

local credit_score = 300
print ("your credit score is : `" .. local credit_score)
if local credit_score > 301 then
print ("your did it!") else
print ("Glorious emperor Mao has ordered your execution")
local players = game.Players:GetPlayers()
local character = players.character
local humanoid = character:FindFirstChild("Humanoid")

if humanoid then
    humanoid.Health = 0
end

end
yandere sim code

brisk leaf
#

Bruh I need a scripter I’m a builder I wanna make a story game with someone split the robux 50 50

subtle lodge
#

what did yall do as a beginner to learn how to scirpt

stray dock
subtle lodge
#

to build a game

hushed phoenix
#

Has anyone got some free jobs I could do to improve my scripting

static sphinx
# subtle lodge to build a game

tutorials and courses justs ay "variables store stuff" then for 30 minutes start doing

"MyCoolVariable 🤓 = 69!! hhahah so funy!"

fair ridge
#

i need help on my game.. anyone pls

#

ill split 50 50 robux

#

for perm help

burnt parcel
static sphinx
#

hes that one out of pocket guy

#

the 5 minute tut

burnt parcel
#

yeah

#

"If you don't know what that is go back to flipping burgers"

static sphinx
#

need someone like him in my life

#

i js know he says crazy shit off camera

burnt parcel
#

real

gloomy kraken
hidden coyote
#

Are there any like decent scripters here to help me w sum

hidden coyote
#

Well I’ve got a good idea and I want someone to help me make it

#

Bc I can do ui and building

#

I want to offer 40% of the game to the scripter that helps me

#

It’s quite simple aswell not complicated stuff

upbeat grove
#

when i publish my from a testing place will it affect datastores

somber raft
#

yall help me

#

check this out i need it to not destory after i pick it up

sour vine
#

from studio only

somber raft
#

HELP

stray dock
#

thats the best way honestly

#

start kinda small like click to change something

#

hmm how do i do that

#

look up how to detect input and then youd find out its userinput service

#

userinput service documentation

woeful adder
somber raft
#

Help me

somber raft
#

I need to remove a touch interest in a tool

gentle halo
#

anyone need help ?

hot wraith
iron skiff
#

anyone good at ui

iron skiff
gentle halo
iron skiff
gentle halo
iron skiff
gentle halo
carmine imp
# naive birch I’ll use It

VSCode extension to give roblox studio syntax highlighting is now Live. Note that it requires Luau Language Server, another VSCode extension, to work properly.

I can't post a link here but search Roblox Studio-Like Syntax Highlighting on VSCode, it's the first result by ThornHall. Code is open source

obtuse escarp
dapper scaffold
#

@obtuse escarp whats that script for?

obtuse escarp
obtuse escarp
dapper scaffold
#

@obtuse escarp u build rigth?

obtuse escarp
#

yes

gentle halo
#

@iron skiff did it help

iron skiff
gentle halo
noble sail
#

is there anything client side that an exploiter cant edit/access?

lean ocean
#

never trust the client

#

the saying goes

soft vault
noble sail
# lean ocean never trust the client

since the player's camera orientation can only be edited client-side, i need to check a condition for when the camera needs to be changed, but checking it through the local script leaves it vulnerable to exploiter, thats why i need to check through the server somehow in the local script

lean ocean
noble sail
#

cause when they click something it teleports them, and their camera orientation changes to default

lean ocean
#

bro u gotta focus on making other stuff not exploitable

#

they can change their camera orientation either way

#

cause its the client

bronze lynx
torn reef
#

anyone can help me with a button and dropper code?

#

for tycoon

placid bramble
primal panther
#

who is advance escripter here?

sour vine
primal panther
#

and how much expirence

sour vine
primal panther
sour vine
primal panther
#

do prove?

sour vine
#

dm

primal panther
#

Looks DMs

tiny obsidian
#

fam

#

what typa npc convo is this

#

@hardy pilot u seeing this? 😭

gentle halo
#

anyone need smthng?

#

scam really?

hardy pilot
hardy pilot
somber vault
#

can someone help me script a timed obby

#

the timer and the displayed dude with time ona lb

somber vault
carmine imp
sour vine
somber vault
#

i need a few more thigns tho which would be paid

sour vine
#

ok dm

shadow sphinx
#

Whenever I touch the part, nothing happens to my HP.

local killBrick = script.Parent
killBrick.BrickColor = BrickColor.Random()

killBrick.Touched:Connect(function(Kill)
    local humanoid = killBrick.Parent:FindFirstChild("humanoid")
    if humanoid then
        humanoid.Health -= 10
        task.wait(0.5)
    end
end)

game.Players.PlayerAdded:Connect(function(player)
    print(player.Name.. " Has Joined the Server")
end)
lean ocean
#

also

#

its "Humanoid"

#

not "humanoid"

shadow sphinx
#

@lean ocean Tysm

viral fjord
#

how can i make this smoother

native orchid
soft vault
#

lol

viral fjord
soft vault
#

last circle pos - new circle pos
get distance
fill in distance with more circles

native orchid
#

How are strokes placed onto the canvas?

viral fjord
#

with mouse

#

the brush size changes with mouse scroll

native orchid
#

Make the mouse periodically drop positions onto the canvas and then join them with Bézier curves to draw the actual stroke

viral fjord
#

i gotta google that

native orchid
#

You could interpolate linearly instead, that’s much easier to do and would get this working quicker

naive birch
native orchid
#

Another helpless soul is lured to VSCode

random comet
#

Yo guys
whats the best sandbox placement module atm

soft vault
#

wat

random comet
#

Roblox sandbox games

#

use a sandbox placement module

#

so im asking which are the best ones currently

edgy tree
#

whats the best way to learn how to script

#

should i watch a yt tut

molten plinth
edgy tree
turbid torrent
# edgy tree when do u think i can start commisions

It depends on how much you'd charge and what you can do. You also need to find your niche. Do you perform back-end or front-end work? Just get a hold of the skill you want to market yourself with first.

worn spear
#

hi who need a dev and scripter dm me. i am voluntary.

charred yarrow
#

HELP NEEDED, i can’t find a tutorial anywhere. i’ve got a UI pop-up after clicking a mannequin where users can put their clothing asset id’s in and then it should display on the mannequin. I don’t know what logic is supposed to convert it from an asset id to its raw template id as it does automatically when you paste an asset id in the shirts properties field. ??

carmine imp
# native orchid Another helpless soul is lured to VSCode

i know it's not that serious, but i don't get the anti-VSCode sentiment i've been seeing here? it's useful because it enables using Github and open source tools. granted you don't have to use VSCode specifically for that, but VSCode in particular has support for Rojo and Luau with the installation of two extensions. and now with the installation of a third extension (mine), you can make your VSCode look like roblox studio too. ok off my soapbox 😉

night leaf
#

Yo does anyone here know how to code fps systems, im willing to pay cad or robux for it.

native orchid
#

cut down trees, don't spend all day sharpening your axe

carmine imp
# native orchid They're wastes of time

It probably took me an hour to get rojo and GitHub set up, I think that's more than worth it.

With that being said, it's not necessary for every project especially if you're working by yourself. More useful for teams

native orchid
#

Rojo is a gateway to fiddling with your tools forever instead of making games

carmine imp
#

I wouldn't recommend it for beginner devs just getting started. I wouldn't recommend it for someone developing on their own who is just wanting to get their hands dirty making a game. For someone who knows what they're doing, it enables a lot of things that are useful for statistically increasing the quality of releases and reducing the likelihood of certain bugs.

native orchid
#

I don’t use syntax highlighting, I don’t use autocomplete, I could do my work just as easily in notepad

#

I’m stronger than you and it shows

#

Most people who use VSCode do so because they’re embarrassed to be caught with Roblox studio open

carmine imp
#

I mean that's just flat out wrong but sure

native orchid
#

Do you tell your tinder dates you make Roblox games, or do you say you’re a “software engineer”

#

Most of you guys are ashamed by what you do and will do anything to hide it

naive birch
carmine imp
#

Bruh I started learning roblox/luau as a side hobby 2 months ago. I worked at a real tech company for 5 years. Sit down

naive birch
#

He’s just rage baiting you @carmine imp just ignore this fool 😭

carmine imp
#

True

naive birch
#

He’s obviously just picking at the littlest things to get to ya

spark vapor
#

you're both too polarized but this is entertaining to read

carmine imp
#

Name 1 thing I said that is polarized 😭

naive birch
#

Bro don’t feed into this bs lmaoo

native orchid
#

You worked at a “real” tech company so obviously you consider Roblox to be clown nonsense and want to minimize the pain you feel working on Lego games

spark vapor
#

you're too work in teams corporate brained and he's too "I hate all developer tools" absolutist

carmine imp
#

Nah, I consider it a side hobby for myself. It isn't a real job for me yet cuz I'm still making a game

native orchid
carmine imp
native orchid
#

Yeah and you also said you don’t understand the anti-VSCode sentiment

carmine imp
#

I don't

native orchid
#

The only use case you’ve admitted it is worthwhile for is corporate drones producing corporate slop at scale

#

Have fun being interchangeable!

fresh epoch
#

paying 10k robux for a rng game. dm

carmine imp
native orchid
#

Keep up the hard work, your boss will love his new yacht

viral fjord
#

fingeroo can you help

native orchid
#

With what?

viral fjord
#

the canvas isnt appearing to server


local sharedEditableImage = AssetService:CreateEditableImage({ Size = Vector2.new(400, 400) })
canvasImage.ImageContent = Content.fromObject(sharedEditableImage)


-- Handle drawing submission from client
publishEvent.OnServerEvent:Connect(function(player, pixelBuffer)
    print(player.Name .. " submitted a drawing")
    print("Pixel buffer length: " .. buffer.len(pixelBuffer))

    sharedEditableImage:WritePixelsBuffer(Vector2.new(0, 0), Vector2.new(400, 400), pixelBuffer)
end)
native orchid
#

I assume pixelBuffer is a buffer?

viral fjord
#

this is the local script function

local function finishDrawing()
    -- Read pixel data from the EditableImage
    local pixelData = editableImage:ReadPixelsBuffer(Vector2.new(0, 0), Vector2.new(400, 400))

    -- Fire RemoteEvent to send data to server
    publishEvent:FireServer(pixelData)
end
native orchid
#

So what's happening, the remote event never fires?

viral fjord
#

it fires, the debug works but there's no display

#

part > surfacegui > imagelabel

#

there's no error either

sleek idol
#

i dont think they replicate automatically

#

youll need to fire all the other clients with the buffer

#

and do it per client

native orchid
#

So a player draws on the canvas, that player sends the data to the server, the server writes those pixels to the canvas?

native orchid
#

And then a second player doesn't see the updates?

viral fjord
#

nope, all players dont see it

native orchid
#

Only the server sees it?

sleek idol
viral fjord
#

nothing, there's no display at all

sleek idol
#

like i just said, send the buffer to all clients

molten plinth
# edgy tree when do u think i can start commisions

Late ping, but I used to ‘do’ commissions without actually contacting the person
Basically, test that you can make a commission so you know that you can do others.
It’s good practice, and you can add it to a portfolio

viral fjord
#

so im gonna loop all players

native orchid
sleek idol
#

yes, or just remote:FireAllClients(buffer)

viral fjord
#

ill try it

finite mortar
#

does it :Disconnect() events when object is destroyed?
for example MouseButtonClick and Image button - if ImageButton destroyed will it terminate event handler? Or I need to disconnect them manually to make memory free?

hot wraith
finite mortar
hot wraith
#

This is rare, although for ImageButton types it is usually not a problem.

finite mortar
hot wraith
wide sparrow
#

how does ecs work on client

#

lets say each ship has a position, health, and velocity
how would players change their own ships, but the server still have information on all of the ships

#

if each player has to change the mover constraints on their ships, how would you create than in an ecs that shares it across server and client without an insane amount of extra networking needed
like it cant just be moving ships to places, it also needs to react to the players input
but if i make the server take player input, theres going to be latency and delay which is going to make playing the game horrible

hot wraith
wide sparrow
#

right now client sets the movers and everything on its own heartbeat so theres no input delay

#

but its nowhere close to modular

sterile summit
wide sparrow
#

but im the one asking for help so benefit of the doubt

sterile summit
hot wraith
#

This is the translation, as I am not English, I translate my French from English.

wide sparrow
#

as i said benefit of the doubt

spark vapor
#

I'm not gonna take over the conversation here, but when you say ecs you mean entity component system, right? That's more of a game design pattern and less of a networking pattern

hot wraith
#

Afterwards I try to learn but we will have to get used to it. areyousure

sterile summit
#

that is ok

wide sparrow
#

all of the examples ive seen are always 100% server side

#

and i see people glazing it so much but i cant wrap my head around getting it to work in a context where its not just the server doing the work

#

(which is the context where an actual game works)

spark vapor
#

first and foremost

#

you plan to make the client spawn their own ships so that the server isn't replicating that information to them, right?

#

or at the very least have the client delete the ship the server spawns for them and replace it with their own

#

because basically, all you really need to do is have the server send information about each player's ship to everyone periodically

#

you can increase the interval between when the server sends data if you can implement a system to predict where ships will end up with decent accuracy on the client side

wide sparrow
#

wait so then should i make the server system only to handle the AI ships

#

since all the other ones would be player ships

spark vapor
#

you still need an authoritative server

#

the best way to do that is to have clients send only their input data and have the server use that to control a server-only copy of the client's ship

somber vault
#

Anyone trying to Naruto game

wide sparrow