Ativa o menu
Alternar menu de preferências
Alternar menu pessoal
Não autenticado(a)
Your IP address will be publicly visible if you make any edits.

void ScriptWait (int script);

Uso

Atrasa o script em que ele está contido até que o script especificado por script tenha concluído a execução. Se o script especificado não estiver em execução, este comando aguardará até que ele seja executado. Para named scripts, use NamedScriptWait.

Parâmetros

  • script: O número do script a aguardar.

Exemplos

A vantagem de ScriptWait é que ele pode segurar um script que só deve rodar uma vez. Digamos que exista um script que deve ser executado apenas uma vez para abrir uma porta (por exemplo, ele ativa quando o jogador destrói um painel de controle, o que só pode ser feito uma vez), mas o mapa exige que a porta seja destrancada antes disso. Caso a porta ainda esteja trancada, ScriptWait pode ser usado para segurar o script de execução única até que o script que destranca a porta tenha começado e terminado.

A seguir está um exemplo de implementação desse código. Ele é um tanto longo, mas bem direto.

bool locked = Predefinição:Const;
script 1 (int sector)
{
    if (locked)
    {
        Print (s:"Acesso de segurança necessário!");
        ScriptWait (2);
    }

    Door_Open (sector, 20);
}
 
script 2 (int count)
{
    while (count > 0)
    {
        HudMessage (i:count--; Predefinição:Const, 1,
            Predefinição:Const, 0.05, 0.95, 1.0);
        Delay (1);
    }

    HudMessage (s:"Verificado!"; Predefinição:Const, 1,
        Predefinição:Const, 0.05, 0.95, 1.0);
	
    locked = Predefinição:Const;
}

O primeiro script é o script de execução única. Se a porta estiver trancada, ele avisa o usuário e espera o script de destrancar rodar e terminar. Depois disso, ou se a porta já estiver destrancada, a porta abre.

O segundo script recebe um parâmetro, que é a quantidade de frames para contar antes de destrancar. Note que count é exibido como count--, onde os dois sinais de menos são o operador de decremento. Depois que a contagem termina, a porta é destrancada.

Script functions
ACS_Execute ACS_NamedExecute
ACS_ExecuteWait ACS_NamedExecuteWait
ACS_ExecuteAlways ACS_NamedExecuteAlways
ACS_ExecuteWithResult ACS_NamedExecuteWithResult
ACS_LockedExecute ACS_NamedLockedExecute
ACS_LockedExecuteDoor ACS_NamedLockedExecuteDoor
ACS_Suspend ACS_NamedSuspend
ACS_Terminate ACS_NamedTerminate
ScriptWait NamedScriptWait
FS_Execute UsePuzzleItem