Witam, już nie przybywam z problemami z kompilacją, a problemem dotyczącym modyfikacji nad którą, pracuję.
1.Zacząłem tworzyć modyfikację, która m.in. dodaje dodatkowe/alternatywne ulepszenie jednostek, dzięki pomocy Ivana, dowiedziałem się jak tworzyć ulepszenia.
Moje pytanie jak zrobić, aby po wybudowaniu jednego budynku, dostałbym 2 ulepszenia
przykład: pikinier - buduje ul.wieża strażnicza (nie pamiętam po ang.) i dostaję halabardników i Zbójców(?, Rogue).
2.Nie wiedziałem jak to zrobić, więc zacząłem pisać jakiś prosty skrypt:
Nie ma jednego fragmentu, który obsługuje coś takiego, jak “ulepszenia jednostek”. Masz na myśli parsowanie stworzeń i ich ulepszeń, konfigurację miasta, interfejs miasta umozliwiający rekrutację, interfejs jednostki umożliwiającej ulepszenie, kod sprawdzający możliwe ulepszenia? Każdy fragment znajduje się w sobie właściwym miejscu, trzeba więc sprecyzować zapytanie.
“alternative_upgrades” jest zrobiony przeze mnie i jest na pewno dobrze zrobiony. Zmodyfikowałem CTownHandler.h i dodałem tą zmienną.
I oto linijki z alternative_upgrades
Od Ivana dowiedziałem się jak poprzez dodanie budynku, mogę dodać kolejne ulepszenie np. Hota i w nowym zamku jest 3 stopniowa jednostka, dzięki dodatkowemu budynkowi.
Chodzi mi o to gdzie to jest w skryptach, że jak zbuduje budynek dwelling w mieście, to odblokowuje mi on ulepszoną jednostkę?
To nie jest “w skryptach”, bo lista wybudowanych struktur w mieście jest elementarna. Za to nie ma struktury opisującej dostępne do rekrutacji typy jednostek, więc jej nie znajdziesz
Takie rozwiązanie przyjęto w zdecydowanej większości pierwotnego kodu, bo było najprostsze. Program sprawdza po prostu listę wybudowanych budynków i na tej podstawie określa, jakie jednostki są dostępne.
To jest schemat. Nie wiem dokładnie, jak z niego korzystać, ale na pewno nie należy go parsować. Parsować możesz tablice, które zawierają konkretne elementy.
Nie zrozumiałem cię. Wpisałem to do schema w buildings.json, tak jak inne zmienne są wpisane i co, nie muszę tego wpisywać ?
Co do pierwszego. Wcześniej, gdy podział był na basic_creatures i upgrade_creatures, to był w kodzie VCMI przykład z sharpshooterem, ale po aktualizacji nie wiem, gdzie to teraz jest.
Dodam też, że plik buildings.json jest bodaj jedynym , który zawiera schemat. Więc sugeruję się nim nie kierować, a przed użyciem schematu zastanowić się, jak działa. Bo ja tego nie wiem.
error “standard libraries c++ out of range” && 0
line 933
Niestety, znów powróciłem, jednak bez wczytania alternative_upgrades, się nie obejdzie, ponieważ dzięki temu będę mógł dodać w łatwy sposób alternatywne jednostki.