Jump to content


Photo

Освещение в городах


Best Answer SteelRat , 21 June 2014 - 01:49

 

 

Как создать источник света и прикрепить его я знаю, а вот как найти фонари(отличить их других построек) не знаю, не отдельно же к каждому фонарю атачить) 

Тут всё просто, или сложно, смотря кому, в конфиги надо лезть и смотреть классы.

Либо так, в редакторе

_class = typeOf cursorTarget;
hint format ["%1", _class];

// Копировать в буфер обмена, для вставки в файл
copyToClipboard (str (_class));

То есть, тупо подходите к фанарю, наводите на него и исполняете код выше, получите класс объекта, который и будет искать ваш код

Go to the full post


  • Please log in to reply
15 replies to this topic

#1 OFFLINE   Dobryi_33RUS

Dobryi_33RUS

    Ефрейтор

  • Пользователи
  • 85 posts
  • Откуда:Россия

Posted 15 June 2014 - 20:17

Подскажите, можно вкл или выкл уличный фонарь или свет в доме?


  • 0

#2 OFFLINE   boris

boris

    Лейтенант

  • Пользователи
  • 1055 posts

Posted 15 June 2014 - 21:30

По-моему, можно только выключить пистолетом.
  • 0

#3 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 posts
  • Откуда:Кострома

Posted 15 June 2014 - 21:49

Подскажите, можно вкл или выкл уличный фонарь или свет в доме?


Только если сможешь сделать скрипт, который бы спавнил бота, который выстрелил бы по всем фонарямё а затем исчез :)
  • 0

#4 OFFLINE   foran

foran

    Капитан

  • Пользователи (ВсВт-В)
  • 1757 posts
  • Откуда:Россия
  • Отряд:[WTF]

Posted 15 June 2014 - 23:19

почему это. нет я видел у некоторых  на картах.  такие лампочки нарисованные. их можно на  триггер посадить и включать и выключать. я думаю. только вот как хз


  • 0

#5 OFFLINE   Disab

Disab

    Ефрейтор

  • Пользователи
  • 74 posts

Posted 16 June 2014 - 00:30

Вот это глянь 

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание


  • 0

#6 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 16 June 2014 - 01:48

Делал для Стратиса, для Алтиса нужно по другому, примите как направление в какую сторону смотреть

_pos = getMarkerPos "center";
_Array = [
	"Land_LampDecor_F",
	"Land_LampHalogen_F",
	"Land_LampHarbour_F",
	"Land_LampShabby_F",
	"Land_LampStreet_F",
	"Land_LampStreet_small_F",
	"Land_PowerPoleWooden_L_F",
	"Land_Runway_PAPI",
	"Land_Runway_PAPI_2",
	"Land_Runway_PAPI_3",
	"Land_Runway_PAPI_4",
	"Land_Runway_edgelight",
	"Land_TTowerBig_1_F",
	"Land_TTowerBig_2_F",
	"Land_LightHouse_F"
];
_Lamps = nearestObjects [_pos, _Array, 10000];
{
	_x setHit ["Light_1_hitpoint", 1];
	_x setHit ["Light_2_hitpoint", 1];
	_x setHit ["Light_3_hitpoint", 1];
	_x setHit ["Light_4_hitpoint", 1];
} forEach _Lamps;

_x setHit ["Light_1_hitpoint", 1];

Отключить

_x setHit ["Light_1_hitpoint", 0];

Включить


И ещё, эту хрень в мультике надо выполнить на каждом клиенте при заходе на сервер.


  • 0

#7 OFFLINE   Dobryi_33RUS

Dobryi_33RUS

    Ефрейтор

  • Пользователи
  • 85 posts
  • Откуда:Россия

Posted 16 June 2014 - 14:11

Делал для Стратиса, для Алтиса нужно по другому, примите как направление в какую сторону смотреть

_pos = getMarkerPos "center";
_Array = [
	"Land_LampDecor_F",
	"Land_LampHalogen_F",
	"Land_LampHarbour_F",
	"Land_LampShabby_F",
	"Land_LampStreet_F",
	"Land_LampStreet_small_F",
	"Land_PowerPoleWooden_L_F",
	"Land_Runway_PAPI",
	"Land_Runway_PAPI_2",
	"Land_Runway_PAPI_3",
	"Land_Runway_PAPI_4",
	"Land_Runway_edgelight",
	"Land_TTowerBig_1_F",
	"Land_TTowerBig_2_F",
	"Land_LightHouse_F"
];
_Lamps = nearestObjects [_pos, _Array, 10000];
{
	_x setHit ["Light_1_hitpoint", 1];
	_x setHit ["Light_2_hitpoint", 1];
	_x setHit ["Light_3_hitpoint", 1];
	_x setHit ["Light_4_hitpoint", 1];
} forEach _Lamps;
_x setHit ["Light_1_hitpoint", 1];

Отключить

_x setHit ["Light_1_hitpoint", 0];

Включить


И ещё, эту хрень в мультике надо выполнить на каждом клиенте при заходе на сервер.

 

 

 

 

А если старые карты, таки как: Чернарусь, Такистан,  Заграбад....  Можно ли зная ID обьекта, разлечить  фонарь от дома?  


  • 0

#8 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 16 June 2014 - 19:25

 

 

А если старые карты, таки как: Чернарусь, Такистан,  Заграбад....  Можно ли зная ID обьекта, разлечить  фонарь от дома?  

Код который я выложил, ищет в радиусе 10 км все классы объектов перечисленные в массиве _Array. Для этого кода нужны не ID а классы объектов - фанарей . Какая карта не важно.

 

Надо в массиве _Array перечислить классы фанарей, с которыми будут производиться действия.

 

Радиус поиска выставляется по вкусу, просто я тушил свет, оптом, на всей карте.

 

Ну и естественно, можно обратится к ID объекта, но я вижу такой способ одноразовым, и не перспективным, но это моё мнение.


Edited by SteelRat, 16 June 2014 - 19:28.

  • 0

#9 OFFLINE   Dobryi_33RUS

Dobryi_33RUS

    Ефрейтор

  • Пользователи
  • 85 posts
  • Откуда:Россия

Posted 16 June 2014 - 19:59

 

 

 

Код который я выложил, ищет в радиусе 10 км все классы объектов перечисленные в массиве _Array. Для этого кода нужны не ID а классы объектов - фанарей . Какая карта не важно.

 

Надо в массиве _Array перечислить классы фанарей, с которыми будут производиться действия.

 

Радиус поиска выставляется по вкусу, просто я тушил свет, оптом, на всей карте.

 

Ну и естественно, можно обратится к ID объекта, но я вижу такой способ одноразовым, и не перспективным, но это моё мнение.

 

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


Edited by Dobryi_33RUS, 16 June 2014 - 20:01.

  • 0

#10 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 17 June 2014 - 16:37

 

 

 

 

Код который я выложил, ищет в радиусе 10 км все классы объектов перечисленные в массиве _Array. Для этого кода нужны не ID а классы объектов - фанарей . Какая карта не важно.

 

Надо в массиве _Array перечислить классы фанарей, с которыми будут производиться действия.

 

Радиус поиска выставляется по вкусу, просто я тушил свет, оптом, на всей карте.

 

Ну и естественно, можно обратится к ID объекта, но я вижу такой способ одноразовым, и не перспективным, но это моё мнение.

 

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

 

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание


  • 0

#11 OFFLINE   Dobryi_33RUS

Dobryi_33RUS

    Ефрейтор

  • Пользователи
  • 85 posts
  • Откуда:Россия

Posted 21 June 2014 - 00:44

 

 

 

 

 

Код который я выложил, ищет в радиусе 10 км все классы объектов перечисленные в массиве _Array. Для этого кода нужны не ID а классы объектов - фанарей . Какая карта не важно.

 

Надо в массиве _Array перечислить классы фанарей, с которыми будут производиться действия.

 

Радиус поиска выставляется по вкусу, просто я тушил свет, оптом, на всей карте.

 

Ну и естественно, можно обратится к ID объекта, но я вижу такой способ одноразовым, и не перспективным, но это моё мнение.

 

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

 

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

 

Как создать источник света и прикрепить его я знаю, а вот как найти фонари(отличить их других построек) не знаю, не отдельно же к каждому фонарю атачить) 


  • 0

#12 OFFLINE   Dobryi_33RUS

Dobryi_33RUS

    Ефрейтор

  • Пользователи
  • 85 posts
  • Откуда:Россия

Posted 21 June 2014 - 01:04

Вот пример моего скрипта на освещение: 

 
 
_tr_name = _this select 0;                                                                            //имя тиггера
_type = _this select 1;                                                                                  // тип объектов к которым атачить свет ("house" - дома, "building"- строения  есть ещё "Streetlamp" - но почему то в моём случае фонари не находит)   
 
 
_tr_ar = triggerArea _tr_name;                                                                    //зона триггера
zona = nearestObjects [_tr_name, [_type], _tr_ar select floor 0];                //в данном случае использую ось X как радиус  (это для наглядности в редакторе)   
 
{
 
 
 
 
    _light = "#lightpoint" createVehicle [0,0,0];                                              //создание источника света
 
    _b = random 50;                                                                                      //   
                                                                                                                    //
    if(_b < 10 )then {_b = _b + 10};                                                               //      рандом яркости и оттенка света (для ранообразия)      
                                                                                                                    //
    _b = _b / 100;                                                                                          //
    _cs = random 2;                                                                                      //
   
    _light setLightBrightness _b;                                                                   // яркость      
    _light setLightAmbient [0.05, 0.05, 0.05];                                                // цвет
    _light setLightColor [_cs, _cs, _cs/2];                                                      //
 
       
    _light lightAttachObject [_x, [0, 0, _pz]];                                                  // атач   
 
 
} forEach zona;

Edited by Dobryi_33RUS, 21 June 2014 - 01:05.

  • 0

#13 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 21 June 2014 - 01:49   Best Answer

 

 

Как создать источник света и прикрепить его я знаю, а вот как найти фонари(отличить их других построек) не знаю, не отдельно же к каждому фонарю атачить) 

Тут всё просто, или сложно, смотря кому, в конфиги надо лезть и смотреть классы.

Либо так, в редакторе

_class = typeOf cursorTarget;
hint format ["%1", _class];

// Копировать в буфер обмена, для вставки в файл
copyToClipboard (str (_class));

То есть, тупо подходите к фанарю, наводите на него и исполняете код выше, получите класс объекта, который и будет искать ваш код


  • 0

#14 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 21 June 2014 - 02:01

zona = nearestObjects [_tr_name, [_type], _tr_ar select floor 0];                //в данном случае использую ось X как радиус  (это для наглядности в редакторе)   

тут вы ищите на карте не строения а массив), потому что, переменная _type у вас уже определена как массив, не корректно.

zona = nearestObjects [_tr_name, _type, _tr_ar select floor 0];

  • 0

#15 OFFLINE   Dobryi_33RUS

Dobryi_33RUS

    Ефрейтор

  • Пользователи
  • 85 posts
  • Откуда:Россия

Posted 21 June 2014 - 20:14

zona = nearestObjects [_tr_name, [_type], _tr_ar select floor 0];                //в данном случае использую ось X как радиус  (это для наглядности в редакторе)   

тут вы ищите на карте не строения а массив), потому что, переменная _type у вас уже определена как массив, не корректно.

zona = nearestObjects [_tr_name, _type, _tr_ar select floor 0];

Опечатка) Спасибо, что подсказали. 


  • 0

#16 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 posts
  • Откуда:Кострома

Posted 23 June 2014 - 17:18

 

 

 

Как создать источник света и прикрепить его я знаю, а вот как найти фонари(отличить их других построек) не знаю, не отдельно же к каждому фонарю атачить) 

Тут всё просто, или сложно, смотря кому, в конфиги надо лезть и смотреть классы.

Либо так, в редакторе

_class = typeOf cursorTarget;
hint format ["%1", _class];

// Копировать в буфер обмена, для вставки в файл
copyToClipboard (str (_class));

То есть, тупо подходите к фанарю, наводите на него и исполняете код выше, получите класс объекта, который и будет искать ваш код

 

Кстати заметил фишку. когда в редакторе, выбираешь режим "кмера" то в плевом нижнем углу пишется что то типо класс объекта на который смотрит перекрестие у тебя на экране


  • 0




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