Dialog zależnie od wykonanej czynności

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

Dialog zależnie od wykonanej czynności

Post by Silent_Scream »

Cześć, rozwijając misję w moim modzie natrafiłem na problem.
Mam małą bazę Am i chcę zrobić tak:

- Główna postać musi szukać odpowiedniego miejsca na kontakt, ale podczas poszukiwań może trafić na wyżej wspomnianą bazę.

- Kiedy dotrze do odpowiedniego miejsca na rozmowie z przełożonym może wspomnieć automatycznie o wrogu lecz to wszystko ma zależeć od tego czy zobaczy wrogie jednostki przed rozmową.

- W dalszej części jeśli nie zobaczył wrogich jednostek przed rozmową, a zobaczy je po rozmowie to wtedy ma o tym zameldować.

Mój problem polega na tym, że nie wiem jak zrobić takie założenie jak zostało to przedstawione przy myślnikach wyżej. Próbowałem skleić własny kod ale jest zły. Patrzyłem w kodzie oryginalnej kampanii, ale nie zobaczyłem zbyt wiele.
To mój kod:
Spoiler:

Code: Select all

// Początek misji
Starting
 begin
  widok_am=false;
   ...
 end;

// Kiedy zobaczy amerykan

Every 0$0.1 trigger See(vladek,1) marked 08 do
 begin
  DialogueOn;
  widok_am=true;
  Say(vladek,'see1');
  Say(vladek,'see2');
  DialogueOff;
 end;

// Rozmowa z przełożonym po dojsciu na odpowiednie miejsce

Every 0$1 trigger IsInArea(vladek,radio_2) marked 003 do
 begin
  DialogueOn;
  InGameOn;
  wait(0$1);
  CenterOnUnits(vladek);

   Say(vladek,'wzgorek1');
   wait(0$0.5);
   Say(vladek,'wzgorek2');
              If widok_am then          //<------- Tu właśnie chciałem zrobić to że jak 
               begin                                      //zobaczy tych AM to ma to powiedzieć
                 Say(vladek,'IF-VLA-SE');         //dla dowódcy, ale kod niedziała
               end;
   wait(0$0.5);
   Say(vladek,'wzgorek3');
   wait(0$1);
   SayRadio(gener,'dwzgorek1');
   wait(0$1);
   SayRadio(gener,'dwzgorek2');
   SayRadio(gener,'dwzgorek3');
   wait(0$0.5);
   Say(vladek,'wzgorek4');
   wait(0$0.5);
   SayRadio(gener,'dwzgorek4');
   SayRadio(gener,'dwzgorek5');
   wait(0$1);
   SayRadio(gener,'dwzgorek6');
   wait(0$0.5);
   Say(vladek,'wzgorek5');
   SayRadio(gener,'dwzgorek7');
   InGameOff;
   DialogueOff;

   ChangeMissionObjectives('02');
   ChangeMissionObjectives('07');

       If zwiad_quest then             //<------- To jest quest ze zwiadem ale on 
        begin                                            //też nie działa
         ChangeMissionObjectives('08');
         ChangeMissionObjectives('05');
         SetAreaMapShow(wyscie,true);
        end;
Zastanawiałem się czy nie zdefiniować funkcji na to, ale wolę zapytać na forum kogos kto ma w tym doświadczenie.
Z góry dziękuje za wszelką pomoc.
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4166
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: Dialog zależnie od wykonanej czynności

Post by Serpent »

Jak to ma działać jak nawet źle używasz warunku See?

Code: Select all

See(side, ident); // jeżeli ktoś z side, zauważy ident lub gdy ident zauważy kogoś z side

Code: Select all

Every 0$01 trigger See(1, vladek) marked 08 do // po kij ten marked?
 begin
  
   widok_am := true;

  DialogueOn;
  Say(vladek,'see1');
  Say(vladek,'see2');
  DialogueOff;
 
end;

...

 Say(vladek,'wzgorek2');
   
If widok_am = true then         
   begin                                 
   Say(vladek,'IF-VLA-SE');        
   end;

Zapoznaj się ze spisem funkcji (jest wbudowany w edytor), to na pewno ułatwi ci życie.
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