Передача переменной в белку - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь написать какой-нибудь вызов для старой паровой игры (называемой Alien Swarm: Reactive Drop)

Они используют VScript, который должен быть Squirrel наряду с некоторыми дополнительными встроенными командами.

У меня есть 2 .nut файла, и я хочу, чтобы первый вызвал второй в условии.

Мне нужна помощь по синтаксису, так как я не совсем уверен, как передать переменная от одного скрипта к другому. Вот некоторый очень синтезированный код, чтобы вы поняли, что я пытаюсь сделать:

"FirstScript.nut":

IncludeScript("SecondScript.nut");
StartSecondScript <- false;
function OnGameEvent_player_say(params)
{
    if (params == "yes")
    {
        StartSecondScript = true;
    }
    else
    {
        StartSecondScript = false;
    }
}

"SecondScript.nut":

StartSecondScript <- false;
funtion Update()
{
    if (StartSecondScript)
    {
        ... DO MY STUFF ...
    }
}

Пока что это не изменит переменную StartSecondScript во втором скрипте, а только в первом. Если я попытаюсь не инициализировать переменную в первом скрипте, я получу ошибку. Итак, мой вопрос, как я могу передать переменную из одного скрипта в другой? Концептуально, я могу думать о нескольких вариантах, это может быть либо вызов функции внутри второго скрипта из первого скрипта (и указанная функция будет изменять только эту переменную). Это также может быть своего рода IncludeScript (может быть, в Squirrel есть Run / ScriptExecute или еще что-нибудь?), Где я также мог бы поместить некоторую переменную. Или, может быть, это как-то связано с областью, которую я мог бы сделать еще больше, чем глобальный? (так как я предполагаю, что эти переменные StartSecondScript уже являются глобальной областью действия?)

Я действительно не думаю, что это должно быть даже трудно сделать, но я немного потерян в синтаксисе, чтобы сделать это, поэтому любая помощь будет очень признателен

РЕДАКТИРОВАТЬ: не имеет значения, найти его, просто нужно, чтобы не инициализировать переменную внутри 2-го сценария, поэтому он использует только один из 1-го сценария

...