Yamanın büyük bölümü rehine moduna ayrılmış. Rehine artık ayrı bir CSHostage nesnesi. Harita, rehinenin ilk kez kaldırılmaya çalışılmasından kurtarılmasına ya da ölmesine kadar her adımını takip edebiliyor.
Yalnızca eşleştirme oynuyorsanız oyunda sizin için değişen bir şey yok. 22 Ekim tarihli değişiklik listesinde tek bir bölüm var: MAP SCRIPTING. Yeni özellikler, yapımcıları scriptlerini güncelledikçe Atölye haritalarında ve özel modlarda kullanılabilecek.
Rehineler artık sessiz bir modelden ibaret değil
CSHostage'a IsBeingPickedUp, IsBeingCarried ve IsRescued yöntemleri eklendi. Script, rehinenin kaldırılıp kaldırılmadığını, taşınıp taşınmadığını ve kurtarma noktasına ulaşıp ulaşmadığını öğrenebiliyor. GetRescuer rehineyi kurtaran oyuncuyu belirtiyor. GetPickUpStartTime ve GetPickUpFinishTime ise kaldırma işleminin başlangıç ve bitiş zamanlarını veriyor. Diğer tarafta CSPlayerPawn.GetHostage yöntemi de var; böylece rehineyle bağlantı oyuncu üzerinden de kontrol edilebiliyor.
Yeni yöntemlerle birlikte haritanın anında tepki verebildiği etkinlikler de geldi.
- OnHostagePickUpStart, oyuncu rehineyi kaldırmaya başladığında tetikleniyor.
- OnHostagePickUpAbort, yarıda kesilen kaldırma girişimini yakalıyor.
- OnHostagePickUp, rehine yerden kaldırıldığında tetikleniyor.
- OnHostageDrop, rehinenin bırakıldığını bildiriyor.
- OnHostageRescue, rehinenin kurtarılmasını bildiriyor.
- OnHostageKill, rehine öldüğünde tetikleniyor.
Harita yapımcısı, örneğin rehine kurtarıldığında puan verebilir ya da özel kuvvetler rehineyi aldığı anda terörist üssünde alarmı çalıştırabilir.
Console ve GameRules, Instance üzerindeki bazı işleri devraldı
Valve üst düzeyde iki yeni bölüm ekledi. Console, konsol değişkenleriyle ilgili işlevleri bir araya getiriyor. Değerler uygun türde okunabiliyor (GetConvarBoolean, GetConvarNumber, GetConvarString, GetConvarVector, GetConvarQAngle, GetConvarColor) ve SetConvar ile değiştirilebiliyor. Son yöntem sv_cheats'e bağlı değil ve senkron çalışıyor. Yani yeni değer, scriptin bir sonraki satırında geçerli oluyor.
| Önce | Sonra |
|---|---|
| Instance.Msg | Console.Log |
| Instance.ClientCommand, ServerCommand, RegisterCheatCommand | Aynı yöntemler Console içinde |
| Instance.IsWarmupPeriod, IsFreezePeriod, IsTeamIntroPeriod | Aynı yöntemler GameRules içinde |
| Instance.GetRoundsPlayed, GetRoundRemainingTime, SetRoundRemainingTime | Aynı yöntemler GameRules içinde |
| Instance.AddTeamMoney | GameRules.AddTeamMoney |
GameRules'a yeni yöntemler de eklendi. StartWarmup ve EndWarmup ısınma sürecini başlatıp bitiriyor. GetTeamScore takımın skorunu okuyor, AddTeamScore ise değiştiriyor. TerminateRound raundu bitiriyor. Harita scripti artık raundun ne zaman sona ereceğine kendisi karar verebiliyor.
Eski adlar şimdilik çalışıyor, ancak artık kullanımdan kaldırılacak olarak işaretlenmiş durumda. Ad değişikliği mekanik olduğu için, projede çok fazla çağrı birikmeden bunları taşımak daha kolay.
Script, kaynakların tüm oyunculara yüklenip yüklenmediğini görebiliyor
Instance.Precache, CSPrecache nesnesi döndürüyor. IsServerLoading ve IsServerLoaded, kaynağın sunucuya yüklenip yüklenmediğini; IsClientLoading ve IsClientLoaded ise istemciye yüklenme durumunu bildiriyor. IsLoadedForAll, kaynağın tüm oyuncular için hazır olup olmadığını gösteriyor. Kaynağa artık ihtiyaç kalmadığında Release onu serbest bırakıyor.
Arayüz, radar ve düzeltmeler
Yamanın geri kalanı küçük iyileştirmeler ve düzeltmelerden oluşuyor. Özel arayüz düzenine (custom_hud_layout) HUD_TEAMMENU_VISIBLE ve HUD_CHAT_VISIBLE adlı 2 üst düzey sınıf eklendi. Böylece takım seçme menüsü ya da sohbet açıkken arayüz düzeni değişebiliyor. radar_element artık yalnızca Rush modunda değil, tüm modlarda radarda görünüyor.
- GameRules.AddTeamMoney, CSTeamMoneyReason.NONE nedeni ile çağrıldığında artık oyunun çökmesine yol açmıyor.
- CSTeamMoneyReason ve CSWeaponAttackType enum değerleri, point_script.d.ts içindeki tür açıklamalarıyla eşleşecek şekilde güncellendi.
- CSRadarPoint.IsVisibleToTeam ve CSObservablePoint.IsObservableForTeam artık sayı yerine mantıksal değer döndürüyor.
- Günlükteki uyarılar artık JavaScript çağrı yığınını ve geçersiz argümanlara ilişkin ayrıntıları gösteriyor. Argüman numaralandırması da 1 yerine 0'dan başlıyor.
- Convar
- Okunup değiştirilebilen oyun konsolu değişkeni. Örneğin sunucu ya da istemci ayarı.
- sv_cheats
- Bazı konsol komutlarının kilidini açan sunucu ayarı.
- Precache
- Modellerin, seslerin ve diğer kaynakların oyunda ihtiyaç duyulmadan önce yüklenmesi.
Rehberler















