Stalex 4 Опубликовано 10 Декабря 2018 Привет всем! Решил стащить из СоС мод на многоразовое использование предметов! Нашел этот скрипт bind_item. Скрытый текст function bind(obj) obj:bind_object(item_binder(obj)) end -------------------------------------------------------------------------------- -- Class "item_binder" -------------------------------------------------------------------------------- class "item_binder" (object_binder) -- Class constructor function item_binder:__init(obj) super(obj) end -- Class update function item_binder:update(delta) object_binder.update(self, delta) end -- Reload object function item_binder:reload(section) object_binder.reload(self, section) end -- Reinitialize object function item_binder:reinit() object_binder.reinit(self) end -- Net spawn function item_binder:net_spawn(sobject) if not(object_binder.net_spawn(self, sobject)) then return false end if (sobject.remaining_uses and sobject.remaining_uses > 0 and sobject.remaining_uses <= self.object:get_max_uses()) then --printf("set remaining_uses on net spawn %s",sobject.remaining_uses) self.object:set_remaining_uses(tonumber(sobject.remaining_uses) or 1) end return true end -- Net destroy function item_binder:net_destroy() object_binder.net_destroy(self) end -- Save function item_binder:save(stpk) object_binder.save(self, stpk) end -- Load function item_binder:load(stpk) object_binder.load(self, stpk) end Подскажите то ли это? И куда ее пихать? Ставил в bind_stalker ловил вылет при юзании Скрытый текст Expression : !m_error_code Function : raii_guard::~raii_guard File : ..\xrServerEntities\script_storage.cpp Line : 748 Description : ...ker Cia I?eiyoe\gamedata\scripts\bind_stalker.script:194: attempt to index global 'bind_item' (a nil value) Поделиться этим сообщением Ссылка на сообщение
Stalex 4 Опубликовано 12 Декабря 2018 (изменено) 15 часов назад, Fenrir02 сказал: @Stalex Если этот биндер составлен правильно, нужно его подключать не в скриптах, а в конфиге самого предмета. К примеру, в секции [bread] необходимо прописать строку: script_binding = bind_item.init Таким способом можно на что угодно делать биндеры. Спасибо! Вылета нет. Но, мод не работает( Я правда сделал маленько по другому. В конфиге прописал [booster_script]:booster class = S_FOOD script_binding = bind_item.bind Скрытый текст [medkit]:booster_script $spawn = "food and drugs\medkit" visual = dynamics\devices\dev_aptechka\dev_aptechka_low.ogf inv_name = st_medkit inv_name_short = st_medkit description = st_medkit_descr inv_weight = 0.1 inv_grid_width = 1 inv_grid_height = 1 inv_grid_x = 6 inv_grid_y = 14 cost = 500 boost_time = 5.0 boost_health_restore = 0.005 boost_radiation_restore = 0.0 boost_bleeding_restore = 0.005 use_condition = true max_uses = 2 remove_after_use = true empty_weight = 0.02 hide_time_wpn = 3 use_sound = interface\inv_medkit Изменено 12 Декабря 2018 пользователем Stalex Поделиться этим сообщением Ссылка на сообщение