Перейти к содержанию
Oubi

Проблема с передачей значения в функцию (ХЕЛП)

Рекомендуемые сообщения

Есть у меня вообщем такой код со всеми пояснениями. Вопрос. Как мне передать значение полученное с помощью param, в inline функцию? А так же... Если в функции используется приостановка (sleep 1;) и функция может вызываться +- одновременно для нескольких игроков, то верно ли использовать spawn ?

Спойлер

params [["_EditIdent",0],["_Timer",0]]; // ВХОДЯЩИЕ ПАРАМЕТРЫ ИЗ init.sqf

//CODE HERE


fnc_setTimeout = {
  			hint format ["Value: %1",_this]; // Если передаю _Timer, то _this = any. Если передаю не переменную, а само значение, то всё работает верно.
  			//CODE HERE
			sleep 1;
  			//CODE HERE
		};


//CODE HERE

		"[_Timer] spawn fnc_setTimeout;" // Значение _Timer нужно передать в функцию.

};

 

 

Изменено пользователем Oubi

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У тебя ошибка в аргументе. Надо не [_Timer] spawn fnc_setTimeout; а _Timer spawn fnc_setTimeout; :mini-happy: Ты в свою функцию массив, а не значение передаешь :smlpeka:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю какие там массивы и куда.  Да в hintе массив, но не any. Всё работает как есть.
 

oubiFunc = {
    params [["_EditIdent",0],["_Timer",0]]; 
    fnc_setTimeout = { 
        hint format ["Value: %1",_this]; 
        //CODE HERE 
        sleep 1; 
        //CODE HERE 
    };
    [_Timer] spawn fnc_setTimeout; 
};

[0,1] call oubiFunc;

 

Изменено пользователем Liquid

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Liquid а в функции входящий параметр _this. То есть значение _this в функции равно массиву, а не значению его первого элемента.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@DAP Точно. Видимо было поздно.

_this нигде не использую. Везде params. Иногда с проверкой типов.

Изменено пользователем Liquid

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.