Beheers de kill: hoe maak je een kill-onderdeel in Roblox Studio?

Beheers de kill: hoe maak je een kill-onderdeel in Roblox Studio?

Om een ​​Kill Part in Roblox Studio te maken , plaats je een Part in je level, voeg je er een server-side Script onder toe en gebruik je de Touchedevent van de Part om de Humanoid van een speler te vinden en uit te schakelen. De onderstaande setup bevat een controle die alleen op de speler van toepassing is, een eenvoudige afkoelperiode en een ForceField-controle, zodat de val de spawnbeveiliging niet opheft.

Deze Roblox kill brick is geschikt voor obbies, hazard rooms en andere uitdagingen waarbij een speler gereset wordt zodra hij een oppervlak aanraakt. Je kunt het onderdeel ook onzichtbaar maken of aanpassen zodat het spelers schade toebrengt in plaats van ze te elimineren.

Voordat je de dodelijke steen bouwt

  • Open Roblox Studio en maak een nieuwe plek aan of open een bestaande plek.
  • Zorg ervoor dat de panelen Verkenner en Eigenschappen zichtbaar zijn. U kunt ze inschakelen via het menu Weergave van Studio als ze verborgen zijn.
  • Gebruik een testomgeving of een privékopie terwijl je de val bouwt en test.

Het script hoort thuis in het Hazard-gedeelte van Workspace. De standaardversie van Roblox Scriptdraait op de server vanuit Workspace; een script LocalScriptis niet de juiste keuze voor deze configuratie. Zie de Roblox-handleiding voor scripttypen en -locaties .

Stap 1: Maak en configureer het gevarenonderdeel

  1. Voeg een basisonderdeel in vanuit de gereedschappen Start of Model. Hernoem het in Verkenner naar een herkenbare naam, bijvoorbeeld KillPart.
  2. Verplaats het naar de gevaarlijke plek. Gebruik het paneel Eigenschappen of de schaaltools van Studio om een ​​formaat in te stellen dat spelers duidelijk kunnen zien en bereiken. Een brede, smalle tegel kan bijvoorbeeld de landingsplaats van een hindernisbaan bedekken.
  3. Stel Anchored in op true zodat de val op zijn plaats blijft. Houd CanTouch ingeschakeld; de aanraakgebeurtenis werkt niet als aanraakdetectie is uitgeschakeld.
  4. Kies een kleur en materiaal die gevaar uitstralen, zoals rood of oranje. Als het blok spelers moet tegenhouden, laat CanCollide dan ingeschakeld. Als het een verborgen triggervolume is, kun je CanCollide uitschakelen terwijl CanTouch ingeschakeld blijft.

TouchedEen verankerd kill brick kan nog steeds een bewegend personage detecteren. Roblox merkt op dat twee verankerde onderdelen elkaar niet triggeren , dus test dit door een personage over het onderdeel te bewegen in plaats van twee stilstaande blokken tegen elkaar te plaatsen. De BasePart.Touched-referentie legt het gedrag van de gebeurtenis en de aanraakvereisten uit.

Stap 2: Voeg een server-side kill-script toe

  1. Klik in Verkenner met de rechtermuisknop op het onderdeel KillPart, voeg een script in Scripten controleer of het script als een onderliggend element van het onderdeel wordt weergegeven.
  2. Open het script, verwijder de startcode en plak deze versie erin:
local Players = game:GetService("Players")
local trap = script.Parent
local hitCooldown = {}

trap.Touched:Connect(function(hit)
    local character = hit:FindFirstAncestorOfClass("Model")
    if not character then
        return
    end

    local player = Players:GetPlayerFromCharacter(character)
    if not player then
        return -- Remove this check if the trap should also kill NPCs.
    end

    local humanoid = character:FindFirstChildOfClass("Humanoid")
    if not humanoid or humanoid.Health <= 0 then
        return
    end

    -- Keep Roblox spawn protection intact.
    if character:FindFirstChildOfClass("ForceField") then
        return
    end

    if hitCooldown[humanoid] then
        return
    end
    hitCooldown[humanoid] = true

    humanoid.Health = 0

    task.delay(1, function()
        hitCooldown[humanoid] = nil
    end)
end)

TouchedHet script registreert het specifieke lichaamsdeel of accessoire dat contact maakte, niet het personagemodel zelf. Het script doorloopt daarom het betreffende model, zoekt naar een humanoïde en gebruikt deze Players:GetPlayerFromCharacter()om de toegang tot de speler te beperken. De afkoelperiode voorkomt dat meerdere lichaamsdelen hetzelfde contact herhaaldelijk verwerken.

Het script controleert op een ForceField voordat de gezondheid op nul wordt gezet. Direct instellen Humanoid.Healthkan de ForceField-bescherming omzeilen; de expliciete controle behoudt de spawn-bescherming voor deze val. Voor gewone schade die rekening moet houden met een ForceField, gebruik je humanoid:TakeDamage(25)in plaats van de gezondheidstoewijzing. Roblox beschrijft dit gezondheidsgedrag in de Humanoid-referentie en de ForceField-referentie .

Stap 3: Test het Kill-gedeelte

  1. Start een Studio-speeltest met de Play-knop en laat je personage het gevaar betreden.
  2. Controleer of het personage is uitgeschakeld en opnieuw verschijnt volgens de spawninstellingen van de locatie.
  3. Stop de test, pas het onderdeel of script aan en test opnieuw. Controleer het uitvoerpaneel op scriptfouten als er niets gebeurt.
  4. Als het om een ​​multiplayer-ervaring gaat, gebruik dan de server- en clienttestopties van Studio om het resultaat ook vanuit een clientsessie te bevestigen. De handleiding voor testmodi van Roblox Studio beschrijft de beschikbare testopstellingen.

Test zowel het zichtbare blok als het daadwerkelijke pad dat het personage erdoorheen loopt. Een val kan de indruk wekken dat hij de vloer overlapt, terwijl hij zich iets boven of onder de route bevindt. Pas de positie van de val aan als het personage erdoorheen loopt zonder contact te maken.

Nuttige variaties

Creëer een onzichtbare dodelijke zone.

Stel Transparantie in op 1 en CanCollide op false, maar laat CanTouch ingeschakeld. Dit creëert een verborgen triggergebied zonder een onzichtbare muur te maken. Plaats het zorgvuldig en test het vanuit het perspectief van de speler, zodat de zone eerlijk aanvoelt.

Zorg ervoor dat de val NPC's kan beïnvloeden.

Het voorbeeldscript negeert opzettelijk NPC's door terug te keren wanneer GetPlayerFromCharacter()er geen speler wordt gevonden. Verwijder deze spelercontrole als NPC-modellen met humanoïde kenmerken ook de val moeten activeren. Behoud de controles op humanoïde kenmerken en gezondheid, zodat irrelevante objecten worden genegeerd.

Gebruik schade in plaats van een directe eliminatie.

Vervang dit humanoid.Health = 0door een element humanoid:TakeDamage(25)om het onderdeel een schadelijk gevaar te maken. Pas de hoeveelheid aan je spel aan en test het vervolgens met een speler die een krachtveld heeft, zodat je kunt controleren of de spawnbeveiliging naar behoren werkt.

Probleemoplossing voor Kill Part

Wat gebeurt er?Wat moet je controleren?
De val heeft geen effect.Controleer of het script zich onder het onderdeel bevindt, of het object een script is en geen LocalScript, of CanTouch is ingeschakeld en of het personage het onderdeel fysiek aanraakt.
Het uitvoerpaneel geeft een fout weer.Controleer de spelling, de aanhalingstekens en of de code onder de waarschuwing in het script is geplakt.
Spelers passeren een onzichtbare val.Voor een triggerzone mag CanCollide uitgeschakeld zijn, maar CanTouch moet ingeschakeld blijven. Controleer of de zone de route van de speler omvat.
NPC's worden niet beïnvloed.Het voorbeeld is alleen voor spelers. Verwijder de GetPlayerFromCharacter-controle als er ook NPC's in moeten worden opgenomen.
Spelers overleven de val.Ze beschikken mogelijk over een krachtveld. Het voorbeeld laat personages die door een krachtveld worden beschermd opzettelijk ongedeerd.

Veelgestelde vragen

Moet het afsluitscript in Workspace of ServerScriptService worden geplaatst?

Voor deze basisconfiguratie plaatst u het script direct in het gevaarlijke onderdeel in de werkruimte. De werkruimte is een servercontainer voor de standaard uitvoeringscontext van scripts, en door het script bij het onderdeel te houden, is de val gemakkelijk te verplaatsen of te dupliceren.

Kan ik een LocalScript gebruiken voor een kill brick?

Gebruik voor dit voorbeeld een standaard server-side script. De server moet de spelgebeurtenissen beheren, zoals het aanpassen van de gezondheid van een personage, zodat het resultaat consistent wordt toegepast op alle spelers.

Zodra het basis -Kill Part-element in Roblox Studio werkt, dupliceer het dan voor extra gevaren, geef elk element een duidelijk visueel doel en test elke plaatsing voordat je het publiceert.

Laat een reactie achter

Hoe schakel je meldingen voor blauwe essentie uit in League of Legends?

Hoe schakel je meldingen voor blauwe essentie uit in League of Legends?

League of Legends heeft geen officiële meldingsschakelaar die alleen werkt met blauwe essentie. Leer hoe je meldingen voor nieuwe content kunt uitschakelen, pop-ups voor missiebeloningen kunt onderscheiden en Windows-banners kunt aanpassen.

Beste verticale gevoeligheidsmultiplicator in PUBG: begin bij 1.0

Beste verticale gevoeligheidsmultiplicator in PUBG: begin bij 1.0

Begin met een verticale gevoeligheid van 1,0 voor PUBG PC en leer vervolgens wanneer 1,1-1,2 kan helpen bij het beheersen van de terugslag en hoe je de afweging tussen terugslag en richtprecisie kunt inschatten.

Hoe je de reacties van het chatwiel in Dota 2 kunt wijzigen

Hoe je de reacties van het chatwiel in Dota 2 kunt wijzigen

Leer hoe je de tekst van het chatwiel in Dota 2 kunt aanpassen, kies je een primair of secundair chatwiel, controleer je sneltoetsen en voorkom je verwarring tussen de snelle chat en de stemfragmenten van je held.

Hoe je springen en over obstakels heen kunt toewijzen aan aparte toetsen in PUBG

Hoe je springen en over obstakels heen kunt toewijzen aan aparte toetsen in PUBG

Scheid de besturing voor springen en over obstakels klimmen in PUBG op pc om onbedoeld klimmen te voorkomen. Zoek de juiste toetsencombinaties, wijs ze toe, los conflicten op en test het resultaat.

Optimale sneltoetsinstellingen voor de klassieke sleepselectie in StarCraft: Remastered

Optimale sneltoetsinstellingen voor de klassieke sleepselectie in StarCraft: Remastered

Vergelijk de standaard, minimale aangepaste en compacte sneltoetsindelingen voor StarCraft: Remastered, met praktische selectie-inputs en aanbevelingen voor besturingsgroepen.

Beste instelling voor het dynamisch bereik van audio voor koptelefoons in Dota 2

Beste instelling voor het dynamisch bereik van audio voor koptelefoons in Dota 2

Vind de beste instellingen voor het dynamisch bereik van je koptelefoon voor Dota 2, leer wanneer compressie helpt en configureer het geluid voor duidelijke signalen zonder overdreven luide teamgevechten.

Hoe los je een kritieke League of Legends-fout op bij het opstarten?

Hoe los je een kritieke League of Legends-fout op bij het opstarten?

Los kritieke opstartfouten van League of Legends op door overlays te controleren, gamebestanden te repareren, stuurprogramma's bij te werken en configuratie- en serviceconflicten te testen.

Optimale muisgevoeligheid in StarCraft: Remastered voor nauwkeurig klikken

Optimale muisgevoeligheid in StarCraft: Remastered voor nauwkeurig klikken

Begin met een praktische muissnelheid als basis voor StarCraft: Remastered en pas vervolgens de gevoeligheid aan voor nauwkeurige eenheidsselectie, klikken op de minimap en scrollen.

Hoe los je het probleem op dat Dota 2 vastloopt tijdens het verbinden met de gamecoördinator?

Hoe los je het probleem op dat Dota 2 vastloopt tijdens het verbinden met de gamecoördinator?

Los het probleem op dat Dota 2 vastloopt op 'Verbinding maken met de spelcoördinator'. Controleer op serviceproblemen, herstart Steam, test je netwerk en controleer de spelbestanden.

Optimale schermgrootte-instellingen voor snellere kaartplaatsing in Clash Royale

Optimale schermgrootte-instellingen voor snellere kaartplaatsing in Clash Royale

Vind de beste schermgrootte voor je telefoon in Clash Royale voor de plaatsing van kaarten. Leer waarom de standaard scherminstellingen meestal het veiligst zijn en hoe je aanpassingen kunt testen op Android of iPhone.