Atak Jednostek oraz wykonanie misji- MOD

Tematy zbędne, ale zbyt dobre by je usunąć znajdują się tutaj.
Radzio
Site Administrator
Site Administrator
Poland
Příspěvky: 2898
Registrován: pát črc 28, 2006 10:58 am
Bydliště: Bialystok, Poland

Příspěvek od Radzio »

hehe, wszystko sie da...
wiec tak:
1 problem: kod bedzie taki

Kód: Vybrat vše

every 0$1 trigger IsInArea(Jawor,Area01) or IsInArea(Nadol,Area01) or IsInArea(Pamel,Area01) do
begin
//twoj kod
end;
2 problem: wielokrotne jednostki w jednej komendzie wstawiaj w kwadratowe nawiasy (chodzi ci chyba o wynagradzanie ludzi tak?):

Kód: Vybrat vše

RewardPeople([1ludek,2ludek,3ludek]);
savecharacters nie zaakceptuje wielokrotnosci (mam na mysli ze nie da ci to zamierzonego efektu bo zapisze zestaw postaci jako jedna zmienna)
3 problem: komenda na zablokowanie:

Kód: Vybrat vše

InGameOn;
na odblokowanie:

Kód: Vybrat vše

InGameOff;
Uživatelský avatar
NaDoL
Community Veteran
Community Veteran
Příspěvky: 379
Registrován: stř dub 12, 2006 7:43 pm
Bydliště: Poland
Kontaktovat uživatele:

temat

Příspěvek od NaDoL »

Ok działa, mam jeszcze pytanie jak powinien wyglądać kod jeśli ma mi sie pojawić postać z poprzedniej misji?? bo coś nie dziala to co czytałem w temacie scyzora chyba, przy kompilacji wykrywa że ''nadol'' to error...(w poprzedniej misji bylo zapisane savecharacters...
Obrázek
Radzio
Site Administrator
Site Administrator
Poland
Příspěvky: 2898
Registrován: pát črc 28, 2006 10:58 am
Bydliště: Bialystok, Poland

Příspěvek od Radzio »

w poprzedniej misji:

Kód: Vybrat vše

SaveCharacters(Nadol,'Nadol');
w nowej:

Kód: Vybrat vše

Nadol=CreateCharacter('Nadol');
tyle ze ta nowa misja musi byc zaladowana po zapisie tej starej wiec najpierw musisz miec save'a z poprzedniej by ta druga sie zaladowala poprawnie
Uživatelský avatar
NaDoL
Community Veteran
Community Veteran
Příspěvky: 379
Registrován: stř dub 12, 2006 7:43 pm
Bydliště: Poland
Kontaktovat uživatele:

temat

Příspěvek od NaDoL »

Wszystko działa xD teraz mam kolejne pytanie;p
Jak powinien wyglądać kod jeżeli po zbudowaniu 6 pojazdów pojawi się taka ''ramka'' czerwona i jak sie tam wejdzie wszystkimi ludzmi w pojeździe to misja się skończy...??
Obrázek
Radzio
Site Administrator
Site Administrator
Poland
Příspěvky: 2898
Registrován: pát črc 28, 2006 10:58 am
Bydliště: Bialystok, Poland

Příspěvek od Radzio »

Kód: Vybrat vše

every 0$1 trigger FilterAllUnits([[f_type,2],[f_side,1]])>=6 do
begin
SetAreaMapShow(twojaarea,1);
end;

Kód: Vybrat vše

every 0$1 trigger FilterUnitsInArea(twojaarea,[[f_type,2],[f_side,1]])>=6 and FilterUnitsInArea(twojaarea,[[f_type,1],[f_side,1]])>=6 do
begin
//kod na zakonczenie, ktorego juz tu nie napisze bo mysle ze go znasz
end;
twojaarea to nazwa tej arei, wokol ktorej pojawi sie ramka
Uživatelský avatar
NaDoL
Community Veteran
Community Veteran
Příspěvky: 379
Registrován: stř dub 12, 2006 7:43 pm
Bydliště: Poland
Kontaktovat uživatele:

temat

Příspěvek od NaDoL »

No spoko z tym że jest mały w tym problem, bo jeżeli postacie są w pojazdach nie kończy misji, dopiero jak wyjdą z pojazdu wyswietla koniec...tj medale wiadomo...
Obrázek
Radzio
Site Administrator
Site Administrator
Poland
Příspěvky: 2898
Registrován: pát črc 28, 2006 10:58 am
Bydliště: Bialystok, Poland

Příspěvek od Radzio »

Kód: Vybrat vše

every 0$1 trigger FilterUnitsInArea(twojaarea,[[f_type,2],[f_side,1]])>=6  do
begin
//kod na zakonczenie, ktorego juz tu nie napisze bo mysle ze go znasz
end;
sprobuj to
Uživatelský avatar
NaDoL
Community Veteran
Community Veteran
Příspěvky: 379
Registrován: stř dub 12, 2006 7:43 pm
Bydliště: Poland
Kontaktovat uživatele:

temat

Příspěvek od NaDoL »

Ok działa. A co dodać do kodu ''ataku'' jeżeli chce aby ten sam atak powtarzał sie co 5 min np. a nie tylko raz jak sie da:
every 5$0 do
Obrázek
Radzio
Site Administrator
Site Administrator
Poland
Příspěvky: 2898
Registrován: pát črc 28, 2006 10:58 am
Bydliště: Bialystok, Poland

Příspěvek od Radzio »

wpisz tak:

Kód: Vybrat vše

every 5$0 do
begin
//kod ataku
enable;
end;
Uživatelský avatar
NaDoL
Community Veteran
Community Veteran
Příspěvky: 379
Registrován: stř dub 12, 2006 7:43 pm
Bydliště: Poland
Kontaktovat uživatele:

temat

Příspěvek od NaDoL »

A mam pytanie jeszcze male, jaka komenda powinna byc żeby to co się pojawi atakwoało moja bazę, bo ten
ComAttackUnit([odzialy],FilterAllUnits([f_side,1]));
nie działa za bardzo(porposu jak się pojawią to stoją)...a GoToArea jest troche malo inteligentne ze tak powiem...jest coś jeszcze?? a moze ten 1 jest zły?
Obrázek
Radzio
Site Administrator
Site Administrator
Poland
Příspěvky: 2898
Registrován: pát črc 28, 2006 10:58 am
Bydliště: Bialystok, Poland

Příspěvek od Radzio »

jest taki fajny kod:

Kód: Vybrat vše

ComAgressiveMove([oddzialy],x,y);
gdzie x i y to pozycje na mapie (najezdzajac na wybrany hex widac jego wartosci x i y po lewej stronie ekranu) najlepiej zeby byly one gdzies na srodku bazy albo na jej koncu (chyba da to najwiekszy realizm), ogolnie kod ten polega na tym ze wybrane jednostki beda zdazaly do tego hexu, jednakze w przeciwienstwie do zwyklego przemieszczenia beda sie zatrzymywac gdy tylko ujrza wroga, a kontynuowac trase beda po zniszczeniu wrogow w polu widzenia
Uživatelský avatar
NaDoL
Community Veteran
Community Veteran
Příspěvky: 379
Registrován: stř dub 12, 2006 7:43 pm
Bydliště: Poland
Kontaktovat uživatele:

temat

Příspěvek od NaDoL »

Ok działa. nastepne pytanie xD
Jak zrobić żeby po misji pokazywało się takie okno z wyborem postacie, i że one są w następnej misji? i żeby przechodziło z jednej mapy do 2 ''po czymś tam'' bez poakzywania tego okno ''wygrales'' etc tylko chodzi o płynne przejście, coś jak w misji USA gdzie z Alphy macmilan przechodził do budowy Epsilonu...
I jak ta grafe podczas loadingu zmienić (to co taka mapka jest jakby)??
A i jak dac żeby nad skaldem pisalo np. Nadol ? tak jak w multi?
Obrázek
Radzio
Site Administrator
Site Administrator
Poland
Příspěvky: 2898
Registrován: pát črc 28, 2006 10:58 am
Bydliště: Bialystok, Poland

Příspěvek od Radzio »

1) kod na zmiane mapy:

Kód: Vybrat vše

ChangeMap('1','%_cont');
zmieni mape na mape z tym samym numerkiem, tyle ze bedzie miala dopisek _cont
2) co do postaci najlepiej zapisac je w tej poprzedniej misji jako zestaw postaci (poprzedniej czyli nie tej przed _cont tylko tej jeszcze poprzedniej) poleceniem:

Kód: Vybrat vše

SaveCharacters(FilterAllUnits([[f_side,1],[f_type,1],[f_alive]]),'zestaw');
teraz w tej nowej misji wprowadzic sobie jakos zmienna dla zestawu np. zest1

Kód: Vybrat vše

EXPORT zest1;
i w kodzie dalszym wpisac

Kód: Vybrat vše

zest1=CreateCharacterSet('zestaw');
nastepnie menu wyboru:

Kód: Vybrat vše

CharacterSelection('naglowek',min,max,zest1,[klasy])
gdzie naglowek to identyfikator do tekstu w pliku Texts.txt (lub TxtNR.wri) do tekstu np. Wybierz sobie tyle i tyle postaci, blablabla... (nie wiem jak to wprowadzic) min to minimalna ilosc ludzi, max chyba tlumaczyc nie musze, zest1 to nasz zestaw, [klasy] to klasy dostepne na jakie postacie mozna zamienic np. 4 podstawowe klasy to bedzie [1,2,3,4] a same specjalne klasy [5,8,9] mozesz takze ustalic ilu ludzi moze miec dana klase np. [1,2,3,[4,1]] ustalilem ze bedzie mozna miec tylko 1 naukowca
3) grafa jest w folderze Interface\LoadImgs w data1.owp , zobacz sam jak to jest ulozone a zrozumiesz (pliki sa w formacie targa jak nie masz jakiegos programu graficznego z takim formatem to uzyj irfanview)
4) poczytaj mojego tutka: http://www.owsupport.com/?sect=tutorial ... asename_pl
tylko pod zadnym pozorem NIE PRZEPISUJ ZADNYCH TEKSTOW ZA // ANI TEZ SAMYCH // (mialem juz na to skargi bo ludzie nie wiedzieli ze to komentarze :? )
Uživatelský avatar
NaDoL
Community Veteran
Community Veteran
Příspěvky: 379
Registrován: stř dub 12, 2006 7:43 pm
Bydliště: Poland
Kontaktovat uživatele:

temat

Příspěvek od NaDoL »

Spoko wiem ^^ ot tera mam następne ptanie;p
Jaki fragment jest kodu jeżeli po oswojeniu 3 małpoludów-inżynierów pojawia sie coś tam (cel albo dialog wiadomo)? i jaki będzie kod jezeli chce aby np. Nadol po skończeniu dialogu wszedł do pojazdu który stoi obok(id pojazdu- pojazd) i odjechał nim do area01 ??
Obrázek
Radzio
Site Administrator
Site Administrator
Poland
Příspěvky: 2898
Registrován: pát črc 28, 2006 10:58 am
Bydliště: Bialystok, Poland

Příspěvek od Radzio »

1) kod:

Kód: Vybrat vše

every 0$1 trigger FilterAllUnits([[f_side,1],[f_class,16])>=3 do
begin
//blablabla
end;
2) kod:

Kód: Vybrat vše

// skonczyl sie dialog
ComEnterUnit(Nadol,pojazd);
AddComMoveToArea(Nadol,area01);
// Nadol pojechal w swiat :D
Zamčeno