At vide, hvordan man får adgang til spillerkoordinater i Roblox kan være en kompliceret og obskur proces. Men hvis du finder en måde at nå koordinaterne og manipulere dem på, har du et solidt grundlag for at bruge andre kreative funktioner i spillet og teste dine programmeringsevner.
I denne artikel viser vi dig, hvordan du finder spillerkoordinater i Roblox.
Hvordan får du koordinater i Roblox?
For at finde koordinater for karakterer, objekter og steder skal du lære at scripte i Roblox Studio. Denne platform giver dig mulighed for at skabe dine egne verdener og områder og tilpasse dem efter dine præferencer.
Mens du scripter, skal du bruge grundlæggende oplysninger, der lader dig maksimere potentialet ved studiescripting. Et fint eksempel på sådanne data er koordinater, dvs. spillerpositioner.
At nå en spillers position (server-side) kræver, at du går til spillerens karakteregenskab. (spiller. Karakter). Men før det skal du finde spillerens objekt. Du kan gøre dette ved at erhverve spillerens objekt i det øjeblik, de kommer ind på serveren med et sædvanligt script et sted i dit arbejdsområde.
Hvis dit spil kun har én spiller, kan du placere spillerobjektet i din objektbeholder. Denne container er tilgængelig, når du leder efter dens værdi i et af dine server-side scripts.
Til at illustrere:
game.Players.PlayerAdded:Connect(funktion(spiller)arbejdsområde.Data.Player.Value = spillerslut)
'Data' repræsenterer en mappe placeret i dit arbejdsområde, og 'Player' repræsenterer ObjectValue-beholder med titlen 'Player', hvis formål er at gemme afspillerobjektet.
Men denne kode er ikke din eneste mulighed. Du er velkommen til at navngive det eller ændre det efter dine præferencer, eller placere afspillerobjektet, som du vil.
Dette script kører, når en spiller går ind i et spil. I tilfælde af et enkeltspillerspil har serveren kun én spiller. Du kan dog ændre koden, så den følger andre spillere, som du vil.
For at nå spillerens egenskaber, sammen med dens position, er det sådan dit almindelige script vil se ud:
lokal afspiller = Workspace.Data.Player.Value – Henter afspillerobjekt og gemmer det i 'player' variabel
local var = player.Character.UpperTorso.Position — Får vektor3-position
Hvad med at nå individuelle koordinater?
Du kan få adgang til X-, Y-, Z-koordinaterne på denne måde:
local varX = player.Character.UpperTorso.Position.X local varY = player.Character.UpperTorso.Position.Y local varZ = player.Character.UpperTorso.Position.Z
Her kan du bruge UpperTorso til at repræsentere R15 Humanoids. Som følge heraf gør det måske ikke tricket for andre Humanoid-modeller end R15.
Kan jeg vælge andre kropsdele at spore?
Kropsdele, du kan følge, er ikke kun forbeholdt UpperTorso. Sådan får du adgang til yderligere:
- Brug Developer Studio til at åbne dit spil.
- Mens spillet er åbent, skal du vælge StarterPlayer.
- Gå til HumanoidDefaultBodyParts (find det ved at bruge "Explorer view").
- Dette vil vise en liste over kropsdele, der muliggør sporing.
(Kreditter: Derrick Bouchard – //gamedev.stackexchange.com/users/138624/derrick-bouchard).
Kan du bruge koordinater til at teleportere et sted?
Nu hvor du har fundet ud af, hvordan du afslører koordinater i Roblox, vil du gerne vide, om der er nogle fantasifulde aktiviteter, du kan bruge den viden til. For eksempel kan du lette teleportering, hvis du har hentet markørens placering. Her er en enkel måde at gø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))
(Kreditter: oftenz – //www.roblox.com/users/234079075/profile).
Hvordan udføres teleportering generelt i Roblox?
Teleportering er langt en af de mest nyttige funktioner i Roblox. Det giver spillerne mulighed for at bevæge sig hurtigt rundt på store kort og dermed muliggøre meget mere interaktion.
Det kan dog være vanskeligt at udføre det korrekt, især hvis du er ny til scripting. Et af de mest almindelige problemer, der kan opstå under teleportering, er brud på modellen. For eksempel, hvis du brugte følgende script, ville du adskille hovedet fra torsoen:
game.Workspace.Player.Torso.Position = Vector3.new(0, 50, 0)
I stedet skal du bruge CFframe-egenskaben og CFframe-datatypen. Sådan gør du det og teleporterer en spiller korrekt:
game.Workspace.Player.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(0, 50, 0))
Er det muligt at teleportere alle spillere?
Du kan teleportere alle spillere på et kort. Du skal dog være forsigtig med målpositionerne for at holde spillernes torsoer intakte. Sådan ser koden ud:
1. target = CFrame.new(0, 50, 0) --kan være i nærheden af en mursten eller i et nyt område 2. for i, spiller i ipairs(game.Players:GetChildren()) gør 3. --Sørg for at karakteren eksisterer og dens HumanoidRootPart eksisterer 4. hvis player.Character og player.Character:FindFirstChild("HumanoidRootPart") så 5. --tilføj en offset på 5 for hver karakter 6. player.Character.HumanoidRootPart.CFrame = target + Vector3 .ny(0, i * 5, 0) 7. ende 8. ende
En masse arbejde fører til en masse sjov
Al den kodning, der går ind i at udføre handlinger såsom at opnå koordinater og teleportering, kan få dig til at tro, at Roblox ikke er besværet værd. Kodning giver dig dog mulighed for at orkestrere dine karakteristiske spil og virkeligheder. Ikke alene er dette ekstremt givende i det lange løb, men det kan også blive til din foretrukne fritidsaktivitet.
Har du prøvet at kode i Roblox? Hvordan gik det? Fortæl os det i kommentarfeltet nedenfor?