Znalazłem instrukcję na Steamie na forum. I działa. [Tłumaczenie z Google'a]
After 10 hours of working on it, I finally found a solution!
You need to install 7-zip so you can edit a file in the game folder without unzipping a pak file.
Here is the solution that finally fixes this otherwise game-breaking bug:
1. Open the folder named Data in the installation directory. ( KingdomComeDeliverance\Data )
2. Make a backup copy of Scripts.pak on your desktop. (Just in case - so you don't need to validate all your game files if you make a mistake).
3. Right-click on the file Scripts.pak and use 7-zip to "open archive" (do not try to extract or unzip the pak file. Doing so will corrupt it and apparently add some unwanted metadata to it).
4. In the 7-zip file browser, go to Scripts.pak/Libs/AI/quests/
5. Select the file q_pribBattle.xml and press F4 - this lets you edit the file without extracting/unzipping it. (Do not attempt to make a backup of q_pribBattle.xml, as you cannot re-insert the backup back into Scripts.pak without corrupting it).
6. Delete the following lines from the file and save your changes. (You will be asked again if you want to save the xml file inside Scripts.pak after you close the editor. Say Yes).
The code below must be deleted to stop the "Too many casualties" bug:
<IfCondition failOnCondition=""false"" condition=""$questObjectiveUpdate.ObjectiveName == 'battleLost' & $questObjectiveUpdate.State == $enum:ObjectiveState.Started"">
<SetQuestObjective quest="""" objective=""battleLost"" function=""CompleteObjective"" />
</IfCondition>
<IfCondition failOnCondition=""false"" condition=""$questObjectiveUpdate.ObjectiveName == 'gameOver' & $questObjectiveUpdate.State == $enum:ObjectiveState.Completed"">
<Sequence>
<QuestObjectiveCondition quest="""" objective=""playerFled"" function=""IsObjectiveCompleted"" failSubtMissing=""false"" saveVersion="2">
<Then canSkip="1">
<GameOver Reason=""Q_IR_FledBattle"" />
</Then>
</QuestObjectiveCondition>
<QuestObjectiveCondition quest="""" objective=""battleLost"" function=""IsObjectiveCompleted"" failSubtMissing=""false"" saveVersion="2">
<Then canSkip="1">
<GameOver Reason=""TooManyCausalties"" />
</Then>
</QuestObjectiveCondition>
<QuestObjectiveCondition quest="""" objective=""killPlayer"" function=""IsObjectiveCompleted"" failSubtMissing=""false"" saveVersion="2">
<Then canSkip="1">
<GameOver Reason=""LostABattle"" />
</Then>
</QuestObjectiveCondition>
</Sequence>
</IfCondition>
I hope this will help everyone enjoy the game again. It took me all night to finally find this solution. And boy was I happy when I finally beat "Baptism of Fire". Because nothing else worked for me. No trainer. No Mods. Not Cheat Engine. Not rewriting the reputation mods to grant negative reputation. Not spawning villagers into prebyslev to kill them to decrease reputation with the village. Nothing. Only the solution above.
Po 10 godzinach pracy w końcu znalazłem rozwiązanie! Musisz zainstalować 7-zip, aby móc edytować plik w folderze gry bez rozpakowywania pliku pak. Oto rozwiązanie, które ostatecznie naprawia ten błąd, który w przeciwnym razie łamie grę: 1. Otwórz folder o nazwie Data w katalogu instalacyjnym. (KingdomComeDeliverance \ Data) 2. Utwórz kopię zapasową pliku Scripts.pak na pulpicie. (Na wszelki wypadek - więc nie musisz sprawdzać poprawności wszystkich plików gry, jeśli popełnisz błąd). 3. Kliknij prawym przyciskiem myszy plik Scripts.pak i użyj 7-zip, aby „otworzyć archiwum” (nie próbuj rozpakowywać ani rozpakowywać pliku pak. Spowoduje to uszkodzenie go i prawdopodobnie doda do niego niechciane metadane). 4. W przeglądarce plików 7-zip przejdź do Scripts.pak / Libs / AI / quests / 5. Wybierz plik q_pribBattle.xml i naciśnij F4 - pozwala to edytować plik bez rozpakowywania / rozpakowywania. (Nie próbuj tworzyć kopii zapasowej q_pribBattle.xml, ponieważ nie możesz ponownie wstawić kopii zapasowej z powrotem do Scripts.pak bez jej uszkodzenia). 6. Usuń następujące wiersze z pliku i zapisz zmiany. (Po zamknięciu edytora zostaniesz ponownie zapytany, czy chcesz zapisać plik xml w Scripts.pak. Powiedz Tak). Poniższy kod musi zostać usunięty, aby zatrzymać błąd „Zbyt wiele ofiar”: <IfCondition failOnCondition = "& quot; false & quot;" condition = "& bdquo; $ questObjectiveUpdate.ObjectiveName == & apos; battleLost & apos; & amp; $ questObjectiveUpdate.State == $ enum: ObjectiveState.Started & bdquo;"> <SetQuestObjective quest = „& bdquo; & rdquo;” objective = „& quot; BattleLost & quot;” function = „„ CompleteObjective ”” /> </IfCondition> <IfCondition failOnCondition = "& quot; false & quot;" condition = "& bdquo; $ questObjectiveUpdate.ObjectiveName == & apos; gameOver & apos; & amp; $ questObjectiveUpdate.State == $ enum: ObjectiveState.Completed & quot;"> <Sequence> <QuestObjectiveCondition quest = "& bdquo; & rdquo;" objective = „& quot; playerFled & quot;” function = „„ IsObjectiveCompleted ” failSubtMissing = "& bdquo; false & rdquo;" saveVersion = "2"> <Następnie canSkip = "1"> <GameOver Reason = "& bdquo; Q_IR_FledBattle & rdquo;" /> </Then> </QuestObjectiveCondition> <QuestObjectiveCondition quest = "& bdquo; & rdquo;" objective = „& quot; BattleLost & quot;” function = „„ IsObjectiveCompleted ” failSubtMissing = "& bdquo; false & rdquo;" saveVersion = "2"> <Następnie canSkip = "1"> <GameOver Reason = „& bdquo; TooManyCausalties & rdquo;” /> </Then> </QuestObjectiveCondition> <QuestObjectiveCondition quest = "& bdquo; & rdquo;" objective = „& bdquo; killPlayer & rdquo;” function = „„ IsObjectiveCompleted ” failSubtMissing = "& bdquo; false & rdquo;" saveVersion = "2"> <Następnie canSkip = "1"> <GameOver Reason = „& quot; LostABattle & quot;” /> </Then> </QuestObjectiveCondition> </Sequence> </IfCondition> Mam nadzieję, że dzięki temu wszyscy znów będą cieszyć się grą. Całą noc zajęło mi znalezienie tego rozwiązania. I chłopcze, byłem szczęśliwy, kiedy w końcu pokonałem „Baptism of Fire”. Ponieważ nic innego nie działało dla mnie. Brak trenera. Brak modów. Nie oszukiwać silnika. Nie przepisywanie modyfikacji reputacji w celu przyznania negatywnej reputacji. Nie odradzanie mieszkańców wioski w prebyslev, aby ich zabić, aby zmniejszyć reputację w wiosce. Nic. Tylko rozwiązanie powyżej.