Start kodu, mimo nie spełnienia warunku...

Wszelkie pytania na temat SAIL'a i modowania OW.
Post Reply
User avatar
Don Hard
Soldier level 5
Soldier level 5
Nepal
Posts: 242
Joined: Thu May 28, 2015 7:40 pm
Location: Lechia

Start kodu, mimo nie spełnienia warunku...

Post by Don Hard »

Witam. :D
Gdy testowałem misję mojego moda, ogólny plan zakłada, że po początkowej cut-scence odblokowują się marked'y.
Przed nimi jest warunek "if".
Jednak po zakończeniu cut-scenki, marked'y zachowują się tak jakbym już spełnił warunek. :shock:

Kod:

Code: Select all

every 0$1 do
begin

InGameOn;
CenterOnUnits(michail);
ComExitBuilding([sol1,arm1]);
ComAgressiveMove(sol1,113,76);
Say(sol1,'S1-1');
ComTurnUnit(michail,sol1);
ComTurnUnit(sol1,michail);
Say(michail,'M1-4');
Say(sol1,'S1-2');
Say(michail,'M1-5');
Say(sol1,'S1-3');
Say(michail,'M1-6');
Say(sol1,'S1-4');
Say(michail,'M1-7');
Say(sol1,'S1-5');
InGameOff;
ChangeMissionObjectives('CEL2');
enable(001);
enable(003);
enable(004);
end;

every 0$1 marked 001 do
begin
      if IsInArea(michail,depot1) then
      InGameOn;
      DialogueOn;
      Say(sol1,'S1-6');
      Say(michail,'M1-Pass-False');
      AddComAgressiveMove(michail,106,75);
      Wait(0$3);
      DialogueOff;
      InGameOff;
      end;

// pierwszy marked

every 0$1 marked 002 do
begin
      InGameOn;
      DialogueOn;
      Say(sol1,'S1-6');
      Say(michail,'M1-Pass-True');
      Say(sol1,'S1-7');
      DialogueOff;
      InGameOff;
      SetAreaMapShow(koniec,1);
      end;


Drugi marked:

Code: Select all


every 0$1 marked 003 do
begin
     if IsInArea(michail,depote2) then
      InGameOn;
      CenterOnUnits(michail);
      DialogueOn;
      Say(argen,'Ar-1');
      Say(michail,'M1-8');
      Say(argen,'Ar-2');
      Say(michail,'M1-9');
      Say(argen,'Ar-3');
      Say(argen,'Ar-4');
      Say(michail,'M1-10');
      Say(argen,'Ar-5');
      DialogueOff;
      SetSide(veh,8);
      SetSide(arfac1,8);
      SetSide(ararm,8);
      InGameOff;
      ChangeMissionObjectives('CEL3');
      enable(007);
      end;

every 0$3 marked 007 do
begin
      if IsDead(rudepot) then
       Wait(0$2);
       SayRadio(argen,'Ar-6');
       SayRadio(michail,'M1-11');
       SayRadio(argen,'Ar-7');
       ChangeMissionObjectives('CEL3W');
       ChangeMissionObjectives('CEL5');
       InGameOff;
       enable(005);
       disable(004);
       end;
Trzeci marked:

Code: Select all

every 0$1 marked 004  do
begin
     if IsInArea(michail,depote3) then
     InGameOn;
     Say(amgen2,'Am-1');
     InGameOff;
     AddComAgressiveMove(michail,82,66);
     Wait(0$3);
     end;
Gdy kompiluje kod, wszystko jest okej, ale w praktyce to nie działa jak powinno. :evil:
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: Start kodu, mimo nie spełnienia warunku...

Post by Serpent »

Nie działa bo masz:
if <warunek> then
{instrukcja}

Nie zamykasz instrukcji pomiędzy beginem a end'em.

Powinno być:
if <warunek> then
begin
{instrukcja}
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
User avatar
Don Hard
Soldier level 5
Soldier level 5
Nepal
Posts: 242
Joined: Thu May 28, 2015 7:40 pm
Location: Lechia

Re: Start kodu, mimo nie spełnienia warunku...

Post by Don Hard »

Jak wpisuje end; na koncu to wywala error, ze zauwazono end;, a nie ma definicji. :?
No chyba, ze jestem nie ogarem i cie nie zrozumialem. :twisted:

EDIT: Dobra, poradzilem juz sobie.
Post Reply