Atak Jednostek oraz wykonanie misji- MOD

Tematy zbędne, ale zbyt dobre by je usunąć znajdują się tutaj.
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 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)?
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 »

kod na medal:

Kód: Vybrat vše

//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:

Kód: Vybrat vše

* radarek
+ Zbudowałeś radar.
- Nie zbudowałeś radaru.
*
Uživatelský avatar
NNPlaya
Community Veteran
Community Veteran
Příspěvky: 372
Registrován: sob říj 14, 2006 4:52 pm
Bydliště: Tuszyn, Polska
Kontaktovat uživatele:

Příspěvek od NNPlaya »

Radzio píše:wpisz tak:

Kód: Vybrat vše

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

Kód: Vybrat vše

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
Příspěvky: 2898
Registrován: pát črc 28, 2006 10:58 am
Bydliště: Bialystok, Poland

Příspěvek od 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"
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 »

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
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 »

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

Kód: Vybrat vše

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)
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 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?
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) po prostu z uzyciem every:

Kód: Vybrat vše

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

Kód: Vybrat vše

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:

Kód: Vybrat vše

baza=FilterAllUnits([[f_side,4],[f_type,3]]);
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 »

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...
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 »

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
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 »

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

Kód: Vybrat vše

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

Kód: Vybrat vše

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

Kód: Vybrat vše

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

Kód: Vybrat vše

//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
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 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...
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 »

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.)
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, a co z technologiami?? tj kod na to ze po opracowaniu wszystkich dostępnych, lub wybranych techów, cos tam sie zrobi?
Obrázek
Zamčeno