błąd zbierania skrzyń

Wszystko o modach, patchach i błędach w OW oraz ogólnym programowaniu.
Odpovědět
Аватара пользователя
Lavigo
Soldier level 4
Soldier level 4
Příspěvky: 86
Registrován: Пн окт 04, 2010 3:39 pm

błąd zbierania skrzyń

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

Witam
Dajmy na to ze mamy areę w której pojawiają sie skrzynki, niech to będzie area_skrzyn
i transportowiec, który ma zbierać skrzynie z tej arei, niech ma ident komora

Mamy więc taki kod:

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

every 0$5 trigger GetListOfCratesInArea(area_skrzyn) do
var clear_crates;
begin
  enable;
  crate_list:=GetListOfCratesInArea(area_skrzyn);

      if IsLive(komora) then
        ComCollect(komora,crate_list[1],crate_list[2])
      else
        ComGet(komora,crate_list[1],crate_list[2]);
        clear_crates:=false;
      repeat
        wait(0$1);
        until (not IsBusy(komora)) OR clear_crates {OR NOT IsLive(komora)};
end;
transportowiec o idencie komora jest umieszczony na mapie...

Sail znajduje błąd w linijce:

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

crate_list:=GetListOfCratesInArea(area_skrzyn);
opcja crate_list jest mu jakby źle napisana, szukałem na forum, ale wszedzie znalazłem taki kod z taką opcją crate_list

w informacji błędu w tej linijce pisze takie cos: undefined identifier 'crate_list'!

Dlaczego mam w tym miejscu błąd?
Prosze o pomoc...
Аватара пользователя
Nitek
Community Veteran
Community Veteran
Příspěvky: 997
Registrován: Пн апр 13, 2009 4:13 pm
Откуда: Białystok
Kontaktovat uživatele:

Re: błąd zbierania skrzyń

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

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

Every 0$5 trigger GetListOfCratesInArea(Skrzynki2) do
Var crate_list;
 Begin

  if IsOk(Baza) and IsOk(Ar_Eng) and not (HasTask(Ar_Eng)) then
   Begin
    If IsInUnit(Ar_Eng) then ComExitBuilding(Ar_Eng);
    Wait(0$1);
    crate_list=GetListOfCratesInArea(Skrzynki2);
    ComCollect(Ar_Eng,crate_list[1],crate_list[2]);

   Repeat
    Wait(0$1)
    Until
    IsIdle(Ar_Eng);

   ComEnterUnit(Ar_Eng,Baza);

   End
    else Wait(0$15);

   Enable;
End;
Ja mam coś takiego u siebie i działa. Jest jedynie taka drobna różnica, że u mnie to inżynier zbiera skrzynki. Z drobnymi zmianami możesz to dostosować do swojej sytuacji. Możesz również zobaczyć jak to jest zrobione np. w 14. misji AM.
Аватара пользователя
Lavigo
Soldier level 4
Soldier level 4
Příspěvky: 86
Registrován: Пн окт 04, 2010 3:39 pm

Re: błąd zbierania skrzyń

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

dzieki :)
Przerobiłem ten kod w taki sposób:

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

Every 0$5 trigger GetListOfCratesInArea(Skrzynki2) do
Var crate_list;
 Begin

  if IsOk(sklad) and IsOk(komora) and not (HasTask(komora)) then
   Begin
    If IsInUnit(komora) then ComExitBuilding(komora);
    Wait(0$1);
    crate_list=GetListOfCratesInArea(Skrzynki2);
    ComCollect(komora,crate_list[1],crate_list[2]);

   Repeat
    Wait(0$1)
    Until
    IsIdle(komora);

   End
    else Wait(0$15);

   Enable;
End;
myślę że to jest źle przerobione, bo zamieniłem tylko kolesia co ma chodzić na komore, jak cos usunąłem z tego kodu to było źle i znajdowało błędy, a w taki sposób działa :)

dzieki :)
a co do 14 misji am to oczywiscie patrzyłem ten kod, jest on podobny do tego który napisałem w pierwszym poście;p jego kombinacje też mi nie działały... :/

P.S jeśli ktoś ma kod podobny do tego który jest w pierwszym poscie ALE działa to moze wkleić, bo ten od Nitka jest moim zdaniem źle przeze mnie przerobiony, ewentualnie możecie mi pomóc go przerobić pod pojazd, żeby nie było takich rażących błędów jakie w moim przypadku w nim występują :)
Аватара пользователя
Serpent
Soldier level 10
Soldier level 10
Estonia
Příspěvky: 4169
Registrován: Вт июл 07, 2009 9:13 pm
Откуда: Polska - EuroStan ZSRE
Kontaktovat uživatele:

Re: błąd zbierania skrzyń

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

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

Every 0$02 trigger komora do
var skr, p;
begin

     enable;

     skr = GetListOfCratesInArea(Area_Skrzyn);

     p = 1;

     while p < skr do
     begin
     AddComCollect(komora, skr[p], skr[p+1]);
     p = p + 2;
     end;

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
Аватара пользователя
Lavigo
Soldier level 4
Soldier level 4
Příspěvky: 86
Registrován: Пн окт 04, 2010 3:39 pm

Re: błąd zbierania skrzyń

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

ok
dzieki :)
Odpovědět