

[
{
"Id": "MyMod.MyMailId", // Identyfikator literowy. Ważne jest, aby był to unikalny ciąg znaków, aby uniknąć konfliktów. Nie powinien również zawierać spacji.
"GroupId": "MyMod.MyGroupId", // Identyfikator grupy listów. Listy o tym samym identyfikatorze grupy nigdy nie są dostarczane tego samego dnia. Listy zarejestrowane jako pierwsze mają pierwszeństwo, chyba że identyfikator grupy kończy się na ".Random". W takim przypadku zostanie wybrany losowy list. Domyślnie jest to null.
„Tytuł”: „Tytuł mojego listu”, // Tytuł listu. Będzie wyświetlany w menu kolekcji. Ustaw wartość null lub usuń wiersz, jeśli nie chcesz, aby list pojawiał się w kolekcji. Jeśli dostępny jest plik tłumaczenia, należy umieścić tutaj klucz tłumaczenia, ale jeśli wartość null nie będzie widoczna, możesz pozostawić brak tytułu.
„Tekst”: „Szanowny @^To mój niestandardowy adres e-mail.”, // Treść listu. Możesz użyć @ do wstawienia imienia gracza, a ^ do podziału wiersza. Możesz również użyć poleceń z gry podstawowej, aby dodać pieniądze, przedmioty i inne rzeczy. Jeśli dostępny jest plik z tłumaczeniem, wpisz tutaj klucz tłumaczenia.
"RandomlyChooseAttachment": 2, // Jeśli ustawiono liczbę, losowo zostanie wybrana określona liczba elementów z listy załączników dla każdej grupy. Domyślnie jest to null.
"RandomlyChooseAttachmentPerGroup": { "CaveItems": 3 }, // Jeśli tutaj ustawiono grupę i ilość, do wyboru przedmiotów zostanie użyta ta ilość, a nie ta ustawiona w RandomlyChooseAttachment. Domyślnie jest pusta.
"AttachmentGroupWithReplacement": [ "CaveItems" ], // Domyślnie załączniki są wybierane losowo z listy bez zamiany. Jeśli chcesz, aby wybór został dokonany poprzez zastąpienie załączników, dodaj grupę do listy. Jeśli nie dodałeś grup, użyj pustego ciągu znaków. Wartością domyślną jest pusta lista.
"Załączniki": [ // Lista załączników. Usuń właściwość, aby nie dołączać elementów do wiadomości e-mail.
{
„Typ”: „Obiekt”, // [Obiekt|Stół do Dużego Rzemiosła|Narzędzie|Pierścień|Meble|Broń|Buty|DGA|IdentyfikatorKwalifikowanegoPrzedmiotu|Brak] Wymagane. Typ przedmiotu, który zostanie dołączony. Jeśli nie zostanie podany, przedmiot zostanie zignorowany. Parametr „Brak” jest zawsze ignorowany bez błędów w logu i należy go używać, gdy chcesz mieć pewność, że nie zostanie dodany żaden element.
„Nazwa”: „Cave Carrot”, // Służy do znalezienia indeksu elementu. Jest to wymagane w przypadku korzystania z obiektów niestandardowych, takich jak zasoby JSON. Powinien to być pełny identyfikator DGA używany w DGA. Jeśli nie zostanie podany, zostanie użyty indeks. Domyślnie jest to null.
„Indeks”: „(0)78”, // Indeks elementu. Powinien to być kwalifikowany identyfikator elementu w postaci ciągu znaków, ale dla zapewnienia zgodności z poprzednimi wersjami będzie on również liczbą całkowitą. Jeśli nie podano nazwy lub nie znaleziono elementu o tej nazwie, używany jest indeks. W przeciwnym razie załącznik jest ignorowany. Ignorowany, jeśli typem jest DGA.
„Stack”: 1, // Wartość stosu przedmiotu do dostarczenia. Używane tylko dla obiektów i BigCraftable. Domyślnie 1.
„Jakość”: 2, // Wartość jakości przedmiotu do dostarczenia. Używane tylko dla obiektów. 0 = brak, 1 = srebro, 2 = złoto, 4 = iryd. Domyślnie 0;
"RequireMailReceived": [ "jojaVault", "ccVault" ], // Wymagaj otrzymania jednej z wiadomości e-mail. Lista gier zawiera również inne elementy, które nie są wiadomościami, takie jak flagi w centrach społecznościowych. Domyślnie wartość null oznacza brak wymagania otrzymania wiadomości e-mail.
"RequireAllMailReceived": false, // Jeśli true, wymagaj odebrania wszystkich wiadomości e-mail z listy "RequireMailReceived". Domyślnie jest to false.
"ProbabilityWeight": 1, // Waga, jaką ten załącznik ma przy wyborze, który z nich ma zostać dostarczony. Mod sumuje wszystkie wagi w danej grupie i przypisuje jej prawdopodobieństwo, dzieląc tę wagę przez sumę. Domyślnie jest to 1.
"RandomGroup": "CaveItems" // Wybierając elementy losowo, grupuj listę według znalezionych grup i wybierz zestaw wartości z każdej grupy. Wartością domyślną jest pusty ciąg znaków, który działa jako grupa domyślna.
},
{
"Typ": "Narzędzie", // Podczas korzystania z narzędzi można dołączać tylko te obsługiwane.
„Nazwa”: „Siekiera”, // [Siekiera|Motyka|Konewka|Kiol|Kosa|Złota Kosa|Wiadro na Mleko|Nożyce|Wędka|Patelnia|Berło Zwrotne] Wymagane dla narzędzi. Nazwa obsługiwanego narzędzia. W przeciwnym razie załącznik jest ignorowany.
„UpgradeLevel”: 1 // Poziom ulepszenia narzędzia. Narzędzia standardowe: 0 = kamień, 1 = miedź, 2 = stal, 3 = złoto, 4 = iryd. Wędka: 0 = kij bambusowy, 1 = wędka treningowa, 2 = wędka z włókna szklanego, 3 = wędka irydowa. Ignorowane dla pozostałych typów. Domyślnie 0.
},
{
„Typ”: „DGA”, //element DGA
„Name”: „spacechase0.DynamicGameAssets.Example/My Custom Item”, // użyj pełnego identyfikatora DGA. Wymagane.
„Stack”: 10, // Wartość stosu przedmiotu do dostarczenia. Używane tylko dla obiektów i BigCraftable. Domyślnie 1.
„Jakość”: 2 // Wartość jakości przedmiotu do dostarczenia. Używane tylko dla obiektów. 0 = brak, 1 = srebro, 2 = złoto, 4 = iryd. Domyślnie 0;
},
{
„Typ”: „QualifiedItemId”, //Dowolny obsługiwany element
„Indeks”: „(0)78”, // Identyfikator kwalifikowanego elementu.
„Stack”: 10, // Wartość stosu przedmiotu do dostarczenia. Używane tylko dla obiektów i BigCraftable. Domyślnie 1;
„Jakość”: 2 // Wartość jakości przedmiotu do dostarczenia. Używane tylko dla obiektów. 0 = brak, 1 = srebro, 2 = złoto, 4 = iryd. Domyślnie 0;
}
],
„Przepis”: „Nazwa przepisu”, // Usuń wiersz, jeśli nie chcesz dołączać przepisu do wiadomości e-mail. Będzie to działać tylko wtedy, gdy nie masz innych załączników do wiadomości e-mail. W przypadku przepisów DGA użyj tylko części ID (pomiń ModID).
"AdditionalMailReceived": ["MyMod.AnotherMailId", "VANILLA_FLAG"], // Użyj tego, aby dodać dodatkowy tekst do listy MailReceived. Może być przydatne do dodawania flag waniliowych lub innych identyfikatorów liter MFM.
"MailReceivedToRemove": ["MyMod.AnotherMailThatNeedToBeResent","MyMod.SomeFlagThatWasLockingSomeFeature"], //Tekst do usunięcia z listy MailReceived. Można go użyć do uruchomienia nowej poczty, zdarzeń, flag waniliowych, zablokowania wysyłania innej poczty MFM...
"LetterBG": "CustomLetterBG.png", // Nazwa pliku w pakiecie zawartości, który zawiera niestandardowe tło litery. Powinien on mieć taką samą strukturę jak plik LetterBG z gry. Parametr WhichBG będzie względny dla tej litery w odniesieniu do tego pliku. Jeśli wartość jest null lub została usunięta, mod użyje tła LetterBG z gry.
„WhichBG”: 0, //Identyfikator tła litery. 0 = klasyczny, 1 = notatnik, 2 = piramidy
"TextColor": -1, //Usuń ten wiersz, aby użyć domyślnego koloru. Zostanie zignorowany, jeśli ustawiono CustomTextColor. -1 = Ciemnoczerwony, 0 = Czarny, 1 = Błękitny, 2 = Czerwony, 3 = Fioletowoniebieski, 4 = Biały, 5 = Pomarańczowoczerwony, 6 = Limonkowozielony, 7 = Cyjan, 8 = Najciemniejszy szary
"CustomTextColorName": "Biały", //Kolor tekstu.[http://www.foszor.com/blog/xna-color-chart/] Domyślnie używana będzie właściwość TextColor.
"UpperRightCloseButton": "CustomCloseButton.png", // Nazwa pliku w pakiecie zawartości, który zawiera niestandardowy przycisk zamykania. Powinien mieć rozmiar 12 x 12. Jeśli ma wartość null lub jest usunięty, zostanie użyty domyślny przycisk.
"ReplyConfig": { // Jeśli chcesz, aby gracz wysłał odpowiedź po przeczytaniu listu. Wyświetlone zostaną opcje odpowiedzi, które dodadzą jeden lub więcej elementów „ReceivedMail” na podstawie odpowiedzi gracza. Wszelka dodatkowa logika związana z odpowiedzią musi zostać zaimplementowana na podstawie dodanego elementu „ReceivedMail”.
"QuestionKey": "MyMod.MyMailId.Question", //Klucz identyfikujący pytanie. Ma on zastosowanie wyłącznie wewnętrzne, ale powinien być unikatowy w pakiecie treści, aby uniknąć konfliktów między odpowiedziami.
"QuestionDialog": "Wyślij odpowiedź, wybierając nagrodę:", //Twoje pytanie lub tekst, który będzie wyświetlany nad opcjami odpowiedzi. Jeśli udostępniono plik z tłumaczeniem, należy umieścić tutaj klucz tłumaczenia.
„Odpowiedzi”: [
{
"ReplyKey": "MyMod.MyMailId.Reply1", //Musi być unikatowy pomiędzy odpowiedziami na pytania.
"ReplyOptionDialog": "Chcę nasiona.", //Tekst opcji, który będzie wyświetlany na liście odpowiedzi. Jeśli podano plik tłumaczenia, należy umieścić tutaj klucz tłumaczenia.
"RequireMailReceived": [ "jojaVault", "ccVault" ], // Wymagaj otrzymania jednej z wiadomości e-mail. Lista gier zawiera również inne elementy, które nie są wiadomościami, takie jak flagi w centrach społecznościowych. Domyślnie wartość null oznacza brak wymagania otrzymania wiadomości e-mail.
"RequireAllMailReceived": false, // Jeśli true, wymagaj odebrania wszystkich wiadomości e-mail z listy "RequireMailReceived". Domyślnie jest to false.
"MailReceivedToAdd": [ "MyMod.MyMailId.PlayerSeedOption" ], // Tekst do dodania do listy MailReceived. Można go użyć do wyzwolenia nowej poczty, zdarzeń, flag waniliowych, zatrzymania wysyłania innej poczty MFM...
"MailReceivedToRemove": [ "MyMod.MyMailId.PlayerSapplingOption" ], //Tekst do usunięcia z listy MailReceived. Można go użyć do uruchomienia nowej poczty, zdarzeń, flag waniliowych, zablokowania wysyłania innej poczty MFM...
"ReplyResponseDialog": "Twój list z prośbą o nasiona został wysłany.", //Tekst, który pojawi się po wybraniu tej opcji odpowiedzi. Jeśli udostępniono plik tłumaczenia, należy umieścić tutaj klucz tłumaczenia.
„Koszt”: 50 //Kwota pieniędzy, jaką gracz musi posiadać, aby wybrać tę opcję. Jeśli gracz ją wybierze, kwota ta jest natychmiast odejmowana od jego środków. Zawsze oferuj opcję bezkosztową, w przeciwnym razie gracz zostanie całkowicie zablokowany.
}
]
},
„Repeatable”: false, // Jeśli true, mod nie sprawdzi, czy list o identyfikatorze został już dostarczony. Domyślnie false.
"AutoOpen": false, // Jeśli true, mod otworzy list na początku dnia po spełnieniu warunków. Identyfikator listu zostanie oznaczony jako przeczytany, a jeśli istnieje ustawiony przepis, zostanie on zapamiętany. Ponieważ list nigdy się nie wyświetli, właściwości wizualne, takie jak tytuł, tekst, tło..., nigdy nie zostaną użyte, podobnie jak załączniki.
// WARUNKI DOSTAWY
//Poniżej znajdują się warunki dostawy. Usuń dowolny wiersz, jeśli nie chcesz sprawdzać danego warunku.
„Data”: „10 wiosna R1”, // Musi to być ta data lub data po niej. Format to „[1-28] [wiosna|lato|jesień|zima] R[1-999]”.
„Dni”: [7,14,21,28], // Musi to być jeden z dni na liście.
"Pory roku": ["jesień"], // Musi to być jedna z pór roku na liście. [wiosna|lato|jesień|zima]
„Pogoda”: „słonecznie”, // Musi to być pogoda panująca w grze. Format to „[słonecznie|deszczowo]”.
"HouseUpgradeLevel": 2, // Poziom ulepszenia domu musi być równy lub wyższy od zdefiniowanego. 0 - dom początkowy (nie ma potrzeby tego używać, po prostu usuń linię), 1 - kuchnia, 2 - drugie piętro, 3 - piwnica.
"DeepestMineLevel": 80, // Najgłębszy poziom kopalni musi być równy lub wyższy od zdefiniowanego. 120 to ostatni poziom kopalni, 121 to pierwszy poziom jaskini czaszki.
"CurrentMoney": 10000, // Aktualna kwota pieniędzy musi być równa lub wyższa od zdefiniowanej kwoty.
"TotalMoneyEarned": 500000, // Łączna zarobiona kwota musi być równa lub wyższa od podanej wartości.
"FriendshipConditions": // Każdy NPC z listy musi sprawdzić wszystkie warunki.
[
{
„NpcName”: „Lewis”, //Imię NPC. Można używać niestandardowych NPC.
„FriendshipLevel”: 8, // NPC musi mieć poziom serca przyjaźni równy lub wyższy od zdefiniowanego. Domyślnie 0.
„Status przyjaźni”: [„Randki”, „Zaręczeni”, „Żonaty”] // [Przyjazny|Randki|Zaręczeni|Żonaty|Rozwiedziony] Wymagaj, aby status przyjaźni NPC był jednym z listy. Usuń, aby nie wymagać statusu.
}
],
„SkillConditions”: // Każda umiejętność na liście musi mieć poziom równy lub wyższy od zdefiniowanego. Można używać wszystkich zakodowanych umiejętności w grze podstawowej, w tym Szczęścia. Nie można używać umiejętności niestandardowych.
[
{ "SkillName": "Rolnictwo", "SkillLevel": 1 }
],
„StatsConditions”: // Każda statystyka na liście musi mieć wartość równą lub wyższą od zdefiniowanej. Wybierz StatsName lub StatsLabel
[
{
"StatsName": "CheeseMade", //[SeedsSown|ItemsShipped|ItemsCooked|ItemsCrafted|ChickenEggsLayed|DuckEggsLayed|CowMilkProduced|GoatMilkProduced|RabbitWoolProduced|SheepWoolProduced|CheeseMade|GoatCheeseMade|TrufflesFound|StoneGathered|RocksCrushed|DirtHoed|GiftsGiven|TimesUnconscious|AverageBedtime|TimesFished|FishCaught|BouldersCracked|StumpsChopped|StepsTaken|MonstersKilled|DiamondsFound|PrismaticSh Znaleziono ards|Inne cenne kamienie|Znaleziono marchewki jaskiniowe|Znaleziono miedź|Znaleziono żelazo|Znaleziono węgiel|Znaleziono monety|Znaleziono złoto|Znaleziono iryd|Sztabki przetopione|Wyprodukowano napoje|Wyprodukowano konserwy|Przetworzone kawałki śmieci|Mistyczne kamienieRozkruszone|Dni rozgrywki|Chwasty wyeliminowane|Posiekane patyki|Znaleziono notatki|Ukończone zadania|Poziom gwiazdyWysłane plony|Wysłane plony|Znaleziono przedmioty|Zabite szlamy|Pęknięte geody|Dobrzy przyjaciele|Zarobione pieniądze] Domyślnie ustawiono wartość null.
"StatsLabel": "Nazwa", // [exMemoriesWiped|childrenTurnedToDoves|trashCansChecked|boatRidesToIsland|beachFarmSpawns|hardModeMonstersKilled|timesEnchanted] To są aktualne statystyki gry, które są identyfikowane przez etykietę. Jeśli dodane zostaną kolejne, powinny być również obsługiwane. Będzie to również identyfikować niestandardowe etykiety statystyk dodane przez inne mody. Domyślnie jest to null.
"Kwota": 1 // Kwota, jaka powinna być równa lub większa od wartości statusu, aby warunek był ważny.
}
],
"CollectionConditions": // Każdy warunek kolekcji na liście musi mieć wartość równą lub wyższą od zdefiniowanej kwoty.
[
{
„Kolekcja”: „Wysłane”, //[Wysłane|Ryby|Artefakty|Minerały|Gotowanie|Rzemiosło] Wymagane.
„Nazwa”: „Olej”, //Przestarzałe, zamiast tego używa identyfikatorów. Nazwa obiektu lub przepisu dla kolekcji „Rzemiosło”. Jeśli nie jest to kolekcja rzemieślnicza, szuka tej nazwy na liście obiektów, aby znaleźć indeks. Jeśli nazwa nie zostanie znaleziona, litera jest ignorowana. Zostanie połączona z pozostałymi właściwościami. Domyślnie jest to null.
„Indeks”: 211, //Przestarzałe, zamiast tego używa identyfikatorów. Indeks obiektu. Zostanie połączony z innymi właściwościami. Wartość domyślna to null.
„Identyfikatory”: [„282”, „Zupa z mchu”], //Identyfikatory przedmiotów lub nazwy receptur rzemieślniczych. Zostaną połączone z innymi właściwościami. Kwoty są sumowane w celu porównania z właściwością „Kwota”.
"Kwota": 10 // Całkowita kwota, jaka musi być równa lub większa od liczby obiektów w kolekcji, aby warunek był ważny.
}
],
"SpecialDateCondition": // Musi to być ta data lub data późniejsza.
{
„SpecialDate”: „Narodziny dziecka”, //[Ślub|Narodziny dziecka] Wymagane
"YearsSince": 1, //Liczba lat od wystąpienia daty. 0 oznacza datę rzeczywistą, 1 – rok bieżący. Domyślnie 0.
"WhichChild": 1 //Jeśli właściwość SpecialDate to ChildBirth, będzie ona odwoływać się do dziecka. Wartość domyślna to 1;
},
„ExpandedPrecondition”: „d Mon Fri/HasItem Pink Cake/!JojaMartComplete/!w rainy”, //Potrzebny mod Expanded Preconditions Utility. Zapoznaj się z dokumentacją moda, aby zobaczyć, jak to działa. Jeśli mod nie jest załadowany, list nie zostanie dostarczony.
„ExpandedPreconditions”: [ „!z spring/t 600 1000”, „f Linus 1000/w rainy/z spring”, „f Linus 2500” ], //Wymagany jest mod Expanded Preconditions Utility. Zapoznaj się z dokumentacją tego moda, aby zobaczyć, jak to działa. Jeśli mod nie zostanie załadowany, list nie zostanie dostarczony.
„RandomChance”: 0,25, // Mod sprawdzi, czy liczba losowa od 0 do 1 jest mniejsza od podanej. Ten sam zapis, tego samego dnia dla tej samej litery, zawsze da ten sam wynik, aby uniknąć oszustwa.
"Budynki": ["Kurnik","Duży kurnik","Kurnik Deluxe"], // Wymaga, aby jeden z budynków był aktualnie zbudowany na farmie.
"RequireAllBuildings": false, // Jeśli true, wymagaj, aby wszystkie budynki z listy „Budynki” były aktualnie zbudowane w farmie. Domyślnie jest to false.
"MailReceived": ["jojaVault","ccVault"], // Wymagaj otrzymania jednej z wiadomości e-mail. Lista gier zawiera również inne elementy, które nie są wiadomościami e-mail, takie jak flagi centrów społecznościowych.
"RequireAllMailReceived": false, // Jeśli true, wymagaj odebrania wszystkich wiadomości e-mail z listy „MailReceived”. Domyślnie jest to false.
"MailNotReceived": ["jojaVault","ccVault"], // Wymagaj, aby wiadomości e-mail nie zostały odebrane. Lista gier zawiera również inne elementy, które nie są wiadomościami e-mail, takie jak flagi centrów społecznościowych.
"EventsSeen": [ "4", "32423" ], // Wymagaj, aby jedno ze zdarzeń zostało zaobserwowane przez gracza. Powinien to być ciąg znaków, ale będzie również działać jako liczba całkowita dla zapewnienia zgodności z poprzednimi wersjami.
"RequireAllEventsSeen": false, // Jeśli true, wymaga, aby wszystkie zdarzenia z listy "EventsSeen" zostały zobaczone przez gracza. Domyślnie jest to false.
"HasMods": [ "SMAPI.ConsoleCommands", "SMAPI.SaveBackup" ], // Wymagaj załadowania jednego z modów. Powinien to być unikalny identyfikator modu.
"RequireAllMods": false, // Jeśli true, wymaga załadowania wszystkich modów z listy „HasMods”. Domyślnie jest to false.
"EventsNotSeen": [ "4", "32423" ], // Wymagaj, aby zdarzenia nie zostały zaobserwowane przez gracza. Powinien to być ciąg znaków, ale będzie również działać jako liczba całkowita dla zapewnienia zgodności z poprzednimi wersjami.
"RecipeKnown": ["Pizza", "Survival Burger"], // Wymaga, aby gracz znał jeden z przepisów.
"RequireAllRecipeKnown": false, // Jeśli true, wymagaj, aby wszystkie przepisy z listy "RecipeKnown" zostały zapamiętane przez gracza. Domyślnie jest to false.
"RecipeNotKnown": ["Dzika przynęta"], // Wymagaj, aby gracz nie znał przepisów.
"KeepValid": false // Jeśli to prawda, po spełnieniu warunków wiadomość e-mail będzie prawidłowa do momentu odczytania. Domyślnie jest to false.
}
]MailRepository.SaveLetter(
nowy list(
„Unikalny Identyfikator Listu”
„Tekst niestandardowy listu”.
,(l)=>!Gra1.gracz.pocztaOtrzymana.Zawiera(l.Id)
,(l)=>Gra1.gracz.pocztaOtrzymana.Dodaj(l.Id)
)
);
MailRepository.SaveLetter(
nowy list(
„Unikalny Identyfikator Listu”
„Tekst niestandardowy listu”.
,nowa lista { nowy StardewValley.Object(60,5) }
,(l)=>!Gra1.gracz.pocztaOtrzymana.Zawiera(l.Id)
,(l)=>Gra1.gracz.pocztaOtrzymana.Dodaj(l.Id)
)
);
MailRepository.SaveLetter(
nowy list(
„Unikalny Identyfikator Listu”
„Tekst niestandardowy listu”.
, "UnikalnaNazwaPrzepisu"
, (l) => !Game1.player.cookingRecipes.ContainsKey(l.Recipe)
)
);
MailRepository.SaveLetter(
nowy list(
„Unikalny Identyfikator Listu”
„Tekst niestandardowy listu”.
,(l)=>!Gra1.gracz.pocztaOtrzymana.Zawiera(l.Id)
,(l)=>Gra1.gracz.pocztaOtrzymana.Dodaj(l.Id)
1
){Kolor tekstu=8}
);
MailRepository.SaveLetter(
nowy list(
„Unikalny Identyfikator Listu”
„Tekst niestandardowy listu”.
,(l)=>!Gra1.gracz.pocztaOtrzymana.Zawiera(l.Id)
,Gra1.gracz.pocztaOtrzymana.Dodaj(l.Id)
1
){
LetterTexture=helper.Content.Load("CustomLetterBG.png")
,Kolor tekstu=4
}
);
Gdzie CustomLetterBG.png to plik obrazu o takiej samej strukturze jak „LooseSprites//letterBG”MailRepository.SaveLetter(
nowy list(
„Unikalny Identyfikator Listu”
,,mojlist.klucz.tłumaczenia.tekst"
,(l)=>!Gra1.gracz.pocztaOtrzymana.Zawiera(l.Id)
,(l)=>Gra1.gracz.pocztaOtrzymana.Dodaj(l.Id)
){
Tytuł = "myletter.translation.key.title",
I18N = pomocnik.Tłumaczenie
}
);
Potrzebujesz pomocy z pobieraniem lub instalacją? Dołącz do naszej społeczności Discord po wsparcie!
Rozwiązania dla graczy
Zasoby
Wzmacniacz
Śledź nas na
Larvas Limited
Room 1201, 12/F Tai Sang Bank Building 130-132 Des Voeux Road Central HK