Strata jednostki przez sojusznika - HELP

Wszystko o modach, patchach i błędach w OW oraz ogólnym programowaniu.
Používateľov profilový obrázok
Xero Rozbójca
Soldier level 6
Soldier level 6
Príspevky: 391
Dátum registrácie: Ne Mar 08, 2009 5:13 pm
Bydlisko: Szukaj w kioskach...

Strata jednostki przez sojusznika - HELP

Príspevok od používateľa Xero Rozbójca »

Witam, mam pewien problem, a mianowicie: nie wiem jak napisać warunek, po którym gdy zginie 1 jednostka sojusznika(losowa, bez identyfikatora) to przegrywamy misję. Mógłby ktoś pomóc? :P
"Osoby, stawiające więcej niż trzy znaki interpunkcyjne obok siebie, mają problemy ze zdrowiem psychicznym."

Obrázok
Používateľov profilový obrázok
Gothuk
Site Administrator
Site Administrator
Poland
Príspevky: 983
Dátum registrácie: Ut Sep 04, 2007 6:10 pm
Bydlisko: Poland, Warsaw
Kontaktovať používateľa:

Re: Strata jednostki przez sojusznika - HELP

Príspevok od používateľa Gothuk »

Kód: Vybrať všetko

export function IsAllyDead(side);
var allys, un;
begin 
   result := 0;
   allys = FilterAllUnits([[f_type, unit_human], [f_ally, side]]);
   for un in allys do
      if IsDead(un) then 
      begin
         result := 1;
         exit;
      end;
end;
i gdzies :

Kód: Vybrať všetko

every 0$1 trigger IsAllyDead(naszaside) do
//kod
try that.
Používateľov profilový obrázok
Xero Rozbójca
Soldier level 6
Soldier level 6
Príspevky: 391
Dátum registrácie: Ne Mar 08, 2009 5:13 pm
Bydlisko: Szukaj w kioskach...

Re: Strata jednostki przez sojusznika - HELP

Príspevok od používateľa Xero Rozbójca »

Wyskakuje błąd dotyczący [f_ally]
"Osoby, stawiające więcej niż trzy znaki interpunkcyjne obok siebie, mają problemy ze zdrowiem psychicznym."

Obrázok
Používateľov profilový obrázok
Gothuk
Site Administrator
Site Administrator
Poland
Príspevky: 983
Dátum registrácie: Ut Sep 04, 2007 6:10 pm
Bydlisko: Poland, Warsaw
Kontaktovať používateľa:

Re: Strata jednostki przez sojusznika - HELP

Príspevok od používateľa Gothuk »

Xero Rozbójca napísal:Wyskakuje błąd dotyczący [f_ally]
wiesz nie jestem wrozka... przydala by sie tresc bledu.

a sprobuj moze zamienic [f_ally] na [f_ally, twojastrona], gdzie twojastrona to twoja strona ^^.

@down, hmm nawet nie wiem jak sie on tam znalazl xD, tak to jest jak sie robi cos na szybko ^^.
Radzio
Site Administrator
Site Administrator
Poland
Príspevky: 2898
Dátum registrácie: Pi Júl 28, 2006 10:58 am
Bydlisko: Bialystok, Poland

Re: Strata jednostki przez sojusznika - HELP

Príspevok od používateľa Radzio »

A po unit_human nie trzeba przecinka!
Používateľov profilový obrázok
Xero Rozbójca
Soldier level 6
Soldier level 6
Príspevky: 391
Dátum registrácie: Ne Mar 08, 2009 5:13 pm
Bydlisko: Szukaj w kioskach...

Re: Strata jednostki przez sojusznika - HELP

Príspevok od používateľa Xero Rozbójca »

funkcja działa, ale warunek z nią zostaje spełniony tylko wtedy, gdy padną wszyscy ludzie sojusznika.
"Osoby, stawiające więcej niż trzy znaki interpunkcyjne obok siebie, mają problemy ze zdrowiem psychicznym."

Obrázok
Používateľov profilový obrázok
Gothuk
Site Administrator
Site Administrator
Poland
Príspevky: 983
Dátum registrácie: Ut Sep 04, 2007 6:10 pm
Bydlisko: Poland, Warsaw
Kontaktovať používateľa:

Re: Strata jednostki przez sojusznika - HELP

Príspevok od používateľa Gothuk »

hmm, chyba zrobilem literowke jeszcze w filtrowaniu.
skopiuj teraz kod funkcji i sprawdz.
Používateľov profilový obrázok
Pablo Abruzzi
Soldier level 5
Soldier level 5
Príspevky: 269
Dátum registrácie: Po Júl 28, 2008 3:09 pm
Bydlisko: Polska
Kontaktovať používateľa:

Re: Strata jednostki przez sojusznika - HELP

Príspevok od používateľa Pablo Abruzzi »

A jak zrobić, aby jeśli gracz zabije te jednostkę wtedy przegrywa, bo ten kod działa dla ogólnej śmierci jednostki. Tak jak to było w 3 misji Rus.
Si vis pacem, para bellum jeśli chcesz pokoju, gotuj się do wojny.

THE HEROES COMPANY MOD
[progress]100%[/progress]
DONE
http://forum.original-war.net/viewtopic ... 6&start=90
Používateľov profilový obrázok
Gothuk
Site Administrator
Site Administrator
Poland
Príspevky: 983
Dátum registrácie: Ut Sep 04, 2007 6:10 pm
Bydlisko: Poland, Warsaw
Kontaktovať používateľa:

Re: Strata jednostki przez sojusznika - HELP

Príspevok od používateľa Gothuk »

Pablo Abruzzi napísal:A jak zrobić, aby jeśli gracz zabije te jednostkę wtedy przegrywa, bo ten kod działa dla ogólnej śmierci jednostki. Tak jak to było w 3 misji Rus.
//zly kod

zamienilem z isdied na isdying, bo nie wiem czy z isdied zadziala wantstoattack.

//zly kod

@edit: jednak to nie bedzie WantsToAttack...
@edit2: znalezlem cos nowego, SideShoot(un:integer)
@edit3: dobry kod nizej.
Používateľov profilový obrázok
Pablo Abruzzi
Soldier level 5
Soldier level 5
Príspevky: 269
Dátum registrácie: Po Júl 28, 2008 3:09 pm
Bydlisko: Polska
Kontaktovať používateľa:

Re: Strata jednostki przez sojusznika - HELP

Príspevok od používateľa Pablo Abruzzi »

Kód: Vybrať všetko

export function IsAllyDyingByOurUnit();
var allys, un;
begin
   result := 0;
   allys = FilterAllUnits([[f_type, unit_human], [f_ally, 6]]);
   for un in allys do
      if IsDying(un) and GetSide(WantsToAttack(un)) = 3 then
      begin
         result := 1;
         exit;
      end;
end;

every 0$1 trigger IsAllyDyingByOurUnit() do
begin                                     
Youlost('zdrajca');
end;
Nie chce działać. Jak wklepuje:

Kód: Vybrať všetko

export function IsAllyDyingByOurUnit(moja strona, np:3);
To mi wywala błąd.
Si vis pacem, para bellum jeśli chcesz pokoju, gotuj się do wojny.

THE HEROES COMPANY MOD
[progress]100%[/progress]
DONE
http://forum.original-war.net/viewtopic ... 6&start=90
Používateľov profilový obrázok
Gothuk
Site Administrator
Site Administrator
Poland
Príspevky: 983
Dátum registrácie: Ut Sep 04, 2007 6:10 pm
Bydlisko: Poland, Warsaw
Kontaktovať používateľa:

Re: Strata jednostki przez sojusznika - HELP

Príspevok od používateľa Gothuk »

ok działajaca wersja:
wersja z warunkiem smierci sprzymierzenca:

Kód: Vybrať všetko

export function IsAllyKilledByUs(side);
var allys, un;
begin 
   result := 0;
   allys = FilterAllUnits([[f_type, unit_human], [f_ally, side]]);
   for un in allys do
      if IsDead(un) and SideShoot(un) = side then 
      begin
         result := 1;
         exit;
      end;
end;
wersja z warunkiem umierania sprzymierzenca:

Kód: Vybrať všetko

export function IsAllyDyingByUs(side);
var allys, un;
begin 
   result := 0;
   allys = FilterAllUnits([[f_type, unit_human], [f_ally, side]]);
   for un in allys do
      if IsDying(un) and SideShoot(un) = side then 
      begin
         result := 1;
         exit;
      end;
end;
Uzywanie:

Kód: Vybrať všetko

every 0$1 trigger IsAllyKilledByUs( naszaside ) do
begin
   YouLost('zdrada');
end;

every 0$1 trigger IsAllyDyingByUs( naszaside ) do
begin
   YouLost('zdrada');
end;
A i pablo, nie dajesz wlasnego argumentu w definicji funkcji, tylko potem, przy jej uzywaniu...
Radzio
Site Administrator
Site Administrator
Poland
Príspevky: 2898
Dátum registrácie: Pi Júl 28, 2006 10:58 am
Bydlisko: Bialystok, Poland

Re: Strata jednostki przez sojusznika - HELP

Príspevok od používateľa Radzio »

Po co sprawdzać IsDead dla jednostki z filtra, skoro filtr znajdzie tylko jednostki na mapie, a więc nie te martwe.
Používateľov profilový obrázok
Gothuk
Site Administrator
Site Administrator
Poland
Príspevky: 983
Dátum registrácie: Ut Sep 04, 2007 6:10 pm
Bydlisko: Poland, Warsaw
Kontaktovať používateľa:

Re: Strata jednostki przez sojusznika - HELP

Príspevok od používateľa Gothuk »

Radzio napísal:Po co sprawdzać IsDead dla jednostki z filtra, skoro filtr znajdzie tylko jednostki na mapie, a więc nie te martwe.
filtr zwroci wszystkie jednostki danej strony, ktore sa ludzmi.
nie ma tu f_ok, ani f_alive, wiec nie widze powodu czemu to mialo by nie dzialac.
Radzio
Site Administrator
Site Administrator
Poland
Príspevky: 2898
Dátum registrácie: Pi Júl 28, 2006 10:58 am
Bydlisko: Bialystok, Poland

Re: Strata jednostki przez sojusznika - HELP

Príspevok od používateľa Radzio »

To sobie sprawdź, jeśli nie wierzysz..
Filtr zwróci tylko jednostki na mapie, więc nie martwe!
Používateľov profilový obrázok
Gothuk
Site Administrator
Site Administrator
Poland
Príspevky: 983
Dátum registrácie: Ut Sep 04, 2007 6:10 pm
Bydlisko: Poland, Warsaw
Kontaktovať používateľa:

Re: Strata jednostki przez sojusznika - HELP

Príspevok od používateľa Gothuk »

No dobra ... masz racje.

Obrázok
Napísať odpoveď