15-10-2023, 13:06
Hearts of Iron IV geliştirici günlüklerinde bu hafta Arms Against Tyranny Modlama Yeniliklerinden bahsediliyor.
https://forum.paradoxplaza.com/forum/dev...g.1598797/ :Ben Carlo. İçerik Tasarımcıları ve geliştiricileri olarak sadece içerik üretmekle kalmıyoruz, aynı zamanda işimizi daha iyi ve daha hızlı yapmak için her zaman yeni araçlar bulmaya çalışıyoruz. Ve HoI4 çılgınca modlanabilir olduğundan, bu araçlar modcular için de mevcut, bunlar Ortak Odak Ağaçları ile başlayarak mod yaparken yapabileceğiniz yeni şeylerden bazıları.
Ortak Odak Ağacı nasıl yapılır?
Özünde, bir OOA, koşullara bağlı olarak bir dizi üye ülkeye sahip olan ve odakların tamamlanmasının aralarında paylaşıldığı ve farklı etkilerin ya onları tamamlayan ülkeye, geri kalan ülkelere ya da hepsine eşit olarak uygulandığı bir Paylaşılan Odak Dalıdır.
Ve elbette, kaputun altında Paylaşılan Odaklardan birkaç yönden biraz farklıdırlar. Fark edeceğiniz ilk şey text_icon parametresidir, bundan daha sonra bahsedeceğiz, ancak fark edeceğiniz İKİNCİ şey joint_trigger bölümüdür. Bu, hangi ülkelerin OOA'nın bir parçası olarak kabul edileceğini ve ilgili etkilerini alacağını belirleyen bir tetikleyicidir. Bu durumda, ittifak lideri olup olmadığınızı veya bu ülke ile bir ittifakta olup olmadığınızı kontrol ediyor.
Normal odak ağaçlarından farklı olan bir diğer şey de Tamamlama Ödülleri için 3 (ÜÇ) farklı bölüm olmasıdır.
Birincisi, normal eski completion_reward, etkisini Ortak İttifak'taki geçerli her ülkede, herkes için aynı şekilde yapar.
Sonra completion_reward_joint_originator var, bu da etkiyi sadece odağı tamamlayan ülkede uygular.
Ve son olarak, odağı tamamlayan ülke olmayan ittifakın her geçerli üyesine etki eden completion_reward_joint_member.
Temel olarak bu kadar. Basit bir sistem, ancak bir dizi kullanım durumu ve varyasyona sahip olacak kadar esnek olacağını umuyoruz, özellikle de bir ittifak olması gerekmediği için! En bariz kullanım alanı olarak ittifakları kullandık, ancak istediğiniz sayıda ilgili veya ilgisiz ülkenin ağacı paylaşmasını sağlayabilirsiniz. Kıtadaki her ülke mi? Elbette. Her komünist ülke mi? Devam edin. Bir savaşın her iki tarafındaki ülkeler? Sizi durduramam!
Bununla ne yapacağınızı görmek için sabırsızlanıyorum.
Odak Başlığı Arka Planı
Bir önceki noktada text_icon parametresinden bahsetmiştim, bu şekilde size Odak başlıkları için arka planı değiştirme olanağı sunuyoruz. Bu, Ortak Odak Ağacını geliştirmek için eklenen özelliklerden biridir, ancak her türlü odak ağacı içeriği için yararlı olabilir...
Bunun ortaya çıkmasının nedeni, normal odakları ortak odaklardan hızlı bir şekilde ayırt etmenin bir yolunu bulmak istememizdi. İlk başta, odak simgelerinde aynı çerçeveye sahip olmalarını sağlamayı düşündük, ancak bu... İdeal olmadığını kanıtladı.
En büyük sorun, her odak simgesini hemen çok yoğun ve okunması zor hale getirmesidir.
Ayrıca, tüm ağaç her yerde beşgen olduğunda, çok tekrarlayıcı görünüyordu.
Sonunda, bu sorunu sanat veya tasarımla çözemeyeceğimizi kabul ettik ve aşırı bir önlem almak zorunda kalacaktık... Bir yazılımcıyla konuşmak D=
Zar zor hayatta kaldık, ancak zorlu bir süreçten sonra başlık arka planını değiştirilebilir bir sistem haline getirmeye karar verdik. En iyi seçenek buydu; uygulaması nispeten basit, dikkat çekici ve her simgeyi sıfırdan yapmamıza gerek yoktu. Tabii ki doğru görünümü elde etmek için hala biraz deneme yanılma süreci vardı.
Bunları kurmak nispeten kolaydır. İlk olarak, nationalfocusview.gfx dosyasında ayarladığınız 4 GFX girişini ayarlamanız gerekecek, bizim durumumuzda, animasyonların ve maskelerin çoğu gayet iyi çalışıyor, bu yüzden çoğunlukla kopyala yapıştır yapıldı.
Stil girişleri ekleyebileceğiniz ve her durum için GFX'leri belirleyebileceğiniz 00_titlebar_styles adlı yeni bir dosya var ve birini varsayılan olarak ayarlayın, böylece her bir odak için stili belirtmeniz gerekmez.
Ve şimdi yeni stilinizi text_icon parametresinde istediğiniz odaklarla kullanıyorsunuz. Bunlar odağa göre ayarlanır, böylece her türlü odakla çılgınca ve aptalca şeyler yapabilirsiniz!
Dinamik Odak Simgeleri
Ortak Odak Ağacı sayesinde eklediğimiz bir diğer özellik. Artık odak simgelerinin koşullara bağlı olarak değişmesini sağlayabilirsiniz. Bu uzun zamandır istediğim bir şeydi ama bunu yapmak için yeterince büyük bir bahane bulamamıştım... Şimdiye kadar.
Sonunda OOA için bunu eklememizin nedeni, size tematik bir ayrım sağlarken, birden fazla ideoloji olarak oynama seçeneğine sahip olmak istememizdir. Sonuçta, demokratik bir ittifak, monarşiler ve diktatörlüklerden oluşan bir ittifaktan çok farklı bir görünüme sahip olmalıdır.
Nasıl kuruldukları çok basittir. Bir GFX belirtmek yerine, parantez açıp bir tetikleyici ve bir değer girebilirsiniz. Doğru olan ilk değer o odak için simge olur! Daha kolay güncellenebilmesi için "dynamic = yes" parametresini eklemeyi unutmayın.
Olay Seçeneği Araç İpuçlarını Gösterme
Olaylarla uğraşırken en nefret ettiğim şeylerden biri, araç ipuçlarında olayların her iki tarafının etkilerini göstermektir. Genellikle, başka bir ülkeye başka bir olay gönderen bir olay seçeneğimiz olduğunda, size ülkenizde ve diğer ülkede ne olacağını göstermemiz gerekir, böylece hangisinin doğru seçim olduğuna daha iyi karar verebilirsiniz. Bu her zaman effect_tooltips eklemek ve diğer tarafın efektlerini içinde çoğaltmak anlamına geliyordu, bu da zaman alıcı ve bakımı ve takibi can sıkıcı.
Artık öyle değil! (Bir nevi). event_option_tooltip adında, seçeneğin görüntüleyeceği araç ipucunu göstermenizi sağlayan bir efekt ekledik.
Bu, "If They Accept" araç ipucundan sonra gelen efektler için de çok kullanışlıdır.
Her iki tarafta da show_event_tooltip varsa, yanlışlıkla sonsuz bir döngü ile oyunu çökertmemek için bir FROM içindeki herhangi bir şeyi yok saymak gibi bazı sınırlamaları vardır, ancak şimdiden zaman kazandırıcı oldu ve gelecekte onu geliştirmeyi umuyoruz. .
Savunmaların Verimliliğini Değiştirme
Bilirsiniz, her savunma aynı şekilde inşa edilmez, ancak şimdiye kadar HoI'de öyleydi. Norveç ve Danimarka'daki tahkimatların ne kadar kötü ve modası geçmiş olduğunu göstermeyi kolaylaştırmak için ekstra bir şeye ihtiyacımız vardı, bu yüzden savunmaların saldıran düşmana verdiği saldırı cezasını değiştiren birkaç yüzdesel değiştirici ekledik: land_bunker_effectiveness_factor ve coastal_bunker_effectiveness_factor.
Önceden, kötü savunmalara sahip olmayı temsil etmek istiyorsak, tek seçeneğimiz üretim hızlarını düşürmekti, bu da sayısal olarak biraz mantıklı olabilirdi ancak tematik olarak biraz garip geliyordu. Gerçekten kötü savunmalar yaparken çok hızlı olabilirsiniz ya da tam tersi.
Örneğin, bir savunma normalde %15 ceza veriyorsa ve land_bunker_effectiveness_factor'da -50% değerine sahipseniz, bu ceza %7,5'e düşürülecektir. Savunmalar zaten oldukça etkilidir, bu yüzden bunu onları daha da kötüleştirmek için kullanıyoruz, ancak elbette burada ve orada istisnalar var.
Benden bu kadar, ama Mano de Zombi'nin size göstereceği başka şeyler de var!
Mano de Zombi burada!
Güneşli bir tatilden bu İsveç tufanına döndükten sonra, hayatıma anlam katmak ve bana zevk aldığım ve bu havanın bile benim için mahvedemeyeceği şeyleri hatırlatmak için son zamanlarda aldığımız kod desteğinin bir kısmını gözden geçirmeye gerçekten ihtiyacım vardı.
İşte size geçtiğimiz aylarda muhteşem yazılımcılarımız tarafından eklenen işlevsellik, araçlar ve iyileştirmelerden bazıları:
Komut Dosyalı Loc artık Dinamik Değiştiricilerde kullanılabilir
Dinamik değiştiricileriniz artık dinamik olarak isim değiştirebilir (daha önce kopyalar oluşturmamız ve değiştiricileri değiştirmemiz gerekiyordu ve bu gerçekten acı verici ve çirkindi T_T)
create_wargoal efekti için Yeni Oluşturucu Parametreleri
Artık create_wargoal efektinde üreteç olarak bir dizi kullanabiliriz, bu da üreteç durumlarını efekt yürütüldüğünde dünya koşullarına göre ayarlamamıza olanak tanır:
İsterseniz önceden ayarlanmış bir dizi kullanabilirsiniz:
Ya da kendi dizinizi oluşturabilir ve sahip olmak istediğiniz gereksinimlere göre durumlar ekleyebilirsiniz:
CTRL + ALT + Tıklama için Yeni İşlevsellik
Belirli kullanıcı arayüzü öğeleri üzerinde CTRL+ALT+Tıklama kısayol tuşu için (sadece debug modunda) daha fazla işlevsellik ekledik.
Bu kısayol tuşunu bilmeyenler için, komut dosyası oluşturma ve hata ayıklama için son derece kullanışlı bir araçtır: kullanıcı arayüzünde belirli bir nesne üzerinde kullanıldığında, otomatik olarak dosyayı açar ve söz konusu nesnenin tanımlandığı satıra yönlendirir, böylece arkasındaki komut dosyasını hemen görebilir ve onunla ne yapmanız gerekiyorsa yapabilirsiniz.
Hızlı örnek: (hata ayıklama modu açıkken) bir odağa CTRL+ALT+Tıklayabilirsiniz ve uygun odak dosyasını açacak ve sizi tanımlandığı satıra yönlendirecektir:
Bir hatırlatma olarak, bu zaten odak, olay (olay seçeneklerinden herhangi birine tıklayarak), kararlar, fikirler (Ulusal Ruhlar, Tasarımcılar, Kanunlar, Subay Kolordu Ruhları), karakterler (danışmanlar, ülke liderleri, birim liderleri), teknolojiler ve doktrinlerde kullanılabilir.
Unuttuğum bir şey varsa lütfen beni affedin, bu yağmurda düşüncelerimi zar zor duyabiliyorum...
Şimdi, muhteşem yazılımcılarımız kullanılamayan danışmanların bununla çalışmamasıyla ilgili bir sorunu çözdüler (şimdi çalışıyorlar!) ve artık CTRL+ALT+Tıklayabilmemiz için yeni işlevler eklendi:
Gemi/Tank/Uçak Tasarımcılarında Tasarımcı Modülleri
Bölüm Tasarımcısındaki Taburlar
Üretim Sekmesindeki Üretim Hatları ve Ekipmanlar
İstihbarat Ajans Yükseltmeleri
Operasyonlar ve Aşamalar
EAO'lar ve Özellikler
Tümen Komutanları için İyileştirmeler.
Tümen Komutanlarının (Saha Subayları) komut dosyası oluşturma yöntemini biraz geliştirdik. Artık onları hem OOB dosyalarında hem de create_unit efektinin içinde yerelleştirilmiş bir adla ve portrelerle tanımlayabilirsiniz:
Parametre random_select_amount
Bu kullanışlı yeni parametre tüm every_[scope] efektlerine (every_character, every_state, every_other_country, vb.) eklenebilir. Parametre değer olarak bir tamsayı alır ve bu değer, perde arkasında çalışan "for" döngüsünü kırmadan önce efektin kaç kez çalışacağını belirtir.
Önceden, diyelim ki 3 rastgele duruma efekt uygulamak için birkaç farklı yolumuz vardı, ancak efektlerin aynı duruma iki kez uygulanamayacağından emin olmak için hepsi makul olmayan miktarda komut dosyası ve özel araç ipuçları gerektiriyordu ve hepsi çok boktan araç ipuçları oluşturuyordu.
Şimdi, random_select_amount kullanımı, aynı kapsamı iki kez seçme ve etkinin hedeflediği gerçek durumları gösteren standart bir araç ipucu oluşturma olasılığı olmadan çok basit bir şekilde bir dizi rastgele kapsama (devletler, karakterler, ülkeler ...) efekt uygulamamıza olanak tanır:
Görünmez birim liderlerini efektlere ve tetikleyicilere dahil etmek için filtre
Ülke tarafından görünür olup olmadıklarına bakmaksızın (örneğin, ülkenin henüz bir odağı tamamlamamış olması nedeniyle) tüm kara ve deniz subaylarınıza efekt uygulama ihtiyacınız olduysa, yeni include_invisible parametresini oldukça kullanışlı bulacaksınız.
Bu parametre artık birim liderleriyle (every/random/all/any_unit/navy/army_leader) ilgili tam kapsamlı tetikleyiciler ve efektler setinde isteğe bağlı bir parametre olarak mevcuttur. Varsayılan olarak false olarak ayarlanmıştır, bu nedenle yalnızca bir TAG'a ait tüm birim liderlerini, ülke tarafından görünür (kilidi açık) olup olmadıklarına bakılmaksızın kapsam altına almak istiyorsanız kullanmanız gerekir.
Parametreden yararlanan efektlerin ve tetikleyicilerin tam listesi:
every_unit_leader
random_unit_leader
every_army_leader
random_army_leader
every_navy_leader
random_navy_leader
all_unit_leader
all_army_leader
all_navy_leader
any_unit_leader
any_army_leader
any_navy_leader
Değişkenlerin hedeflenen değiştiricilerde etiket olarak kullanılması
Artık targeted_modifier bloğunun içine etiket parametresi olarak bir değişken girmek mümkündür, bu da uygun ülkeyi bir değişken içinde saklamamıza ve ardından uygun ülkeyi hedefleyen National Spirit'i çok kolay bir şekilde uygulamamıza olanak tanır!
Benden bu kadar, gelecekteki bir Geliştirici Günlüğünde görüşmek üzere!