I am Dead 918 Опубликовано 23 Ноября 2018 (изменено) Парни кто может помочь сделать быстрые слоты(подобные зп чтобы можно было в ячейку перемещать предмет а не как в dmx mod выбирать предмет из списка). Изменено 23 Ноября 2018 пользователем I am Dead Поделиться этим сообщением Ссылка на сообщение
I am Dead 918 Опубликовано 29 Ноября 2018 Как вывести содержимое слота на худ? Поделиться этим сообщением Ссылка на сообщение
I am Dead 918 Опубликовано 3 Декабря 2018 @DoberBull, Если я не ошибаюсь то это какой то из билдов сталкера Поделиться этим сообщением Ссылка на сообщение
I am Dead 918 Опубликовано 5 Декабря 2018 1 час назад, DoberBull сказал: @I am Dead да я в курсе. Потому и спрашиваю, может быть кто-то знает как восстановить. Глянь в oblivion lost,может там это востановленно. Поделиться этим сообщением Ссылка на сообщение
I am Dead 918 Опубликовано 13 Декабря 2019 @DMT, Если хочешь чтобы спавн был один, то просто сделай через инфопоршень, самый простой подход. Пример под спойлером. Скрытый текст function fix_recept() if (not db.actor:has_info( "info_amk_recipt_drop_souls" )) and db.actor:has_info( "info_amk_recipt_souls" ) then db.actor:give_info_portion( "info_amk_recipt_soul_drops" ) db.actor:give_info_portion( "info_amk_recipt_soul_fire" ) db.actor:give_info_portion( "info_amk_recipt_soul_cristal" ) db.actor:give_info_portion( "info_amk_recipt_soul_bengal" ) end end Поделиться этим сообщением Ссылка на сообщение
I am Dead 918 Опубликовано 14 Февраля 2021 Кто знает как запомнить активный слот, а после выполнения функции вернуть слот который запомнили? Поделиться этим сообщением Ссылка на сообщение
I am Dead 918 Опубликовано 15 Февраля 2021 @AndreySol Ситуация такая, делаю анимационные предметы для тч. Объясняю ситуацию:допустим активен у нас 1,2,3 слот и при использовании аптечки удаляется бинокль в 4 слоте,спавнится аптечка на базе бинокля и попадает в 4 слот, в котором мы заранее удалили бинокль, далее я делаю активным 4 слот, запускается таймер на удаление анимационного предмета и спавн бинокля обратно в слот, так вот, хочу сделать чтобы после выполнения всего ставился обратно тот слот который был до использования аптечки? Поделиться этим сообщением Ссылка на сообщение
I am Dead 918 Опубликовано 15 Февраля 2021 @Zander_driver OGSR Engine, можно поподробней про этот самый script_vars_storage? @AndreySol Хмм, тогда уже другой вопрос, как отыграть анимацию не прибегая к такой схеме как у меня? Поделиться этим сообщением Ссылка на сообщение
I am Dead 918 Опубликовано 16 Февраля 2021 (изменено) @Zander_driver Да, это я переносил тайные тропы, как раз таки войдет в обновление использование анимационных предметов. Возврат слота сделал немного иначе: Скрытый текст Пришлось сию конструкцию лепить через таймер, если без него то либо восстанавливается слот через который использовали предмет, либо устанавливается слот который был до использования предмета с невозможностью переключится на другой. Не знаю, правильно или нет, но функция работает и лагов,багов не вызывает. -- Таймер восстановления слота local slot_restore_timer = nil -- Запоминаем активный слот перед использованием предмета ogse.save_var( "store_slot", db.actor:active_slot() ) db.actor:give_info_portion("slot_restore") -- Восстанавливаем активный слот после использования предмета local loaded_slot = ogse.load_var_safe( "store_slot" ) local check_slot = db.actor:active_slot() if loaded_slot and check_slot ~= loaded_slot and db.actor:has_info("slot_restore") then db.actor:activate_slot( loaded_slot ) end -- Запускаем таймер на удаление поршня if slot_restore_timer ~= nil then slot_restore_timer:stop() end slot_restore_timer = slot_timer() slot_restore_timer:start() end function slot_restore_func() slot_restore_timer = nil db.actor:disable_info_portion("slot_restore") end -- Конструктор таймера удаления поршня class "slot_timer"(ogse_qt.quick_timer) function slot_timer:__init() super() self.limit = time_global()+3000 end function slot_timer:condition() return time_global() >= self.limit end function slot_timer:action() slot_restore_func() end Изменено 16 Февраля 2021 пользователем I am Dead 2 Поделиться этим сообщением Ссылка на сообщение
I am Dead 918 Опубликовано 19 Февраля 2021 Приветствую всех, как удалить или убить объект заспавненный через all.spawn не прибегаю к началу новой игры? Скрытый текст [6520] ; cse_abstract properties section_name = lights_hanging_lamp name = light_uglovaya_1_glass_0006 position = -107.088996887207, -11.6824464797974, -5.0175313949585 direction = 3.14159274101257, -3.45578122138977, -1.57079589366913 id = 65535 version = 118 script_version = 6 spawn_id = 6520 ; cse_alife_object properties game_vertex_id = 703 level_vertex_id = 172 object_flags = 0xffffffba custom_data = <<END [collide] ignore_static END ; cse_visual properties visual_name = physics\light\new_light\light_uglovaya_1_glass ; cse_ph_skeleton properties ; cse_alife_object_hanging_lamp properties main_color = 0xffffffff main_brightness = 0.80000001 main_color_animator = light\light_omni_white_idle main_range = 12 light_flags = 0x3a lamp_fixed_bones = link health = 0 main_virtual_size = 0.1 ambient_radius = 3.5 ambient_power = 0.40000001 main_texture = lights\lights_spot_wire_02 main_bone = bone_lamp main_cone_angle = 2.0943952 glow_radius = 0.69999999 ambient_bone = bone_omni ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Поделиться этим сообщением Ссылка на сообщение
I am Dead 918 Опубликовано 19 Февраля 2021 @AndreySol Вчера пробовал таким образом удалить, не вышло.. Поделиться этим сообщением Ссылка на сообщение
I am Dead 918 Опубликовано 19 Февраля 2021 @mole venomous @AndreySol Странно, вчера точно так же пытался удалить только была еще проверка на поршень чтобы функция несколько раз не воспроизводилась. Скрытый текст function del_lampa() local sim = alife() local s_obj = sim:object("light_uglovaya_1_glass_0006") if s_obj and (not db.actor:has_info("delete_lampa") )then sim:release(s_obj, true) end db.actor:give_info_portion("delete_lampa") end Поделиться этим сообщением Ссылка на сообщение
I am Dead 918 Опубликовано 21 Февраля 2021 (изменено) Приветствую всех, граждане мододелы, подскажите мне с одним вопросом. Возможно ли на худовую модель вывести gui окно (ну допустим к примеру модель пда)? Если можно то как? Изменено 21 Февраля 2021 пользователем I am Dead Поделиться этим сообщением Ссылка на сообщение
I am Dead 918 Опубликовано 21 Февраля 2021 @Zander_driverОчень даже жаль, а на ковыряние движка места нету на ноутбуке( Поделиться этим сообщением Ссылка на сообщение
I am Dead 918 Опубликовано 22 Февраля 2021 @ARTLantist Скрытый текст local news_text = "%c[255,160,160,160]"..game.translate_string("st_tip").."\\n".."%c[default]"..game.translate_string(news_id) Поделиться этим сообщением Ссылка на сообщение
I am Dead 918 Опубликовано 23 Февраля 2021 Всех с праздником! Очередной вопрос из разряда "ткните меня носом", как прибавить/убавить кровотечение у гг через скрипт? Поделиться этим сообщением Ссылка на сообщение
I am Dead 918 Опубликовано 23 Февраля 2021 (изменено) @WinCapПричем тут complex_mode ? Этот параметр переносит строки если не хватает ширины окна. @OkichiА если нанести chemical_bur, состояние костюма при этом не изменится? И можно ли нанести отрицательный хит, что убавит уровень кровотечения? Изменено 23 Февраля 2021 пользователем I am Dead Поделиться этим сообщением Ссылка на сообщение
I am Dead 918 Опубликовано 23 Февраля 2021 52 минуты назад, WinCap сказал(а): Это не только перенос строк, но отрисовка цвета текста %c. Только что проверил, у себя в моде, и параметр complex_mode никак не пересекается с цветом текста. Поделиться этим сообщением Ссылка на сообщение
I am Dead 918 Опубликовано 23 Февраля 2021 11 минут назад, Stalkersof сказал(а): А как будет кнопка Enter на клавиатуре. Пишу так dik == DIK_keys.DIK_ENTER не срабатывает Вот все коды клавиш которые можно использовать в игре Скрытый текст C++ class DIK_keys { const DIK_0 = 11; const DIK_1 = 2; const DIK_2 = 3; const DIK_3 = 4; const DIK_4 = 5; const DIK_5 = 6; const DIK_6 = 7; const DIK_7 = 8; const DIK_8 = 9; const DIK_9 = 10; const DIK_A = 30; const DIK_ADD = 78; const DIK_APOSTROPHE = 40; const DIK_APPS = 221; const DIK_AT = 145; const DIK_AX = 150; const DIK_B = 48; const DIK_BACK = 14; const DIK_BACKSLASH = 43; const DIK_C = 46; const DIK_CAPITAL = 58; const DIK_CIRCUMFLEX = 144; const DIK_COLON = 146; const DIK_COMMA = 51; const DIK_CONVERT = 121; const DIK_D = 32; const DIK_DECIMAL = 83; const DIK_DELETE = 211; const DIK_DIVIDE = 181; const DIK_DOWN = 208; const DIK_E = 18; const DIK_END = 207; const DIK_EQUALS = 13; const DIK_ESCAPE = 1; const DIK_F = 33; const DIK_F1 = 59; const DIK_F10 = 68; const DIK_F11 = 87; const DIK_F12 = 88; const DIK_F13 = 100; const DIK_F14 = 101; const DIK_F15 = 102; const DIK_F2 = 60; const DIK_F3 = 61; const DIK_F4 = 62; const DIK_F5 = 63; const DIK_F6 = 64; const DIK_F7 = 65; const DIK_F8 = 66; const DIK_F9 = 67; const DIK_G = 34; const DIK_GRAVE = 41; const DIK_H = 35; const DIK_HOME = 199; const DIK_I = 23; const DIK_INSERT = 210; const DIK_J = 36; const DIK_K = 37; const DIK_KANA = 112; const DIK_KANJI = 148; const DIK_L = 38; const DIK_LBRACKET = 26; const DIK_LCONTROL = 29; const DIK_LEFT = 203; const DIK_LMENU = 56; const DIK_LSHIFT = 42; const DIK_LWIN = 219; const DIK_M = 50; const DIK_MINUS = 12; const DIK_MULTIPLY = 55; const DIK_N = 49; const DIK_NEXT = 209; const DIK_NOCONVERT = 123; const DIK_NUMLOCK = 69; const DIK_NUMPAD0 = 82; const DIK_NUMPAD1 = 79; const DIK_NUMPAD2 = 80; const DIK_NUMPAD3 = 81; const DIK_NUMPAD4 = 75; const DIK_NUMPAD5 = 76; const DIK_NUMPAD6 = 77; const DIK_NUMPAD7 = 71; const DIK_NUMPAD8 = 72; const DIK_NUMPAD9 = 73; const DIK_NUMPADCOMMA = 179; const DIK_NUMPADENTER = 156; const DIK_NUMPADEQUALS = 141; const DIK_O = 24; const DIK_P = 25; const DIK_PAUSE = 197; const DIK_PERIOD = 52; const DIK_PRIOR = 201; const DIK_Q = 16; const DIK_R = 19; const DIK_RBRACKET = 27; const DIK_RCONTROL = 157; const DIK_RETURN = 28; const DIK_RIGHT = 205; const DIK_RMENU = 184; const DIK_RSHIFT = 54; const DIK_RWIN = 220; const DIK_S = 31; const DIK_SCROLL = 70; const DIK_SEMICOLON = 39; const DIK_SLASH = 53; const DIK_SPACE = 57; const DIK_STOP = 149; const DIK_SUBTRACT = 74; const DIK_SYSRQ = 183; const DIK_T = 20; const DIK_TAB = 15; const DIK_U = 22; const DIK_UNDERLINE = 147; const DIK_UNLABELED = 151; const DIK_UP = 200; const DIK_V = 47; const DIK_W = 17; const DIK_X = 45; const DIK_Y = 21; const DIK_YEN = 125; const DIK_Z = 44; const MOUSE_1 = 256; const MOUSE_2 = 512; const MOUSE_3 = 1024; }; 1 2 Поделиться этим сообщением Ссылка на сообщение
I am Dead 918 Опубликовано 1 Апреля 2021 (изменено) @Баба ЯГА Ну если у тебя ящик то это наверно получается тебе bind_physic_object ковырять. Ниже привел use_callback из bind_physic_object и treasure_manager, попробуй их поковырять. Скрытый текст -- MARKER: use_callback function generic_physics_binder:use_callback(obj, who) if self.st.active_section then xr_logic.issue_event(self.object, self.st[self.st.active_scheme], "use_callback", obj, who) end self.am:call( "on_ph_obj_use", self.object, who ) end Скрытый текст function on_npc_use( obj ) if obj:alive() then return end -- local sobj = alife():object( obj:id() ) if not sobj.treasure_processed and not GetShift() then -- Проверка на шифт сделана, чтоб не срабатывало при попытке перетащить труп. get_treasure_manager():use( obj ) -- give_money( obj ) -- sobj.treasure_processed = true end end P.S данный код из OGSR\OGSE мода. Изменено 1 Апреля 2021 пользователем I am Dead Поделиться этим сообщением Ссылка на сообщение