mole venomous 3 381 Опубликовано 13 Сентября 2021 Поделиться Опубликовано 13 Сентября 2021 31 минуту назад, ARTLantist сказал: движок править надо? Нужно подключить модуль m_netpk.script (на форуме поищи) и при помощи модуля в момент спауна в нет-пакет ствола записать флаг, пример: Скрытый текст local obj = alife():create("wpn_sig550", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id()) local pk = get_netpk(obj,1) if pk:isOk() then local data = pk:get() -- прочитали пакет if data then data.addon_flags = 1 -- повесим прицел pk:set(data) -- записали пакет обратно end end 1 1 1 Здесь могла быть ваша реклама. Ссылка на комментарий
Stalkersof 154 Опубликовано 14 Сентября 2021 Поделиться Опубликовано 14 Сентября 2021 Что-то у меня с выбросом огсм беда какая то. Раньше все нормально было. Короче прокручиваю время сном до первого выброса дожидаюсь, скрипт отрабатывает полностью. Поставил контрольные точки все семь таймеров отрабатывают, т.е получается скрипт полностью отрабатывает. В игре без прокрутки времени, выброс начинается первые эффекты и звуки сирены. Срабатывает только два таймера и выброс зависает. Что это может биндер подвисает. Freeplay Graphic Mod(FGM) Ссылка на комментарий
I am Dead 912 Опубликовано 14 Сентября 2021 Поделиться Опубликовано 14 Сентября 2021 @Stalkersof Смотри таймеры и функции которые они запускают. 1 Ссылка на комментарий
Stalkersof 154 Опубликовано 14 Сентября 2021 Поделиться Опубликовано 14 Сентября 2021 11 минут назад, I am Dead сказал: @Stalkersof Смотри таймеры. Странно это все и непонятно. В одном случае выброс полностью отрабатывает. Выброс начинается в 9-00. Прокручиваю сном до 8-00 и дожидаюсь выброса и все скрипт полностью отрабатывает все штатно. Во втором случае когда дожидаюсь без сна просто выброс зависает на втором таймере. Непонятно не фига. Получается скрипт рабочий полностью. Дурдом какой то Freeplay Graphic Mod(FGM) Ссылка на комментарий
Okichi 922 Опубликовано 14 Сентября 2021 Поделиться Опубликовано 14 Сентября 2021 1 час назад, Stalkersof сказал: Получается скрипт рабочий полностью. Ну так а в логе-то при этом что написано? Может, там и не в скрипте Выброса дело, а в том, что совпадает одновременно несколько событий, и какое-то крашит движок. 1 След от кругов на воде - это тоже след (с) Ссылка на комментарий
Stalkersof 154 Опубликовано 14 Сентября 2021 Поделиться Опубликовано 14 Сентября 2021 1 час назад, Okichi сказал: Ну так а в логе-то при этом что написано? В логе ничего нет. Ни ошибок не вылетов просто по какой то закономерности не отрабатывает скрипт при определенном условии. Там так получается что каждый таймер запускает последующий и выполняет определенные действия. Получается так что при определенных условиях скрипт выброса отрабатывает и все нормально, а в игре скрипт зависает на втором таймере. Сейчас буду пробовать все закомментировать оставить только вызовы таймеров. Не понятно короче Freeplay Graphic Mod(FGM) Ссылка на комментарий
Norman Eisenherz 309 Опубликовано 17 Сентября 2021 Поделиться Опубликовано 17 Сентября 2021 Здрасьте. Как сослаться на инвентарь мутанта в момент взаимодействия с трупом? Если добавить обработку use_callback в [bind_monster.script] по аналогии с [xr_motivator.script], реакции нет. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
mole venomous 3 381 Опубликовано 17 Сентября 2021 Поделиться Опубликовано 17 Сентября 2021 @Norman Eisenherz , в мотиваторе по аналогии со сталкерами не работает Скрытый текст добавить в bind_monster function generic_object_binder:reinit() ... self.object:set_callback(callback.use_object, self.use_callback, self) ... end function generic_object_binder:net_destroy() ... self.object:set_callback(callback.use_object, nil) ... end function generic_object_binder:use_callback(obj, who) if self.object:alive() then if self.st.active_section then xr_logic.issue_event(self.object, self.st[self.st.active_scheme], "use_callback", obj, who) end else ... end end Здесь могла быть ваша реклама. Ссылка на комментарий
mole venomous 3 381 Опубликовано 18 Сентября 2021 Поделиться Опубликовано 18 Сентября 2021 (изменено) Я что-то давненько не задавал тупых вопросов. Кто знает, почему может не срабатывать проверка на видимость see? Без неё код работает, а с ней в логе это - "!!CScriptGameObject : cannot check visibility null object!" Скрытый текст for a = 0,65534 do local obj = level.object_by_id(a) if obj then if IsStalker(obj) and obj:alive() and obj:position():distance_to(db.actor:position()) < 50 and obj:see(actor) then -- if IsStalker(obj) and obj:alive() then local comm = amk.get_npc_community(obj) if comm == "stalker" then amk.set_npc_relation(obj,db.actor,"enemy") end end end end end зы Движок ОГСР Изменено 18 Сентября 2021 пользователем mole venomous Здесь могла быть ваша реклама. Ссылка на комментарий
Okichi 922 Опубликовано 18 Сентября 2021 Поделиться Опубликовано 18 Сентября 2021 @mole venomous а переменная actor как здесь определяется? 1 2 След от кругов на воде - это тоже след (с) Ссылка на комментарий
mole venomous 3 381 Опубликовано 18 Сентября 2021 Поделиться Опубликовано 18 Сентября 2021 (изменено) 8 минут назад, Okichi сказал: переменная actor как здесь определяется Банальная невнимательность Я уж подумал что-то где-то слетело, т.к. ранее всё работало. Но "слетели" первые три знака перед 'actor', как часто бывает... Изменено 18 Сентября 2021 пользователем mole venomous 1 Здесь могла быть ваша реклама. Ссылка на комментарий
UriZzz 1 004 Опубликовано 18 Сентября 2021 Поделиться Опубликовано 18 Сентября 2021 Local uAct = db.actor @mole venomous одна из причин почему я всегда делаю вот так: Потому что сам грешен) 1 Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
mole venomous 3 381 Опубликовано 18 Сентября 2021 Поделиться Опубликовано 18 Сентября 2021 5 минут назад, UriZzz сказал: Local uAct = db.actor Даже просто Actor с заглавной , а внимание уже сложно не обратить. 1 Здесь могла быть ваша реклама. Ссылка на комментарий
Баба ЯГА 7 Опубликовано 29 Сентября 2021 Поделиться Опубликовано 29 Сентября 2021 Чистое Небо. В файле actor_menu.script есть функции, которые реагируют на открытие/закрытие инвентаря - как скриптово добавить свою кнопку в открытый инвентарь. В солянке такое есть, там это реализовано в actor_inv.script , хотел сделать по аналогии - не вышло, вылет с ошибкой. Кто знает - подскажите. Вылет: stack trace: 001B:02A6C52C xrGame.dll 001B:02D4F25E xrGame.dll, CxImage::`copy constructor closure'() 001B:02692EA3 lua.JIT.1.1.4.dll, luaopen_io() Скрытый текст local btn_hud local btn_test, btn_pnv class "CUI_InvButton" ( CUIScriptWnd ) function CUI_InvButton:__init( id, s, f, pos ) super() self:InitControls() local btn = CUIButton() self.btn = btn btn:SetWindowName( "btn_pnv" ) btn:SetAutoDelete( true ) --btn:InitTexture( "ui\\ui_common" ) -- ui\\ui_inventory ui_button_main02 btn:SetOriginalRect( 0, 86, 117, 29 ) -- 75, 960, 104, 30 -- btn:SetStretchTexture( true ) btn:SetText( s ) btn:SetTextColor( 250, 192, 192, 192 ) -- 238, 153, 26 btn:SetFont( GetFontGraffiti22Russian() ) -- GetFontLetterica25() btn:Init( pos[1], pos[2], pos[3], pos[4] ) -- 592, 960, 113, 64 self:Register( btn, id ) self:AddCallback( id, ui_events.BUTTON_CLICKED, f, self ) end function CUI_InvButton:__finalize() -- self.hud:DetachChild( self.btn ) -- self.btn = nil end function CUI_InvButton:InitControls() --self:Init(0,0,1024,768) end --' ------------------------------------------------------------------------------------------------------------------------------ -- actor_menu_mode ----- -- int mode: -- 0 = Undefined = закрыто -- 1 = Inventory -- 2 = Trade -- 3 = Upgrade -- 4 = DeadBodySearch -- 10 = Talk dialog show -- 11 = Talk dialog hide local last_mode = 0 xr_meet_dialog_closed = false xr_meet_trade_closed = false xr_meet_upgrade_closed = false function actor_menu_mode(mode) --if mode then -- T --get_console():execute( "load ~: --- " ) --get_console():execute( "load ~: actor_menu [mode] = " .. mode ) --get_console():execute( "load ~: actor_menu [last_mode] = " .. last_mode ) --end -- T if(mode==0) then if(last_mode==1) then inventory_wnd_closed() elseif(last_mode==2) then trade_wnd_closed() elseif(last_mode==3) then upgrade_wnd_closed() elseif(last_mode==4) then dead_body_search_wnd_closed() end last_mode = 0 elseif(mode==1) then last_mode = 1 inventory_wnd_opened() elseif(mode==2) then last_mode = 2 trade_wnd_opened() elseif(mode==3) then last_mode = 3 upgrade_wnd_opened() elseif(mode==4) then last_mode = 4 dead_body_search_wnd_opened() elseif(mode==10) then dialog_wnd_showed() elseif(mode==11) then dialog_wnd_closed() end end function inventory_wnd_opened() printf("---:>Inventory opened") if not btn_pnv then btn_pnv = CUI_InvButton( "btn_pnv", "режимы ПНВ", btn_pnv_pressed, { 370,476, 112,25 } ) -- 725, 725, 157, 48 } ) btn_hud = level.main_input_receiver() btn_hud:AttachChild( btn_pnv.btn ) end end function inventory_wnd_closed() if btn_pnv then btn_hud:DetachChild( btn_pnv.btn ) btn_pnv.btn = nil btn_pnv = nil btn_hud = nil end printf("---:>Inventory closed") --' при закрытии инвентаря можно выполнять разные функции get_console():execute( "load ~: [actor_menu.script] ---> Закрыли инвентарь" ) -- T t_func.__remont_all() -- T end function trade_wnd_opened() xr_meet_dialog_closed = false printf("---:>Trade opened") end function trade_wnd_closed() printf("---:>Trade closed") xr_meet_trade_closed = true end function upgrade_wnd_opened() xr_meet_dialog_closed = false printf("---:>Upgrade opened") end function upgrade_wnd_closed() printf("---:>Upgrade closed") xr_meet_upgrade_closed = true end function dead_body_search_wnd_opened() printf("---:>DeadBodySearch opened") get_console():execute( "load ~: [actor_menu.script] ---> Обыскиваем труп" ) -- T t_func.WhoIsThis() -- T end function dead_body_search_wnd_closed() printf("---:>DeadBodySearch closed") end function dialog_wnd_showed() printf("---:>Talk Dialog show") end function dialog_wnd_closed() printf("---:>Talk Dialog hide") xr_meet_dialog_closed = true end --' ------------------------------------------------------------------------------------------------------------------------------ function CUI_InvButton:Update() CUIScriptWnd.Update(self) --local h = level.get_time_hours() end --function CUI_InvButton:test_msg() --db.actor:give_game_news("Do Re Mi Fa Sol La Si Doo", "ui\\ui_iconsTotal", Frect():set(0,658,83,47), 0, 1000) --end function CUI_InvButton:OnKeyboard(dik, keyboard_action) CUIScriptWnd.OnKeyboard(self,dik,keyboard_action) if keyboard_action == ui_events.WINDOW_KEY_PRESSED then if dik == DIK_keys.DIK_NUMPAD5 then self:test_msg() --elseif dik == DIK_keys.DIK_F then self:on_quit() --elseif dik == DIK_keys.DIK_TAB then self:on_quit() end end --if keyboard_action == ui_events.STATIC_FOCUS_RECEIVED then --db.actor:give_game_news("Do Re Mi Fa Sol La Si Doo", "ui\\ui_iconsTotal", Frect():set(0,658,83,47), 0, 30000) --end return true end Скрытый текст function Get_Button(x,y,w,h) local btn_metka = CUI3tButton() --btn_metka:InitTexture("ui_button_metka_pda") --btn_metka:SetWndRect(Frect():set(310,660,255,60)) --/ можно так btn_metka:SetWndPos (vector2():set(310,660)) btn_metka:SetWndSize(vector2():set(255,60)) btn_metka:SetWidth(255) btn_metka:SetHeight(70) btn_metka:SetFont(Graffiti22) btn_metka:SetTextAlign(2) --/ Left|Right|Center: 0|1|2 btn_metka:SetText("Установить метку") btn_metka:SetTextY(1) btn_metka:SetAutoDelete(true) btn_metka:Show(true) return btn_metka --/> end function inventory_wnd_opened() printf("---:>Inventory opened") Get_Button(10,300,100,100) end Вылет тот-же: 001B:02D4D5D3 xrGame.dll, CxImage::`copy constructor closure'() 001B:02D4F111 xrGame.dll, CxImage::`copy constructor closure'() 001B:02692EA3 lua.JIT.1.1.4.dll, luaopen_io() Подойдёт любой вариант добавления кнопки, хоть скриптовый хоть с xml - гоавное кнопочку вывести в инвентарь свою, уже обшарил инет, форум амк - разобраться не могу сам... Скрытый текст Открылось нормально, добавил просто фон пока без кнопок, НО! Вылет при закрытии инвентаря: 001B:026DAC1E luabind.beta7-devel.rc4.dll, luabind::detail::do_call_member_selection() Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... © Ссылка на комментарий
Norman Eisenherz 309 Опубликовано 29 Сентября 2021 Поделиться Опубликовано 29 Сентября 2021 @Баба ЯГА Примерно так: Spoiler [actor_menu.script] function actor_menu_mode(mode) (+) в начало if mode > 0 then new.show(true) else new.show() end [new.script] local inv, wnd function show(vis) if not vis then if inv then inv:DetachChild(wnd) inv = nil end else local function wait() return level.main_input_receiver() ~= nil end level.add_call(wait, draw) -- ожидание открытия инвентаря end end function draw() inv = level.main_input_receiver() local b = CUIButton() inv:AttachChild(b) -- (описание окна) wnd = b -- ссылка для последующей обработки end Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
phalcor 60 Опубликовано 3 Октября 2021 Поделиться Опубликовано 3 Октября 2021 Привет, люди! Подскажите, где прописывается поведение нпц при ранении, а именно хочу, чтобы Зомбированные роняли оружие, как все остальные НПЦ, а не корячились с ним в руках. Ссылка на комментарий
Okichi 922 Опубликовано 3 Октября 2021 Поделиться Опубликовано 3 Октября 2021 (изменено) @phalcor емнип, чтобы зомби при ранении роняли оружие, в state_lib.script их секция должна выглядеть как-то так: wounded_zombie = {weapon = "drop", -- вот это отвечает за дроп оружия на землю movement = move.stand, mental = anim.danger, bodystate = move.crouch, direction = look.cur_dir, animstate = "stand", animation = "wounded_zombie" }, Изменено 3 Октября 2021 пользователем Okichi 1 След от кругов на воде - это тоже след (с) Ссылка на комментарий
Colder 12 Опубликовано 4 Октября 2021 Поделиться Опубликовано 4 Октября 2021 Подскажите финкцию для открытия окна торговли (ТЧ). Функция trade_init почему-то не работает. Ссылка на комментарий
ARTLantist 14 Опубликовано 11 Октября 2021 Поделиться Опубликовано 11 Октября 2021 ЗП Как проверить, что заданные мною координаты не находятся внутри space restrictor? Ссылка на комментарий
Norman Eisenherz 309 Опубликовано 12 Октября 2021 Поделиться Опубликовано 12 Октября 2021 ссылка_на_рестриктор:inside(вектор_координат) 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти