Atak Jednostek oraz wykonanie misji- MOD

Tematy zbędne, ale zbyt dobre by je usunąć znajdują się tutaj.
Radzio
Site Administrator
Site Administrator
Poland
Messages : 2898
Inscription : Fr Jul 28, 2006 10:58 am
Wohnort : Bialystok, Poland

Beitrag par Radzio »

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

Code: Alles auswählen

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?):

Code: Alles auswählen

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:

Code: Alles auswählen

InGameOn;
na odblokowanie:

Code: Alles auswählen

InGameOff;
Benutzeravatar
NaDoL
Community Veteran
Community Veteran
Messages : 379
Inscription : Mi Apr 12, 2006 7:43 pm
Wohnort : Poland
Contact :

temat

Beitrag par 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...
Bild
Radzio
Site Administrator
Site Administrator
Poland
Messages : 2898
Inscription : Fr Jul 28, 2006 10:58 am
Wohnort : Bialystok, Poland

Beitrag par Radzio »

w poprzedniej misji:

Code: Alles auswählen

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

Code: Alles auswählen

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
Benutzeravatar
NaDoL
Community Veteran
Community Veteran
Messages : 379
Inscription : Mi Apr 12, 2006 7:43 pm
Wohnort : Poland
Contact :

temat

Beitrag par 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...??
Bild
Radzio
Site Administrator
Site Administrator
Poland
Messages : 2898
Inscription : Fr Jul 28, 2006 10:58 am
Wohnort : Bialystok, Poland

Beitrag par Radzio »

Code: Alles auswählen

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

Code: Alles auswählen

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
Benutzeravatar
NaDoL
Community Veteran
Community Veteran
Messages : 379
Inscription : Mi Apr 12, 2006 7:43 pm
Wohnort : Poland
Contact :

temat

Beitrag par 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...
Bild
Radzio
Site Administrator
Site Administrator
Poland
Messages : 2898
Inscription : Fr Jul 28, 2006 10:58 am
Wohnort : Bialystok, Poland

Beitrag par Radzio »

Code: Alles auswählen

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
Benutzeravatar
NaDoL
Community Veteran
Community Veteran
Messages : 379
Inscription : Mi Apr 12, 2006 7:43 pm
Wohnort : Poland
Contact :

temat

Beitrag par 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
Bild
Radzio
Site Administrator
Site Administrator
Poland
Messages : 2898
Inscription : Fr Jul 28, 2006 10:58 am
Wohnort : Bialystok, Poland

Beitrag par Radzio »

wpisz tak:

Code: Alles auswählen

every 5$0 do
begin
//kod ataku
enable;
end;
Benutzeravatar
NaDoL
Community Veteran
Community Veteran
Messages : 379
Inscription : Mi Apr 12, 2006 7:43 pm
Wohnort : Poland
Contact :

temat

Beitrag par 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?
Bild
Radzio
Site Administrator
Site Administrator
Poland
Messages : 2898
Inscription : Fr Jul 28, 2006 10:58 am
Wohnort : Bialystok, Poland

Beitrag par Radzio »

jest taki fajny kod:

Code: Alles auswählen

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
Benutzeravatar
NaDoL
Community Veteran
Community Veteran
Messages : 379
Inscription : Mi Apr 12, 2006 7:43 pm
Wohnort : Poland
Contact :

temat

Beitrag par 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?
Bild
Radzio
Site Administrator
Site Administrator
Poland
Messages : 2898
Inscription : Fr Jul 28, 2006 10:58 am
Wohnort : Bialystok, Poland

Beitrag par Radzio »

1) kod na zmiane mapy:

Code: Alles auswählen

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:

Code: Alles auswählen

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

Code: Alles auswählen

EXPORT zest1;
i w kodzie dalszym wpisac

Code: Alles auswählen

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

Code: Alles auswählen

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 :? )
Benutzeravatar
NaDoL
Community Veteran
Community Veteran
Messages : 379
Inscription : Mi Apr 12, 2006 7:43 pm
Wohnort : Poland
Contact :

temat

Beitrag par 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 ??
Bild
Radzio
Site Administrator
Site Administrator
Poland
Messages : 2898
Inscription : Fr Jul 28, 2006 10:58 am
Wohnort : Bialystok, Poland

Beitrag par Radzio »

1) kod:

Code: Alles auswählen

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

Code: Alles auswählen

// skonczyl sie dialog
ComEnterUnit(Nadol,pojazd);
AddComMoveToArea(Nadol,area01);
// Nadol pojechal w swiat :D
Verrouillé