logo
tr
Türkçe

Mail Framework Modı

Oluşturan: Digus
Güncellendi:2025-03-28 14:16:59
49KB
mcafee
Doğrulama
200,000,000+ Kullanıcı tarafından güveniliyor

Önkoşul Modlar

Mail Framework Modı kullandığınızda otomatik olarak yüklenecektir

Bu Mod Hakkında

Oyun içindeki posta kutusunu kullanmak için çerçeve. Postayı ayarlamak için konsol komutları. Kod ve İçerik Paketi arayüzleri.
Amaç:
Oyuncuya gönderilen postayı basitleştirin, böylece ne zaman ve neyin alınacağı konusunda daha fazla kontrol sahibi olun.
Ayrıca veri dosyalarını düzenlemekle mümkün olmayan daha fazla seçenek sunmak, örneğin mektupların yazı rengini ve arka planını isteğe göre değiştirmek gibi.

Kurulum:

Değişiklik Günlüğü:

1.20.0
  • Oyuna yeni bir özel varlık ekler. (DIGUS.MailFrameworkMod/MailData) Bu, MFM harflerinin artık Content Patcher ile yüklenebileceği ve belirteçler gibi tüm özelliklerinden yararlanabileceği anlamına gelir. Aynı özellikleri destekler.
  • İçerik Paketi harfleri de yeni özel varlığa yüklenir ve bu nedenle İçerik Yama Aracı ile düzenlenebilir.
  • İçerik Paketleri artık oyun başlangıcında önbelleğe yükleniyor, kayıt her yüklendiğinde yeniden yüklenmiyor. İçerik paketlerinin yeniden yüklenmesini konsol komutuyla zorlayabilirsiniz.
  • Metin ve Başlık özellikleri artık Tokenize edilebilir dizeyi destekliyor.
  • Doku varlıkları artık mod klasöründeki bir varlık değil, bir oyun varlığı olabilir.
  • Yeni GameStateQuery özelliği, bir mektubu teslim etme koşulu olarak.
1.19.0
  • Tüm koşullar sağlandıktan sonra bir postanın geçerliliğini korumak için yeni bir özellik, ancak posta o gün okunmadı.
  • Rastgele Seçilen Ek'i işlemek için yeni özellik
  • Ekli listeden teslimat için ne kadar öğenin seçileceğini ayarlamak için yeni özellik.
  • Bir Eklentiye "RandomGroup" atamak için yeni özellik, böylece tüm listeden seçmek yerine o gruptan seçim yapılabilir.
  • Rastgele seçildiğinde belirli bir eklenti için "Ağırlık" ayarlamaya yarayan yeni özellik.
  • Varsayılan değeri kullanmak yerine, belirli bir gruptan kaç öğenin seçileceğini ayarlamak için yeni özellik.
  • Belirli bir gruptaki bir öğenin birden fazla seçilebileceğini söyleyen yeni özellik.
  • Ekler ve yanıtlar için MailReceived gereksinimini belirlemek üzere yeni özellik kümesi
  • Bir mektup okunduğunda veya bir cevap seçeneği işaretlendiğinde MailReceived'ın kaldırılmasını sağlayan yeni özellik.
  • Belirli bir yanıt seçeneği için maliyet belirlemeye yönelik yeni özellik.
  • Yeni ItemType "None". Temel olarak, günlükte hata/uyarı tetiklemeden, bir öğenin teslim edilememe olasılığını rastgele belirlemek istediğinizde kullanılır.
1.18.0
  • CollectionConditions için Index ve Name'in yerini alacak yeni Ids özelliği. Birden fazla öğenin sayısını toplayabilir ve değerlerini tutarla karşılaştırmak için toplayabilir.
  • Yanıtlama davranışı eklemek için yeni ReplyConfig özelliği. Bir e-postayı okuduktan sonra oyuncuya bazı seçenekler gösterebilirsiniz ve seçilen seçeneğe bağlı olarak bir veya daha fazla MailReceived metni eklenecektir. Bu seçime bağlı olarak ek mod mantığı uygulanabilir.
  • CustomTextColorName özelliğini desteklemeyen tarifli harfe düzeltme.
  • Oyun içerisinde null isimli bir öğe yüklenirken oluşan null referans istisnası düzeltildi.
1.17.1
  • Tarif özelliği olan içerik paketi maillerinin, tarif öğrenilmediği takdirde tekrar iletilebilmesi için ek içermemesi gerekmektedir. (Ek varsa tarif özelliği göz ardı edilir)
  • Yemek tariflerini, daha önce tarif hazırlamada uygulanan mantığın aynısıyla düzeltin.
1.17.0
  • Eklentinin kalitesini ayarlamak için yeni özellik
  • Tarif içeren içerik paketi mailleri, tarif öğrenilmediği takdirde tekrar iletilmelidir.
  • Nitelikli öğe kimliğinin kullanılması durumunda Slingshot ile ilgili uyarılar düzeltildi.
  • Tarifler daha önceden öğrenilmiş olsa bile, üretilebilir ürünlerin tariflerinin teslim edilmesi düzeltildi.
  • Eski nedenlerden dolayı, eğer öğrenilen tariflerde tarif kimliği bulunamazsa, tarif kimliğinin adıyla bir öğe oluşturan bir tarif arayacaktır.
1.16.1
  • Tarifin çevrilmiş adına düzeltme.
1.16.0
  • Modun Stardew Valley 1.6 ile uyumlu olması için güncelleme yapıldı
  • İçerik paketlerini yeniden yüklemek için yeni komut
  • MailDao adı MailRepository olarak değiştirildi. (Sadece bunu kullanan SMAPI modlarını etkiler)
  • Eklentiler için yeni Öğe Türü 'QualifiedItemId', doğru nitelendirmeyi kullanırsanız oyundaki her tür öğe için çalışmalıdır.
  • Özel günler için yeni mülk koşulları. (Düğün ve Doğum)
  • CustomTextColor için yeni özellik, eski özellik kullanımdan kaldırıldı.
  • Yeni HasMods özelliği
  • Yeni RequireAllMods özelliği
  • Olay kimlikleri artık dizelerdir. (sayılar hala işe yaramalıdır)
  • MFM'den eski mantık SV 1.6 kaldırıldı.
  • Alfa sürümünde e-posta toplama sayfasında mektubun açılmaması sorunu düzeltildi.
Spoiler:
Göstermek
1.15.0
  • SMAPI modları için yeni API arayüzü.
  • SMAPI modunuzun içinden içerik paketi klasörünü yüklemek için API yöntemi.
  • Bir mektubu yüklemek için API yöntemi.
  • Mektup verisini almak için API metodu.
  • Bir mektubun posta veri dizesini almak için API yöntemi.
  • Mektup kapatılırken hata oluştuğunda posta kutusunun düzgün çalışmaması sorunu giderildi.
  • Bu hataları kaydetmek daha iyi olur.
1.14.0
  • SMAPI 4 ile uyumluluk için daha fazla değişiklik
  • ITranslationHelper'ı ayarlamak için harf sınıfındaki yeni öznitelik.
  • İçerik paketinde herhangi bir değişikliğe gerek yok, ancak bu değişiklik bazı nadir i18n sorunlarını önleyecektir.
  • Kod aracılığıyla MFM kullanan modlar uygulamalarını güncelleyebilirler.
1.13.0
  • Modu SMAPI 4 ile uyumlu hale getirin.
  • En Derin Maden seviyesi için yeni özellik.
  • Mevcut parayla yeni mülk.
  • Kazanılan toplam para karşılığında yeni mülk.
  • Moderatörlerin hata ayıklamasına yardımcı olmak için posta kutusunun güncellenmesini zorlayan yeni konsol komutu.
  • Mektup toplama menüsü artık özel kapatma düğmesini de gösteriyor.
1.12.2
  • Modu, SMAPI'yi dönüştürmeye zorlamadan 1.5.5 ile uyumlu hale getirin.
  • Unix işletim sisteminde çalışmayan eklentilerle ilgili bazı sorunları düzeltmelidir.
  • Ev Yükseltme Seviyesi için Yeni Mülk.
1.12.1
  • Genişletilmiş Ön Koşullar Yardımcı Programı yüklenmediğinde oluşan hata düzeltildi.
1.12.0
  • Kullanımını desteklemek için yeni özelliklerGenişletilmiş Ön Koşullar
  • Oyuncunun MailReceived listesine harf id'sinin yanı sıra metin eklemeyi mümkün kılan yeni özellik.
1.11.0
  • DGA'ya (Dinamik Oyun Varlıkları) ek olarak destek.
1.10.2
  • Json Varlıkları tarafından eklendiğinde İngilizce yemek tarifi adlarının null olarak gösterilmesi sorunu düzeltildi.
1.10.1
  • i18n dosyaları olduğunda modu bozan metinsiz otomatik açılan harfler düzeltildi.
  • İçerik paketinden gelen mektubun bir toplama koşulu uyarısından sonra yüklenmemesi sorunu düzeltildi.
  • Tarif hazırlama için yeni koleksiyon gereksinimi türü ekler.
1.10.0
  • Artık tüm vanilya araçları destekleniyor.
  • Silah olarak vanilya sapanlarına destek. Bir sapanın dizinini veya adını kullanırsanız, sapan doğru şekilde oluşturulur.
  • Gerçek bir mektup yazmadan, bir mektup kimliğini okunmuş olarak kaydetmek için MFM koşullarını kullanmak istediğinizde kullanabileceğiniz yeni "Otomatik Aç" özelliği.
1.9.2
  • İçerik paketlerinden varlık yükleme için optimizasyon.
  • Envantere bir öğe eklemek için bir menü açıldığında harflerin geri çağrılmasının çağrılmaması sorunu düzeltildi.
1.9.1
  • Posta kutusuna tıkladığınızda bir nesne tutuyorsanız, MFM mektubunun geçerli gün için açılmaması ve kutudan çıkarılmaması hatası düzeltildi.
1.9.0
  • SMAPI ile oluşturulan mektuba dinamik olarak öğe eklemek için yeni özellik.
  • Posta kutunuzdan mektupları kaldırmanın yeni yöntemi.
1.8.1
  • Yerel kooperatifte çakışma e-postalarını önlemek için düzeltme.
  • Oyun tarafından harf menüsü düzgün kapatılmadığında modun çalışmayı durdurmasına neden olan nadir durumlar düzeltildi.
1.8.0
  • Mobilya, Silah ve Bot gibi eşyalara destek olarak kullanılabilir.
  • Ekli araçların yükseltme seviyesini ayarlamak için yeni özellik.
1.7.0
  • Halkaların eklenti olarak kullanılmasına destek.
  • Tariflere yeni koşullar.
  • İçerik paketleriyle arka plan özelleştirmesi için yeni özellik.
  • İçerik paketi ve kod ile Kapatma Düğmesi özelleştirme desteği.
1.6.0
  • İçerik paketlerinde i18n desteği.
  • Çiftlikteki binalar için yeni şartlar.
  • Alınan postalar için yeni koşul özellikleri. (Bu, görev bayrakları için kullanılır)
  • Etkinlikler için yeni koşullar.
  • Koleksiyon menü öğeleri için yeni koşullar listesi.
  • Oyun istatistikleri için yeni koşullar listesi.
  • NPC arkadaşlık koşulları listesi için arkadaşlık durumu için yeni özellik.
  • Grup Kimlikleri çakıştığında yeni rastgele işlevsellik.
1.5.1
  • Hiçbir grup kimliği olmayan harflerin bir arada gruplandırılması düzeltildi.
1.5.0
  • Başlık tanımlandığında artık Harf koleksiyon menüsünde gösterilecek. Özel dokular ve renkler de koleksiyon menüsünde gösterilecek.
  • Mektuplar artık grup kimliğine sahip olabilir. Aynı grup kimliğine sahip mektuplar asla aynı gün teslim edilmez.
  • İçerik paketleri için yeni koşul: "RandomChance".
  • BigObject artık oyun kodunda olduğu gibi BigCraftable adını aldı.
  • Şablondaki yazım hataları düzeltildi.
1.4.1
  • Stardew Valley 1.4.0 desteği eklendi
  • Harfler için koleksiyon menüsünde gösterilecek Başlık özelliği eklendi. Henüz tam olarak uygulanmadı, ancak mod geliştiricileri bunu ayarlamaya başlayabilir.
1.4.0
  • Mod yapımcılarının özel harfler eklemesi için bir içerik paketi desteği ekler, bu çerçevenin sağladığı tüm özelliklere yönelik yapılandırmalar ve çoğunlukla yaygın olarak kullanılan teslimat koşulları içerir.
  • Ekli öğeleri almak için çalışmayan denetleyicileri düzeltin.
  • E-postaya birden fazla öğe eklenmişse eklerin düzgün bir şekilde gösterilmesi için düzeltme.
  • Envanteriniz dolu olduğunda mektubun kapanmaması ve bunu yönetmek için bir menü açılması düzeltildi.
  • Yapılandırıldığında bile postaya bir öğe yığınının eklenmemesi sorunu düzeltildi.
  • SMAPI 3 desteği ekler
1.3.4
  • Stardew Valley 1.3.36'ya destek eklendi
1.3.3
  • SMAPI 3 desteği ekler
1.3.2
  • Stardew Valley 1.3.32'ye destek eklendi
1.3.1
  • Oyuncunun aldığı posta listesine ekleme ve çıkarma komutları ekler.
1.3.0-beta.6
  • Tarif hazırlama desteği ekler
  • Özel arka plana destek ekler
  • Özel metin rengine destek ekler
  • Özel mektubu açmanın yeni yolu, artık Harmony'i kullanıyor
  • Özel mektupları açmanın eski yolunu etkinleştirmek için yapılandırma dosyası.
1.2.0
  • i18n tariflerine destek.
  • Başlık menüsüne döndükten sonra modun düzgün çalışmaması sorunu düzeltildi.
  • Bir mektubun durumu bir istisna oluşturduğunda postanın teslim edilmemesi sorunu düzeltildi.
1.1.0
  • Uyurken "vergi geçti" e-postası alma ve özel bir e-postayı okumadan oyundan çıkma sorunu düzeltildi.
  • Özel maillerde tarifler yer alabilir.
  • Bu sürüm eski sürümle uyumlu değil. Bu sürümü kullanabilmek için modların güncellenmesi gerekiyor.
1.0.0
  • Özel e-postalar ekleyin
  • Özel postalar öğeler içerebilir.

Modcuların içerik paketini kullanabilmesi için:
  • Mod klasörünün içerisinde her özelliğin ne işe yaradığını açıklayan açıklamalı talimatlar içeren bir şablon bulunmaktadır.
  • Tüm harf özellikleri, ancak koşullar ve geri çağırma, framework ile kodlama ile aynıdır.
  • Koşullar uygulananlarla sınırlıdır ve geri arama, mektup kimliğini her zaman alınan olarak ayarlar. Gelişmiş koşullara ihtiyacınız varsa, bunları yine de kodlamanız gerekir. Ya da içerik paketine bir koşul eklememi nazikçe önerebilirsiniz; mantıklı bir şeyse, ekleyebilirim.
  • Mod dosyasına eklenen şablon şu şekilde:
Spoiler:
Göstermek
[
    {
"Id": "MyMod.MyMailId", // Harf kimliği. Çakışmaları önlemek için benzersiz bir dize olması önemlidir. Ayrıca boşluk karakterleri içermemelidir.
"GroupId": "MyMod.MyGroupId", // Mektup grubu kimliği. Aynı grup kimliğine sahip mektuplar asla aynı gün içinde teslim edilmez. Grup kimliği ".Random" ile bitmediği sürece, önce kaydedilen mektuplar önceliklidir; bu durumda rastgele bir mektup seçilir. Varsayılan değer null'dır.
"Başlık": "Mektubumun Başlığı", // Mektup başlığı. Koleksiyonlar menüsünde gösterilecektir. Mektubun koleksiyonda görünmesini istemiyorsanız, boş bırakın veya satırı kaldırın. Bir çeviri dosyası sağlanmışsa, buraya bir çeviri anahtarı girmelisiniz, ancak Başlık yoksa yine de boş bırakabilirsiniz.
"Metin": "Sevgili @^Bu benim özel e-postam.", // Mektubun metni. Oyuncunun adını eklemek için @, satır sonları için ^ kullanabilirsiniz. Ayrıca para, eşya vb. eklemek için temel oyun komutlarını da kullanabilirsiniz. Bir çeviri dosyası sağlanmışsa, buraya bir çeviri anahtarı eklemelisiniz.
"RandomlyChooseAttachment": 2, // Bir sayı ayarlanırsa, ek listesinden grup başına rastgele o miktarda öğe seçecektir. Varsayılan değer null'dır.
"RandomlyChooseAttachmentPerGroup": { "CaveItems": 3 }, // Burada bir grup ve miktar ayarlanırsa, RandomlyChooseAttachment'ta ayarlanan miktar yerine öğeleri seçmek için bu miktar kullanılır. Varsayılan değer boştur.
"AttachmentGroupWithReplacement": [ "CaveItems" ], // Ekler varsayılan olarak listeden rastgele seçilir ve değiştirilmez. Seçimin eklerin yerine geçmesini istiyorsanız, grubu listeye ekleyin. Grup eklemediyseniz, boş bir dize kullanın. Varsayılan değer boş bir listedir.
"Ekler": [ // Eklerin listesi. Postaya öğe eklememe özelliğini kaldırın.
            {
"Tür": "Nesne", // [Nesne|BüyükElişleri|Araç|Yüzük|Mobilya|Silah|Botlar|DGA|NitelikliÖğeKimliği|Yok] Gerekli. Eklenecek öğenin türü. Belirtilmezse öğe yok sayılır. 'Yok' günlükte her zaman hata olmadan göz ardı edilir ve bir ek eklememe olasılığını istediğinizde kullanılmalıdır.
"Ad": "Mağara Havucu", // Öğe dizinini bulmak için kullanılır. Json Assets gibi özel nesneler kullanılıyorsa bu gereklidir. DGA kullanılıyorsa tam DGA Kimliği olmalıdır. Sağlanmazsa, dizin kullanılır. Varsayılan değer null'dır.
"Dizin": "(0)78", // Bir öğenin dizini. Nitelikli öğe kimliği bir dize olarak olmalıdır, ancak geriye dönük uyumluluk için tam sayı olarak da kullanılabilir. Herhangi bir ad belirtilmezse veya ad için bir öğe bulunamazsa, dizin kullanılır. Aksi takdirde, ek yoksayılır. Tür DGA ise yoksayılır.
"Yığın": 1, // Teslim edilecek öğenin yığın değeri. Yalnızca Nesneler ve BigCraftable için kullanılır. Varsayılan değer 1'dir.
"Kalite": 2, // Teslim edilecek ürünün kalite değeri. Yalnızca Nesneler için kullanılır. 0 = yok, 1 = gümüş, 2 = altın, 4 = iridyum. Varsayılan değer 0'dır;
"RequireMailReceived": [ "jojaVault", "ccVault" ], // Postalardan birinin alınmış olmasını gerektirir. Oyun listesi, topluluk merkezi bayrakları gibi posta olmayan başka öğeler de içerir. Varsayılan değer, alınan bir postayı gerektirmemek için boş veya hayırdır.
"RequireAllMailReceived": false, // True ise, "RequireMailReceived" listesindeki tüm e-postaların alınmış olması gerekir. Varsayılan değer false'tur.
"ProbabilityWeight": 1, // Bu eklentinin hangisini teslim edeceğini seçerken sahip olduğu ağırlık. Mod, belirli bir gruptaki tüm ağırlıkları toplar ve bu ağırlığı toplama bölerek bir olasılık değeri verir. Varsayılan değer 1'dir.
"RandomGroup": "MağaraÖğeleri" // Öğeleri rastgele seçerken, listeyi bulunan gruplara göre gruplandırın ve her gruptan belirlenen miktarı seçin. Varsayılan değer, varsayılan grup işlevi gören boş bir dizedir.
},
            {
"Tür": "Araç", // Araç kullanıldığında yalnızca desteklenenler eklenebilir.
"Ad": "Balta", // [Balta|Çapa|Sulama Kabı|Kazma|Tırpan|Altın Tırpan|Süt Kovası|Makas|Olta|Tava|Asayı Geri Ver] Aletler için gereklidir. Desteklenen aletin adı. Aksi takdirde, eklenti yok sayılır.
"UpgradeLevel": 1 // Aletin yükseltme seviyesi. Normal aletler: 0 = taş, 1 = bakır, 2 = çelik, 3 = altın, 4 = iridyum. Olta: 0 = Bambu Olta, 1 = Eğitim Oltası, 2 = Fiberglas Olta, 3 = İridyum Olta. Diğer türler için göz ardı edilir. Varsayılan değer 0'dır.
},
            {
"Tür": "DGA", //DGA öğesi
"Name": "spacechase0.DynamicGameAssets.Example/My Custom Item", // tam DGA kimliğini kullanın. Gerekli.
"Yığın": 10, // Teslim edilecek öğenin yığın değeri. Yalnızca Nesneler ve BigCraftable için kullanılır. Varsayılan değer 1'dir.
"Kalite": 2 // Teslim edilecek ürünün kalite değeri. Yalnızca Nesneler için kullanılır. 0 = yok, 1 = gümüş, 2 = altın, 4 = iridyum. Varsayılan değer 0'dır;
},
            {
"Tür": "QualifiedItemId", //Desteklenen herhangi bir öğe
"Dizin": "(0)78", // Bir öğenin Nitelikli Öğe Kimliği.
"Yığın": 10, // Teslim edilecek öğenin yığın değeri. Yalnızca Nesneler ve BigCraftable için kullanılır. Varsayılan değer 1'dir;
"Kalite": 2 // Teslim edilecek ürünün kalite değeri. Yalnızca Nesneler için kullanılır. 0 = yok, 1 = gümüş, 2 = altın, 4 = iridyum. Varsayılan değer 0'dır;
            }
],
"Tarif": "Tarif Adı", // E-postaya tarif eklemek istemiyorsanız bu satırı kaldırın. Bu, yalnızca e-postaya başka bir ekiniz yoksa işe yarar. DGA tarifleri için yalnızca ID kısmını kullanın (ModID kısmını kullanmayın).
"AdditionalMailReceived": ["MyMod.AnotherMailId", "VANILLA_FLAG"], // MailReceived listesine ek metin eklemek için bunu kullanın. Vanilya bayrakları veya diğer MFM harf kimliklerini eklemek için kullanışlı olabilir.
"MailReceivedToRemove": ["MyMod.AnotherMailThatNeedToBeResent","MyMod.SomeFlagThatWasLockingSomeFeature"], //MailReceived listesinden kaldırılacak metin. Bu, yeni e-postaları, etkinlikleri, geçici işaretleri tetiklemek ve diğer MFM e-postalarının gönderilmesini engellemek için kullanılabilir...
"LetterBG": "CustomLetterBG.png", // İçerik paketinizde kullanılacak özel harf arka planına sahip dosyanın adı. Oyun LetterBG dosyasıyla aynı yapıyı izlemelidir. WhichBG, bu harf için bu dosyaya göreli olacaktır. Boşsa veya kaldırılırsa, mod oyun LetterBG'sini kullanacaktır.
"WhichBG": 0, //Harf arka planının kimliği. 0 = klasik, 1 = not defteri, 2 = piramitler
"TextColor": -1, // Varsayılan rengi kullanmak için bu satırı kaldırın. CustomTextColor ayarlanmışsa yok sayılır. -1 = Koyu Kırmızı, 0 = Siyah, 1 = Gök Mavisi, 2 = Kırmızı, 3 = Mavi Menekşe, 4 = Beyaz, 5 = Turuncu Kırmızı, 6 = Limon Yeşili, 7 = Camgöbeği, 8 = En Koyu Gri
"CustomTextColorName": "Beyaz", //Metnin rengi.[http://www.foszor.com/blog/xna-color-chart/] Varsayılan olarak TextColor özelliği kullanılacaktır.
"UpperRightCloseButton": "CustomCloseButton.png", // İçerik paketinizde kullanılacak özel kapatma düğmesinin bulunduğu dosyanın adı. 12 x 12 boyutunda olmalıdır. Boş veya silinmişse, varsayılan düğmeyi kullanacaktır.
"ReplyConfig": { // Oyuncunun mektubu okuduktan sonra bir cevap göndermesini istiyorsanız, oyuncunun cevabına göre bir veya daha fazla "ReceivedMail" ekleyecek cevap seçeneklerini gösterecektir. Cevapla ilgili herhangi bir ek mantık, eklenen ReceivedMail'e göre uygulanmalıdır.
"QuestionKey": "MyMod.MyMailId.Question", //Sorunuzu tanımlayan bir anahtar. Yalnızca dahili kullanım içindir, ancak yanıtlar arasında çakışmayı önlemek için içerik paketinizde benzersiz olmalıdır.
"QuestionDialog": "Ödülünüzü seçerek bir yanıt gönderin:", // Yanıt seçeneklerinin üzerinde gösterilecek sorunuz veya metniniz. Bir çeviri dosyası sağlanmışsa, buraya bir çeviri anahtarı girmelisiniz.
"Yanıtlar": [
                {
"ReplyKey": "MyMod.MyMailId.Reply1", //Soru cevapları arasında benzersiz olmalıdır.
"ReplyOptionDialog": "Tohum istiyorum.", // Yanıt listesinde gösterilecek seçenek metni. Bir çeviri dosyası sağlanmışsa, buraya bir çeviri anahtarı girmelisiniz.
"RequireMailReceived": [ "jojaVault", "ccVault" ], // Postalardan birinin alınmış olmasını gerektirir. Oyun listesi, topluluk merkezi bayrakları gibi posta olmayan başka öğeler de içerir. Varsayılan değer, alınan bir postayı gerektirmemek için boş veya hayırdır.
"RequireAllMailReceived": false, // True ise, "RequireMailReceived" listesindeki tüm e-postaların alınmış olması gerekir. Varsayılan değer false'tur.
"MailReceivedToAdd": [ "MyMod.MyMailId.PlayerSeedOption" ], // MailReceived listesine eklenecek metin. Bu, yeni e-postaları, etkinlikleri, geçici işaretleri tetiklemek ve diğer MFM e-postalarının gönderilmesini durdurmak için kullanılabilir...
"MailReceivedToRemove": [ "MyMod.MyMailId.PlayerSapplingOption" ], //MailReceived listesinden kaldırılacak metin. Bu, yeni e-postaları, etkinlikleri, geçici işaretleri tetiklemek ve diğer MFM e-postalarının gönderilmesini durdurmak için kullanılabilir...
"ReplyResponseDialog": "Tohum talep eden mektubunuz gönderildi.", // Bu yanıt seçeneği belirlendikten sonra gösterilecek metin. Bir çeviri dosyası sağlanmışsa, buraya bir çeviri anahtarı girmelisiniz.
"Maliyet": 50 //Oyuncunun bu seçeneği seçebilmesi için gereken para miktarı. Eğer seçerse, bu miktar oyuncunun parasından hemen düşülür. Her zaman ücretsiz bir seçenek sunun, aksi takdirde oyuncuyu oyundan çıkarabilirsiniz.
                }
            ]
},
"Tekrarlanabilir": false, // Eğer doğruysa mod bunu kontrol etmeyecektir, harf Id zaten teslim edilmiştir. Varsayılan değer false'tur.
"AutoOpen": false, // Doğruysa, mod, koşullar karşılandıktan sonraki günün başında mektubu açacaktır. Mektup kimliği okundu olarak işaretlenecek ve bir tarif ayarlanmışsa öğrenilecektir. Mektup asla gösterilmeyeceği için, başlık, metin, arka plan gibi görsel özellikler ve ekler asla kullanılmayacaktır.
// TESLİMAT KOŞULLARI
//Teslimat koşulları aşağıdadır. Bu koşulu kontrol etmek istemiyorsanız satırlardan herhangi birini kaldırın.
"Tarih": "10 bahar Y1", // Bu tarih veya sonrasında olmalıdır. Biçimi şöyledir: "[1-28] [ilkbahar|yaz|sonbahar|kış] Y[1-999]".
"Günler": [7,14,21,28], // Listedeki günlerden biri olmalı.
"Mevsimler": ["sonbahar"], // Listedeki mevsimlerden biri olmalı. [ilkbahar|yaz|sonbahar|kış]
"Hava Durumu": "güneşli", // Maç havası olmalı. Format "[güneşli|yağmurlu]".
"HouseUpgradeLevel": 2, // Evin yükseltme seviyesi tanımlanan seviyeye eşit veya daha yüksek olmalıdır. 0 - başlangıç evi (bunu kullanmak için bir sebep yok, sadece satırı kaldırın), 1 - mutfak, 2 - ikinci kat, 3 - kiler.
"DeepestMineLevel": 80, // En derin maden seviyesi, tanımlanan seviyeye eşit veya daha yüksek olmalıdır. 120 madenin son seviyesi, 121 ise kafatası mağarasının ilk seviyesidir.
"CurrentMoney": 10000, // Cari para, tanımlanan değere eşit veya daha yüksek olmalıdır.
"TotalMoneyEarned": 500000, // Kazanılan toplam para, tanımlanan miktara eşit veya daha yüksek olmalıdır.
"FriendshipConditions": // Listedeki her NPC tüm koşulları kontrol etmelidir.
        [
            {
"NpcName": "Lewis", //NPC'nin adı. Özel NPC'ler kullanılabilir.
"FriendshipLevel": 8, // NPC'nin arkadaşlık kalbi seviyesi, tanımlanan seviyeye eşit veya daha yüksek olmalıdır. Varsayılan değer 0'dır.
"ArkadaşlıkDurumu": ["Arkadaşlık", "Nişanlı", "Evli"] // [Arkadaşlık|Arkadaşlık|Nişanlı|Evli|Boşanmış] NPC arkadaşlık durumunun listeden bir tanesi olmasını gerektirir. Durum gerektirmemek için kaldırın.
            }
],
"Beceri Koşulları": // Listedeki her becerinin, tanımlanan seviyeye eşit veya daha yüksek bir seviyede olması gerekir. Şans da dahil olmak üzere, orijinal oyunda kodlanmış tüm beceriler kullanılabilir. Özel beceriler kullanılamaz.
        [
{ "BeceriAdı": "Çiftçilik", "BeceriSeviyesi": 1 }
],
"StatsConditions": // Listedeki her istatistiğin, tanımlanan değere eşit veya daha yüksek bir değeri olmalıdır. Bir StatsName veya StatsLabel seçin.
        [
            {
"StatsName": "Peynir Yapımı", //[TohumlarEkildi|Gönderilen Ürünler|Pişirilen Ürünler|İşlenen Ürünler|Yumurtalanan Tavuk Yumurtaları|Yumurtalanan Ördek Yumurtaları|Üretilen İnek Sütü|Üretilen Keçi Sütü|Üretilen Tavşan Yünü|Üretilen Koyun Yünü|Üretilen Peynir|Keçi Peyniri|Bulunan Yer Mantarı|Toplanan Taşlar|Kırılan Kayalar|Çamur Çapalandı|Verilen Hediyeler|Bilinçsiz Süreler|Ortalama Yatma Zamanı|Avlanma Süreleri|Yakalanan Balıklar|Kırılan Kayalar|Doğranmış Kütükler|Atılan Adımlar|Öldürülen Canavarlar|Bulunan Elmaslar|Prizmatik ardsFound|DiğerDeğerliMücevherlerFound|MağaraHavuçlarıFound|BakırFound|DemirFound|KömürFound|Madeni ParalarFound|AltınFound|İridyumFound|EritilmişKülçeler|İçeceklerFound|ReçellerFound|ÇöpParçalarıFound Geri Dönüştürüldü|MistikTaşlarFound|OynanılanGünlerFound|YabaniOtlarFound|ÇubuklarFound|NotlarFound|GörevlerFound|YıldızSeviyesiFoundSevkEdildi|FoundSevkEdildi|ToplananEşyalar|ÖldürüldüBalçıklarFound|JeodezlerFound|İyiArkadaşlar|BireyselKazanılanPara] Varsayılan null.
"StatsLabel": "Ad", // [exMemoriesWiped|childrenTurnedToDoves|trashCansChecked|boatRidesToIsland|beachFarmSpawns|hardModeMonstersKilled|timesEnchanted] Bunlar, etiketle tanımlanan mevcut oyun istatistikleridir; daha fazlası eklenirse, bunlar da desteklenmelidir. Ayrıca, diğer modlar tarafından eklenen özel istatistik etiketlerini de tanımlar. Varsayılan değer null'dır.
"Miktar": 1 // Koşulun geçerli olması için durumun eşit veya daha büyük olması gereken miktar.
            }
],
"CollectionConditions": // Listenin her bir toplama koşulunun, tanımlanan miktara eşit veya daha yüksek bir değere sahip olması gerekir.
        [
            {
"Koleksiyon": "Gönderildi", //[Gönderildi|Balık|Eserler|Mineraller|Yemek Pişirme|El Sanatları] Gerekli.
"Ad": "Yağ", //Kullanımdan kaldırıldı, bunun yerine Ids kullanır. 'Crafting' koleksiyonu için nesnenin veya tarifin adı. Bir crafting koleksiyonu değilse, dizini bulmak için nesne listesinde bu adı arar. Ad bulunamazsa, harf yok sayılır. Diğer özelliklerle birleştirilir. Varsayılan değer null'dır.
"Dizin": 211, //Kullanım dışı, bunun yerine kimlikler kullanılır. Nesnenin dizini. Diğer özelliklerle birleştirilir. Varsayılan değer null'dır.
"Ids": [ "282", "MossSoup" ], //Öğelerin kimlikleri veya üretim tarifi adları. Diğer özelliklerle birleştirilecektir. Miktarlar, Miktar özelliğiyle karşılaştırılmak üzere toplanır.
"Miktar": 10 // Koşulun geçerli olması için koleksiyondaki nesnelerin toplam miktarının eşit veya daha fazla olması gerekir.
            }
],
"SpecialDateCondition": // Belirtilen tarih veya sonrasındaki bir tarih olmalıdır.
        {
"SpecialDate": "ÇocukDoğumu", //[Düğün|ÇocukDoğumu] Gerekli
"YearsSince": 1, //Tarihin üzerinden geçen yıl sayısı. 0 gerçek tarihi, 1 ise akan yılı belirtir. Varsayılan değer 0'dır.
"WhichChild": 1 // Eğer SpecialDate özelliği ChildBirth ise, hangi çocuğun olduğunu referans alacaktır. Varsayılan değer 1'dir;
},
"ExpandedPrecondition": "d Pazartesi Cuma/HasItem Pink Cake/!JojaMartComplete/!w yağmurlu", //Genişletilmiş Önkoşullar Yardımcı Programı moduna ihtiyaç duyar. Bunun nasıl çalıştığını görmek için ilgili modun belgelerine bakın. Mod yüklenmezse, mektup iletilmez.
"ExpandedPreconditions": [ "!z spring/t 600 1000", "f Linus 1000/w rainy/z spring", "f Linus 2500" ], //Genişletilmiş Önkoşullar Yardımcı Programı moduna ihtiyaç duyar. Bunun nasıl çalıştığını görmek için ilgili modun belgelerine bakın. Mod yüklenmezse, mektup iletilmez.
"RandomChance": 0.25, // Mod, 0 ile 1 arasında rastgele bir sayının verilen sayıdan düşük olup olmadığını kontrol edecektir. Aynı gün, aynı harf için aynı kayıt her zaman aynı sonucu verecektir, böylece hile yapmaktan kaçınılacaktır.
"Binalar": ["Kooperatif","Büyük Kooperatif","Lüks Kooperatif"], // Çiftlikte şu anda inşa edilmiş bir bina olmasını gerektirir.
"RequireAllBuildings": false, // True ise, "Binalar" listesindeki tüm binaların şu anda çiftlikte inşa edilmesini gerektirir. Varsayılan değer false'tur.
"MailReceived": ["jojaVault","ccVault"], // Postalardan birinin alınmış olması gerekir. Oyun listesi, topluluk merkezi bayrakları gibi posta olmayan başka şeyler de içerir.
"RequireAllMailReceived": false, // True ise, "MailReceived" listesindeki tüm e-postaların alınmış olması gerekir. Varsayılan değer false'tur.
"MailNotReceived": ["jojaVault","ccVault"], // Postaların alınmamış olmasını gerektirir. Oyun listesi, topluluk merkezi bayrakları gibi posta olmayan başka şeyler de içerir.
"EventsSeen": [ "4", "32423" ], // Olaylardan birinin oyuncu tarafından görülmüş olması gerekir. Bir dize olmalıdır, ancak geriye dönük uyumluluk için tam sayı olarak da kullanılabilir.
"RequireAllEventsSeen": false, // True ise, "EventsSeen" listesindeki tüm olayların oyuncu tarafından görülmesini gerektirir. Varsayılan değer false'tur.
"HasMods": [ "SMAPI.ConsoleCommands", "SMAPI.SaveBackup" ], // Modlardan birinin yüklenmesini gerektirir. Mod UniqueID olmalıdır.
"RequireAllMods": false, // True ise, "HasMods" listesindeki tüm modların yüklenmiş olması gerekir. Varsayılan değer false'tur.
"EventsNotSeen": [ "4", "32423" ], // Olayların oyuncu tarafından görülmemiş olmasını gerektirir. Bir dize olmalıdır, ancak geriye dönük uyumluluk için tam sayı olarak da kullanılabilir.
"RecipeKnown": ["Pizza","Survival Burger"], // Tariflerden birinin oyuncu tarafından öğrenilmiş olması gerekir.
"RequireAllRecipeKnown": false, // True ise, "RecipeKnown" listesindeki tüm tariflerin oyuncu tarafından öğrenilmiş olması gerekir. Varsayılan değer false'tur.
"RecipeNotKnown": ["Vahşi Yem"], // Tariflerin oyuncu tarafından öğrenilmemiş olması gerekir.
"KeepValid": false // Eğer bu doğruysa, koşullar sağlandıktan sonra e-posta okunana kadar geçerliliğini korur. Varsayılan değer false'tur.
    }
]


Modder'ın API'yi kullanabilmesi için:
  • KopyalaIMailFrameworkModApiMFM arayüzünden kullanmak istediğiniz yöntemle arayüz oluşturun.
  • KopyalaMektupEğer yöntemlerden biri buna ihtiyaç duyarsa.
  • Yöntemler:
    • RegisterContentPack- KullanmakYardımcı.İçerikPaketleri.GeçiciOluşturModunuzdan mail.json ve olası çeviriler için i18n klasörünü içeren bir klasörü yüklemek için. Bu metot parametresini kullanabildiğiniz için Manifest'e gerek yoktur.
    • Kayıt Mektubu- İhtiyacınız olan özelliklerle bir ILetter doldurun. Bir mektubu kaydetmek için bir koşul da gereklidir. En azından alındığı şekliyle mektup kimliğini eklemek için bir geri arama önerilir. Aşağıdaki örneklere bakın, "Modder'ın MFM bağımlılığıyla kod yazması için" oturum.
    • Mektup Al- Harf ID'si için ILetter nesnesini alacaksınız.
    • PostaVeriDizesiniAl- Mektup ID'si için posta veri dizesini alacaksınız. Posta veri dizesi temel olarak çevrilmiş metin ve çevrilmiş başlığın [#] ayracı ile eklenmesiyle oluşur.

Modder'ın MFM bağımlılığıyla kod yazabilmesi için:
  • SMAPI projenizde MailFrameworkMod.dll dosyasına başvurun.
    • Mektubunuzu MailRepository.SaveLetter(Letter) kullanarak kaydedin.
    • Moderatör her günün başında teslim edilme durumuna ulaşan mektupları kontrol edecek ve posta kutunuza ekleyecektir.
    • Bu mektuplar, oyuncu posta kutusunu kontrol ettiğinde ilk açılacak olan mektuplardır.
    • Mektup açıldığında posta kutusundan çıkarılır.
    • Mektubun geri çağırma koşulu onlara denir.
    • Günün sonunda posta kutunuzda kalan mektuplar kaldırılacak, dolayısıyla oyun tarafından kaydedilmeyecektir.
  • Bu modu, mektuplarınız için bir depo olarak düşünebilirsiniz. Oyun yüklenirken tüm mektuplarınızı yüklerseniz daha iyi çalışır.


Örnekler:

Spoiler:
Göstermek

Oyuncu tarafından daha önce okunmamışsa gösterilecek ve oyuncu tarafından açıldıktan sonra tekrar iletilmeyecek basit bir Mektup yükleme:
MailRepository.MektubuKaydet(
yeni Mektup(
"HarfBenzersizKimliği"
"Mektup özel metni."
,(l)=>!Game1.player.mailReceived.Contains(l.Id)
,(l)=>Oyun1.oyuncu.postaAlındı.Ekle(l.Kimlik)
)
);


Daha önce olduğu gibi basit bir Mektup yükleniyor, ancak 5 Zümrüt eklenmiş:
MailRepository.MektubuKaydet(
yeni Mektup(
"HarfBenzersizKimliği"
"Mektup özel metni."
,yeni Liste<Öğe> { yeni StardewValley.Object(60,5) }
,(l)=>!Game1.player.mailReceived.Contains(l.Id)
,(l)=>Oyun1.oyuncu.postaAlındı.Ekle(l.Kimlik)
  )
);

Oyuncu aynı öğeyi almayacak, ancak getOne() metodundan döndürülen bir kopyayı alacaktır.

Yemek tarifi öğretecek basit bir mektup yüklendiğinde, oyuncu tarifi bilmiyorsa bu mektup iletilecektir. Mod, oyuncu yüklediğinde tarifleri otomatik olarak öğretir, burada geri çağırmaya gerek yoktur:
MailRepository.MektubuKaydet(
yeni Mektup(
"HarfBenzersizKimliği"
, "Mektup özel metni."
, "TarifBenzersizAdı"
, (l) => !Game1.player.cookingRecipes.ContainsKey(l.Recipe)
  )
);

"RecipeUniqueName", "Data//CookingRecipes" veya "Data//CraftingRecipes" üzerinde saklanan adla aynı olmalıdır.

Farklı metin ve arka plan içeren basit bir Mektup yükleme:
MailRepository.MektubuKaydet(
yeni Mektup(
"HarfBenzersizKimliği"
"Mektup özel metni."
,(l)=>!Game1.player.mailReceived.Contains(l.Id)
,(l)=>Oyun1.oyuncu.postaAlındı.Ekle(l.Kimlik)
1
){MetinRengi=8}
);


Loading a simple Letter with custom background:
MailRepository.SaveLetter(
  new Letter(
"LetterUniqueId"
,"Letter custom text."
,(l)=>!Game1.player.mailReceived.Contains(l.Id)
,Game1.player.mailReceived.Add(l.Id)
1
  ){
LetterTexture=helper.Content.Load("CustomLetterBG.png")
,TextColor=4
  }
);
Where CustomLetterBG.png is a image file that follows the same structure as "LooseSprites//letterBG"

Loading a simple Letter with translation for text and title.
MailRepository.SaveLetter(
new Letter(
"LetterUniqueId"
,"mektubum.çeviri.anahtar.metin"
,(l)=>!Game1.player.mailReceived.Contains(l.Id)
,(l)=>Oyun1.oyuncu.postaAlındı.Ekle(l.Kimlik)
){
Başlık = "myletter.çeviri.anahtar.başlık",
I18N = yardımcı.Çeviri
    }
);



Diğer Modlarım:

Stardew Valley için En İyi Modlar

Stardew Valley için en iyi modları keşfedin; yeni özellikler, geliştirilmiş görseller ve oyun deneyiminizi dönüştürmenin heyecan verici yollarını sunar.

XMODhub ile Stardew Valley’in tüm potansiyelini açığa çıkarın — bu en iyi modları bugün keşfedin!

mcafee
Doğrulama
200,000,000+ Kullanıcı tarafından güveniliyor

İndirme veya kurulumda sorun mu yaşıyorsunuz? Destek almak için Discord topluluğumuza katılın!

logo
Dil

Oyun Çözümleri

Kaynaklar

Ortaklar

Bizi takip edin

discordfacebooktwitteryoutube
Destek:
support@xmodhub.com
Xmod_Lily
İş:
dc@xmodhub.com or cathy@business.xmodhub.com
catherine_79237

Larvas Limited

Room 1201, 12/F Tai Sang Bank Building 130-132 Des Voeux Road Central HK