Перейти к содержанию

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

 
 
18 часов назад, Ilia_Onoprienko сказал:

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

 

 

 

  • Лайк 1

EaRLNb6.gif
AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

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


Ссылка на сообщение
Поделиться на другие сайты
 

здравствуйте, такой вопрос если к lights_hanging_lamp в кастом дату прописать логику то получится ли управлять светом типо вкл\выкл если это возможно то как или может есть другой какой-то способ?

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


Ссылка на сообщение
Поделиться на другие сайты
 

Pavel2000 Нет необходимости прописывать логику, достаточно задать стори_ид:
turn_off_underpass_lamps, turn_off, turn_on

  • Спасибо 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 
20 часов назад, Ilia_Onoprienko сказал:

Можете подсказать, как сделать мод на «Зов Припяти» с STCoP 3.3 и графическим паком без всяких программ или подскажите прогу, которая сделает квест за меня, просто очень хочется свой мод.

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

Изменено пользователем Ayden
  • Смех 1

Эх, Самара- городок, ветер северный, отожрал я себе пузо, как беременный.:)

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


Ссылка на сообщение
Поделиться на другие сайты
 

Здраствуйте хочу сделать мод есть идея на квесты +сюжет, нужна помощь по созданию.Если кому-то интиресно пишите сюда  krvchnk_1.Об"ясню все подробно

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


Ссылка на сообщение
Поделиться на другие сайты
 

Я добавил для ГГ новые звуки при получении урона. При игре имеется недочет - новые звуки отыгрываются словно 3d, а не от лица актера. При чем все новые звуки я прогнал через Sound Editor. 

Мне надо эти звуки прописывать в script_sound? Просто оригинальные звуки не прописаны. Или что-то другое надо делать? Подскажите, пожалуйста

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


Ссылка на сообщение
Поделиться на другие сайты
 
Спойлер

image.png

@Крим Параметры новых звуков такие же, как у пысов?
 

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


Ссылка на сообщение
Поделиться на другие сайты
 

я просто way point переставлял и анимации менял
персы стоят на ai сетке

Спойлер

"f:\s.t.a.l.k.e.r\s.t.a.l.k.e.r. call of pripyat\bin\xrengine.exe"
* phase time: 0 ms
* phase cmem: 120700 K
Loading objects...
Loading models...
* [prefetch] time:    78399 ms
* [prefetch] memory:  125852Kb
! Unable to find Software\GSC Game World\STALKER-COP\ in registry
! Player name registry key (InstallUserName) not found !
* phase time: 78524 ms
* phase cmem: 248959 K
* phase time: 5 ms
* phase cmem: 248959 K
* Creating new game...
* Loading spawn registry...
* 593 spawn points are successfully loaded
* New game is successfully created!
* phase time: 149 ms
* phase cmem: 267676 K
* phase time: 54 ms
* phase cmem: 267679 K
* phase time: 12 ms
* phase cmem: 267679 K
* WARNING: player not logged in
* client : connection accepted - <All Ok>
* phase time: 13 ms
* phase cmem: 267743 K
* phase time: 5 ms
* phase cmem: 267743 K
stack trace:

0023:01B1D765 xrCDB.dll, CDB::COLLIDER::ray_query()

 

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

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


Ссылка на сообщение
Поделиться на другие сайты
 

vasyan54636 Ну, я вроде настроил как у ПЫСОВ, но все равно звук словно отыгрывается в 3d

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


Ссылка на сообщение
Поделиться на другие сайты
 

@Крим Странно. Звуки хита актора прописаны в actor.ltx в секции actor_hit_snds, там у них стоит тип actor. Насколько помню, сталкер нормально принимает звуки 16 бит, 44100гц, моно. Если новый звук имеет другие параметры, возможно это как-то роляет.

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


Ссылка на сообщение
Поделиться на другие сайты
 

Что делать если я хочу изменить какое либо помещение на карте в level editor, а оно является одним целым объектом, и удаляется полностью. 

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


Ссылка на сообщение
Поделиться на другие сайты
 

@DimoNULL Подгрузить этот объект в любой 3д пакет, который имеет плагины импорта сталкерских .object моделей. Затем просто удалить лишние полигоны. Из популярных 3д пакетов для сталкера могу подметить 3DsMAX, Maya, Blender.

  • Жму руку 1

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


Ссылка на сообщение
Поделиться на другие сайты
 
27 минут назад, vasyan54636 сказал:

@DimoNULL Подгрузить этот объект в любой 3д пакет, который имеет плагины импорта сталкерских .object моделей. Затем просто удалить лишние полигоны. Из популярных 3д пакетов для сталкера могу подметить 3DsMAX, Maya, Blender.

Понял, спасибо. Этим и займусь

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


Ссылка на сообщение
Поделиться на другие сайты
 
В 10.11.2024 в 17:17, sosiska23 сказал:

росто way point переставлял и анимации менял
персы стоят на ai сетке

не знаете как решить?

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


Ссылка на сообщение
Поделиться на другие сайты
 

можно ли отключить отображение на мини карте одного определённого нпс?

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


Ссылка на сообщение
Поделиться на другие сайты
 

Pavel2000 Можно сделать так:
1. Добавляете в stalker_generic.script новую метку в функции reset_show_spot и remove_level_spot. Но делаете ее невидимой.
2. Добавляете свою метку в логику:

[logic]
level_spot = ...


 

  • Спасибо 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 

denis2000 сделал в

Спойлер

function reset_show_spot(npc, scheme, st, section)
    local spot_section
    if scheme == nil or scheme == "nil" then
        spot_section = utils.cfg_get_string(st.ini, st.section_logic, "show_spot", npc, false, "")
    else
        spot_section = utils.cfg_get_string(st.ini, section, "show_spot", npc, false, "")
    end
    local map_spot = utils.cfg_get_string(st.ini, st.section_logic, "level_spot", npc, false, "")
    if map_spot == nil then
        map_spot = utils.cfg_get_string(st.ini, section, "level_spot", npc, false, "")
    end
    if map_spot ~= nil then
            map_spot = xr_logic.parse_condlist(npc, section, "level_spot", map_spot)
            map_spot = xr_logic.pick_section_from_condlist(db.actor, npc, map_spot)
    end
    --' printf("STALKER SPOT SECTION [%s]", utils.to_str(spot_section))

    if spot_section == nil then
        spot_section = "true"
    end

        local spot = "false"
--    if character_community(npc) ~= "zombied" then
            local spot_condlist = xr_logic.parse_condlist(npc, section, "show_spot", spot_section)
            spot = xr_logic.pick_section_from_condlist(db.actor, npc, spot_condlist)
--    end

    local sim  = alife()
    if not sim then
        return
    end

    local obj  = sim:object(npc:id())
    if obj and obj.online then
        local npc_id = npc:id()
        if spot == "false" then
            -- прячем
            obj:visible_for_map(false)
        else
            -- ставим
            obj:visible_for_map(true)
        end
        if map_spot ~= nil then
                        local map_location = ""
                        local hint = ""
                        if map_spot == "trader" then
                                map_location = "ui_pda2_trader_location"
                                hint = "st_ui_pda_legend_trader"
                        elseif map_spot == "mechanic" then
                                map_location = "ui_pda2_mechanic_location"
                                hint = "st_ui_pda_legend_mechanic"
                        elseif map_spot == "unvisible" then
                                map_location = "no_spot_unvisible"
                                hint = "st_ui_pda_unvisible"

                        elseif map_spot == "guider" then
                                map_location = "ui_pda2_scout_location"
                                hint = "st_ui_pda_legend_scout"
--[[
                                local smarts_tbl = sim_board.get_sim_board().smarts
                                local npc_smrt_id = obj.m_smart_terrain_id
                                if npc_smrt_id ~= 65535 and npc_smrt_id ~= nil then
                                        local npc_smart = smarts_tbl[npc_smrt_id].smrt
                                        if npc_smart then
                                                local smart_name = smart_names.get_smart_terrain_name(npc_smart)
                                                hint = game.translate_string(hint).."\\n"..game.translate_string("st_location").." "..smart_name
                                        end
                                end
]]
                        elseif map_spot == "quest_npc" then
                                map_location = "ui_pda2_quest_npc_location"
                                hint = "st_ui_pda_legend_vip"
                        elseif map_spot == "medic" then
                                map_location = "ui_pda2_medic_location"
                                hint = "st_ui_pda_legend_medic"
                        end
            if level.map_has_object_spot(npc_id, map_location) ~= 0 then
                                level.map_remove_object_spot(npc_id, map_location)
            end
                        if db.actor and npc and npc:general_goodwill(db.actor) > -1000 then
                level.map_add_object_spot(npc_id, map_location, hint)
            end
        else
                        if level.map_has_object_spot(npc_id, "ui_pda2_trader_location") ~= 0 then
                                level.map_remove_object_spot(npc_id, "ui_pda2_trader_location")
                        elseif level.map_has_object_spot(npc_id, "ui_pda2_mechanic_location") ~= 0 then
                                level.map_remove_object_spot(npc_id, "ui_pda2_mechanic_location")
                        elseif level.map_has_object_spot(npc_id, "no_spot_unvisible") ~= 0 then
                                level.map_remove_object_spot(npc_id, "no_spot_unvisible")

                        elseif level.map_has_object_spot(npc_id, "ui_pda2_scout_location") ~= 0 then
                                level.map_remove_object_spot(npc_id, "ui_pda2_scout_location")
                        elseif level.map_has_object_spot(npc_id, "ui_pda2_quest_npc_location") ~= 0 then
                                level.map_remove_object_spot(npc_id, "ui_pda2_quest_npc_location")
                        elseif level.map_has_object_spot(npc_id, "ui_pda2_medic_location") ~= 0 then
                                level.map_remove_object_spot(npc_id, "ui_pda2_medic_location")
                        end
        end
    end
end

function remove_level_spot(npc, st)
    local map_spot = utils.cfg_get_string(st.ini, st.section_logic, "level_spot", npc, false, "")
    if map_spot == nil then
        map_spot = utils.cfg_get_string(st.ini, st.active_section, "level_spot", npc, false, "")
    end
    if map_spot ~= nil then
            map_spot = xr_logic.parse_condlist(npc, st.active_section, "level_spot", map_spot)
            map_spot = xr_logic.pick_section_from_condlist(db.actor, npc, map_spot)
    end
    local sim  = alife()
    if not sim then
        return
    end

    local obj  = sim:object(npc:id())
    if obj then
        local npc_id = npc:id()
        if map_spot ~= "" and map_spot ~= nil then
                    local map_location = ""
                    if map_spot == "trader" then
                            map_location = "ui_pda2_trader_location"
                    elseif map_spot == "mechanic" then
                            map_location = "ui_pda2_mechanic_location"
                    elseif map_spot == "unvisible" then
                            map_location = "no_spot_unvisible"

                    elseif map_spot == "guider" then
                            map_location = "ui_pda2_scout_location"
                    elseif map_spot == "quest_npc" then
                            map_location = "ui_pda2_quest_npc_location"
                    elseif map_spot == "medic" then
                            map_location = "ui_pda2_medic_location"
                    end
            if level.map_has_object_spot(npc_id, map_location) ~= 0 then
                        level.map_remove_object_spot(npc_id, map_location)
            end
        end
    end
end

добавил в

Спойлер

        <no_spot_unvisible hint="st_ui_pda_unvisible">
                <level_map spot="ui_nospot"/>
                <mini_map spot="ui_nospot_mini_spot"/>
        </no_spot_unvisible>
        <ui_nospot x="0" y="0" width="19" height="19" stretch="1" alignment="c" location_level="-1" scale_min="3">
                <texture>ui_pda2_hl_seq_quest2</texture>
        </ui_nospot>
        <ui_nospot_mini_spot x="0" y="0" width="14" height="14" stretch="1" alignment="c" location_level="-1">
                <texture>ui_pda2_hl_seq_quest2</texture>
        </ui_nospot_mini_spot>

прописал в логику нпс  level_spot = unvisible

получилось вот так

image.png.185f303a322db15ec6bc8d97ef4fdcdc.png

изменил width="19" height="19" на width="0" height="0" получилась просто звёдочка, не пойму что ещё мне нужно исправить


Дополнено 3 минуты спустя

или я что то не правильно нагородил и можно сделать это проще?

 

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


Ссылка на сообщение
Поделиться на другие сайты
 

Pavel2000 Отмена, значит это так не сработает, остается метка командира сквада...


Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 

но если сделать width="0" height="0" в map spots у секции торговца то иконка пропадает полностью


Дополнено 2 минуты спустя

думаю в скрипте дело


Дополнено 5 минуты спустя

а ещё пока я это всё делал наткнулся на вылет и полчаса не понимал причину вылета. а оказывается нельзя 

    <string id="st_ui_pda_unvisible">
        <text>(вот здесь оставлять пустоту)</text>
    </string>

 

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


Ссылка на сообщение
Поделиться на другие сайты
 
9 часов назад, Pavel2000 сказал:

но если сделать width="0" height="0" в map spots у секции торговца то иконка пропадает полностью

Я это и имел ввиду, но оказывается на одном объекте могут одновременно висеть несколько меток, а не одна последняя. На вашем НПС есть еще метка командира сквада нейтралов.

Попробуйте открыть файл sim_squad_scripted.script там в функции sim_squad_scripted:show есть строки:

if(level.map_has_object_spot(self:commander_id(), "ui_pda2_trader_location")~=0) or
	(level.map_has_object_spot(self:commander_id(), "ui_pda2_mechanic_location")~=0) or
	(level.map_has_object_spot(self:commander_id(), "ui_pda2_scout_location")~=0) or
	(level.map_has_object_spot(self:commander_id(), "ui_pda2_quest_npc_location")~=0) or
	(level.map_has_object_spot(self:commander_id(), "ui_pda2_medic_location")~=0) then
		self.show_disabled = true
		return
	end

Добавьте свою метку по аналогии.

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

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 

denis2000 

Спойлер

function sim_squad_scripted:show()
    if self.show_disabled then
        self:hide()
        return
    end

    if self.current_spot_id ~= self:commander_id() then
        self:hide()
        self.current_spot_id = self:commander_id()
        self:show()
        return
    end
    local spot = ""

    if not(is_squad_monster[self.player_id]) then
        local relation = game_relations.get_squad_relation_to_actor_by_id(self.id)
        if(relation=="friends") then
            spot = "alife_presentation_squad_friend"
        elseif(relation=="neutral") then
            spot = "alife_presentation_squad_neutral"
        end
    end
    if(spot~="") then
        if spot == self.spot_section then
            level.map_change_spot_hint(self.current_spot_id, self.spot_section, self:get_squad_props())
            return
        end
        if self.spot_section == nil then
            level.map_add_object_spot(self.current_spot_id, spot, self:get_squad_props())
        else
            level.map_remove_object_spot(self.current_spot_id, self.spot_section)
            level.map_add_object_spot(self.current_spot_id, spot, self:get_squad_props())
        end
        self.spot_section = spot
    elseif(self.spot_section~=nil) then
        level.map_remove_object_spot(self.current_spot_id, self.spot_section)
        self.spot_section = nil
    end
end

 


Дополнено 9 минуты спустя

у меня есть gamedata ганса и Dead City Special Release там эта функция есть и у них она одинаковая

Спойлер

function sim_squad_scripted:show()
    if self.show_disabled then
        self:hide()
        return
    end

    if(level.map_has_object_spot(self:commander_id(), "ui_pda2_trader_location")~=0) or
    (level.map_has_object_spot(self:commander_id(), "ui_pda2_mechanic_location")~=0) or
    (level.map_has_object_spot(self:commander_id(), "ui_pda2_scout_location")~=0) or
    (level.map_has_object_spot(self:commander_id(), "ui_pda2_quest_npc_location")~=0) or
    (level.map_has_object_spot(self:commander_id(), "ui_pda2_medic_location")~=0) then
        self.show_disabled = true
        return
    end

    if self.current_spot_id ~= self:commander_id() then
        self:hide()
        self.current_spot_id = self:commander_id()
        self:show()
        return
    end
    local spot = ""

    if not(is_squad_monster[self.player_id]) then
        local relation = game_relations.get_squad_relation_to_actor_by_id(self.id)
        if(relation=="friends") then
            spot = "alife_presentation_squad_friend"
        elseif(relation=="neutral") then
            spot = "alife_presentation_squad_neutral"
        end
    end
    if(spot~="") then
        if spot == self.spot_section then
            level.map_change_spot_hint(self.current_spot_id, self.spot_section, self:get_squad_props())
            return
        end
        if self.spot_section == nil then
            level.map_add_object_spot(self.current_spot_id, spot, self:get_squad_props())
        else
            level.map_remove_object_spot(self.current_spot_id, self.spot_section)
            level.map_add_object_spot(self.current_spot_id, spot, self:get_squad_props())
        end
        self.spot_section = spot
    elseif(self.spot_section~=nil) then
        level.map_remove_object_spot(self.current_spot_id, self.spot_section)
        self.spot_section = nil
    end
end

Но как её лучше копипастить? Одной функцией или полным файлом?

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


Ссылка на сообщение
Поделиться на другие сайты
 

Pavel2000 Тут нет - это в оригинале вы имеете ввиду?


Дополнено 1 минуту спустя

Если вставлять то так:
 

function sim_squad_scripted:show()
	if self.show_disabled then
		self:hide()
		return
	end

    if(level.map_has_object_spot(self:commander_id(), "ui_pda2_trader_location")~=0) or
	(level.map_has_object_spot(self:commander_id(), "ui_pda2_mechanic_location")~=0) or
	(level.map_has_object_spot(self:commander_id(), "ui_pda2_scout_location")~=0) or
	(level.map_has_object_spot(self:commander_id(), "ui_pda2_quest_npc_location")~=0) or
	(level.map_has_object_spot(self:commander_id(), "ui_pda2_medic_location")~=0) then
		self.show_disabled = true
		return
	end

	if self.current_spot_id ~= self:commander_id() then
		self:hide()
		self.current_spot_id = self:commander_id()
		self:show()
		return
	end

 


Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 

denis2000 да в оригинале нету


Дополнено 17 минуты спустя
4 часа назад, denis2000 сказал:

Добавьте свою метку по аналогии

It worked!

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


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, Pavel2000 сказал:

да в оригинале нету

Значит не полностью распаковали ресурсы игры. Нужно еще распаковывать папку patches. Почему - то некоторые об этом забывают

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


Ссылка на сообщение
Поделиться на другие сайты
 

Mass через sue2 прямо сечйас распаковал, нету там этих строк

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


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу