Перейти к содержимому


Фотография

Как запустить функцию на клиенте


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 45

#41 OFFLINE   0-0

0-0

    Ефрейтор

  • Пользователи
  • 57 сообщений

Отправлено 27 February 2019 - 12:28

Вот весь кусок с включением:

 

Вот без изменений имён, не работает:

while { (true) } do {

	{

		if ((_x isKindOf "Man")) then
        {

            if ((alive _x) && !(_x getVariable ["dam_ignore_hit0",false]) && (("INJURED" == lifeState _x) or ("HEALTHY" == lifeState _x))) then 
			{
			 _units pushBack _x; 


 			 _x setVariable ["dam_ignore_hit0",true];
				IF (!isplayer _x) then {
					    _jipId = {
						 _ehId = _x addEventHandler ["HitPart", {(_this select 0) spawn PiRredirect;}];
    					 _x setVariable ["hitPartEhId", _ehId];
						} remoteExec ["call", 0, true];
				} ELSE {
					    _jipId0 = {
						 _ehId = _x addEventHandler ["HitPart", {(_this select 0) spawn PiRredirect0;}];
    					 _x setVariable ["hitPartEhId", _ehId];
						} remoteExec ["call", 0, true];
				};
			 };
		};
	
	} forEach allUnits;

sleep 30;

};

Вот с изменением, то же не работает:

while { (true) } do {

	{

		if ((_x isKindOf "Man")) then
        {

            if ((alive _x) && !(_x getVariable ["dam_ignore_hit0",false]) && (("INJURED" == lifeState _x) or ("HEALTHY" == lifeState _x))) then 
			{
			 _units pushBack _x; 


 			 _x setVariable ["dam_ignore_hit0",true];
				IF (!isplayer _x) then {
					    PiRjipId = {
						 PiRehId = _x addEventHandler ["HitPart", {(_this select 0) spawn PiRredirect;}];
    					 _x setVariable ["hitPartEhId", PiRehId];
						} remoteExec ["call", 0, true];
				} ELSE {
					    PiRjipId0 = {
						 PiRehId0 = _x addEventHandler ["HitPart", {(_this select 0) spawn PiRredirect0;}];
    					 _x setVariable ["hitPartEhId", PiRehId0];
						} remoteExec ["call", 0, true];
				};
			 };
		};
	
	} forEach allUnits;

sleep 30;

};

  • 0

#42 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1781 сообщений
  • Откуда:Тбилиси, Грузия

Отправлено 27 February 2019 - 12:44

0-0, ну конечно не будет работать -- откуда переменная _x будет известна на удалённом компе? _x надо передавать вместе с кодом:

_jipId = [_x, {
    _ehId = _this addEventHandler ["HitPart", {(_this select 0) spawn PiRredirect;}];

    _this setVariable ["hitPartEhId", _ehId];
}] remoteExec ["call", 0, true];

А если и делать переменную глобальной, то _jipId -- если удаление будет происходить в другом месте.


  • 0

#43 OFFLINE   0-0

0-0

    Ефрейтор

  • Пользователи
  • 57 сообщений

Отправлено 27 February 2019 - 16:18

Принял спасибо)  Сейчас буду пробовать)


  • 0

#44 OFFLINE   0-0

0-0

    Ефрейтор

  • Пользователи
  • 57 сообщений

Отправлено 27 February 2019 - 19:40

Спасибо, всё заработало)

 

Но, на всякий случай уточню, при удалении мы так же переменную передаём. Я её добавил, всё работает нормально.


  • 0

#45 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1781 сообщений
  • Откуда:Тбилиси, Грузия

Отправлено 28 February 2019 - 11:22

Но, на всякий случай уточню, при удалении мы так же переменную передаём.

Да, нам же нужно с помощью этой переменной обратиться к юниту.


Сообщение отредактировал Schatten: 28 February 2019 - 11:22

  • 0

#46 OFFLINE   0-0

0-0

    Ефрейтор

  • Пользователи
  • 57 сообщений

Отправлено 01 March 2019 - 20:53

 

Но, на всякий случай уточню, при удалении мы так же переменную передаём.

Да, нам же нужно с помощью этой переменной обратиться к юниту.

 

 

Принял) Спасибо ещё раз)) Уже оттестировал всё) Работает )


  • 0




Яндекс.Метрика