Å vite hvordan man får tilgang til spillerkoordinater i Roblox kan være en komplisert og obskur prosess. Men hvis du finner en måte å nå koordinatene og manipulere dem på, vil du ha et solid grunnlag for å bruke andre kreative funksjoner i spillet og teste dine programmeringsferdigheter.
I denne artikkelen viser vi deg hvordan du finner spillerkoordinater i Roblox.
Hvordan får du koordinater i Roblox?
For å finne koordinater til karakterer, objekter og steder, må du lære å skripte i Roblox Studio. Denne plattformen lar deg lage dine egne verdener og områder og tilpasse dem etter dine preferanser.
Mens du skriver, må du bruke grunnleggende informasjon som lar deg maksimere potensialet til studioskripting. Et fint eksempel på slike data er koordinater, dvs. spillerposisjoner.
For å nå en spillers posisjon (server-side) må du gå til spillerens karakteregenskap. (spiller. Karakter). Men før det må du finne spillerens objekt. Du kan gjøre dette ved å skaffe spillerens objekt i det øyeblikket de kommer inn på serveren med et vanlig skript et sted i arbeidsområdet ditt.
Hvis spillet ditt har bare én spiller, kan du plassere spillerobjektet i objektbeholderen. Denne beholderen er tilgjengelig når du leter etter verdien i et av skriptene på serversiden.
Å illustrere:
game.Players.PlayerAdded:Connect(funksjon(spiller)arbeidsområde.Data.Player.Value = spillerslutt)
'Data' representerer en mappe plassert i arbeidsområdet ditt og 'Player' representerer ObjectValue-beholder med tittelen 'Player' hvis formål er å lagre spillerobjektet.
Men denne koden er ikke det eneste alternativet. Gi den et navn eller modifiser den etter dine preferanser, eller plasser spillerobjektet slik du vil.
Dette skriptet kjøres når en spiller går inn i et spill. Når det gjelder et enkeltspillerspill, har serveren bare én spiller. Du kan imidlertid endre koden slik at den følger andre spillere slik du vil.
For å nå egenskapene til spilleren, sammen med dens posisjon, er det slik det vanlige skriptet ditt vil se ut:
lokal spiller = Workspace.Data.Player.Value – Henter spillerobjekt og lagrer det i ‘player’ variabel
local var = player.Character.UpperTorso.Position — Får vektor3-posisjon
Hva med å nå individuelle koordinater?
Du kan få tilgang til X, Y, Z-koordinatene på denne måten:
local varX = player.Character.UpperTorso.Position.X local varY = player.Character.UpperTorso.Position.Y local varZ = player.Character.UpperTorso.Position.Z
Her kan du bruke UpperTorso til å representere R15 Humanoids. Som et resultat kan den kanskje ikke gjøre susen for andre Humanoid-modeller enn R15.
Kan jeg velge andre kroppsdeler å spore?
Kroppsdeler du kan følge er ikke reservert kun for UpperTorso. Slik får du tilgang til flere:
- Bruk Developer Studio for å åpne spillet ditt.
- Mens spillet er åpent, velg StarterPlayer.
- Gå til HumanoidDefaultBodyParts (finn den ved å bruke "Explorer view").
- Dette vil få opp en liste over kroppsdeler som muliggjør sporing.
(Kreditt: Derrick Bouchard – //gamedev.stackexchange.com/users/138624/derrick-bouchard).
Kan du bruke koordinater til å teleportere et sted?
Nå som du har funnet ut hvordan du avslører koordinater i Roblox, vil du vite om det er noen fantasifulle aktiviteter du kan bruke den kunnskapen til. Du kan for eksempel legge til rette for teleportering hvis du har hentet markørens plassering. Her er en enkel måte å gjøre det på:
target = game.Players.LocalPlayer:GetMouse() .Hit x = target.X y = target.Y z = target.Z game.Players.LocalPlayer.Character:MoveTo(Vector3.new(x,y,z))
(Kreditt: oftenz – //www.roblox.com/users/234079075/profile).
Hvordan utføres teleportering generelt i Roblox?
Teleportering er uten tvil en av de mest nyttige funksjonene i Roblox. Det lar spillere bevege seg raskt rundt på store kart og dermed muliggjøre mye mer interaksjon.
Det kan imidlertid være vanskelig å utføre det riktig, spesielt hvis du er ny på skripting. Et av de vanligste problemene som kan oppstå under teleportering er brudd på modellen. Hvis du for eksempel brukte følgende skript, vil du skille hodet fra overkroppen:
game.Workspace.Player.Torso.Position = Vector3.new(0, 50, 0)
I stedet må du bruke CFframe-egenskapen og CFframe-datatypen. Slik gjør du det og teleporterer en spiller riktig:
game.Workspace.Player.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(0, 50, 0))
Er det mulig å teleportere alle spillere?
Du kan teleportere alle spillere på et kart. Du må imidlertid være forsiktig med målposisjonene for å holde spillernes overkropp intakt. Slik ser koden ut:
1. target = CFrame.new(0, 50, 0) --kan være i nærheten av en murstein eller i et nytt område 2. for i, spiller i ipairs(game.Players:GetChildren()) gjør 3. --Sørg for at karakteren eksisterer og dens HumanoidRootPart eksisterer 4. hvis player.Character og player.Character:FindFirstChild("HumanoidRootPart") så 5. --legg til en offset på 5 for hver karakter 6. player.Character.HumanoidRootPart.CFrame = target + Vector3 .new(0, i * 5, 0) 7. slutt 8. slutt
Mye arbeid fører til mye moro
All kodingen som går med til å utføre handlinger som å skaffe koordinater og teleportering kan få deg til å tro at Roblox ikke er verdt bryet. Koding lar deg imidlertid orkestrere dine særegne spill og virkeligheter. Ikke bare er dette ekstremt givende i det lange løp, men det kan også bli din favoritt-fritidsaktivitet.
Har du prøvd deg på koding i Roblox? Hvordan gikk det? Gi oss beskjed i kommentarfeltet nedenfor?