Page 1 of 3
Medal za broń.
Posted: Sun Sep 06, 2009 4:52 pm
by Xero Rozbójca
1. Witam, próbowałem różnych sposobów ale nie wychodzi mi ,a chciałbym aby dostawało się medal za wyprodukowanie dwóch pojazdów/wież z laserem.
Mógłby ktoś mi pomóc?
2. Przy okazji jeszcze chciałbym wiedzieć, jak zrobić, aby jedna jednostka ,zamiast wszystkich, wywoływała kod po znalezieniu się w danej odległości od czegoś...
Code: Select all
to więc tak: EVERY 0$1 TRIGGER FilterAllUnits([[f_side,1],[f_or,[f_type, unit_vehicle],[f_type, unit_human]]]) DO
begin
amunits:=FilterAllUnits([[f_side,1],[f_or,[f_type, unit_vehicle],[f_type, unit_human]]]);
amunits:=amunits[1];
end;
Code: Select all
every 0$1 trigger GetDistUnits(arbun, amunits)<7 do
blabla..
Re: Medal za broń.
Posted: Sun Sep 06, 2009 5:40 pm
by Radzio
Ty, ja nie wiem, co Ci da taki kod. xD
1) Filtrem.
2) Oj, po prostu wstaw tam jedną jednostkę. Jeśli chodzi Ci, żeby dowolna jednostka z listy spełniała to użyj funkcji podobnej do tej.
Code: Select all
function PewnaFunkcja;
var un;
begin
result:= false;
for un in Filter...(...) do
if GetDistUnits(docelowaJednostka, un) < 7 then
begin
result:= true;
exit;
end;
end;
every 0$1 trigger PewnaFunkcja do
...
Re: Medal za broń.
Posted: Mon Sep 07, 2009 2:33 pm
by Xero Rozbójca
1. Grr... właśnie nie wiem JAK ten filtr ma wyglądać , gdybym wiedział bym nie pisał tego xD
2. Działa.
Re: Medal za broń.
Posted: Mon Sep 07, 2009 3:16 pm
by Antitheus
a może [filtr] or [filtr]
ten mały spójniczek moze dużo zmienić. Jeden filtr na budynek z ta bronia a drugi na pojazd.
Re: Medal za broń.
Posted: Tue Sep 08, 2009 2:51 pm
by Xero Rozbójca
Chyba mnie nie zrozumiałeś, chciałbym się dowiedzieć co wpisać w FilterAllUnits(...) aby był to pojazd z laserem, obojętnie na jakim podwoziu, silniku i sterowaniu..
Re: Medal za broń.
Posted: Tue Sep 08, 2009 3:57 pm
by Antitheus
no to przecież proste
Code: Select all
FilterAllUnits([[F_TYPE, unit_vehicle], [F_SIDE, twoja strona], [f_weapon, us_laser]]);

:D Plik sail constants się kłania.
Re: Medal za broń.
Posted: Tue Sep 08, 2009 4:08 pm
by Xero Rozbójca
A widzisz, właśnie tego
nie wiedziałem jak wstawić

Re: Medal za broń.
Posted: Tue Sep 08, 2009 6:05 pm
by Antitheus
us_laser = 9
f_weapon = 34
pamiętaj ze zawsze zamiast pełnej nazwy mozesz wstawić oznaczniki liczbowe aby filter był krótszy i nie zajmował tak dużo miejsca (jeśli jest duzo warunków)
np:
Code: Select all
FilterAllUnits([[21, 2], [22, twoja strona], [34, 9]]);
Re: Medal za broń.
Posted: Tue Sep 08, 2009 7:20 pm
by Radzio
IMHO zamieniać warto tylko strony (1-8) czy nacje (1-3) lub tym podobne, np. logiczne (true=1, false=0 etc.).
W pozostałych przypadkach kod staje się ekstremalnie nieczytelny.
Re: Medal za broń.
Posted: Wed Sep 09, 2009 4:52 pm
by Xero Rozbójca
oka, spoko, działa już ten kod na laser.
Nie chce mi się zakładać nowego tematu, więc napiszę tutaj:
Jak ustalić w evencie,
Code: Select all
On ResearchComplete(Param, Param) do
przez którą stronę zostało opracowane badanie? yyy... zrobiłem wcześniej całą misję, ale teraz zauważyłem, że nie ma właśnie niczego, co by wskazywało na gracza(komputer), który wykonał badanie ;p
Re: Medal za broń.
Posted: Wed Sep 09, 2009 5:12 pm
by Gothuk
Nie pamietam dokladnie jakie parametry sa w ResearchComplete, a nie chce mi sie otwierac jakiejs misji z tym, ale chyba to badanie i nacja.
Wiec:
Code: Select all
On ResearchComplete(bad, nat) do
begin
if (nat = 3) then // nacja - np. 3
if (bad = jakies_badanie) then // jakies_badanie - nr badania lub pelna nazwa, znajdziesz w sail constants
// bla bla bla
end;
Re: Medal za broń.
Posted: Wed Sep 09, 2009 5:45 pm
by Xero Rozbójca
Raczej jest to chyba strona, bo nacja? coś nie chce mi sie wierzyć.
Re: Medal za broń.
Posted: Wed Sep 09, 2009 6:15 pm
by Gothuk
Xero Rozbujca wrote:Raczej jest to chyba strona, bo nacja? coś nie chce mi sie wierzyć.
pff chodzilo mi o strone xD, tylko napisalo sie nacja...
Re: Medal za broń.
Posted: Sun Sep 13, 2009 12:38 pm
by Xero Rozbójca
Nie wiem co się zrypało ale chyba wszystko mam dobrze:
Code: Select all
On ResearchComplete(tech, side) do
begin
if tech=tech_gun and side=4 then
...//budowanie
end;
Coś tu jest nie tak?
Zamiast poczekać, aż opracują technologię daną, od razu idą budować :/
Re: Medal za broń.
Posted: Sun Sep 13, 2009 5:38 pm
by Radzio
Daj cały kod.