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

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

Хочу сделать чтобы после первого карканья тайник появлялся. Самый легкий тайник, а мучаюсь с ним уже долго.

Сам не играю, по этому могу ошибаться - сдаётся что это тайник на Генераторах(три рестриктора с "карканьем" - от чего и "плясал") в xr_effects.script (построено на счётчике поршней)

 

function strelok_taynik_pda6_found()
	if not has_alife_info("strelok_taynik_pda6_found") then
		dialogs.dialog_count("strelok_taynik_pda6_found", 3) - здесь, вместо 3 ставишь 1
		this.play_zvuk_ts6()
	end
end

function play_zvuk_ts6()
	if has_alife_info("strelok_taynik_pda6_found3") then -- тут found3 изменить на found1
		this.play_zvuk_ts6_3() - можно не трогать, "каркнет" три раза
		local obj = alife():create("s_inventory_box6",vector():set(-177.86285400391,48.186073303223,-538.17407226563),130423,3088)
		db.actor:give_info_portion("strelok_taynik_pda6_found")
	--[[elseif has_alife_info("strelok_taynik_pda6_found2") then -- отрубить за ненадобностью
		this.play_zvuk_ts6_2()
	elseif has_alife_info("strelok_taynik_pda6_found1") then 
		this.play_zvuk_ts6_1()]]
	end
end
и в spawn_restrictor.script

function strelok_taynik_pda6_sr1()
...
function strelok_taynik_pda6_sr2()
...
function strelok_taynik_pda6_sr3()
из трёх рестрикторов отрубить два, что бы не сработали, при случайном прохождении, повторно. На какой нибудь "звезде" должно сработать...

 

 

и в spawn_restrictor.script... из трёх рестрикторов отрубить два, что бы не сработали, при случайном прохождении, повторно.

Наверное лишнее...

 

 

Не большая правка по вкл\выкл "Интерактивного худа"(АМК опции).

Нумерация строк соответствует оригиналу скрипта из патча 2.04: amk_mod.script

 

 

стр.

2768  if amk.load_variable("option_hud",2)~=2 then return end    -- by Monnoroch - закомментировать(--) либо удалить...

...

2807  if amk.load_variable("option_hud",2)~=2 then  -  "~=2" изменить на "==0"

...

2939  if mycurrent_suithud ~= nil and not string_find(mycurrent_suithud,"_red3") and not string_find(mycurrent_suithud,"hud_sci_") then

изменить на

 if (mycurrent_suithud ~= nil and amk.load_variable("option_hud",2)==2 and not string_find(mycurrent_suithud,"_red3") and not string_find(mycurrent_suithud,"hud_sci_")) then

 

 

Теперь худ маски брони убирается без снятия самой брони, перед выкл. "Интерактивного худа"...

Подглядел в DMX-mod 1.3.5...

Изменено пользователем alen_fantom
  • Спасибо 1
  • Полезно 2
Ссылка на комментарий

Будте добры объясните как привязать подствольник к винторезу.

Поставить программу Maya, конвертировать модельку Винтореза, загрузить в Maya, загрузить туда же модельку подствольника, привязать её, добавить анимацию  для подствола, экспортировать, загрузить объектный файл в СДК, откомпилировать мировую модель. Не забыть про худовую модель ( сделать всё то же самое ). Отредактировать конфиг, настроить прицеливание подствола.

Делов то.....всего ничего.

BFG

Как все сложно.

А ты как хотел ? Хороший оружейник сделает это всё за пару дней, кто то может быстрее.

Главный вопрос : ЗАЧЕМ !? Зачем Винторезу подствольный гранатомёт ? Чтобы был ?

Сразу скажу, никто из оружейников этого делать не будет. 100 %. Так что только ты сам. Вот такие дела.

В моде SGM для ЗП был такой. А почему для ОП не сделать просто так что бы был.Или объясните как его от туда вытащить,и адаптировать. И очень прошу не судить меня строго, я делаю первые шаги.

Вытащить и адаптировать ? Да проще наверно новый создать.

Читать, читать и читать. Конфиги оружия. что такое модель, как вставить в игру, как настроить и т.д. и т.п. Всё это есть у нас на АМК в "Школе Моддинга". Куча туторов + Вики Сталкер + Ютюб. Читать, читать и смотреть. Пробовать самому. Никто тебе готовую модельку, понятно дело, на блюдечке не принесёт. 

Изменено пользователем BFG
  • Нравится 1
  • Согласен 1

MinyaUr.gif

Ссылка на комментарий

Как называется в файлах "странный рецепт" по квесту от Обители Зла? Нужна 4-я Часть

snp_note4

Изменено пользователем Eugen81
  • Спасибо 1
  • Согласен 1
  • Полезно 1

Неважно – сколько у тебя друзей. Важно - сколько из них помогут тебе в трудную минуту и сколько вспомнят о тебе когда им хорошо.

"Худ" и "Умное выпадание частей монстров" для Народной солянки

Ссылка на комментарий

По телепортам: не факт, что они все в allspawn - скорее, наоборот.

Думаю, здесь имеет смысл взять bind_mteleport.script, найти в нем restrictor_teleport:update() (ищем без скобок), и вместо actor:set_actor_position() сделать, скажем, вывод названия тепелепорта. Или добавить перед ним запрос на телепортацию.

 

Заодно там же можно и проверку радиусов поменять на что-нибудь.

 

Аналогично, кстати, с рестрикторами - увеличить радиусы, и сделать вывод имени, когда радиус пересекается.

Изменено пользователем Dennis_Chikin
Ссылка на комментарий

Увеличение вероятности спавна безоаров у контролеров и частей у других монстров.

 

@acdek, файл gamedata\config\creatures\m_controller.ltx, строки

Spawn_Inventory_Item_Section = bezoar

Spawn_Inventory_Item_Probability = 0.4

меняем 0.4 на 1 (причем такие строки встречаются там два раза, менять обе). Работает после спавна новых контролеров.

Так же советую почитать другие темы по народной солянке/АМК/ООП, там все это было написано не раз.

 

Есть: m_controller_old и m_controller_old_fat...Но тебе скорее всего нужно выпадение и для др. контролёров:

arc_diary.script(часть кода, где есть вероятность выпадения)

 

function monster_killed(obj,who)
    local obj_sect = obj:section()
    if obj_sect=="controller_tubeman" then
        amk.spawn_item_in_inv("bezoar",obj)
        check_info(obj,who)
    end
    if obj_sect=="m_controller_normal" then
        amk.spawn_item_in_inv("vodka",obj)
        amk.spawn_item_in_inv("sigaret",obj)
        if math.random() < 0.03 then
            amk.spawn_item_in_inv("bezoar",obj)
        end
        check_info(obj,who)
    end
    if obj_sect=="m_controller_normal_fat" then
        amk.spawn_item_in_inv("vodka",obj)
        amk.spawn_item_in_inv("conserva",obj)
        if math.random() < 0.03 then
            amk.spawn_item_in_inv("bezoar",obj)
        end
        check_info(obj,who)
    end
...
if math.random() < 0.03 - правишь тут...

 

...

Так же во всех файлах вида: gamedata\config\creatures\m_***.ltx

искать параметр Spawn_Inventory_Item_Probability и менять значение на сколько нужно.

0.1 - вероятность 10%

1.0 - вероятность 100%

Евген.

Изменено пользователем Eugen81
  • Нравится 1
  • Полезно 1

У меня нет на это времени...

Ссылка на комментарий

@Dennis_Chikin, Спасибо за подсказку про радиус телепорта. Я сделал чуток проще, просто радиус уменьшил до 0.0 и теперь телепорт в Варлабе просто не срабатывает, главное, чтобы эта правка не помешала дальнейшему прохождению игры, вроде бы не должна.

Не удалять. Красивый и изящный способ борьбы со странным. dc

Изменено пользователем Dennis_Chikin
Ссылка на комментарий

Как эту функцию прикрепить к другому прицелу?

Нужно научиться пользоваться "поиском" и многое окажется не таким сложным...

В bind_stalker.script

if wpn and wpn:section() == "wpn_crossbow" or wpn and wpn:section() == "wpn_svd_m3" or wpn and wpn:section() == "wpn_b94_sil" or wpn and wpn:section() == "здесь название нужного ствола" then
if not xr_conditions.is_day() then
level.add_pp_effector("bast.ppe", 1034, true)
get_console():execute ("r2_mblur 0.6")
end
Изменено пользователем alen_fantom
  • Полезно 3
Ссылка на комментарий

get_console():execute ("r2_mblur 0.6") - лишнее. Оно, конечно, прикольно, когда еще при движении усе расплывается, но, во-первых, бред, во-вторых - если не убрать во-вовремя - эффект остается "пожизненно". А пользователь гадает: что у него случилось с видеокартой.

Ссылка на комментарий

Dennis_Chikin, так то лишь часть кода...На всякий случай весь:

 

local fov = device().fov
local wpn
if fov < 35 and xr_logic.pstor_retrieve(db.actor, "use_scope", 0) == 0 then
wpn = db.actor:item_in_slot(db.actor:active_slot())
if wpn and wpn:section() == "wpn_crossbow" or wpn and wpn:section() == "wpn_svd_m3" or wpn and wpn:section() == "wpn_b94_sil" then
if not xr_conditions.is_day() then
level.add_pp_effector("bast.ppe", 1034, true)
get_console():execute ("r2_mblur 0.6")
end
xr_logic.pstor_store(db.actor, "use_scope", 1)
end
elseif fov > 35 and xr_logic.pstor_retrieve(db.actor, "use_scope", 0) == 1 then
xr_logic.pstor_store(db.actor, "use_scope", 0)
level.remove_pp_effector(1034)
get_console():execute ("r2_mblur 0.")
end
  if upd_time3 == nil then
    upd_time3 = time + 500
  elseif upd_time3 < time then
    upd_time3 = time + 500  
    local accuracy = math_ceil(db.actor:accuracy()*1000)
    if accuracy == 1 then
        if not scopeUsed then
            local item = db.actor:active_item()
            if item then
                --get_console():execute("load ~#I#: db.actor:active_item():section()="..tostring(item:section()))
                if item:section() == "wpn_binoc" then
                    scopeUsed = true
                elseif IAmAWeapon[item:clsid()] then
                    local t = amk.get_weapon_data(alife():object(item:id()))
                    scopeUsed = (bit_and(t.addon_flags, 1) == 1 or rx_utils.get_addon_status(item, "sc") == 1)
                    --amk.dump_table(t)
                end
            end
        end
    else
        scopeUsed = false
    end
  end

 

И отключается нормально, у себя глюков не увидел. Да и разбирали ранее...

Изменено пользователем alen_fantom
Ссылка на комментарий

А что это за гениальный код?

if wpn and wpn:section() == "wpn_crossbow" or wpn and wpn:section() == "wpn_svd_m3" or wpn and wpn:section() == "wpn_b94_sil" then

Неужели луа не поддерживает скобки в if:

if wpn and ( wpn:section() == "wpn_crossbow" or wpn:section() == "wpn_svd_m3" or wpn:section() == "wpn_b94_sil" ) then

Если нет, то почему не написать один внешний "if wpn then" а остальное запихнуть во внутренний...

 

Что пнем об сову, что совой об пень - все одно гениально. Весь фрагмент. dc

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

i5-750 2.66GHz, Asus P7P55D-E, 4x2GB DDR3-1333, HD7970 1GB, SSD 120GB Win7HE 64bit, SSD 120GB Games, Samsung P2450 1920x1080, S.T.A.L.K.E.R. SoC v1.0006 (Лицензия GOG.com) + ОП2 УКР 1.11.0

ОП1 v1.103 і ОП2 v1.11.0 (патч 2.05+Fix 4) українською: http://www.amk-team.ru/forum/index.php?showtopic=5478&p=854009 Чиста Соль українською: у приват

Сравнительная табличка оружия (может поломать кайф от стволов, на свой страх и риск): https://dl.dropboxusercontent.com/u/5331391/weapon_power.zip

 

Ссылка на комментарий

после повторной установки игры, а раньше этой тряски не было. Если кто знает в чем проблема , то обьясните пожалуйста

Патч какой? Если 2.02 и выше, то может стоит посмотреть в расширенных настройках видео, на сколько выставлен флаг на раскачивание камеры, снизить и проверить...

 

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

Ссори, немного офтопа...

Касаемо "гениальности". Когда читаю такое или подобное, хочется задать вопрос: ,,РебятЫ, где были вы ТОГДА, с вашем НЫНЕШНИМ багажом знаний?,,

А пока имеем то, что имеем...(тоже где-то уже было). И надеемся дождаться всё ту же "обезжиренную" и оптимизированную "соль"...

Изменено пользователем alen_fantom
Ссылка на комментарий
как можно сделать покупку потерянных квестовых предметов подешевле

ОП-2. Покупка ЛЮБОГО предмета через меню за 1 р. Патч 2.04

Покупается всё! Мини-спавнер.

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

Не делайте мне больно, господа...

Ссылка на комментарий

Так, по мелочам, но всё решаемо...
Для 2.04 фикс 3:

- Добавлена озвучка ремонта брони и оружия ремкомплектами. И на время ремонта теперь убирается оружие, как и при поедании предметов. Время отсутствия оружия зависит от уровня сложности также как и предметы. На Разминке оружие не убирается, далее по нарастающей. Если запустить ремонт не удается, то приходит СМС как и раньше. При удачном запуске ремонта закрывается инвентарь и убирается оружие. Чтобы сделать озвучку ремонта, пришлось сильно изменить механизм запуска ремонта. Поэтому, если заметите какие глюки при поедании предметов либо при ремонте - если что-то будет работать не так, как раньше - сразу пишите, буду быстро выправлять.

Не должно напрягать, но если невмоготу, то всё правится в тех же zvuki.script, как и с поеданием...

- Запчасти с монстров теперь можно срезать только при наличии в инвентаре любого ножа или режущего оружия. Необязательно в слоте - достаточно просто в рюкзаке. Добавлена озвучка срезания, а также на время срезания убирается оружие, как при поедании предметов. Время отсутствия оружия зависит от уровня сложности также как и предметы.

Тоже не сложно: monster_parts.script

if actor_has_knife() or not actor_has_knife() then -- как вариант проверки наличия\отсутствия
		local difficulty = level.get_game_difficulty()
		if difficulty > 0 then -- "0" меняем на "3" и "реалисты" - читеры...

либо полностью отрубить в bind_stalker.script

 --monster_parts.on_part_take(obj)

Dennis_Chikin, про рестрикторы:
bind_restrictor.script

function restrictor_binder:net_spawn(data)
if not object_binder.net_spawn( self,data ) then
return false
end

db.add_zone( self.object )

-- Не регистрироваться на апдейты, если у объекта в customdata
-- нет секции logic вообще.
--[=[ ОП-2:
Функция xr_logic.get_customdata_or_ini_file(self.object, "") при отсутствии у рестриктора кастомдаты
возвращает "пустую" логику: return ini_file([[scripts\dummy.ltx]]), в которой секция logic есть.
Поэтому в updatable_binders в варианте от ПЫСов, несмотря на их коммент выше, регистрируются на апдейты АБСОЛЮТНО ВСЕ рестрикторы. Даже те, у которых нет кастомдаты вообще.
Поэтому условие проверки доработано на проверку строки active ~= nil и отсутствие строки cfg.
--]=]
local char_ini = xr_logic.get_customdata_or_ini_file(self.object, "")
--if char_ini:section_exist("logic") then
if xr_logic.logic_not_empty(self.object, char_ini) then
-- get_console():execute("load ~~~ На апдейт: "..self.object:name())
updatable_binders[self.object:id()] = self
--else
-- get_console():execute("load ~~~ Незарегистрирован на апдейт: "..self.object:name())
end

return true
end
....
....
function restrictor_binder:actor_update(delta)
if not self.initialized and db.actor then
self.initialized = true
xr_logic.initialize_obj(self.object, self.st, self.loaded, db.actor, modules.stype_restrictor)
end

if self.st.active_section ~= nil then
xr_logic.issue_event(self.object, self.st[self.st.active_scheme], "update", delta)
elseif self.object:section() == "space_restrictor" and self.object:name() == self.object:section()..self.object:id() then
--[=[ ОП-2:
Рестрикторы, у которых логика вышла в nil, не удаляются еще от ПЫСов и болтаются в памяти всю игру. И этот апдейт для них постоянно вызывается.
Но теперь, согласно правке заполнения updatable_binders выше, в этой таблице есть только рестрикторы с логикой.
И их логика вышла в nil, поэтому их смело можно было бы удалить. Но некоторые из них используются дополнительно как рестрикторы зон для неписей. Поэтому удаляем только обычные рестрикторы, заспавненные скриптом - алспауновские и с уникальными секциями не трогаем.
У скриптового рестриктора name = секция+ид.
--]=]
-- get_console():execute("load ~~~ Удален рестриктор: "..self.object:name())
alife():release(alife():object(self.object:id()))
end
end

 



Правки на какой патч? НИ начинала? В каком месте вылет? Если в х18 - удали файл - xr_effects.script

К слову к посту

Немного размышлизма о сложившейся ситуации....

И очень печально, что грабли всё те же. Из последних правок:

 

--function run_cam_effector(actor, npc, p)
-- if p[1] then-- local loop, num = false, (1000 + math.random(100)) 
-- if p[2] and type(p[2]) == "number" and p[2] > 0 then
-- num = p[2]
-- end
-- if p[3] and p[3] == "true" then
-- loop = true
-- end 
--level.add_pp_effector(p[1] .. ".ppe", num, loop)
-- level.add_cam_effector("camera_effects\\" .. p[1] .. ".anm", num, loop, "")
 -- end
--end

Разве эта функция лишняя??? Здесь не нужно что либо трогать!

 

Изменено пользователем alen_fantom
подправил, убрал лишнее
  • Полезно 1
Ссылка на комментарий

Уважаемые, а какой файл и как можно изменить чтобы уменьшить (именно уменьшить, а не убрать совсем) вероятность преобразования артов во время выброса?

Нашёл тут в теме, но там полностью убрана вероятность, да и может файтлы изменились с патчами.

 

посмотри в amk_mod.script

секция function blowout_modif_arts()

Возможно что то накопаешь.

Изменено пользователем BFG
Ссылка на комментарий

.После установки 4-го патча и 4-го фикса не достётся оружие-после взятия частей монстров.Причина-правка на отлеживание actor

А вот и нет...В правках, что у Вас, amk.script даже не из 3-го фикса под 2.04, в котором не прописан возврат:

func_by_string["monster_parts"] = function (params_string)
	monster_parts.restore_weapon()
end
Ссылка на комментарий

Для karavan150

А надо ли это ?

Я спокойно обхожусь правкой в amk.script, хотя бывает прыгаю на десятки метров, да и телепортами постоянно пользуюсь.

 

В каком-то из патчей автор "исправил" сыпящиеся по поводу и без повода обвинения в читерстве поменяв в сравнении погоды на марсе с весом поросенка в в хлеву дяди васи из жмеринки условие со срабатывающего всегда на несрабатывающее вообще никогда. dc

Изменено пользователем Dennis_Chikin
Ссылка на комментарий
Гость
Эта тема закрыта для публикации сообщений.
  • Недавно просматривали   0 пользователей

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