Это популярное сообщение. Dennis_Chikin 3 662 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
den_z 36 Опубликовано 25 Февраля Поделиться Опубликовано 25 Февраля @Norman Eisenherz, по поводу "запчасти на пол" вываливаются почти все, но без "flamethrower_bad" - Я в списке запчастей (которые спавнятся после взрыва огнемёта), "flamethrower_bad" заменил на "обычный автомат" или винтовку " wpn_lr300". После проверки работы "--Генератора огнесмеси" - "запчасти на пол" "обычный автомат" или винтовка " wpn_lr300" появляются... (только огнемёт Шурупа "wpn_flame" - не спавнится). Сам предмет "flamethrower_bad" находится по пути - config - misc - quest_items - список ниже: Скрытый текст [flame_parts]:identity_immunities GroupControlSection = spawn_group discovery_dependency = ;$spawn = "devices\quest_items\decoder" ;$prefetch = 32 class = II_ATTCH cform = skeleton visual = amk\flame_prt_gorelka.ogf radius = 1 ;script_binding = stalker.object_init ;quest_item = true description = flame_part_desc inv_name = item_flame1_name inv_name_short = item_flame1_name inv_weight = 0 inv_grid_width = 1 inv_grid_height = 1 inv_grid_x = 11 inv_grid_y = 3 cost = 50 [gorelka]:flame_parts visual = amk\flame_prt_gorelka.ogf description = gorelka_descr inv_name = gorelka inv_name_short = gorelka inv_weight = 1 inv_grid_width = 1 inv_grid_height = 1 inv_grid_x = 1 inv_grid_y = 40 [manometr]:flame_parts visual = amk\flame_prt_manometr.ogf description = manometr_descr inv_name = manometr inv_name_short = manometr inv_weight = 1 inv_grid_width = 1 inv_grid_height = 1 inv_grid_x = 0 inv_grid_y = 40 [trubka]:flame_parts visual = amk\flame_prt_trubka.ogf description = trubka_descr inv_name = trubka inv_name_short = trubka inv_weight = 0.5 inv_grid_width = 2 inv_grid_height = 1 inv_grid_x = 2 inv_grid_y = 40 cost = 500 [flamethrower_bad]:flame_parts visual = amk\wpn_flame_brk.ogf description = flama_descr inv_name = item_flamethrower_bad_name inv_name_short = item_flamethrower_bad_name inv_weight = 5 inv_grid_width = 4 inv_grid_height = 2 inv_grid_x = 13 inv_grid_y = 38 25.02.2025 в 20:02, Norman Eisenherz сказал: В конфиге предмета "flamethrower_bad" не была назначена прозрачная модель? Как понимать "В конфиге предмета "flamethrower_bad" не была назначена прозрачная модель" - это что-то связано с "картинкой"? Norman Eisenherz - интересная вещь происходит, сделал "подмену". "Накатил" на готовый ствол "wpn_lr300" (получилась новая секция "flamethrower_bad2"), переименовал... но visual "нового ствола" не стал менять, оставил visual = weapons\lr300\wpn_lr300.ogf После взрыва огнемета появились "все запчасти на пол" и сам ствол "wpn_lr300" (единственное при наведении на ствол показывает новые надписи "сломанный огнемет" и картинка этого огнемета - менял надписи и координаты картинки). Потом поменял визуал ствола visual = weapons\lr300\wpn_lr300.ogf на visual = amk\wpn_flame_brk.ogf сломанного огнемёта "flamethrower_bad" - Запустил Игру и после взрыва огнемёта - "все запчасти на пол", а визула "flamethrower_bad" нет!!! Не понятно, где подвох - в "оригинале" scripta после взрыва все спавнится и сам "flamethrower_bad"... Когда поменяли в строке object("wpn_flame") на item_in_slot(2) "flamethrower_bad" перестал появлятся. Ссылка на комментарий
Norman Eisenherz 330 Опубликовано в среду в 16:30 Поделиться Опубликовано в среду в 16:30 Связи с номером слота быть не должно – новые детали спавнятся просто по именам. Действия "сброс оружия из рук" тоже нет, да и все равно в руках обычная модель, а не сломанная. В SDK или в каком-нибудь OGF viewer модель [wpn_flame_brk.ogf] открывается? Еще можно к спавну этой секции дописать local test_obj = alife():create("flamethrower_bad",pos,lv,gv)) и после спавна (отдельным вызовом, не в этом же цикле) проверить if level.object_by_id( test_obj.id ) Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
RayTwitty 519 Опубликовано в среду в 19:39 Поделиться Опубликовано в среду в 19:39 23 часа назад, den_z сказал: Потом поменял визуал ствола visual = weapons\lr300\wpn_lr300.ogf на visual = amk\wpn_flame_brk.ogf сломанного огнемёта "flamethrower_bad" Если кучей что-то спавнится в одной точке, то оно может улететь под террейн. Возможно ЛР-ка в силу своих особенностей и размеров шейпа, физически не вступает в конфликт с другими предметами. Можно попробовать заспавнить все предметы не на землю, а в рюкзак и потом выкинуть вручную: alife():create("flamethrower_bad",pos,lv,gv,0) 0 - айди актора. А вот то, что 23 часа назад, den_z сказал: Когда поменяли в строке object("wpn_flame") на item_in_slot(2) "flamethrower_bad" перестал появлятся. странно. А точно там еще чего-нибудь не поменялось? Точно ничего не упустили? 1 Ссылка на комментарий
den_z 36 Опубликовано в среду в 20:36 Поделиться Опубликовано в среду в 20:36 Norman Eisenherz, Я заспавнил (через Чит-спаунер) в рюкзак ГГ "flamethrower_bad" - потом выбросил из рюкзака на пол, появилась полноценная модель сломанного "огнемёта от Шурупа". Ссылка на комментарий
Norman Eisenherz 330 Опубликовано в четверг в 07:11 Поделиться Опубликовано в четверг в 07:11 Если идея @RayTwitty с падением лута под карту верна (и всесильна), можно вынести спавн предметов около ГГ в отдельную функцию с небольшим разбросом координат и скармливать в нее нужные секции. Пример см. в [xr_box.script] create_items. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
den_z 36 Опубликовано в четверг в 15:48 Поделиться Опубликовано в четверг в 15:48 RayTwitty, спасибо за поддержку... Я ПРОВЕРИЛ "ТЕОРИЮ о провалившихся вещах" под текстуры: залез на Кордоне, на чердак развалин (что рядом со Звездочётом) и попробывал взорвать огнемет - все запчасти провалились на пол 1-го этажа и сломанный огнемёт ("flamethrower_bad") с ними... Тоже самое Я проделал с "все запчасти на пол", заменил "flamethrower_bad" на обычный огнемёт от Шурупа "wpn_flame" - он (огнемемёт) "появился" со всеми запчастями на "земле" среди досок пола 1-го этажа. В чем причина "провала" под текстуры этих игровых обьектов??? Другие "стволы" не "проваливаются" - что-то не так с текстурами "огнемётов"? Ссылка на комментарий
den_z 36 Опубликовано в четверг в 16:13 Поделиться Опубликовано в четверг в 16:13 (изменено) Купер, доброго вечера. Вопрос опять по scriptу из СТАЛКЕРа ТЧ НС АМК+ДМХмод135 - файл sak_dialog.script - там есть 2 функции: function has_soldiers_bribe(actor, npc) return sak.have_item_namber("vodka",1) ~= false end function give_soldiers_bribe(actor, npc) sak.out_item_namber("vodka",1) end Они отвечают за диалог между ГГ и "воякой под мостом" - оплата за проход под мостом 1 бутылка водки... (переделанная старая функция - та была за деньги...) Хотел бы немного подправить, что бы ГГ мог "пройти" при наличии разной водки в рюкзаке, типа: sect == "vodka" or sect == "absolut_vodka" or sect == "smirnoff_vodka" or sect == "nemiroff_vodka" or sect == "vodka_p" then vodka = vodka-1 ГГ имея при себе в рюкзаке , к примеру, вместо "vodka" - паленую "vodka_p" или там "absolut_vodka"..., вояка "забирал" её себе и пропускал ГГ... Как реализовать эту схему??? Изменено в четверг в 16:16 пользователем den_z Добавлено Купер, в пятницу в 04:07 Перемещено. Ссылка на комментарий
ted.80 380 Опубликовано в четверг в 16:41 Поделиться Опубликовано в четверг в 16:41 @den_z, для этого нужно править не sak_dialog.script, а sak.script в функциях have_item_namber() и out_item_namber() соответственно, давай ссылку на скрипт, или обе функции. Личный АРХИВ по S.T.A.L.K.E.R Ссылка на комментарий
den_z 36 Опубликовано в четверг в 17:07 Поделиться Опубликовано в четверг в 17:07 ted.80, function have_item_namber(itm,need_namber) return amk_utils.inventory_search(itm, need_namber) end и ещё одна функция: function out_item_namber(itm_section,need_number) reloc_params.itm_section=itm_section reloc_params.itm_cnt=need_number reloc_params.itm_cnt_found=0 db.actor:iterate_inventory(checkout_items_count,db.actor) reloc_params.itm_cnt_found=0 if reloc_params.itm_cnt_found<=reloc_params.itm_cnt then db.actor:iterate_inventory(out_items_count,db.actor) end news_manager.relocate_item(db.actor, "out", itm_section) reloc_params={} end Добавлено Купер, в пятницу в 03:41 Не надо так делать. Такие объёмы информации заливаем на файлообменник, а сюда - ссылку. И выбираем только то, что действительно необходимо и изменялось. Заметка изменена в пятницу в 03:50 Ссылка на комментарий
ted.80 380 Опубликовано в четверг в 18:09 Поделиться Опубликовано в четверг в 18:09 @den_z, да всё-таки в sak_dialog.script, это будет проще сделать, замени те две функции - на вот это и проверь, мне негде проверить. local item_alk = {"vodka","absolut_vodka","smirnoff_vodka","nemiroff_vodka","vodka_p"} local out_alk function has_soldiers_bribe(actor, npc) for k,v in pairs(item_alk) do if db.actor:object(v) then out_alk = v return true break end end out_alk = false return false end function give_soldiers_bribe(actor, npc) if out_alk then sak.out_item_namber(out_alk,1) out_alk = false end end Личный АРХИВ по S.T.A.L.K.E.R Ссылка на комментарий
den_z 36 Опубликовано в четверг в 18:53 Поделиться Опубликовано в четверг в 18:53 ted.80, добрый вечер. Я проверил функцию function has_soldiers_bribe(actor, npc) - при разговоре с вояками, под ж/д мостом, вылет - лог: 0023:0085105B xrLUA.dll 0023:05B7E637 xrGame.dll 0023:05B820A0 xrGame.dll ted.80, посмотри Сам скрипт с правкой - sak_dialog: Скрытый текст local item_alk = {"vodka","absolut_vodka","smirnoff_vodka","nemiroff_vodka","vodka_p"} local out_alk function has_soldiers_bribe(actor, npc) for k,v in pairs(item_alk) do if db.actor:object(v) then out_alk = v return true break end end out_alk = false return false end function give_soldiers_bribe(actor, npc) if out_alk then sak.out_item_namber(out_alk,1) out_alk = false end end --[[function has_soldiers_bribe(actor, npc) -- оригинал от Сяка return sak.have_item_namber("vodka",1) ~= false end function give_soldiers_bribe(actor, npc) sak.out_item_namber("vodka",1) end]] Ссылка на комментарий
ted.80 380 Опубликовано в четверг в 19:40 Поделиться Опубликовано в четверг в 19:40 @den_z, не нужно выписывать ВЕСЬ скрипт, там нужно две функции, перепиши их вот так, у себя на аптечках проверял все работает. local item_alk = {"vodka","absolut_vodka","smirnoff_vodka","nemiroff_vodka","vodka_p"} local out_alk = "" function has_soldiers_bribe(actor, npc) for k,v in pairs(item_alk) do if db.actor:object(v) then out_alk = v return true end end end function give_soldiers_bribe(actor, npc) if out_alk ~= "" then sak.out_item_namber(out_alk,1) out_alk = "" end end Личный АРХИВ по S.T.A.L.K.E.R Ссылка на комментарий
Kostanfrol 0 Опубликовано вчера в 11:05 Поделиться Опубликовано вчера в 11:05 А что значат все параметры в файле fsgame ltx? Подскажите пожалуйста 🙏 Добавлено Опричник, Вчера в 11:27 Перемещено. Ссылка на комментарий
Balavnik 144 Опубликовано вчера в 16:02 Поделиться Опубликовано вчера в 16:02 @KostanfrolПути к используемым игрой папкам и параметры их обработки. 1 А где зима? Ссылка на комментарий
Balavnik 144 Опубликовано 11 часов назад Поделиться Опубликовано 11 часов назад Если предмет находится в ящике или в трупе, его видно из alife():object? А где зима? Ссылка на комментарий
Kirgudu 1 274 Опубликовано 10 часов назад Поделиться Опубликовано 10 часов назад @Balavnik этот метод возвращает любой серверный объект, вне зависимости от наличия или отсутствия родителя. Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти