Atak Jednostek oraz wykonanie misji- MOD

Tematy zbędne, ale zbyt dobre by je usunąć znajdują się tutaj.
Аватара пользователя
NaDoL
Community Veteran
Community Veteran
Příspěvky: 379
Registrován: Ср апр 12, 2006 7:43 pm
Откуда: Poland
Kontaktovat uživatele:

temat

Сообщение 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)?
Изображение
Radzio
Site Administrator
Site Administrator
Poland
Příspěvky: 2898
Registrován: Пт июл 28, 2006 10:58 am
Откуда: Bialystok, Poland

Сообщение od Radzio »

kod na medal:

Код: Выделить всё

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

Код: Выделить всё

* radarek
+ Zbudowałeś radar.
- Nie zbudowałeś radaru.
*
Аватара пользователя
NNPlaya
Community Veteran
Community Veteran
Příspěvky: 372
Registrován: Сб окт 14, 2006 4:52 pm
Откуда: Tuszyn, Polska
Kontaktovat uživatele:

Сообщение od NNPlaya »

Radzio писал(а):wpisz tak:

Код: Выделить всё

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

Код: Выделить всё

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: Пт июл 28, 2006 10:58 am
Откуда: Bialystok, Poland

Сообщение 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"
Аватара пользователя
NaDoL
Community Veteran
Community Veteran
Příspěvky: 379
Registrován: Ср апр 12, 2006 7:43 pm
Откуда: Poland
Kontaktovat uživatele:

temat

Сообщение 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
Изображение
Radzio
Site Administrator
Site Administrator
Poland
Příspěvky: 2898
Registrován: Пт июл 28, 2006 10:58 am
Откуда: Bialystok, Poland

Сообщение 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

Код: Выделить всё

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)
Аватара пользователя
NaDoL
Community Veteran
Community Veteran
Příspěvky: 379
Registrován: Ср апр 12, 2006 7:43 pm
Откуда: Poland
Kontaktovat uživatele:

temat

Сообщение 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?
Изображение
Radzio
Site Administrator
Site Administrator
Poland
Příspěvky: 2898
Registrován: Пт июл 28, 2006 10:58 am
Откуда: Bialystok, Poland

Сообщение od Radzio »

1) po prostu z uzyciem every:

Код: Выделить всё

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

Код: Выделить всё

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:

Код: Выделить всё

baza=FilterAllUnits([[f_side,4],[f_type,3]]);
Аватара пользователя
NaDoL
Community Veteran
Community Veteran
Příspěvky: 379
Registrován: Ср апр 12, 2006 7:43 pm
Откуда: Poland
Kontaktovat uživatele:

temat

Сообщение 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...
Изображение
Radzio
Site Administrator
Site Administrator
Poland
Příspěvky: 2898
Registrován: Пт июл 28, 2006 10:58 am
Откуда: Bialystok, Poland

Сообщение 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
Аватара пользователя
NaDoL
Community Veteran
Community Veteran
Příspěvky: 379
Registrován: Ср апр 12, 2006 7:43 pm
Откуда: Poland
Kontaktovat uživatele:

temat

Сообщение 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...
Изображение
Radzio
Site Administrator
Site Administrator
Poland
Příspěvky: 2898
Registrován: Пт июл 28, 2006 10:58 am
Откуда: Bialystok, Poland

Сообщение 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:

Код: Выделить всё

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

Код: Выделить всё

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

Код: Выделить всё

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

Код: Выделить всё

//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
Аватара пользователя
NaDoL
Community Veteran
Community Veteran
Příspěvky: 379
Registrován: Ср апр 12, 2006 7:43 pm
Откуда: Poland
Kontaktovat uživatele:

temat

Сообщение 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...
Изображение
Radzio
Site Administrator
Site Administrator
Poland
Příspěvky: 2898
Registrován: Пт июл 28, 2006 10:58 am
Откуда: Bialystok, Poland

Сообщение 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.)
Аватара пользователя
NaDoL
Community Veteran
Community Veteran
Příspěvky: 379
Registrován: Ср апр 12, 2006 7:43 pm
Откуда: Poland
Kontaktovat uživatele:

temat

Сообщение 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?
Изображение
Zamčeno