Page 1 of 1

EDYTOR - Kopiowanie jednostek

Posted: Mon Jun 03, 2013 11:45 pm
by Vykromod
Witam. Mam pytanie. Czy istnieje jakiś sposób na kopiowanie jednostek z jednej mapy na drugą? Nie pytajcie do czego mi to potrzebne :D
Jedyne co mi przychodzi do głowy, to tworzenie jednostek za pomocą skryptu SAIL i kopiuj-wklejanie tegoż skryptu do innej mapy, ale nie uśmiecha mi się rezygnować z wygodnej możliwości tworzenia jednostek bezpośrednio w edytorze map tylko po to by móc je później skopiować.

Re: EDYTOR - Kopiowanie jednostek

Posted: Tue Jun 04, 2013 9:22 am
by Serpent
Nawalanie ręczne - bo tak to nazywam to frajerstwo i nie wygoda. W sailu postacie robi się o wiele szybciej no i można nimi lepiej manipulować ;p Unikasz wtedy też efektu "bliźniaka" czyli takich samych twarzy postaci.

Do kopiuj/wklej służy kod SAIL:
http://forum.original-war.net/viewtopic ... aci#p30278
http://forum.original-war.net/viewtopic.php?f=18&t=545

Re: EDYTOR - Kopiowanie jednostek

Posted: Tue Jun 04, 2013 11:16 pm
by Vykromod
No nie wiem. Jakoś ciężko mi wyobrazić sobie w jaki sposób mozolne wpisywanie kilku linijek kodu w SAILu do każdej jednostki ma być szybsze/wygodniejsze niż ustawienie w kilka sekund wszystkich potrzebnych statystyk i jedno kliknięcie na mapie. Chyba że chodzi Ci o to, żeby raz pomęczyć się z opisywaniem postaci SAILem i zapisać ją za pomocą tej komendy, żeby później móc wywoływać ją za pomocą CreateCharacter.

Anyways, to załatwia sprawę. Dzięki.

EDIT:
Tak z ciekawości, czy plik wyjściowy, do którego ta funkcja zapisuje postacie powinno się jakoś przygotować lub wyznaczyć? Po eksperymentach z tą funkcją nie widzę żadnych zmian w pliku "output.txt" w folderze z misją. W ogóle ciężko znaleźć w internecie jakiekolwiek informacje na ten temat.

Re: EDYTOR - Kopiowanie jednostek

Posted: Wed Jun 05, 2013 8:57 am
by Serpent
output.txt było wykorzystywane przez twórców gry. Nie zauważyłem aby ktokolwiek kto robił kiedykolwiek jakikolwiek mod korzystał z tego pliku.

Zazwyczaj usuwa się właśnie output i input.txt z folderu mapy aby nie zaśmiecały nam moda, pliki te można też wyłączyć w map preferences.

Re: EDYTOR - Kopiowanie jednostek

Posted: Wed Jun 05, 2013 10:48 am
by Vykromod
To w takim razie gdzie ta komenda zapisuje jednostki? Do save'a?

Re: EDYTOR - Kopiowanie jednostek

Posted: Wed Jun 05, 2013 10:57 am
by Serpent
Vykromod wrote:To w takim razie gdzie ta komenda zapisuje jednostki? Do save'a?
Ta.

SaveCharacters(Janek, 'JanekSave'); // zapisuje postać z mapy o idencie Janek pod nowym identem JanekSave (choć równie dobrze JanekSave można zastąpić samym Janek).

Potem w następnej misji:
Janek = CreateCharacter('JanekSave'); // wczytuje JanekSave i daje mu ident Janek.


Działa to mniej więcej tak, dlatego misje kolejne w których wczytujesz postacie trzeba testować w grze bo w edytorze ich nie wczytasz.

PS:
Vykromod wrote:No nie wiem. Jakoś ciężko mi wyobrazić sobie w jaki sposób mozolne wpisywanie kilku linijek kodu w SAILu do każdej jednostki ma być szybsze/wygodniejsze niż ustawienie w kilka sekund wszystkich potrzebnych statystyk i jedno kliknięcie na mapie. Chyba że chodzi Ci o to, żeby raz pomęczyć się z opisywaniem postaci SAILem i zapisać ją za pomocą tej komendy, żeby później móc wywoływać ją za pomocą CreateCharacter.

No to patrz :)

Code: Select all

Export function CreateArmy(liczba);
var un, x;
begin

uc_side = 1;
uc_nation = 1;
x = 0;

repeat
begin
hc_class = 1; 
hc_sex = Rand(sex_male, sex_female);
hc_attr = [Rand(9,11), Rand(10,11)];
hc_gallery = '';
hc_skills = [Rand(0,10), 0,0,0];

un = CreateHuman;
PlaceUnitAnywhere(un, false);
x = x + 1;
end until x = liczba;
end;

// i teraz gdzieś dajesz sobie w kodzie
CreateArmy(100); 
// i masz 100 żołnierzy i to na pewno szybciej niż sto razy klikać i ustawiać ich na mapie :D

Re: EDYTOR - Kopiowanie jednostek

Posted: Wed Jun 05, 2013 10:41 pm
by Vykromod
Serpent wrote:Działa to mniej więcej tak, dlatego misje kolejne w których wczytujesz postacie trzeba testować w grze bo w edytorze ich nie wczytasz.
No to niestety odpada. Nie przyda mi się do tego, do czego mi to potrzebne. Nie istnieje inna metoda? Taka, która działałaby w edytorze?
Serpent wrote:// i teraz gdzieś dajesz sobie w kodzie
CreateArmy(100);
// i masz 100 żołnierzy i to na pewno szybciej niż sto razy klikać i ustawiać ich na mapie :D[/code]
Niezbyt rzetelny przykład. Twój kod pod względem wygody wygrywa z "nawalaniem ręcznym" tylko z takiego powodu, że tworzysz gigantyczną armię 100 żołnierzy. Pytanie, po kiego wała mam tworzyć taką hordę? Mówmy o bardziej realnych sytuacjach. Wybacz, ale jeżeli mam na przykład na szybko stworzyć 10-15 osobowy zespół, to wygodniej mi jest go wyklikać, niż pisać prawie 20 linijek kodu.

Oczywiście, domyślam się, że do większości sytuacji metoda ręczna po prostu się nie nadaje z przyczyn technicznych, ale ciężko zaprzeczyć, że w wielu prostych sytuacjach jest po prostu wygodna.

Re: EDYTOR - Kopiowanie jednostek

Posted: Thu Jun 06, 2013 8:39 am
by Serpent
Vykromod wrote:
Serpent wrote:Działa to mniej więcej tak, dlatego misje kolejne w których wczytujesz postacie trzeba testować w grze bo w edytorze ich nie wczytasz.
No to niestety odpada. Nie przyda mi się do tego, do czego mi to potrzebne. Nie istnieje inna metoda? Taka, która działałaby w edytorze?
Istnieje, w każdej misji tworzyć za pomocą kilków na mapie te same postacie w każdej misji ale nie wiem jak ma wyglądać mod bez kodu saila, to coś nowego :D


Co do mojego kodu to przykład, szablon który można w dowolny sposób wykorzystać.