Мой вопрос таки, в силе... Подскажите, функцию скрипта, выводящую на экран ХУД мини-мапы, когда надеваешь на пояс, или берешь в руки тот или иной итемс (В данном случае GPS навигатор)
СидырыЧЪ в скриптовом.... Вухаха... Нет, в олл.спавн создаешь секцию на примере любого физического объекта, и прописываешь координаты, затем прописываешь путь до визуала куста или чего хочешь.
Всем привет.Вот решил скриптик сделать,если у гг в руке нужный предмет(к примеру пм),то срабатывает нужное действие.Ради интереса подставил головокружение.Функция стоит на апдейде в бинд_сталкер.
Но работать отказывается,вот сам скрипт:
function durman_pm()
if (item and item:section() == "wpn_pm") then
level.add_cam_effector ("camera_effects\\drunk.anm", 0000, false, "")
end
end
ДатчикХабара, у тебя item выдает nil, т.к. та**50016ea8aab1bb10eeba**\drunk.anm", 0000, false, "")
end
end[/code]
Пьяный ПМ)
Я только не понимаю, почему ..., 0000, ...?
Если такое число (сид) в игре есть уже, то не заработает. Выбери любое, хоть 9876.
------------- Stalk15, походу только перебором НПЦ.
отредактировал(а) SkyLoader: 26-08-2010 13:53 GMT3 час.
**50016ea8aab1bb10eeba**
Тут идет определение НПС по стори_ид'у.
А вот как будет выглядеть определение НПС методом profile_name(), я не пойму.Подскажите, кто-нибудь?
SkyLoader
Спс за функцию))))
.Огромное спс,так-как скрипты подзабыл))))
:-)
добавлено спустя 24 минут
.....
Функция заработала,но с подправкой.Увидел тут на странице часть функции игры на гитаре Николая Феникса.И так вот рабочая функция дымоГана)-:
function durman_pm()
local item = db.actor:item_in_slot(1)
if not (item and item:section() == "wpn_pm") then
level.add_cam_effector ("camera_effects\\drunk.anm", 9867, false, "")
end
end
Кстати SkyLoader,твоя функция работает почему-то на ноже только)
;-)
отредактировал(а) ДатчикХабара: 26-08-2010 15:30 GMT3 час.
ДатчикХабара, то, что ты написал, это отсутствие ПМа в слоте. И куда ты убрал db.actor:active_slot()==1 - он проверяет, активен ли слот.
Сейчас сам проверю функцию, и тебе скажу.
ДатчикХабара
А не проще так: function durman_pm()
local item = db.actor:object("предмет") ( предмет, а не только в 1-м слоте!) if not item then (тут проверка если нет предмета...может тебе надо чтобы был предмет??? Если так то убери not) level.add_cam_effector ("camera_effects\\drunk.anm", 9867, false, "")
end
end
SkyLoader
db.actor:active_slot()==1 -- суть-то верна, только именно слот №1
Не надо добавлять никаких not если хотим чтобы проверка работал так:Если предмет, то, а вот если хотим чтобы так: Если не предмет, то...то тогда уже и добавляем not
---------------------------------------------
ДатчикХабара
В смысле у тебя это работает когда нет предмета в слоте №1. так ведь?
Вот короче рабочая функция:
function durman_pm()
local item = db.actor:object("предмет") if item then
level.add_cam_effector ("camera_effects\\drunk.anm", 9867, false, "")
end
end
SkyLoader
Если убираешь not,то прикол такой:
Когда достаешь ПМ ничего не происходит,а когда убираешь из слота то функция срабатывает)))
Вот такая вот странность:no)
СидырыЧЪ
Это только через сдк,а это ты попросту спавнишь физический объект))))
добавлено спустя 55 секунд
Николай ФеНиКс
У меня все работает с такой функцией:
function durman_pm()
local item = db.actor:item_in_slot(1)
if not (item and item:section() == "wpn_pm") then
level.add_cam_effector ("camera_effects\\drunk.anm", 9867, false, "")
end
end
отредактировал(а) ДатчикХабара: 26-08-2010 16:18 GMT3 час.
у меня такой вопросей. как сделать так, чтобы заспауненный предмет нельзя было взять, или пошевелить, как будто это обьект карты?
Если спавнишь через all.spawn, то для каждого физического объекта имеется возможность задать параметр фиксации. А именно, в конце секции описания объекта добавляешь строку:
Николай ФеНиКс Он нормально работает, если указать правильные кости. К вашему сведенью, можно указать весь список костей, через запятую. Если ты укажешь только одну кость, то естественно, другие кости будут вращаться относительно неё. Например, чтобы полноценно зафиксировать БТР, нужно указать все кости колёс и кость корпуса. Башню и ствол указывать не обязательно, так как свободного вращения они не имеют.
Это раз. Второе. Назови мне хоть один объект с количеством костей более 40, который хоть кто-то захочет зафиксировать в недвижимом состоянии.
Нашел способ как обойтись без использования метода actor_binder:update(delta) для апдейта своих функций. То есть можно вообще обойтись без использования файла bind_stalker. (и каллбеков установленных там кстати возможно тоже - хотя это требует проверки).
Для этого достаточно забиндить... например фонарик(или пда или болт или би**50016ea8aab1bb10eeba**BindTorch()
end
function torch_binder:net_spawn(data)
return object_binder.net_spawn(self, data)
end
function torch_binder:net_destroy()
object_binder.net_destroy(self)
end
function torch_binder:net_save_relevant()
return true
end
function torch_binder:save(packet)
--здесь можно сохранять данные
end
function torch_binder:load(reader)
--а здесь их загружать
object_binder.load(self, reader)
end
[/code]
затем в конфиге фонарика - в его секции - дописываем строчку script_binding = bind_torch.init
Обязательное условие - фонарик не стоит никуда выкидывать\продавать и т.д.
Есть вопрос.
Надо сделать так что бы допустим через диалог активировал функцию. Надо что бы после активация она подождала допустим 1 минуту и потом выдался инфопоршень. Как выдать инфопоршень знаю. А вот как сделать задержку?