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

Ночные прицелы


Kirag

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

Кто скажет, как работает смена оружия в слоте? Я прописал в бинд_сталкер скрипте что надо и где надо, заспавнил себе в инвентарь ССовский кинжал (и фейк, и реал) (с надлежащим изменением конфига) и кулаки... Реалы в слот не ставятся, а фейки тупо хаваются... Как исправлять?

Попробовал начать НИ с тем escape_dialog.script, который был в архиве - на этот раз в слоте кулаки и ничего не ставится, ГГ все хавает)

Я прописал в бинд_сталкер после game_stats.update (delta, self.object) это:

----------------------------------------------Проверка на использование предметов by Kirag-----------

local section, objid

objid = xr_logic.pstor_retrieve(db.actor, "dropid", -1)

sect = xr_logic.pstor_retrieve(db.actor, "dropsect", "non_exist")

if objid ~= -1 then

local obj = alife():object(objid)

if not obj then -- объект не существует, занчит использован

if string.sub(sect,1,9) == "fake_wpn_" then

item_effects.fake_weapon_effect(sect)

end

else -- объект существует, значит, продан или выброшен

if sect == "fake_wpn_fist" then -- кулаки выкинуть нельзя :D

alife():release(obj, true)

alife():create(sect, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())

end

end

xr_logic.pstor_store(db.actor, "dropid", -1)

xr_logic.pstor_store(db.actor, "dropsect", "non_exist")

end

--news_manager.send_tip(db.actor, "test_message", nil, nil, 20000)

 

---------------------------------------------------конец предметов--------

 

if not db.actor:item_in_slot(0) then -- Ударить кулаком можно всегда, выдаем, если вообще ничего нет.

alife():create("wpn_fist", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())

end

---------------------------------------------------------------------------

 

 

Ничего больше не надо прописывать?

P.S. - Я адаптирую под свою сборку (без элементов АМК)

Изменено пользователем Снайпер с пулеметом

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


Ссылка на сообщение

Нашел, дописал. Но в том бинд сталкере, который в архиве, какая-то странная фигня

function actor_binder:on_item_drop (obj)

level_tasks.proceed(self.object)

--game_stats.update_drop_item (obj, self.object)

end

----------------------------------------------Проверка на использование предметов by

 

Kirag-----------

local objid, sect

if obj then

sect = obj:section()

objid = obj:id()

xr_logic.pstor_store(db.actor, "dropid", objid)

xr_logic.pstor_store(db.actor, "dropsect", sect)

end

---------------------------------------------------конец предметов--------

--game_stats.update_drop_item (obj, self.object)

end

 

 

подчеркнул эту ерунду.

Если после Проверки на использование

--game_stats.update_drop_item (obj, self.object)

end

не писать, то ничего не работает, а если оставить как есть - вылет

Expression : fatal error

Function : CScriptEngine::lua_error

File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp

Line : 73

Description : <no expression>

Arguments : LUA error: ...publishing\1s.t.a.l.k.e.r\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)

 

Вот и в чем причина?

Изменено пользователем Снайпер с пулеметом

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


Ссылка на сообщение

Да, совсем забыл написать - я юзаю стандартный _g.script без правок...

Изменено пользователем Снайпер с пулеметом

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


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

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...