Итак, я пишу сценарий для компьютерной игры Counter Strike: Global Offensive, который меняет игру игроков на перекрестие.язык, используемый игровыми движками, называется Vscript.Vscript не очень хорошо документирован, единственная документация, которую я мог оштрафовать, это длинный список функций .Но после пробной ошибки я обнаружил, что синтаксис почти идентичен JavaScript, с единственной реальной разницей в том, что в языке есть специальные функции, такие как SetHealth или GetTeam, например, которые специфичны для игры и не существуют в JavaScript.
class crosshair_generator {
// Initialize
crosshair_hidden = false;
function hideCrosshair() {
if (crosshair_hidden == true) {
// Hide the crosshair
SendToConsole("crosshair 0");
printl("crosshair hidden!");
self.crosshair_hidden = false;
} else if (crosshair_hidden == false) {
// Show the crosshair
SendToConsole("crosshair 1");
printl("crosshair shown!")
crosshair_hidden = true;
}
}
function CrosshairAlpha(Add) {
// cl_crosshairalpha
}
}
когда я открываю игру и запускаю скрипт, внутри игровой консоли выдается
AN ERROR HAS OCCURED [the index 'crosshair_generator' does not exist]
CALLSTACK
*FUNCTION [main()] InputRunScript line [1]
LOCALS
[this] TABLE
Entity script_crosshair encountered an error in RunScript()
Если я определяю переменную crosshair_hidden внутри функции hideCrosshair () crosshair_hidden = false;
, то каждый разя вызываю функцию, значение которой будет ложным.мне нужно, чтобы он был определен вне функции, чтобы к переменной могли обращаться другие функции, такие как CrosshairAlpha()
, и чтобы значение переменной не было одинаковым каждый раз, когда я вызываю функцию.
Так какВы определяете переменную в классе в JavaScript, а затем передаете эту переменную в функцию?