Tworzenie zespołów

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

tworzenie zespołów pozwala sortować graczy w grupy, które konkurują, aby ukończyć wspólny cel, takich jak zdobywanie najwięcej punktów lub przejście linii mety przed innymi członkami zespołu. Dla strzelającego w pierwszej osoby, tworzenie zespołów jest szczególnie ważne, ponieważ ustanawia złożone, skoordynowane strategie gry poza zestawem umiejętności każdego pojedynczego

Używając do referencji sample laser tag experience, ta sekcja samoucznia uczy cię, jak sortować graczy w zespoły, w tym kierunki skryptów na:

  • Używając funkcji domyślnej Teams udzielać graczom zielony lub różowy zespół.
  • Pomagaj graczom wyróżnić się między sobą a członkami zespołu wrogiego poprzez wskaźniki na ekranie i w doświadczeniu.
  • Włączanie do gry przebaczenia, która nie kara graczy za rozwaliwanie ich zespołu.

Po zakończeniu tej sekcji dowiesz się o skryptach, które pozwalają graczom na tworzenie lub odtwarzanie do neutralnej lobby lub strefy tworzenia zespołu, personalizowanie wizualnych pola sił pierwszej osoby i obsługiwanie stanu klienta zarówno z serwera, jak i klienta.

Zakreśl Kolory Zespołu

Doświadczenie laserowe samplera używa usługi Teams jako podstawy do tworzenia dwóch zespołów, ponieważ usługa oferuje zintegrowany zesortowanie zachowań, które powszechnie działa poza skrzynką. Na przykład, bez dodatkowego wysiłku skryptowego usługa obsługuje takie działania jak:

  • Sortowanie i równoważenie graczy nawet równomiętnie w każdej drużynie.
  • Gromadzenie graczy pod swoją drużyną na ranking.
  • Kolorowanie imion graczy w przestrzeni 3D odpowiadającego ich koloru zespołu.
  • Generowanie graczy w różnych lokalizacjach, do których tylko ich zespół może uzyskać dostęp.

Ze względu na tę domyślną funkcjonalność wzór umożliwia Teams usługę, a następnie używa dwóch różnych obiektów Class.

Ważne jest, aby zauważyć dokładną nazwę BrickColor dla właściwości Team.Color, pon

startSyncingTeamColor odnosi się do referencji Team.Color, aby może przypisać poprawny kolor i ikona dla wskaźnika zespołu gracza w lewym dolnym rogu ekranu.

Drużyna Zielona
Drużyna Różowa

local function setPlayerTeamIcon(gui: ScreenGui)
for _, teamColorIcon in gui.PlayerDisplay.TeamIcons:GetChildren() do
local iconTeamColor = teamColorIcon:GetAttribute(GuiAttribute.teamColor)
teamColorIcon.Visible = localPlayer.TeamColor == iconTeamColor
end
end
local function startSyncingTeamColor(gui: ScreenGui)
setPlayerTeamIcon(gui)
localPlayer:GetPropertyChangedSignal("Team"):Connect(function()
setPlayerTeamIcon(gui)
end)
end

Wyświetuj wskaźniki zespołu

Gdy gracz zostanie przypisany do zespołu, musi być w stanie szybko zdekryptować, do którego zespołu należy, i rozróżnić między członkami swojego zespołu a członkami wroga. Ta zdolność jest ważna, ponieważ zdolność do szybkiego podejmowania strategicznych decyzji w grze w pierwszej osobie wymaga, aby gracze nie byli oznaczeni i nie tracili rundy.

Aby ustawić graczy na powodzenie, doświadczenie laserowego tagu próbkowego zapewnia wiele wskaźników zespołu zarówno na ekranie, jak i w przestrzeni 3D:

  • Wskaźnik gracza – Dostosowany interfejs użytkownika na ekranie, który wyświetla kolor i ikonadrużyny gracza.
  • Wskaźnik zespołu – Dostosowany interfejs użytkownika w grze, który wyświetla kolor zespołu gracza.
  • Leaderboard Indicator – Usługa na ekranie interfejsu użytkownika, która grupuje graczy pod ich barwą zespołu.
  • Kolor Name Tint – Usługa koloru nazwy w grze w wersji bez doświadczenia, która koloruje nazwę gracza nad ich głową do ich koloru zespołu.
Wskaźniki na ekranie
Wskaźnik gracza
Wskaźnik rynkowy
Wskaźniki bez doświadczenia
Wskaźnik zespołu
Kolor imienia

Nie musisz robić żadnej dodatkowej pracy dla wskaźnika wyników lub koloru imienia poza przydzielaniem kolorów zespołu z poprzedniego sezonu z sekcji Dane w tutorialu, ale wskaźniki interfejsu użytkownika personalizowane wymagają więcej pracy programistycznej, aby wyświetlić wyn

Wyłącz Ognistą Przyjazną

Podczas gdy niektóre doświadczenia strzelców w pierwszej osobie karają graczy, którzy rozwali swych własnych członków zespołu, samplaserowa etykieta umożliwia więcej wybaczającą gry, wyłączając przyjazny ogień. Ta decyzja o projektowaniu pozwala tylko na zwiększenie wyniku zespołu, nie odejmując go od niego ze względu na wypadki w grze.

Aby zrozumieć, jak wbudowano tę funkcjonalność w przykładzie, zbadaj, jak LaserBlastHandler > processTaggedPlayers > naPlayerTagged > 2> naPlayerTagged2> > 5> <


local function onPlayerTagged(playerBlasted: Player, playerTagged: Player, damageAmount: number)

Zanim zmniejsza zdrowie, pierwsze weryfikuje, czy oznaczony gracz jest na tej samej drużynie co gracz, który inicjował eksplozję. Jeśli są na tej samej drużynie, to skrypt ignoruje wszystkie dane eksplozji.


local character = playerTagged.Character
local isFriendly = playerBlasted.Team == playerTagged.Team
-- Niedozwolony przyjazny ogień
if isFriendly then
return
end

Jeśli jednak oznaczony gracz jest na zespołach wrogich, gracz otrzymuje odpowiednią ilość obrażeń w zależności od wpisywaćblastera. Ponadto, jeśli gracz otrzymuje wystarczająco dużo obrażeń, aby zostać oznaczonym, skrypty nagradzają punkt do zespołu gracza, który inicjował eksplozję. Dla więcej informacji o tym, jak ś


local humanoid = character and character:FindFirstChild("Humanoid")
if humanoid and humanoid.Health > 0 then
local damage = math.min(damageAmount, humanoid.Health)
humanoid:TakeDamage(damage)
if humanoid.Health <= 0 then
Scoring.incrementScore(playerBlasted, 1)
end
end
end
return onPlayerTagged

Jeśli przetestujesz doświadczenie w tej chwili, wszystkie gracze pojawiałyby się losowo w jednej z tureckich stref spawneń, niezależnie od tego, do którego zespołu należą, co oznacza, że każdy zespół pojawi się właśnie po drugiej stronie.

Aby rozwiązać ten problem, następna sekcja samouczka uczy cię o logice niestandardowej za ograniczaniem tworzenia zespołu do pewnych lokalizacji tworzenia, obsługiwaniu stanu klienta, gdy gracze opuszczają obszar tworzenia po wyboru ich blastera i odtwarzaniu graczy w obszarze tworzenia lub obszarze lobby, gdy ich zdrowie osiągnie zero.