Перейти к контенту

Скриптование


Svoboда

Рекомендуемые сообщения

Привет всем! Решил стащить из СоС мод на многоразовое использование предметов! Нашел этот скрипт 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)
 

 

Поделиться этим сообщением


Ссылка на сообщение
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

 

Изменено пользователем Stalex

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   1 пользователь

×
×
  • Создать...