Atak Jednostek oraz wykonanie misji- MOD

Tematy zbędne, ale zbyt dobre by je usunąć znajdują się tutaj.
User avatar
NaDoL
Community Veteran
Community Veteran
Posts: 379
Joined: Wed Apr 12, 2006 7:43 pm
Location: Poland
Contact:

temat

Post by NaDoL »

A i zapomniałem, jeszcze potrzebuje fragemntu :
Jeżeli wybuduje radar to sie wyswietlą 3 medale jeżeli nie to 2 , to jak to bedzie w sailu?? (i texts)?
Image
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Post by Radzio »

kod na medal:

Code: Select all

//gdzies tam misja sie konczy, dajesz te dwa pozostale medale
if FilterAllUnits([[f_side,1],[f_weapon,11],[f_bweapon,11]])>=1 then
AddMedal('radarek',1)
else
AddMedal('radarek,-1);
a w texts.txt:

Code: Select all

* radarek
+ Zbudowałeś radar.
- Nie zbudowałeś radaru.
*
User avatar
NNPlaya
Community Veteran
Community Veteran
Posts: 372
Joined: Sat Oct 14, 2006 4:52 pm
Location: Tuszyn, Polska
Contact:

Post by NNPlaya »

Radzio wrote:wpisz tak:

Code: Select all

every 5$0 do
begin
//kod ataku
enable;
end;
err... Jeśli tak pisze się kod, to trzeba pamiętać o przywróceniu jednostek do życia (przecież po pierwszym ataku są zabici przez gracza). Trzeba więc kod tworzący ludzi i pojazy umieścić od razu po Starting

Code: Select all

Starting
Begin
<Jakiś kod>
<Instrukcje tworzenia jednostek, czyli CreateHuman, CreateVehicle itd.>
end;

every 5$0 do 
Begin
SetLives(nazwa_jednostki,1000); //1000, czyli 100% życia, stosujesz także do pojazdów
<Instrukcje PlaceUnitArea, PlaceHumanInUnit(do wsadzania ludzi do pojazdów i budynków)>
ComAgressiveMove([atakujące_jednostki],x,y);
end;
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Post by Radzio »

nie, po prostu zostaliby utworzeni na nowo, teraz twoj kod spowoduje zapewne, ze beda wciaz tacy sami (tzn. te same geby beda mieli) bo beda utworzeni tylko raz, dlatego tez powinni byc tworzeni za kazdym razem, a nie tylko "odradzani"
User avatar
NaDoL
Community Veteran
Community Veteran
Posts: 379
Joined: Wed Apr 12, 2006 7:43 pm
Location: Poland
Contact:

temat

Post by NaDoL »

To z eneble działa i raczej jest bardziej praktyczne bo krótsze;p oczywiście jeśli dobrze jest napisany kod ataku:D

Tylko że to z radarem nie działa...pisze cały czas( jak się zbuduje radar) ''Nie zbudowałęs radaru'' i medalu sie nie dostaje...
Kod w Sailu:
AddMedal('malpa',1);
AddMedal('ludzie',1);
if FilterAllUnits([[f_side,1],[f_weapon,11],[f_bweapon,11]])>=1 then
Begin
AddMedal('radar',1)
end
else
Begin
AddMedal('radar',-1);
end;
GiveMedals('MAIN');
YouWin;
end;
of course to tylko fragment
Image
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Post by Radzio »

zrobilem gafe (kod mowi: daj jeden medal jesli na mapie znajdziesz 1 budynko-pojazd z radarem) a powinno byc to lub to a nie dwa w jednym :lol:
poprawny kod

Code: Select all

if FilterAllUnits([[f_side,1],[f_weapon,11]])>=1 or FilterAllUnits([[f_side,1],[f_bweapon,11]])>=1 then
AddMedal('radarek',1)
else
AddMedal('radarek,-1);
upewnij sie tylko ze identyfikatory w texts.txt i w SAILu sa takie same a powinno byc OK 8)
User avatar
NaDoL
Community Veteran
Community Veteran
Posts: 379
Joined: Wed Apr 12, 2006 7:43 pm
Location: Poland
Contact:

temat

Post by NaDoL »

Spoko ID jest radar.
A jakie kody będą gdy chce aby coś tam działo sie jak wydobędzie sie 200 kryształków syb.
I co dać jesli np. ktoras z postaci (np. ppl1,ppl2,pll3) dojdzie do area01 to baza o kolorze ''cyan'' zmienia sie na niebieska? chyba trzeba dać ID budynkom i sedside?
Image
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Post by Radzio »

1) po prostu z uzyciem every:

Code: Select all

every 0$1 GetResourceType(id_bazy,3)>=200 do
begin
//blablabla
end;
ps: id_bazy moze byc identyfikatorem do dowolnego budynku w danej bazie (nie tylko skladu)

2) tak trzeba dac id i uzyc setside, i oczywiscie wszystko przez every

Code: Select all

every 0$1 trigger IsInArea(ppl1,area01) or IsInArea(ppl2,area01) or IsInArea(ppl3,area01) do
begin
baza=[identyfikatory wszystkich budynkow napisane po przecinkach];
SetSide(baza,1);
end;
oczywiscie wczesniej ustawic wszelkie id i zdefiniowac ident. baza z uzyciem var lub export

ps: mozesz takze uzyc zamiast poszczegolnych identyfikatorow polecenia FilterAllUnits, wtedy kod dla "baza" bedzie taki:

Code: Select all

baza=FilterAllUnits([[f_side,4],[f_type,3]]);
User avatar
NaDoL
Community Veteran
Community Veteran
Posts: 379
Joined: Wed Apr 12, 2006 7:43 pm
Location: Poland
Contact:

temat

Post by NaDoL »

To z Sybem nie działa, wogóle nie odczytuje frazy ''GetResourceType'' jak sie doda trigger to wtedy dopiero compiluje, ale nie działa to w grze...tj po wydobyciu 200k nic się nie dzieje...
Image
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Post by Radzio »

heh, to mialo dzialac, a co do trigger to zaponialem o nim po prostu (za szybko pisalem i gafa :P )
mam nadzieje ze ten drugi kod przynajmniej dziala

EDIT: wlasnie przetestowalem ten kod, jako identyfikator uzylem identyfikatora skladu, numer zostal na 3 i po wydobyciu 200 sybkow, stalo sie to co chcialem (zmienilo kolor skladowi na zolty poprzez uzycie setside), uzylem tego takze z samodestrukcja, usunieciem jednostki itd. wszystko dziala, chyba ze zle masz ustawiony identyfikator i/lub zly kod wpisany do wykonania
User avatar
NaDoL
Community Veteran
Community Veteran
Posts: 379
Joined: Wed Apr 12, 2006 7:43 pm
Location: Poland
Contact:

temat

Post by NaDoL »

Hmm coś mi nie idzie to:/ ale zastąpiłem trochę inaczej ten fragment gry;p (a kod po wydobyciu surowca był dobry bo po samym czasie działa, może dlatego że budynek jest ruski ale niebieski, nie wiem)
Ale mam jeszcze parę pytań, jak tworze jednostkę komputerową która ma mnie atakować to jak dać jej 8 lvl kompa, 3 lvl działa i 3lvl zwykłego techa??
I da się tak zrobić żeby gra sprawdzała co sekundę jakiś warunek (np. czy nadol jest w area01 to coś tam) ale dopiero po 30 min gry?
I jak postać przy savecharacters była naukowcem to co trzeba aby w następnej misji ona przy odtowrzeniu była zolnierzem? próbowałem wpisac uc_class_1 bodajże ale nadal jest nau...
Image
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Post by Radzio »

1) takich indywidualnych poziomow nie da sie wprowadzic (wiem to na pewno), ale mozna ustawic opracowanie tych technologii dla danego koloru (ustawic odpowiednie technologie dla danego koloru na invented) oczywiscie pamietaj, ze np. 3 poziom komputeryzacji jest zalezny od 1 i 2 wiec je tez powinienes na invented ustawic
2) da sie, kod na poczatku misji:

Code: Select all

starting
begin
disable(01);
//gdzies dalszy kod na poczatek misji
end;
dalej w kodzie:

Code: Select all

every 30$0 do
enable(01);
jeszcze dalej (hehe):

Code: Select all

every 0$1 trigger IsInArea(Nadol,area01) MARKED 01 do
begin
//kodzik
end;
3) proscizna:

Code: Select all

//gdzies tam kod zaladowal POSTAC (jeszcze nie ma jej na mapie)
SetClass(POSTAC,1);
//teraz dopiero kod postawil jednostke na mapie
4 to numer klasy, postac nie musi byc jedna moze to byc tez zestaw postaci, wtedy uzyc trzeba kwadratowych nawiasow
User avatar
NaDoL
Community Veteran
Community Veteran
Posts: 379
Joined: Wed Apr 12, 2006 7:43 pm
Location: Poland
Contact:

temat

Post by NaDoL »

ok gitara jak narazie, ale potrzebuje jeszcze fragmentu jak misja ma się kończyć po opracowaniu wszystkich dostępnych technologi? I przy okazji - jak można zapisać budnyki na mapie tj wygląd bazy aby go wczytało w którejś z kolei misji? ale żeby je rozstawiło w tych samych miejscach?( z tym że one by były zależne od tego jak ktoś wcześniej zbuduje i ile...) da się tak? bo chyba jakby fillterallunits i savecharacters później reward i placeunitXY to by postawiło wszystko w jednym miejscu...
Image
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Post by Radzio »

tak, postawilo (a raczej chcialo by postawic) w jednym miejscu, taki odpowiedni kod byl uzyty za pewne w obu misjach z baza Gamma (taki sam rozklad tyle ze troche zmian itd.)
User avatar
NaDoL
Community Veteran
Community Veteran
Posts: 379
Joined: Wed Apr 12, 2006 7:43 pm
Location: Poland
Contact:

temat

Post by NaDoL »

No, a co z technologiami?? tj kod na to ze po opracowaniu wszystkich dostępnych, lub wybranych techów, cos tam sie zrobi?
Image
Locked