Goto http://www.stucuk.netGoto http://www.atlanticaonlinewiki.comGoto http://www.game-requirements.com

SailEvent

From Original War Support Wiki

Jump to: navigation, search

SAIL Events -> SailEvent


Description

This event occurs when function "RaiseSailEvent" is executed.

Exported Values

SailEvent(value);

value - a value given to "SailEvent" by function "RaiseSailEvent".

Usage

"SailEvent" works like other events except the value it 'gives' through its parameter is the same as the input for function "RaiseSailEvent". Additionally you can choose yourself when the event should occur - that is when you use function "RaiseSailEvent". This function has one parameter corresponding to the one value event "SailEvent" 'gives'.
Important: Apparently you can only export integers to "SailEvent". If you use a list as the parameter in "RaiseSailEvent" then it is automatically converted to the corresponding integer in "SailEvent".

Example:

Every 0$5 do
var show_hidden_bunker;
begin
     show_hidden_bunker = LoadVariable('03_bunker_found',false);

     InGameOn;
     Wait(0$2);
     RaiseSailEvent(show_hidden_bunker);
     SayRadio(Dennis, 'A2-Den-1');
     InGameOff;
end

On SailEvent(reveal_bunker) do
     begin
          Wait(0$3);
          CenterOnXY(12, 33);

          if reveal_bunker then
               begin
                    Wait(0$4);
                    CenterOnXY(56, 34);
               end;
     end;

Here the character "Dennis" speaks while the camera focuses on hex [12, 33]. If the player did something in a former mission then hex [56, 34] is also revealed.

This is almost the same as using an "every" with a very low update time, a "marked" and a global variable. The difference is that "SailEvent" is triggered instantly (like every other event) and the "every" is triggered only almost instantly. Furthermore you don't have to use a global variable when using "SailEvent" because the value is exported directly to the event.
The example above rewritten:

Export show_hidden_bunker;

Every 0$5 do
begin
     show_hidden_bunker = LoadVariable('03_bunker_found',false);

     Disable(01);

     InGameOn;
     Wait(0$2);
     Enable(01);
     SayRadio(Dennis, 'A2-Den-1');
     InGameOff;
end

Every 0$0.1 marked 01 do
     begin
          Wait(0$3);
          CenterOnXY(12, 33);

          if show_hidden_bunker then
               begin
                    Wait(0$4);
                    CenterOnXY(56, 34);
               end;
     end;

You can define SailEvent only once, but there is a way to use it for various situations thanks to its parameter and "case" command

Example for multiple usage:

Every 0$0.5 trigger IsIdle(Donaldson) and IsIdle(JMM) do
begin
     ... //some unimportatnt code
     RaiseSailEvent(Frank); //Call SailEvent with param Frank
end;
Every 0$0.5 trigger IsPlaced(Nota) do
begin
     ... //some unimportatnt code
     ComMoveXY(Nota,56,1);
     AddComSailEvent(Nota,Nota); //unit Nota call Sailevent with param Nota after he reach coords 56,1
     ... //other unimportant code
end;

Here is source for SailEvent function:

on SailEvent(param) do
var a;
begin
    case param of 
         Frank: //when param of SailEvent = Frank do this code
         begin
              PlaceUnitXY(Frank,12,1,false);
              ComMoveXY(Frank,17,9);
              AddComMoveXY(Frank,16,18);
              AddComMoveXY(Frank,24,31);
              if (IsPlaced(JMM)) then AddComMoveUnit(Frank,JMM);
              AddComFree(Frank);
         end;
         Nota: //when param of SailEvent = Nota do this code
         begin
              RemoveUnit(Nota);
              SetAttitude(7,2,att_enemy,true);
              RaiseSailEvent(listOfEnemyUnits); //you can call other SailEvent with other param from SailEvent :D 
         end;
         listOfEnemyUnits: //when param of SailEvent = listOfEnemyUnits do this code
         begin
              enable(2);
              for a in listOfEnemyUnits do
                   PlaceUnitArea(a,arabianAttack,false);
              ComMoveXY(listOfEnemyUnits,69,27);
              AddComAgressiveMove(listOfEnemyUnits,62,51);
         end;
    end;
end;
Personal tools
Clanbase
This is a cached copy of the requested page, and may not be up to date.

Sorry! This site is experiencing technical difficulties.
Try waiting a few minutes and reloading.

(Cannot contact the database server: MySQL functions missing, have you compiled PHP with the --with-mysql option? )


You can try searching via Google in the meantime.
Note that their indexes of our content may be out of date.