Verse Patlatma Şablonu, iki takımın bomba sahaları kurmak ve bunları 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:
Enum’lar
Eşzamanlılık
Race
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üzenleyicisinde 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 | İzin Verilmemiş | Oyuncular diğer takımları seyredemez. |
Sınırsız Yapı Malzemesi | False | Oyuncular oyun sırasında sonsuz bina materyaline sahip olmaz. |
İnşa Ederken Çevreyi Yıkabilir | 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 | True | Oyundaki her takım, oyuncularının toplamı üzerinden istatistik 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 Alabilir | 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çerin 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 Stili | Kalın Turuncu | Geri sayım ekranı ve özel metin için stili ayarlar. |
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 istem olarak göreceği özel metni ayarlar. |
Başlatmak için Etkileşim Süresi | 5 | Başlatılmamış bir süreölçeri başlatmak için gereken etkileşim süresinin 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 istem olarak göreceği özel metni ayarlar. |
Durdurmak için Etkileşim Süresi | 5.0 | Aktif bir süreölçeri durdurmak için gereken etkileşim süresinin 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örüntülenen simgenin rengini ayarlar. Her takım için temsil edecek bir renk seç. |
Metin | Patlayıcı A - Patlayıcı B | Harita Göstergesi cihazı çiftinin birine Bomba A, diğerine 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 kodu aracılığıyla 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. |
Bitecek Ş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, diğeri ise Takım Dizini 2 olarak ayarlanır. |
Verse Kodları Ekleme
Öncelikle @editable fonksiyonuyla cihazlara referans göstererek aşağıdaki Verse kodlarını ekle.
Kodu yazıldığı sırayla kopyalayabilirsin. Açıklamalar netlik sağlamak için kod içine eklenir.
# enum to determine the state of the bombs
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
Cihazlara referans vermek için @editable kullanabilirsin.
# Runs when the device is started in a running game
OnBegin<override>()<suspends>:void=
# The race expression is used to run a block of two or more async expressions concurrently (simultaneously). When the fastest expression completes, it "wins the race".
# https://www.fortnite.com/en-US/creative/docs/uefn/race-in-verse
race:
Kodun birinci bölümü, Bomba A’nın mı yoksa Bomba B’nin mi önce kurulacağını belirlemek için race ifadesi kullanarak eşzamanlılığı gösterir.
block:
# Wait for Bomb B to be armed
ArmingPlayer:= TimedObjectiveB.StartedEvent.Await()
Print("Bomb B Armed",?Duration:=5.0)
Yukarıdaki kod, Zamanlı Hedef cihazının tamamlanması veya durdurulması beklenirken eşzamanlılığı gösterir.
# Disable the unarmed Beacons and enable the Beacon over the armed bomb
UpdateBeacons():void=
BombABeaconArm.Disable()
BombBBeaconArm.Disable()
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)
# Determine which set barrels should explode
if:
BombState = bomb_state.BombAArmed
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 Çekmecesi’nde 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, ayarları yukarıdaki fotoğrafta görüldüğü gibi referans verilen her bir cihazla eşleşecek şekilde 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ç.