SAIL - Naprawa Budynków

Wszelkie pytania na temat SAIL'a i modowania OW.
Post Reply
Silent_Scream
Soldier level 4
Soldier level 4
Poland
Posts: 126
Joined: Thu Oct 08, 2009 1:48 pm

SAIL - Naprawa Budynków

Post by Silent_Scream »

Cześć ponownie :)
Mam kolejny problem. Tym razem chodzi o naprawę budynków.
Skleiłem kod z Modding Archive z tego tematu: http://forum.original-war.net/viewtopic.php?f=18&t=613
Kod:

Code: Select all

Every 0$1 trigger GetLives(am_beat1)<950 do
 begin
  If not IsBusy(am_eng1) then
   begin
    ComExitBuilding(am_eng1);
    AddComRepairBuilding(am_beat1, am_eng1);
    repeat
     begin
      wait(0$2);
     end
    until GetLives(am_beat1)=1000;
    ComEnterUnit(am_eng1,am_dep1);
  end;
 end;

Every 0$1 trigger GetLives(am_beat2)<950 do
 begin
  If not IsBusy(am_eng1) then
   begin
    ComExitBuilding(am_eng1);
    AddComRepairBuilding(am_beat2,am_eng1);
    repeat
     begin
      wait(0$2);
     end
    until GetLives(am_beat2)=1000;
    ComEnterUnit(am_eng1,am_dep1);
  end;
 end;

Every 0$1 trigger GetLives(am_beat3)<950 do
 begin
  If not IsBusy(am_eng1) then
   begin
    ComExitBuilding(am_eng1);
    AddComRepairBuilding(am_beat3,am_eng1);
    repeat
     begin
      wait(0$2);
     end
    until GetLives(am_beat3)=1000;
    ComEnterUnit(am_eng1,am_dep1);
  end;
 end;

Every 0$1 trigger GetLives(am_dep1)<800 do
 begin
  If not IsBusy(am_eng1) then
   begin
    ComExitBuilding(am_eng1);
    AddComRepairBuilding(am_dep1,am_eng1);
    repeat
     begin
      wait(0$2);
     end
    until GetLives(am_dep1)=1000;
    ComEnterUnit(am_eng1,am_dep1);
  end;
 end;
Inżynier(am_eng1);
Bunkry(am_beat1,am_beat2,am_beat3)
Skład(am_dep1)
Podmieniłem identy i musiałem dodać po Every "Trigger" bo wywalał błąd bez tego. Do rzeczy:
Inżynier zaczyna naprawę uszkodzonych budynków wtedy kiedy każdy jest uszkodzony.
Nie mam pojęcia dlaczego tak się dzieje. Cel jaki chciałem osiągnąć zakładał, że inżynier ma zacząć naprawę jak zostanie uszkodzony jeden budynek i ma do niego już iść a nie jak wszystkie. A co jeszcze ciekawe, zazwyczaj zaczynał naprawę jak moje jednostki nie były w pobliżu(ale znalazłem przyczynę tego :) )
Czy mógłby ktoś doświadczony pomóc mi w zrobieniu kodu z założeniem takim jak napisałem wyżej?
Proszę o pomoc.
Z góry dziękuję.
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4175
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: SAIL - Naprawa Budynków

Post by Serpent »

Robienie setek every do niczego nie prowadzi.

Code: Select all

Every 0$01 do
var filter, eng, un, b;
begin
enable;

filter := FilterAllUnits([[f_side, 2], [f_type, unit_building], [f_not, [f_ok]]]);
eng := FilterAllUnits([[f_side, 2], [f_class, 2]]);

If filter > 0 then


    For b in filter do
    begin
    ComRepairBuilding(eng, b);
    end;
  

End;
EDIT: Sprawdziłem i ten kod działa, ale budynek naprawia tylko pierwszy eng z listy. Jeśli chcesz dodać ich więcej możesz dać tak:

Code: Select all

 ComRepairBuilding([ident1, ident2, ident3], b);
Last edited by Serpent on Mon Aug 26, 2013 12:40 pm, edited 2 times in total.
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
Silent_Scream
Soldier level 4
Soldier level 4
Poland
Posts: 126
Joined: Thu Oct 08, 2009 1:48 pm

Re: SAIL - Naprawa Budynków

Post by Silent_Scream »

Wywala błąd przy drugim filtrze. Nie czyta "class".
przyznam się bez bicia, że nie ogarnąłem dobrze filtrów...
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4175
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: SAIL - Naprawa Budynków

Post by Serpent »

Randy Orton wrote:Wywala błąd przy drugim filtrze. Nie czyta "class".
przyznam się bez bicia, że nie ogarnąłem dobrze filtrów...

Już powinno działać.
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
Silent_Scream
Soldier level 4
Soldier level 4
Poland
Posts: 126
Joined: Thu Oct 08, 2009 1:48 pm

Re: SAIL - Naprawa Budynków

Post by Silent_Scream »

Serpent wrote: Już powinno działać.
Przetestowałem i wraz nie działa. "Naprawiacz" nawet ze składu nie wychodzi.
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4175
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: SAIL - Naprawa Budynków

Post by Serpent »

Randy Orton wrote:
Serpent wrote: Już powinno działać.
Przetestowałem i wraz nie działa. "Naprawiacz" nawet ze składu nie wychodzi.
Bo nie dałem komendy na wyjście z budynku? ;x
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
Silent_Scream
Soldier level 4
Soldier level 4
Poland
Posts: 126
Joined: Thu Oct 08, 2009 1:48 pm

Re: SAIL - Naprawa Budynków

Post by Silent_Scream »

To ciekawe bo zauważyłem ten fakt i sam dodałem ale dalej nic.

Code: Select all

Every 0$01 do
var filter, eng, un, b;
begin
enable;

filter := FilterAllUnits([[[f_side, americans], [f_type, unit_building], [f_not, [f_ok]]]]);
eng := FilterAllUnits([[f_side, americans], [f_class, 2]]);

If filter > 0 then

For b in filter do
begin
ComExitBuilding(eng);     //<------- EDIT: Dodałem tu AddComExitBuilding
ComRepairBuilding(eng, b);    // <----- i tu też dodałem Add. 
end;

End;
EDIT: Już wychodzi ale czy da się tak zrobiż żeby naprawiał ten budynek kiedy np. będzie lekko uszkodzony?
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4175
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: SAIL - Naprawa Budynków

Post by Serpent »

Ta, z pomocą odpowiednich filtrów potem ci napisze bo ciezko się z fona pisze ;p
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
Silent_Scream
Soldier level 4
Soldier level 4
Poland
Posts: 126
Joined: Thu Oct 08, 2009 1:48 pm

Re: SAIL - Naprawa Budynków

Post by Silent_Scream »

Rozumiem :)
Czekam Cierpliwie :)

EDIT:
Poradziłem sobie. Użyłem spisu funkcji wbudowanego w edytor.
Usunąłem "[f_not, [f_ok]]..." i za to wstawiłem "[f_lives, 950]..."
Wszystko działa jak trzeba. Dzięki za pomoc :)
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4175
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: SAIL - Naprawa Budynków

Post by Serpent »

No to dobrze, w końcu sam sobie poradziłeś :P
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
MasterKiller
Soldier level 6
Soldier level 6
Posts: 343
Joined: Tue Aug 09, 2011 5:51 pm

Re: SAIL - Naprawa Budynków

Post by MasterKiller »

a ja chcialem zastosowac ten kod i nie dziala. to znaczy niby dziala, ale dziwnie.
mam to samo co wyzej:

Code: Select all

Every 0$01 do
var filter, eng, un, b;
begin
enable;

filter := FilterAllUnits([[f_side, 1], [f_type, unit_building], [f_lives, 850]]);

If filter > 0 then


    For b in filter do
    begin
      ComRepairBuilding([inz1, inz2, inz3, inz4], b);
    end;


End;

i kolesie podchodza do EONa, ktory ma pelne HP, robia kilka krokow w prawo, i znowu wracaja do EONa i tak caly czas, mimo ze EON ma full HP. wyglada to dziwnie
natomiast jak dam AddComRepairBuilding, to oni po kolei podchodza do kazdego budynku(takze tych ktore maja full hp), i naprawiaja tylko wtedy, gdy akurat podejda do tej budowli, ktora jest uszkodzona. probowalem cos z IsBusy czy IsIdle, ale gra uznaje chyba, ze jak koles idzie, to jest Busy i sie tez tak dziwnie zapetlalo
Wszyscy jesteśmy żołnierzami: WYDANE
https://original-war.net/files.php?id=174
MasterKiller
Soldier level 6
Soldier level 6
Posts: 343
Joined: Tue Aug 09, 2011 5:51 pm

Re: SAIL - Naprawa Budynków

Post by MasterKiller »

helloł, ktoś wie co sie buguje?
Wszyscy jesteśmy żołnierzami: WYDANE
https://original-war.net/files.php?id=174
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4175
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: SAIL - Naprawa Budynków

Post by Serpent »

MasterKiller wrote:helloł, ktoś wie co sie buguje?

Zero kreatywności... :roll:

Code: Select all

Every 0$01 do
var filter, eng, un, b;
begin
enable;

filter := FilterAllUnits([[f_side, 1], [f_type, unit_building], [f_lives, 850]]);

If filter > 0 then

     AddComRepairBuilding([inz1, inz2, inz3, inz4], filter[1]);

End;
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
MasterKiller
Soldier level 6
Soldier level 6
Posts: 343
Joined: Tue Aug 09, 2011 5:51 pm

Re: SAIL - Naprawa Budynków

Post by MasterKiller »

teraz podchodza nie do eona, tylko do pierwszego budynku z filtra, czyli magazynu panie Kreatywny xD. cos sie pieprzy z tym SAILem. wyraznie jest f_lives, 850, magazyn ma cale hp, wiec co jest? nie wiem, czy jest jakas roznica miedzy "malym" a "duzym" paskiem hp(np. wiezyczka ma mały, a magazyn duży)? cos jeszcze pokombinuje


ED
no, i zamiast pierniczenia sie z kodami super-SAILem, po prostu postawilem kolo wiezyczek inzynierow. naprawiaja, wszystko gites, wracaja na miejsce :D wprawdzie raz inzynier zrobil jakas idiotyczna szarze na moje jednostki, ale nie jest zle :)
Wszyscy jesteśmy żołnierzami: WYDANE
https://original-war.net/files.php?id=174
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4175
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: SAIL - Naprawa Budynków

Post by Serpent »

Trza sobie radzić jakoś ;x

Btw. nie wiem czy to f_lives działa tak jak należy. Lepsze było [f_not,[ f_ok]] no ale jak tam kto woli.
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
Post Reply