לדעת איך להשיג גישה לקואורדינטות שחקנים ברובלוקס יכול להיות תהליך מסובך וסתום. עם זאת, אם תמצא דרך להגיע לקואורדינטות ולתפעל אותן, יהיה לך בסיס איתן לשימוש בפונקציות יצירתיות אחרות של המשחק ובדיקת כישורי התכנות שלך.
במאמר זה נראה לכם כיצד למצוא קואורדינטות שחקנים ברובלוקס.
איך משיגים קואורדינטות ברובלוקס?
על מנת למצוא קואורדינטות של דמויות, אובייקטים ומקומות, עליך ללמוד כיצד לתסריט סטודיו רובלוקס . פלטפורמה זו מאפשרת לך ליצור עולמות ואזורים משלך ולהתאים אותם בהתאם להעדפתך.
כיצד ליצור קטע בסטראבה
כשאתה כותב סקריפט, יהיה עליך להשתמש במידע בסיסי המאפשר לך למקסם את הפוטנציאל של סקריפטים באולפן. דוגמה מצוינת לנתונים כאלה היא קואורדינטות, כלומר עמדות שחקן.
הגעה למיקום של שחקן (בצד השרת) תדרוש ממך לעבור למאפיין הדמות של השחקן. (שחקן. דמות). אבל לפני כן, תצטרך למצוא את האובייקט של השחקן. אתה יכול לעשות זאת על ידי רכישת אובייקט הנגן ברגע שהוא נכנס לשרת עם סקריפט רגיל במקום כלשהו בסביבת העבודה שלך.
אם המשחק שלך כולל שחקן אחד בלבד, תוכל למקם את אובייקט הנגן במיכל האובייקטים שלך. מיכל זה נגיש בכל פעם שאתה מחפש את ערכו באחד מהתסריטים בצד השרת שלך.
לדמות:
game.Players.PlayerAdded:Connect(function(player) workspace.Data.Player.Value = player end)
'נתונים' מייצג תיקיה הממוקמת בסביבת העבודה שלך ו'נגן 'מייצג מיכל ObjectValue שכותרתו' נגן 'שמטרתו לשמור את אובייקט הנגן.
אך קוד זה אינו האפשרות היחידה שלך. אל תהסס למנות אותו או לשנות אותו בהתאם להעדפתך, או למקם את אובייקט הנגן ככל שתרצה.
תסריט זה פועל ברגע ששחקן נכנס למשחק. במקרה של משחק לשחקן יחיד, לשרת יש שחקן אחד בלבד. עם זאת, אתה יכול לשנות את הקוד כדי לעקוב אחר שחקנים אחרים בכל דרך שתרצה.
כדי להגיע למאפייני הנגן, יחד עם מיקומו, כך ייראה הסקריפט הרגיל שלך:
נגן מקומי = Workspace.Data.Player.Value - מקבל אובייקט נגן ושומר אותו במשתנה 'נגן'
מקומי var = player.Character.UpperTorso.Position - מקבל מיקום vector3
כיצד לשתף סיפור באינסטגרם
מה לגבי הגעה לקואורדינטות בודדות?
אתה יכול לגשת לתאום X, Y, Z בדרך זו:
local varX = player.Character.UpperTorso.Position.X local varY = player.Character.UpperTorso.Position.Y local varZ = player.Character.UpperTorso.Position.Z
כאן תוכלו להשתמש ב- UpperTorso כדי לייצג R15 הומנואידים. כתוצאה מכך, זה לא יכול לעשות את הטריק עבור דגמי הומנואיד מלבד R15.
האם אוכל לבחור חלקי גוף אחרים למעקב?
חלקי גוף שתוכלו לעקוב אחריהם אינם שמורים ל- UpperTorso בלבד. כך תוכל לגשת לאלה נוספים:
- השתמש בסטודיו למפתחים כדי לפתוח את המשחק שלך.
- בזמן שהמשחק פתוח, בחרו ב- StarterPlayer.
- עבור אל HumanoidDefaultBodyParts (מצא אותו באמצעות תצוגת Explorer).
- זה יביא רשימה של חלקי גוף המאפשרים מעקב.
(קרדיטים: דריק בושארד - https://gamedev.stackexchange.com/users/138624/derrick-bouchard ).
האם אתה יכול להשתמש בקואורדינטות כדי לנווט איפשהו?
עכשיו כשגיליתם כיצד לחשוף קואורדינטות ברובלוקס, תרצו לדעת אם יש פעילויות דמיוניות שתוכלו להשתמש בהן עבור הידע הזה. לדוגמה, תוכל להקל על שינוע טלפוני אם אחזרת את מיקום הסמן שלך. הנה דרך פשוטה לעשות זאת:
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))
(קרדיטים: לעתים קרובות - https://www.roblox.com/users/234079075/profile ).
כיצד מתבצעת בדרך כלל טלפורטציה ברובלוקס?
טלפורטציה היא ללא ספק אחת התכונות השימושיות ביותר ברובלוקס. זה מאפשר לשחקנים לנוע במהירות במפות גדולות ובכך לאפשר הרבה יותר אינטראקציה.
עם זאת, ביצוע זה כראוי יכול להיות מסובך, במיוחד אם אתה לא חדש בתחום סקריפטים. אחת הבעיות הנפוצות ביותר שעלולות להתרחש בזמן שינוע טלפוני היא שבירת המודל. לדוגמא, אם השתמשת בתסריט הבא, היית מפריד את הראש מגו:
game.Workspace.Player.Torso.Position = Vector3.new(0, 50, 0)
במקום זאת, עליך להשתמש במאפיין CFframe ובסוג הנתונים CFframe. כך ניתן לעשות זאת ולשלוח נכון נגן לנגן:
game.Workspace.Player.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(0, 50, 0))
האם ניתן לטייל בכל השחקנים בטלפון?
אתה יכול לטייל בכל השחקנים במפה. עם זאת, עליכם להיזהר עם עמדות היעד על מנת לשמור על גו של השחקנים שלם. כך ייראה הקוד:
1. target = CFrame.new(0, 50, 0) --could be near a brick or in a new area 2. for i, player in ipairs(game.Players:GetChildren()) do 3. --Make sure the character exists and its HumanoidRootPart exists 4. if player.Character and player.Character:FindFirstChild('HumanoidRootPart') then 5. --add an offset of 5 for each character 6. player.Character.HumanoidRootPart.CFrame = target + Vector3.new(0, i * 5, 0) 7. end 8. end
הרבה עבודה מובילה להרבה כיף
כל הקידוד העומד בביצוע פעולות כגון השגת קואורדינטות וטלפורטציה עשוי לגרום לכם לחשוב שרובלוקס אינו שווה את הבעיה. עם זאת, קידוד מאפשר לך לתזמן את המשחקים והמציאות הייחודיים שלך. לא רק שזה מתגמל ביותר לטווח הארוך, אלא שהוא יכול גם להפוך לפעילות פנאי שלך.
האם ניסית את כוחך בקידוד ברובלוקס? איך זה הלך? ספר לנו בסעיף ההערות למטה?
הוסף גופן מותאם אישית למסמכי Google