Robloxis mängija koordinaatidele juurdepääsu saamine võib olla keeruline ja ebaselge protsess. Kui aga leiate viisi koordinaatideni jõudmiseks ja nendega manipuleerimiseks, on teil kindel alus mängu muude loominguliste funktsioonide kasutamiseks ja oma programmeerimisoskuste testimiseks.
Selles artiklis näitame teile, kuidas leida Robloxist mängija koordinaate.
Kuidas saate Robloxis koordinaate?
Tegelaste, objektide ja kohtade koordinaatide leidmiseks peate õppima, kuidas Roblox Studios skriptida. See platvorm võimaldab teil luua oma maailmu ja piirkondi ning kohandada neid vastavalt oma eelistustele.
Skriptimisel peate kasutama põhiteavet, mis võimaldab teil maksimeerida stuudio skriptimise potentsiaali. Hea näide sellistest andmetest on koordinaadid, st mängijate asukohad.
Mängija positsioonile jõudmiseks (serveripoolne) peate minema mängija tegelaskuju juurde. (mängija.Tegelane). Kuid enne seda peate leidma mängija objekti. Seda saate teha, hankides mängija objekti kohe, kui ta siseneb serverisse tavalise skriptiga kuskil teie tööruumis.
Kui teie mängus on ainult üks mängija, saate asetada mängija objekti oma objekti konteinerisse. See konteiner on juurdepääsetav alati, kui otsite selle väärtust mõnes oma serveripoolses skriptis.
Illustreerimiseks:
mäng.Mängijad.Mängija Lisatud:Ühenda(funktsioon(mängija) tööala.Andmed.Mängija.Väärtus = mängija lõpp)
"Andmed" tähistab teie tööruumi paigutatud kausta ja "Player" tähistab ObjectValue konteinerit pealkirjaga "Player", mille eesmärk on salvestada mängija objekt.
Kuid see kood pole teie ainus võimalus. Andke sellele julgelt nimi või muutke seda vastavalt oma eelistustele või asetage mängija objekt nii, nagu soovite.
See skript töötab siis, kui mängija siseneb mängu. Ühe mängijaga mängu puhul on serveris ainult üks mängija. Siiski saate koodi muuta, et järgida teisi mängijaid nii nagu soovite.
Mängija atribuutide ja selle positsiooni saavutamiseks näeb teie tavaline skript välja järgmine:
kohalik mängija = Workspace.Data.Player.Value – hangib mängija objekti ja salvestab selle muutujasse mängija
local var = mängija.Character.UpperTorso.Position — saab vektor3 positsiooni
Kuidas on lood üksikute koordinaatideni jõudmisega?
X-, Y-, Z-koordinaatidele pääsete juurde järgmiselt:
kohalik varX = mängija.Tegelane.Tüve ülakeha.Positsioon.X kohalik varY = mängija.Tegelane.Tüve ülemine positsioon.Y kohalik varZ = mängija.Tegelane.Tüve ülemine positsioon.Z
Siin saate kasutada UpperTorsot R15 humanoidide esindamiseks. Seetõttu ei pruugi see muude Humanoidi mudelite puhul peale R15 asja ära teha.
Kas ma saan valida jälgimiseks muid kehaosi?
Kereosad, mida saate jälgida, ei ole reserveeritud ainult UpperTorso jaoks. Täiendavatele juurde pääsemiseks tehke järgmist.
- Kasutage mängu avamiseks Developer Studiot.
- Kui mäng on avatud, valige StarterPlayer.
- Avage HumanoidDefaultBodyParts (leidke see "Exploreri vaate" abil).
- See avab jälgimist võimaldavate kehaosade loendi.
(Krediidid: Derrick Bouchard – //gamedev.stackexchange.com/users/138624/derrick-bouchard).
Kas saate kasutada koordinaate kuhugi teleportimiseks?
Nüüd, kui olete avastanud, kuidas Robloxis koordinaate paljastada, soovite teada, kas on mõni kujutlusvõimega tegevus, mille jaoks saate neid teadmisi kasutada. Näiteks saate teleportatsiooni hõlbustada, kui olete kursori asukoha leidnud. Siin on lihtne viis seda teha.
sihtmärk = mäng.Mängijad.Kohalik mängija:GetMouse() .Lööge x = sihtmärk.X y = sihtmärk.Y z = sihtmärk.Z mäng.Mängijad.Kohalik mängija.Tegelane:Liiguta(Vektor3.uus(x,y,z))
(Krediidid: gyakranz – //www.roblox.com/users/234079075/profile).
Kuidas Teleportatsioon Robloxis üldiselt teostatakse?
Teleportatsioon on Robloxi üks kõige kasulikumaid funktsioone. See võimaldab mängijatel suurtel kaartidel kiiresti liikuda ja seeläbi palju rohkem suhelda.
Selle õige täitmine võib aga olla keeruline, eriti kui olete skriptimises uus. Üks levinumaid probleeme, mis teleportimisel tekkida võib, on mudeli purunemine. Näiteks kui kasutasite järgmist skripti, eraldaksite pea torsost:
game.Workspace.Player.Torso.Position = Vector3.new(0, 50, 0)
Selle asemel peate kasutama atribuuti CFframe ja andmetüüpi CFframe. Seda saab teha ja mängija õigesti teleportida:
game.Workspace.Player.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(0, 50, 0))
Kas kõiki mängijaid on võimalik teleportida?
Saate teleportida kõik mängijad kaardil. Siiski peate olema sihtmärkidega ettevaatlik, et hoida mängijate torsod tervena. Kood näeks välja järgmine:
1. sihtmärk = CFrame.new(0, 50, 0) --võib olla tellise lähedal või uues piirkonnas 2. i puhul, mängija ipairs(game.Players:GetChildren()) tehke 3. --Veenduge märk on olemas ja selle HumanoidRootPart on olemas 4. kui mängija.Tegelane ja mängija.Tegelane:FindFirstChild("HumanoidRootPart") siis 5. --lisage iga märgi jaoks nihe 5. 6. mängija.Tegelane.Inimesejuureosa.CFrame = sihtmärk + Vector3 .new(0, i * 5, 0) 7. end 8. end
Palju tööd toob kaasa palju nalja
Kogu kodeerimine, mis läheb selliste toimingute tegemiseks nagu koordinaatide hankimine ja teleportatsioon, võib panna teid arvama, et Roblox pole vaeva väärt. Kuid kodeerimine võimaldab teil korraldada oma eripäraseid mänge ja tegelikkust. See pole mitte ainult pikas perspektiivis äärmiselt rahuldust pakkuv, vaid võib muutuda ka teie vaba aja veetmiseks.
Kas olete Robloxis kodeerimisel kätt proovinud? Kuidas läks? Andke meile allpool olevas kommentaaride jaotises teada?