НаноБот 754 Опубликовано 15 Октября 2014 (изменено) Народ! Я сейчас не плохое открытие сделал В общем про биндер, функция net_Relcase переводится как разрыв сети, и вызывается она когда объекты в онлайне удаляются, не забываем что движок основан на мультиплеере, т.е. разъединяются. function mybinder_binder:net_Relcase(obj) if obj then log("mashalat_binder:net_Relcase(objid-"..obj:id()..")name-("..obj:name()..")section-("..obj:section()..")time-("..time_global()..")") end return false end Как это может использоваться, да как уходно, например фейковые ножи, эта функция запускается, проверяем обж если это то, то спавним в ножевой слот ножик, и т.к. далее... В общем, можно добавить куда надо эту инфу, скриптерам пригодится. Ещё надо проверить парент удаляемых объектов, по поже отпишусь... PS Эта функция срабатывает так же и при уходе в оффлайн, парент равен нил, ну это и понятно, объекты то удаляются. Изменено 15 Октября 2014 пользователем НаноБот ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Поделиться этим сообщением Ссылка на сообщение
НаноБот 754 Опубликовано 2 Декабря 2015 (изменено) Кстати, заметил не которые проблемы: метод bone_position() - для не которых монстров работает не правильно, в точности для бюрера когда пытается "колдовать", то есть кидаться предметами. Метод alive() так же иногда выдаёт false для живого объекта, замечено у зомби и ворон, по этому можно проверять наличие физ. оболочки, если метод get_physics_shell возвращает nil то объект точно живой. Изменено 2 Декабря 2015 пользователем НаноБот 1 2 ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Поделиться этим сообщением Ссылка на сообщение
НаноБот 754 Опубликовано 2 Декабря 2015 @Карлан, то есть при смерти живого объекта физ. оболочка не включается? А как дальше, анимация смерти как в старых движках, типа как в старой контры. ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Поделиться этим сообщением Ссылка на сообщение
НаноБот 754 Опубликовано 19 Июня 2016 (изменено) void set_queue_size(int <queue_size>) – установить размер очереди при стрельбе из автоматического оружия Как этот метод можно использовать? Можно использовать в скриптовом оружие, в точности wpn:set_queue_size(0) блокирует огонь, а wpn:set_queue_size(1(или -1 для автооружия)) разблокирует. Работает для всех классов, с ножом не проверял. Используется М139 с блоком вращающих стволов, в моём ПЗРК, много где можно использовать, где надо заблокировать огонь. Изменено 19 Июня 2016 пользователем НаноБот ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Поделиться этим сообщением Ссылка на сообщение
НаноБот 754 Опубликовано 8 Августа 2017 (изменено) Есть ли подробная инфо по методам для управления сталкера, типа set_item и другим методами? Изменено 8 Августа 2017 пользователем НаноБот ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Поделиться этим сообщением Ссылка на сообщение
НаноБот 754 Опубликовано 29 Августа 2019 (изменено) @Serge_888, на счёт РГ-6, это движковой правкой. В новой ревизии ХЕ это по фиксил, выложу завтра. Тут выкладывали функцию проекции точки на экран . function point_projection(pos) local x, y local scr_w, scr_h = dev.width, dev.height local ppp = vector():sub(pos, dev.cam_pos) local dp = dev.cam_dir:dotproduct(ppp) if dp>0 then local scr_dist_dp = 0.5 * scr_h/(math.tan(dev.fov*grad2rand*0.5)*dp) x = 512 + dev.cam_right:dotproduct(ppp)*scr_dist_dp*(1024/scr_w) y = 384 - dev.cam_top:dotproduct(ppp)*scr_dist_dp*(768/scr_h) if x<0 or x>1024 or y<0 or y>768 then x, y = nil, nil end end return x, y end Исправлена ошибка, когда метка отображалась за спиной. Если координата вне экрана, то возвращает nil. Изменено 29 Августа 2019 пользователем НаноБот 1 ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Поделиться этим сообщением Ссылка на сообщение