Zobacz temat

 Drukuj temat
Map Editor - Bot - Automatyczne ataki.
vertek123
Mógłby ktoś mi wytłumaczyć jak tworzyć plik .dat z tymi wszystkimi plikami? Chodzi o to że dział "Poradniki i tutoriale" jest w na początku zepsuty a ja nie rozumiem jak to działa... Chciałbym wiedzieć jak np. napisać plik ( z tego co mi się udało znaleść to z rozszerzeniem .ini ) który pozwoli widzieć / grać w moją mapę na multiplayer.
Między innymi: jak to się robi (jakieś banalne przykłady, bo jeśli chodzi o samo pisanie to tamte dalsze poradniki już działają), czy coś jest konieczne (jakiś plik/program) żeby zacząć tego typu pisanie? Gdzie dawać te wszystkie pliki? w pliku? w usermaps?
Proszę o pomoc Pokazuje język

Edytowane przez vertek123 dnia 27-02-2020 08:55
 
bjarni
W edytorze ładujesz pcx, ozdabiasz mapę, dajesz elementy krajobrazu, ludzi, zwierzęta, budynki, używasz c2m konwertera do przekonwertrowania mapy do DAT. Co robić dalej tłumaczy poradnik
http://www.culturesnation.pl/poradniki_i_tutoriale/1.pokonwersji.pdf
 
Remik
Witaj Przybyszu!
Na początku bardzo proszę o niepowielanie tematów. Co do twego pytanie. Mapę tworzysz za pomocą edytora wbudowanego. Kiedy już uzupełnisz mapę o wszystkie niezbędne elementy możesz przekonwertować ją do formatu dat za pomocą konwertera molta, który znajduje się w dziale download. Utworzy on wszystkie niezbędne pliki inc, które będziesz mógł edytować według poradników.

Pamiętaj jednak, że po konwersji nie będziesz już mógł edytować mapy za pomocą edytora.

Tak stworzone mapy powinny być umieszczenia w FolderZGrą/data/mapsa/NazwaMapy

Życzę powodzenia
Remik
 
vertek123
Remik napisał(a):

Witaj Przybyszu!
Na początku bardzo proszę o niepowielanie tematów. Co do twego pytanie. Mapę tworzysz za pomocą edytora wbudowanego. Kiedy już uzupełnisz mapę o wszystkie niezbędne elementy możesz przekonwertować ją do formatu dat za pomocą konwertera molta, który znajduje się w dziale download. Utworzy on wszystkie niezbędne pliki inc, które będziesz mógł edytować według poradników.

Pamiętaj jednak, że po konwersji nie będziesz już mógł edytować mapy za pomocą edytora.

Tak stworzone mapy powinny być umieszczenia w FolderZGrą/data/mapsa/NazwaMapy

Życzę powodzenia
Remik


Hej, rzeczywiście po skonwertowaniu na .dat stworzyło mi folder o nazwie Mapa (tak jak nazwałem swoją mapę) i rzeczywiście w nim mam stworzone różne pliki (np. misc.inc),. Wszedłem w plik misc.inc i zmieniłem "coś" na:
[misc_maptype]
maptype #CLEAN_MAP_TYPE_MULTI_PLAYER_FREE
Jak rozumiem to mam chyba dobrze, jednak nie zrozumiałem gdzie mam wlożyć ten stworzony folder. Czy może mam same pliki gdzieś przenieść??
x1
 
Remik
Tak jak wspomniałem powyżej w folderze z grą powinien znajdować się katalog o nazwie data jeśli go nie ma powinieneś go utworzyć. Wewnątrz powinien znaleźć się folder "maps", a do niego trzeba wkleić cały folder twojej mapy.

Jest też poradnik gdzie powinno się wszystko znaleźć, wystarczy poszukać.
https://culturesnation.pl/jak-instalowac-mapy-dat.php
 
vertek123
Remik napisał(a):

Tak jak wspomniałem powyżej w folderze z grą powinien znajdować się katalog o nazwie data jeśli go nie ma powinieneś go utworzyć. Wewnątrz powinien znaleźć się folder "maps", a do niego trzeba wkleić cały folder twojej mapy.


Mam grę na steam. W Skrócie: wchodzę we właściwości, ..., przeglądaj pliki lokalne - mam tam folder "DataX" jednak ja potrzebuję "data" więc tworzę folder. W nim robię folder "maps" i do niego wrzucam mój folder w ktorym znajdują się moje pliki (.ini / .dat itp. ). I tu się zaczyna problem, wszystko jest zrobione ale gdy wchodzę do gry mam o to taki błąd:
ifotos.pl/zobacz/cultures-_qaeanwx.png

EDIT: Znalazłem rozwiązanie, wszystko działa jak należy, link do tematu w którym znalazłem odpowiedź:
http://culturesnation.pl/forum/viewthread.php?thread_id=620

Dzięki remik twoja pomoc była kluczowa, każdemu innemu też dziękuje Lol

Edytowane przez vertek123 dnia 25-02-2020 17:07
 
vertek123
W jaki sposób zaskryptować bota aby atakował gracza co jakiś czas? Tak jak by pętla. I do tego chciałbym jakiś warunek że jeśli np. w swojej wiosce toczy się wojna odwołuję przynajmniej na jakiś czas (albo na następną pętlę ataku) ten atak. W jaki sposób to zrobić?
 
Remik
Zerknij na poradnik dotyczÄ…cy AI. Jest to jedna z trudniejszych rzeczy do oskryptowania.
 
vertek123
Remik napisał(a):

Zerknij na poradnik dotyczÄ…cy AI. Jest to jedna z trudniejszych rzeczy do oskryptowania.


Wiem że jest taki poradnik jednak nie do końca umiem z niego wywnioskować jak stworzyć zaokrąglające się ataki
EDIT: dodatkowe pytanie (niema co posta robić) czy kolejność pisania tego wszystkiego w pliku AI ma jakieś znaczenie? Czy jest to bez różnicy w jakiej to kolejności się piszę?

Edytowane przez vertek123 dnia 27-02-2020 17:17
 
vertek123
Mam taki kod:
[aidata]
HAI_Disable 2
AI_UnitLimit 2 50
AI_MaxUnitLimit 2 250
AI_SoldiersDefaultPosition 2 254 225 140

AI_SetCondition_OnTime 2 3 6

//Jesli dość wojowników - atakuj
AI_SetCondition_OnNumberOfSoldiers 2 2 0 31 1
AI_SetCondition_OnTime 2 3 6
AI_MainTask_Attack 2 150 3 59 36 300 2 2 89 70 1


Jednak po zabiciu jednostek OD RAZU idą następne, jak zrobić jakiś czas pomiędzy kolejną falą?
 
Joz
Bo oni mają od razu tą liczbę żołnierzy, która jest wymagana to ataku, jakby mieli mniej to by nie atakowali i czekali aż będą mieli wystarczająco.
Ja bym to zrobił na twoim miejscu w pliku mission, a efekt jest bardzo podobny i masz większą kontrolę nad tym. Tam możesz po upływie danego czasu zrobić żołnierzy dla bota którzy od razu są wysylani w dane miejsce na mapie.
A co do konwertowania i gdzie umieścić mapę, masz na youtube culturesnation kompletny poradnik jak zrobić od zera mapę dat

Wydobył mnie z dołu zagłady i z kałuży błota, a stopy moje postawił na skale i umocnił moje kroki
 
vertek123
Jozenkow napisał(a):

Bo oni mają od razu tą liczbę żołnierzy, która jest wymagana to ataku, jakby mieli mniej to by nie atakowali i czekali aż będą mieli wystarczająco.
Ja bym to zrobił na twoim miejscu w pliku mission, a efekt jest bardzo podobny i masz większą kontrolę nad tym. Tam możesz po upływie danego czasu zrobić żołnierzy dla bota którzy od razu są wysylani w dane miejsce na mapie.
A co do konwertowania i gdzie umieścić mapę, masz na youtube culturesnation kompletny poradnik jak zrobić od zera mapę dat

Hej a przypadkiem nie będę musiał robić 100 misji na 100 ataków i jeszcze więcej itd. itd.? Czy to w missions da się zaokrąglić jakoś? I w jaki sposób właściwie mam to zrobić? (Widziałem w pewnym pliku innej mapy: ...sethuman(chyba, chodziło o tworzenie ludzi) oraz sendhuman bodajze) - o to chodzi? Chciałbym dokończyć tą sztuczną inteligencję i mapka będzie wrzucana tutaj.

EDIT: Dlaczego gdy tworzę w mission.inc 3 ludzi, i wysyłam ich na koordynaty aby atakowali to oni przez moment idą w dobrym kierunku a następnie zawracają do bazy?
// MissionId_1
[MissionData]
debuginfo "Atak"
description -1
active 1
visible 1

goal "TimeGone" 20
result "SetHuman" 2 "frank" "soldier_sword_long" 190 202 1 0
result "SetHuman" 2 "frank" "soldier_bow_long" 190 202 1 0
result "SetHuman" 2 "frank" "soldier_bow_long" 190 202 1 0
result "SendHuman" 1 69 50


Zapewne komuś od razu na myśl przyjdzie sztuczna inteligencja - w niej mam takie coś:
[aidata]
HAI_Disable 3
AI_UnitLimit 3 50
AI_MaxUnitLimit 3 250


Edytowane przez vertek123 dnia 29-02-2020 16:56
 
Joz
A jesteś pewien że nie mają oni czegoś więcej w AI? Takie rzeczy się dzieją kiedy mają oni w ai polecenie bronić jakiegoś punktu. Ustaw tym zrespionym żołnierzom kod 33 na końcu (jak masz 1 0 na końcu to zamień na 1 33)jest to kod właściwości jednostki i 33 oznacza brak potrzeb i brak kontroli nad jednostka. Ai działa jak gracz i ma wbudowane skrypty do kontroli swoich ludzi, musisz dać im właściwość braku kontroli aby bot nimi nie poruszał tylko by słuchali poleceń które dałeś im w mission.

Odpowiadając na pierwsze pytanie: pewnie ze się da. Zapoznaj się z poleceniem activate mission, po prostu w tej samej misji dajesz result activate mission tej samej misji i cel się zapetla w nieskonczosc. Problem w tym że w miarę rozwoju gry chcesz wysyłać coraz mocniejsze ataki i wtedy trzeba już ręcznie robić że po X czasu wysyła się atak i może być ich dużo.
Dla przykładu pamiętam że w mojej mapie Mroczny Las same ataki to było coś około 100 misji.

Wydobył mnie z dołu zagłady i z kałuży błota, a stopy moje postawił na skale i umocnił moje kroki
 
vertek123
Jozenkow napisał(a):

A jesteś pewien że nie mają oni czegoś więcej w AI? Takie rzeczy się dzieją kiedy mają oni w ai polecenie bronić jakiegoś punktu. Ustaw tym zrespionym żołnierzom kod 33 na końcu (jak masz 1 0 na końcu to zamień na 1 33)jest to kod właściwości jednostki i 33 oznacza brak potrzeb i brak kontroli nad jednostka. Ai działa jak gracz i ma wbudowane skrypty do kontroli swoich ludzi, musisz dać im właściwość braku kontroli aby bot nimi nie poruszał tylko by słuchali poleceń które dałeś im w mission.

Odpowiadając na pierwsze pytanie: pewnie ze się da. Zapoznaj się z poleceniem activate mission, po prostu w tej samej misji dajesz result activate mission tej samej misji i cel się zapetla w nieskonczosc. Problem w tym że w miarę rozwoju gry chcesz wysyłać coraz mocniejsze ataki i wtedy trzeba już ręcznie robić że po X czasu wysyła się atak i może być ich dużo.
Dla przykładu pamiętam że w mojej mapie Mroczny Las same ataki to było coś około 100 misji.


Wszystko działa! Dzięki! Jeśli chodzi o co raz większe ataki to będzie większego problemu, wystarczy zrobić np. 5 misji - 1 misja = najgorszy atak, aktywuje drugą misje, potem trzecią itd. a na przykład ta piąta już się zaokrągla. Jeśli chodzi o AI to nie - nie było kompletnie nic innego.
Jeszcze jednak mam 2 pytania, raczej dodatkowe jednak wpłynie na rozgrywkę na mapie - goal to jest co musi się spełnić a result to jest "nagroda / czyn co ma się zrobić po wykonaniu" - czy da się zrobić parę tych argumentów goal na skończenie misji? Aby każdy warunek był spełniony żeby dopiero dokonał się "result".
Drugim pytaniem jest czy da się jednak nie tworzyć jednostki a sprawdzać w "goal" (jeśli jest parę warunków tak jak w pytaniu pierwszym) wystarczająca ilość jednostek a w result wysłać ileś jednostek.

Edytowane przez vertek123 dnia 29-02-2020 20:09
 
Joz
Tak da siÄ™. W obu pytaniach.
Masz poradniki niemieckie z wszystkimi celami i rezultatami ale ja jestem kozakiem i zrobiłem swoją listę celów i rezultatów po polsku wraz z wszystkimi numerkami

Wydobył mnie z dołu zagłady i z kałuży błota, a stopy moje postawił na skale i umocnił moje kroki
 
vertek123
Jozenkow napisał(a):

Tak da siÄ™. W obu pytaniach.
Masz poradniki niemieckie z wszystkimi celami i rezultatami ale ja jestem kozakiem i zrobiłem swoją listę celów i rezultatów po polsku wraz z wszystkimi numerkami

Napiszesz tutaj przydatne do tego cele? spędziłem z godzinę na czytaniu w tym pliku .txt warunków i rezultatów i tak naprawdę nic konkretnego tam nie znalazłem Rozwalony
 
Joz
To źle czytałeś bo jest tam Result mission won który wygrywa mapę. Dla przykładu po zabiciu 1 gracza wygrywa się mapę

Misja1:
Goal playerdied 1
Result missionwon 0

Możesz też dorzucić coś w stylu odkrycia całej mapy wtedy dajesz
Result explorearea 0 0 0 0

Albo możesz też wyłączyć wszystkie następne zdarzenia w tej mapie aby po wygraniu już nic się nie działo
Wtedy do misji 1 dopisujesz
Result activatemission 2

Misja2:
Goal timegone 7
Result disableall

Wydobył mnie z dołu zagłady i z kałuży błota, a stopy moje postawił na skale i umocnił moje kroki
 
vertek123
Jozenkow napisał(a):

To źle czytałeś bo jest tam Result mission won który wygrywa mapę. Dla przykładu po zabiciu 1 gracza wygrywa się mapę

Misja1:
Goal playerdied 1
Result missionwon 0

Możesz też dorzucić coś w stylu odkrycia całej mapy wtedy dajesz
Result explorearea 0 0 0 0

Albo możesz też wyłączyć wszystkie następne zdarzenia w tej mapie aby po wygraniu już nic się nie działo
Wtedy do misji 1 dopisujesz
Result activatemission 2

Misja2:
Goal timegone 7
Result disableall


Emm, ale to nie o tym mowa.Rozwalony Przecież temat jest oparty o automatycznych atakach - i pytam się jak w misji nie robić tylko wysłać żołnierzy na jakieś kordy. SendHuman nie da rady chyba że da radę ustawić po przez misje losowym żołnierzom jakieś ID te same (np. 7) i po przez SendHuman wtedy ich wysłać, to wtedy by się to kupy trzymało. Jednak nie znalazłem nic takiego na zmianę ID ani nie widziałem nic w rezultatach aby wysłać ileś żołnierzy na dany teren.
 
Joz
Id jednostkom dajesz w static objects lub w mission.

Wydobył mnie z dołu zagłady i z kałuży błota, a stopy moje postawił na skale i umocnił moje kroki
 
vertek123
A co mam zrobić gdy podczas gry AI tworzy NOWE jednostki? Wtedy ma jakieś własne ID prawda? W takim wypadku musi być inne rozwiązanie
 
Przejdź do forum: