Medal za ludzi

Wszystko o modach, patchach i błędach w OW oraz ogólnym programowaniu.
Locked
User avatar
Pablo Abruzzi
Soldier level 5
Soldier level 5
Posts: 269
Joined: Mon Jul 28, 2008 3:09 pm
Location: Polska
Contact:

Medal za ludzi

Post by Pablo Abruzzi »

Chciałem zrobić ,aby po stracie ludzi gracz nie dostał medalu, więc napisałem:

Code: Select all

every 0$1 trigger FilterAllUnits([[f_side,1],[f_type,unit_human]])=0 do
Begin
AddMedal('cel',1);
AddMedal('rob',1);
If FilterAllUnits([[f_side,3],[f_type,unit_human],])<15 then
AddMedal('syberyt',-1);
AddMedal('syberyt',1);
GiveMedals('MAIN');
YouWin;
end;
To nie działa, próbowałem różnych sposobów (z else i w innych warunkach, ale nic) Proszę o korekte tego kodu.
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
User avatar
Gothuk
Site Administrator
Site Administrator
Poland
Posts: 985
Joined: Tue Sep 04, 2007 6:10 pm
Location: Poland, Warsaw
Contact:

Re: Medal za ludzi

Post by Gothuk »

Code: Select all

every 0$1 trigger FilterAllUnits([[f_side,1],[f_type,unit_human]])=0 do
Begin
   AddMedal('cel',1);
   AddMedal('rob',1);
   If FilterAllUnits([[f_side,3],[f_type,unit_human]])<15 then AddMedal('syberyt',-1)
   Else AddMedal('syberyt',1);
   GiveMedals('MAIN');
   YouWin;
end;
User avatar
Pablo Abruzzi
Soldier level 5
Soldier level 5
Posts: 269
Joined: Mon Jul 28, 2008 3:09 pm
Location: Polska
Contact:

Re: Medal za ludzi

Post by Pablo Abruzzi »

Gothuk wrote:

Code: Select all

every 0$1 trigger FilterAllUnits([[f_side,1],[f_type,unit_human]])=0 do
Begin
   AddMedal('cel',1);
   AddMedal('rob',1);
   If FilterAllUnits([[f_side,3],[f_type,unit_human]])<15 then AddMedal('syberyt',-1)
   Else AddMedal('syberyt',1);
   GiveMedals('MAIN');
   YouWin;
end;
Ten kod nic nie zmienił, dalej nawet jak mam dwóch ludzi dostaje medal.

2) Nie chce zakładać nowych tematów więc napiszę tu:

Code: Select all

export hek;

every 0$1 trigger FilterAllUnits([[f_side,2],[f_type,unit_human]])=0 do
Begin
InGameOn;
DialogueOn;
   Say(bur,'MojDialog5');
   Say(ser,'MojDialog6');
   InGameOff;
DialogueOff;
   AddMedal('cel',1);
   AddMedal('rob',1);
   AddMedal('syberyt',-1);
uc_side=2;
uc_nation=2;
hc_skills=[10,4,6,3];
hc_class=1;
hc_sex=2;
hc_importance=0;
hc_name='Heike Stayer';
hc_gallery='ru';
hc_face_number=24;
hek=CreateHuman;
PlaceUnitArea(hek,heike,false);
AddComAgressiveMove([hek],106,17);
 If GetLives(hek)>300 then
DialogueOn;
Say(hek,'MojDialog7');
SayRadio(ser,'MojDialog8');
SayRadio(sewi,'MojDialog9');
DialogueOff;
AddMedal('syberyt',1);
GiveMedals('MAIN');
YouWin;
end;
Ten kod nie chce mi poprawnie działać, kiedy pojawia się ,,hek" od razu kończy się misja wraz z medalem za jej schwytanie, a mi chodziło o to, żeby ją poranić i wtedy wyświetlają się dialogi i gracz wygrywa.

Mam jeszcze kod, który działa, że jak dojdzie do areny z życiem powyżej 300 to też gracz wygrywa, tyle że bez medalu, bez tego kodu tamto działa, z tym nie.

Ps. Jest to kod podobny z tego z misji 7 rosyjskiej, ale nie znalazłem tam nic podobnego do mojego. Proszę o pomoc.
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
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Re: Medal za ludzi

Post by Radzio »

Po pierwsze, czemu zrobiłeś listę w AddComAgressiveMove z jedną jednostką? Usuń nawiasy kwadratowe.
Twój problem jest logiczny, skoro napisałeś:

Code: Select all

If GetLives(hek)>300 then
DialogueOn;
To jeśli W TYM MOMENCIE hek będzie miała mniej niż 300 życia to włączy się DialogueOn;, w przeciwnym wypadku po prostu pójdzie dalej.
Powinieneś nakazać kodowi czekać, dopóki się to nie stanie (jeśli to gracz ma obniżyć jej poziom zdrowia, to wyłącz także InGame):

Code: Select all

repeat
wait(1);
until GetLives(hek)>300;
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Re: Medal za ludzi

Post by Radzio »

Ty, dzióbek nie w tą stronę xD Chyba się starzeję xD

EDIT: Czemu usunąłeś ten post przed chwilą?
User avatar
Pablo Abruzzi
Soldier level 5
Soldier level 5
Posts: 269
Joined: Mon Jul 28, 2008 3:09 pm
Location: Polska
Contact:

Re: Medal za ludzi

Post by Pablo Abruzzi »

Code: Select all

export hek;

every 0$1 trigger FilterAllUnits([[f_side,2],[f_type,unit_human]])=0 do
Begin
InGameOn;
DialogueOn;
   Say(bur,'MojDialog5');
   Say(ser,'MojDialog6');
   InGameOff;
DialogueOff;
   AddMedal('cel',1);
   AddMedal('rob',1);
   AddMedal('syberyt',-1);
uc_side=2;
uc_nation=2;
hc_skills=[10,4,6,3];
hc_class=1;
hc_sex=2;
hc_importance=0;
hc_name='Heike Stayer';
hc_gallery='ru';
hc_face_number=24;
hek=CreateHuman;
PlaceUnitArea(hek,heike,false);
AddComAgressiveMove(hek,106,17);
 If GetLives(hek)>300 then
repeat
wait(1);
until GetLives(hek)>300;
Say(hek,'MojDialog7');
SayRadio(ser,'MojDialog8');
SayRadio(sewi,'MojDialog9');
AddMedal('syberyt',1);
GiveMedals('MAIN');
YouWin;
end;

Code: Select all

export hek;

every 0$1 trigger FilterAllUnits([[f_side,2],[f_type,unit_human]])=0 do
Begin
InGameOn;
DialogueOn;
   Say(bur,'MojDialog5');
   Say(ser,'MojDialog6');
   InGameOff;
DialogueOff;
   AddMedal('cel',1);
   AddMedal('rob',1);
   AddMedal('syberyt',-1);
uc_side=2;
uc_nation=2;
hc_skills=[10,4,6,3];
hc_class=1;
hc_sex=2;
hc_importance=0;
hc_name='Heike Stayer';
hc_gallery='ru';
hc_face_number=24;
hek=CreateHuman;
PlaceUnitArea(hek,heike,false);
AddComAgressiveMove(hek,106,17);
repeat
wait(1);
until GetLives(hek)>300;
Say(hek,'MojDialog7');
SayRadio(ser,'MojDialog8');
SayRadio(sewi,'MojDialog9');
AddMedal('syberyt',1);
GiveMedals('MAIN');
YouWin;
end;
Próbowałem powyższych dwóch kombinacji, ale nic to nie zmieniło, teraz ona idzie do celu i gada swój dialog zaplanowany po schwytaniu, potem kończy się misja.

EDIT: Bo się pomyliłem w spisywaniu kodu.
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
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Re: Medal za ludzi

Post by Radzio »

Usuń ten if, dzióbek tu w drugą stronę trzeba:

Code: Select all

repeat
wait(1);
until GetLives(hek)>300;  // tu na <
User avatar
Pablo Abruzzi
Soldier level 5
Soldier level 5
Posts: 269
Joined: Mon Jul 28, 2008 3:09 pm
Location: Polska
Contact:

Re: Medal za ludzi

Post by Pablo Abruzzi »

Od razu lepiej :D , dzięki. A i jeszcze jedno, jak chce zrobić medal za straty ludzi to jak to w sumie ma wyglądać, bo ten kod Gothuka zabardzo nie chce działać??
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
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Re: Medal za ludzi

Post by Radzio »

Kod Gocia jest ok. Oczywiście, jeśli są to dwie oddzielne misje, bo w przeciwnym wypadku to nie ma sensu.
Jeśli masz ciągle ten sam problem, polecam wysłanie moda.
User avatar
Pablo Abruzzi
Soldier level 5
Soldier level 5
Posts: 269
Joined: Mon Jul 28, 2008 3:09 pm
Location: Polska
Contact:

Re: Medal za ludzi

Post by Pablo Abruzzi »

Radzio wrote:Kod Gocia jest ok. Oczywiście, jeśli są to dwie oddzielne misje, bo w przeciwnym wypadku to nie ma sensu.
Jeśli masz ciągle ten sam problem, polecam wysłanie moda.
Znaczy, nie za bardzo Cię rozumiem ja chce ten kod do jednej misji, po prostu jak masz mniej niż 15 ludzi nie dostajesz medalu jak masz więcej niż 15 lub 15 dostajesz medal. Jak to ma być?
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
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Re: Medal za ludzi

Post by Radzio »

To tak właśnie zadziałać powinien kod Gocia.
Wyślij tego moda, może coś gdzieś indziej jest nie tak.
User avatar
Pablo Abruzzi
Soldier level 5
Soldier level 5
Posts: 269
Joined: Mon Jul 28, 2008 3:09 pm
Location: Polska
Contact:

Re: Medal za ludzi

Post by Pablo Abruzzi »

Trochę dziwne, chyba mnie źle zrozumiałeś: ten kod działa tylko nic nowego nie wnosi wybiłem sobie ludzi tak, że miałem ich dwóch i dalej dostawałem medal za brak strat. Tak ma być?

EDIT: Miałeś rację musiałem pozmieniać kilka kodów o tych postaciach, które nie mogą zginąć i działa, dziękuje tobie i Gothukowi :P .
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
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Re: Medal za ludzi

Post by Radzio »

You are welcome.

[Topic closed]
Locked