Verse Patlama Şablonu iki takımın bomba sahaları kurmak ve etkisiz hale getirmek için savaştığı bir oyunu nasıl oluşturacağını gösterir.
Bu eğitimde koşullara bağlı olarak işaretleri gösterme gibi oynanış mekaniklerini gerçekleştirmek için Verse cihazı ve Harita Göstergesi cihazı gibi temel cihazlar kullanılır.
Bu şablonda aşağıdaki gibi Verse kavramları gösteriliyor:
-
Numaralandırma
-
Eşzamanlılık
-
Yarış
-
Bekleme
-
Genel Bakış
Bu adayı yeniden yapman için gereken adımları ideal sırasıyla kısa bir özet halinde aşağıda bulabilirsin:
-
Yeni bir proje oluştur ve oyunu kurmak için Ada Ayarlarını değiştir.
-
Cihazları ayarla.
-
Verse Kodunu ekle.
Yeni Bir Proje Oluşturma ve Oyunu Kurma
-
UEFN’i aç ve yeni bir boş proje oluştur.
-
Anahat Düzenleyicide IslandSettings cihazını seç ve Kullanıcı Seçenekleri - Oyun Kuralları bölümünü bul.
-
Kullanıcı Seçeneklerini aşağıda gösterildiği gibi değiştir.
Seçenek | Değer | Açıklama |
---|---|---|
Takımlar | Takım Dizini 2 | Oyuncular iki kişilik takımlara ayrılır. |
Toplam Raunt Sayısı | 5 | Oyun sona ermeden önce beş raunt oynanır. |
Diğer Takımları Seyretmeye İzin Ver | False | Oyuncular diğer takımları seyredemez. |
Sonsuz Kaynak | False | Oyuncular oyun sırasında sonsuz bina materyaline sahip olmaz. |
İnşa Ederken Çevreyi Yık | False | Oyuncu tarafından inşa edilen yapıları yerleştirmek, yapının çakıştığı çevre bölümünü yıkamaz. |
Çevre Hasarı | Kapalı | Oyuncular oyun sırasında çevreye hasar veremez. |
Kazmanın Verdiği Hasar | Yok | Kazmalar çevreye veya binalara hasar vermez. |
Elle Yeniden Doğmaya İzin Ver | False | Oyuncular oyun sırasında Yeniden Doğ menü seçeneğini kullanamaz. |
Takım Puanını Kullan | Doğru | Oyundaki her takım, oyuncularının toplamı üzerinden puan kazanır. |
Cihazları Ayarlama
Bu eğitimde şu cihazlar kullanılır:
-
8 adet Patlayıcı
-
2 adet Zamanlı Hedef
-
4 adet Harita Göstergesi
-
1 adet Oyunu Sonlandırma
-
~ adet Oyuncu Doğma Karesi
-
1 adet Verse
Patlayıcı Cihaz

Patlayıcı cihazı, patlayan süreölçerler için patlama sağlamak üzere kullan. Haritanın karşıt taraflarında dört Patlayıcı cihazdan oluşan bir grubu kopyala ve yapıştır.
Bu cihazı ayarlamak için Kullanıcı Seçeneklerini aşağıdaki gibi yapılandır:
Seçenek | Değer | Açıklama |
---|---|---|
Hasar Görebilir | False | Bu cihaz oyunculardan hasar almaz. |
Zamanlı Hedef

Zamanlı Hedef cihazı her bir alan için fünye olarak görev yapar. Her iki Patlayıcı cihaz grubunun üzerine bir Zamanlı Hedef cihazı yerleştir.
Bu cihazı ayarlamak için Kullanıcı Seçeneklerini aşağıdaki gibi yapılandır:
Seçenek | Değer | Açıklama |
---|---|---|
Süre | 30 | Hedef için süreölçer uzunluğunu belirler. |
Başlatma Puanı | 2 | Başlatılmamış bir süreölçer başlatıldığında ödül olarak kaç puan kazanılacağını belirler. |
Durdurma Puanı | 5 | Aktif bir süreölçer başarıyla durdurulduğunda kaç puan kazanılacağını belirler. |
Tamamlama Puanı | 3 | Süreölçer tamamlandığında ödül olarak kaç puan kazanılacağını belirler. |
Süreölçer Etiketi Metin Tarzı | Kalın Turuncu | Geri sayımın ve özel metnin görünümünü belirler. |
Başlatan Takım Filtresi | Takım Dizini 1 | Başlatılmamış bir süreölçeri hangi takımın başlatabileceğini belirler. |
Başlatma Etkileşim Metni | Bombayı Kur | Başlatılmamış bir süreölçeri başlatabilecek bir oyuncunun uyarı olarak göreceği özel metni belirler. |
Başlatmak İçin Etkileşim Süresi | 5 | Başlatılmamış bir süreölçeri başlatmak için süreölçerle etkileşime girilen sürenin uzunluğunu belirler. |
Durduran Takım Filtresi | Takım Dizini 2 | Aktif bir süreölçeri hangi takımın durdurabileceğini belirler. |
Durdurma Etkileşim Metni | Bombayı Etkisiz Hale Getir | Aktif bir süreölçeri durdurabilecek bir oyuncunun uyarı olarak göreceği özel metni belirler. |
Durdurmak İçin Etkileşim Süresi | 5,0 | Aktif bir süreölçeri durdurmak için süreölçerle etkileşime girilen sürenin uzunluğunu belirler. |
Süreölçer Sesinin Menzili | Tüm Harita | Süreölçer sesinin belirli bir menzil içinde mi, yoksa haritanın her yerinden mi duyulacağını belirler. |
Harita Göstergesi Cihazı

Mini harita üzerinde özel işaretleyiciler oluşturmak için Harita Göstergesi cihazını kullan. Her patlayıcı alanın üzerine her bir takım için birer tane olmak üzere iki Harita Göstergesi cihazı yerleştir.
Bu cihazı ayarlamak için Kullanıcı Seçeneklerini aşağıdaki gibi yapılandır:
Seçenek | Değer | Açıklama |
---|---|---|
Simge Rengi | bir renk seç | Gösterilen simgenin rengini belirler. Her bir takımı temsil edecek bir renk seç. |
Metin | Patlayıcı A - Patlayıcı B | Bir çift Harita Göstergesi cihazına Bomba A, diğer çifte ise Bomba B adını ver. |
Oyunu Sonlandırma Cihazı

Bombayı başarıyla etkisiz hale getirdikten sonra veya 30 saniye geçip bomba patlarsa Verse koduyla Oyunu Sonlandırma cihazını kullanarak raundu sonlandır.
Bu cihazı ayarlamak için Kullanıcı Seçeneklerini aşağıdaki gibi yapılandır:
Seçenek | Değer | Açıklama |
---|---|---|
Kazanan Takım | Etkinleştiren Takım | Cihazı etkinleştiren takım oyunu kazanır. |
Sonlandırılacak Şey | Raundu Sonlandır | Bu cihaz oyun raundunu sonlandırır. |
Oyuncu Doğma Karesi Cihazı

Takımın Oyuncu Doğma Karesi cihazlarını haritanın karşı taraflarında gruplandır. 1. Takım bombayı kurup 2. Takım bombayı etkisiz hale getirirken her takımın kendi çıkma yerleri olacak. Takımlar her rauntta yer değiştirir.
Bu cihazı ayarlamak için Kullanıcı Seçeneklerini aşağıdaki gibi yapılandır:
Seçenek | Değer | Açıklama |
---|---|---|
Oyuncu Takımı | Takım Dizini 1 - 2 | Bir doğma karesi seti Takım Dizini 1'e, diğeri Takım Dizini 2'ye ayarlanır. |
Verse Kodları Ekleme
@editable fonksiyonuyla cihazlara referans göstererek işe başlayarak aşağıdaki Verse kodlarını ekle.
Kodu yazıldığı sırayla kopyalayabilirsin. Açıklamalar netlik sağlamak için kod içine eklenir.
# bombaların durumunu belirleyen numaralandırma
bomb_state<public>:= enum {AllUnarmed, BombAArmed, BombBArmed}
Yukarıdaki kod, bombaların durumunu takip etmek için bir numaralandırma tanımlar.
search_and_destroy := class(creative_device):
Logger:log = log{Channel:=log_search_and_destroy}
@editable
TimedObjectiveA: timed_objective_device = timed_objective_device{}
@editable
TimedObjectiveB: timed_objective_device = timed_objective_device{}
@editable
ExplosiveBarrelsA: []explosive_device = array{}
@editable
ExplosiveBarrelsB: []explosive_device = array{}
@editable
EndGameDevice: end_game_device = end_game_device{}
@editable
BombAMapIndicators: []map_indicator_device = array{}
@editable
BombBMapIndicators: []map_indicator_device = array{}
@editable
BombABeaconArm: beacon_device = beacon_device{}
@editable
BombABeaconDisarm: beacon_device = beacon_device{}
@editable
BombBBeaconArm: beacon_device = beacon_device{}
@editable
BombBBeaconDisarm: beacon_device = beacon_device{}
var BombState:bomb_state = bomb_state.AllUnarmed
Cihazlara referans vermek için @editable kullanabilirsin.
# Cihaz, çalışmakta olan bir oyunda başlatıldığında çalışır
OnBegin<override>()<suspends>:void=
# race ifadesi iki veya daha fazla asenk ifade bloğunu eşzamanlı (aynı anda) çalıştırmak için kullanılır. En hızlı ifade tamamlandığında "yarışı kazanır".
# https://www.fortnite.com/en-US/creative/docs/uefn/race-in-verse
race:
block:
# Bomba A'nın kurulmasını bekle
ArmingPlayer:= TimedObjectiveA.StartedEvent.Await()
Print("Bomb A Armed",?Duration:=5.0)
# Hangi işaretlerin etkinleştirileceğini ve hangi varillerin patlaması gerektiğini bilmek için kullanılır
set BombState = bomb_state.BombAArmed
# Diğer Zamanlı Hedef cihazını devre dışı bırak
TimedObjectiveB.Disable(ArmingPlayer)
# Bomba B için harita göstergelerini devre dışı bırak
for (MapIndicator : BombBMapIndicators):
MapIndicator.Disable()
Kodun birinci bölümü, Bomba A’nın mı yoksa Bomba B'nin mi önce kurulduğunu belirlemek için race ifadesi kullanarak eşzamanlılığı gösterir.
block:
# Bomba B'nin kurulmasını bekle
ArmingPlayer:= TimedObjectiveB.StartedEvent.Await()
Print("Bomb B Armed",?Duration:=5.0)
# Hangi işaretlerin etkinleştirileceğini ve hangi varillerin patlaması gerektiğini bilmek için kullanılır
set BombState = bomb_state.BombBArmed
# Diğer Zamanlı Hedef cihazını devre dışı bırak
TimedObjectiveA.Disable(ArmingPlayer)
# Bomba A için harita göstergelerini devre dışı bırak
for (MapIndicator : BombAMapIndicators):
MapIndicator.Disable()
# Bir bomba kurulduktan sonra doğru İşaret Cihazlarını etkinleştir
UpdateBeacons()
# TimedObjective Cihazının Tamamlanmasını veya Durdurulmasını Bekle
race:
block:
BombDetonated(TimedObjectiveA.CompletedEvent.Await())
block:
BombDetonated(TimedObjectiveB.CompletedEvent.Await())
block:
DisarmingPlayer:= TimedObjectiveA.StoppedEvent.Await()
Print("Bomb Disarmed", ?Duration:=5.0)
EndGameDevice.Activate(DisarmingPlayer)
block:
DisarmingPlayer:= TimedObjectiveB.StoppedEvent.Await()
Print("Bomb Disarmed", ?Duration:=5.0)
EndGameDevice.Activate(DisarmingPlayer)
Yukarıdaki kod, Zamanlı Hedef cihazının tamamlanması veya durdurulması beklenirken eşzamanlılığı gösterir.
# Silahsız İşaretleri devre dışı bırak ve kurulu bomba üzerinde İşareti etkinleştir
UpdateBeacons():void=
BombABeaconArm.Disable()
BombBBeaconArm.Disable()
if:
BombState = bomb_state.BombAArmed
then:
BombABeaconDisarm.Enable()
else:
BombBBeaconDisarm.Enable()
Yukarıdaki kod, hangi bombanın kurulduğuna bağlı olarak işaretlerin durumunu günceller.
BombDetonated(Agent:agent):void=
Print("Bomb Detonated", ?Duration:=5.0)
# Hangi varil setinin patlaması gerektiğini belirler
if:
BombState = bomb_state.BombAArmed
then:
ExplodeBarrels(ExplosiveBarrelsA, Agent)
else:
ExplodeBarrels(ExplosiveBarrelsB, Agent)
EndGameDevice.Activate(Agent)
Zamanlı Hedef cihazı tamamlandığında yukarıdaki yöntem çağrılır. Hangi varillerin patlaması ve oyunu sonlandırması gerektiğini belirler.
ExplodeBarrels(Barrels:[]explosive_device, Agent:agent):void=
for (Barrel : Barrels):
Barrel.Explode(Agent)
Yukarıdaki for döngüsü her bir varili doğru bomba alanında patlatır.
Verse Cihazı

Verse kodunu derle, sonra cihazı İçerik Çekmecesinde bul. Ayarları özelleştirmek için Verse cihazını haritanın görülmeyen bir alanına sürükle.
Doğrudan olay bağlamayı gereken cihazlarla ilişkilendirmek için bu cihazı kullan, böylece Verse kodu bu cihazlara referans verebilir.

Cihazın Ayrıntılar panelinde, yukarıdaki fotoğrafta görüldüğü gibi referans verilen her bir cihazla eşleşecek şekilde ayarları yapılandır.
Bu cihazı ayarlamak için Kullanıcı Seçeneklerini aşağıdaki gibi yapılandır:
Seçenek | Değer | Açıklama |
---|---|---|
TimeObjectiveA | Zamanlı Hedef BombSiteA | Zamanlı Hedef cihazını Patlayıcı alana bağlar. |
TimeObjectiveB | Zamanlı Hedef BombSiteB | Zamanlı Hedef cihazını Patlayıcı alana bağlar. |
ExplosiveBarrelsA | 0 - BarrelBombSiteA_1 | Patlayıcı cihazı bağlar. |
ExplosiveBarrelsA | 1 - BarrelBombSiteA_2 | Patlayıcı cihazı bağlar. |
ExplosiveBarrelsA | 2 - BarrelBombSiteA_3 | Patlayıcı cihazı bağlar. |
ExplosiveBarrelsA | 3 - BarrelBombSiteA_4 | Patlayıcı cihazı bağlar. |
ExplosiveBarrelsB | 0 - BarrelBombSiteB_1 | Patlayıcı cihazı bağlar. |
ExplosiveBarrelsB | 1 - BarrelBombSiteB_2 | Patlayıcı cihazı bağlar. |
ExplosiveBarrelsB | 2 - BarrelBombSiteB_3 | Patlayıcı cihazı bağlar. |
ExplosiveBarrelsB | 3 - BarrelBombSiteB_4 | Patlayıcı cihazı bağlar. |
EndGameDevice | Oyunu Sonlandırma Cihazı2 | Oyunu Sonlandırma cihazını bağlar. |
BombAMapIndicators | 0 - Map_Team1_BombsiteA | Harita Göstergesi cihazını Patlayıcı alana bağlar. |
BombAMapIndicators | 1 - Map_Team2_BombsiteA | Harita Göstergesi cihazını Patlayıcı alana bağlar. |
BombBMapIndicators | 0 - Map_Team1_BombsiteB | Harita Göstergesi cihazını Patlayıcı alana bağlar. |
BombBMapIndicators | 1 - Map_Team2_BombsiteB | Harita Göstergesi cihazını Patlayıcı alana bağlar. |
BombABeaconArm | BeaconArmBombSiteA | A alanı için patlayıcıyı kurar. |
BombABeaconDisarm | BeaconDisarmBombSiteA | A alanı için patlayıcıyı etkisiz hale getirir. |
BombBBeaconArm | BeaconArmBombSiteB | B alanı için patlayıcıyı kurar. |
BombBBeaconDisarm | BeaconDisarmBombSiteB | B alanı için patlayıcıyı etkisiz hale getirir. |
Tamamlanan bölümünü test etmek için Oturumu Başlat'ı seç.