Vedieť, ako získať prístup k súradniciam hráča v Robloxe, môže byť komplikovaný a nejasný proces. Ak však nájdete spôsob, ako dosiahnuť súradnice a manipulovať s nimi, budete mať solídny základ pre využitie ďalších kreatívnych funkcií hry a otestovanie vašich programátorských schopností.
V tomto článku vám ukážeme, ako nájsť súradnice hráča v Robloxe.
Ako získate súradnice v Robloxe?
Aby ste našli súradnice postáv, objektov a miest, musíte sa naučiť, ako skriptovať v Roblox Studio. Táto platforma vám umožňuje vytvárať si vlastné svety a oblasti a upravovať ich podľa vašich preferencií.
Pri skriptovaní budete musieť použiť základné informácie, ktoré vám umožnia maximalizovať potenciál štúdiového skriptovania. Dobrým príkladom takýchto údajov sú súradnice, t. j. pozície hráčov.
Na dosiahnutie pozície hráča (na strane servera) budete musieť prejsť do vlastnosti postavy hráča. (hráč.Postava). Predtým však musíte nájsť predmet hráča. Môžete to urobiť tak, že získate objekt hráča vo chvíli, keď vstúpi na server pomocou bežného skriptu niekde vo vašom pracovnom priestore.
Ak vaša hra obsahuje iba jedného hráča, môžete umiestniť predmet hráča do kontajnera na predmety. Tento kontajner je dostupný vždy, keď hľadáte jeho hodnotu v jednom zo skriptov na strane servera.
Pre ilustráciu:
game.Players.PlayerAdded:Connect(funkcia(hráč) pracovný priestor.Data.Player.Value = koniec hráča)
„Dáta“ predstavuje priečinok umiestnený vo vašom pracovnom priestore a „Prehrávač“ predstavuje kontajner ObjectValue s názvom „Prehrávač“, ktorého účelom je uložiť objekt prehrávača.
Tento kód však nie je vašou jedinou možnosťou. Pokojne ho pomenujte alebo upravte podľa svojich preferencií, prípadne umiestnite predmet hráča akokoľvek chcete.
Tento skript sa spustí, keď hráč vstúpi do hry. V prípade hry pre jedného hráča má server iba jedného hráča. Môžete však upraviť kód tak, aby ste mohli sledovať ostatných hráčov ľubovoľným spôsobom.
Ak chcete dosiahnuť vlastnosti prehrávača spolu s jeho pozíciou, váš bežný skript by vyzeral takto:
lokálny hráč = Workspace.Data.Player.Value – získa objekt hráča a uloží ho do premennej „player“
local var = player.Character.UpperTorso.Position — Získa pozíciu vector3
A čo dosiahnutie individuálnych súradníc?
K súradniciam X, Y, Z môžete pristupovať takto:
local varX = player.Character.UpperTorso.Position.X local varY = player.Character.UpperTorso.Position.Y local varZ = player.Character.UpperTorso.Position.Z
Tu môžete použiť UpperTorso na znázornenie humanoidov R15. V dôsledku toho to nemusí fungovať pre humanoidné modely iné ako R15.
Môžem si vybrať iné časti tela na sledovanie?
Časti tela, ktoré môžete sledovať, nie sú vyhradené len pre hornú časť trupu. Tu je postup, ako získať prístup k ďalším:
- Na otvorenie hry použite Developer Studio.
- Keď je hra otvorená, vyberte StarterPlayer.
- Prejdite na stránku HumanoidDefaultBodyParts (nájdite ju pomocou zobrazenia Prieskumníka).
- Zobrazí sa zoznam častí tela, ktoré umožňujú sledovanie.
(Poďakovanie: Derrick Bouchard – //gamedev.stackexchange.com/users/138624/derrick-bouchard).
Môžete použiť súradnice na teleportovanie niekam?
Teraz, keď ste zistili, ako odhaliť súradnice v Robloxe, budete chcieť vedieť, či existujú nejaké nápadité aktivity, na ktoré môžete tieto znalosti použiť. Napríklad môžete uľahčiť teleportáciu, ak ste získali polohu kurzora. Tu je jednoduchý spôsob, ako to urobiť:
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)))
(Kredity: oftenz – //www.roblox.com/users/234079075/profile).
Ako sa vo všeobecnosti vykonáva teleportácia v Roblox?
Teleportácia je zďaleka jednou z najužitočnejších funkcií v Robloxe. Umožňuje hráčom rýchlo sa pohybovať po veľkých mapách a umožňuje tak oveľa väčšiu interakciu.
Správne vykonanie však môže byť zložité, najmä ak ste v skriptovaní nováčik. Jedným z najčastejších problémov, ktoré sa môžu vyskytnúť pri teleportovaní, je rozbitie modelu. Napríklad, ak by ste použili nasledujúci skript, oddelili by ste hlavu od trupu:
game.Workspace.Player.Torso.Position = Vector3.new(0, 50, 0)
Namiesto toho musíte použiť vlastnosť CFframe a typ údajov CFframe. Takto to urobíte a správne teleportujete hráča:
game.Workspace.Player.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(0, 50, 0))
Je možné teleportovať všetkých hráčov?
Môžete teleportovať všetkých hráčov na mape. Musíte si však dávať pozor na cieľové pozície, aby ste udržali trupy hráčov neporušené. Kód by vyzeral takto:
1. cieľ = CFrame.new(0, 50, 0) --môže byť blízko tehly alebo v novej oblasti 2. pre hráča v ipairs(game.Players:GetChildren()) urobte 3. --Uistite sa postava existuje a existuje jej HumanoidRootPart 4. if player.Character and player.Character:FindFirstChild("HumanoidRootPart") potom 5. --pridajte offset 5 pre každú postavu 6. player.Character.HumanoidRootPart.CFrame = target + Vector3 .nový(0, i * 5, 0) 7. koniec 8. koniec
Veľa práce vedie k množstvu zábavy
Všetko kódovanie, ktoré sa týka vykonávania akcií, ako je získavanie súradníc a teleportácia, vás môže prinútiť si myslieť, že Roblox nestojí za problémy. Kódovanie vám však umožňuje organizovať vaše charakteristické hry a reality. Nielenže je to mimoriadne obohacujúce z dlhodobého hľadiska, ale môže sa to zmeniť aj na vašu voľnočasovú aktivitu.
Vyskúšali ste si kódovanie v Robloxe? Ako to šlo? Dajte nám vedieť v sekcii komentárov nižšie?