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

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

 
 

del

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

76561198152189716.png

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


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

Нужно сделать чтобы в gui в компоненте listbox было реализованно условие чтобы при клике на определенную строку срабатывала функция 

Изменено пользователем Paradox27kms
  • Смущение 1

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


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

Можно ли реализовать скрипт чтобы НПС отдал свой ствол гг который использует? 

  • Печаль 2

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


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

Подскажите почему НПС могу не видеть ГГ? Это происхлдит на одной локации (среднее качество компиляции, АИ сетка не драфт). При стрельбе НПС паникуют, кидают гранаты, но ГГ не видят. Я тестировал видимость ГГ для НПС так:

npc:see(db.actor)

Возвращает false. НПС реально "не видят" ГГ. Пробовал менять в смарте НПС на другие модели и секции - не помогает.


Не ... Сталкер могут сделать только русские.
© С. Григорович.                                                                                                                                                                         03.10.2014

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


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

Graff46 наверное это какие-то баги с локацией, но можно попробовать неписям увеличить видимость или через конфиг сталкеров все параметры и коэффициенты из Visibility там много факторов: время time

дистанция min_view_distance и max_view_distance  чем больше тем дальше видят неписи

visibility_threshold (лимит чем меньше тем быстрее замечают)

velocity_factor  - фактор движения

luminocity_factor  - фактор освещения, чем меньше, тем быстрее замечают в темноте

transparency_threshold - видимость сквозь полупрозрачные объекты типа кусты) чем меньше тем лучше в них палят, тут можно попробовать значение около 0 ( если поставить 1- по идее вообще не будут видеть в кустах)

 

на ЗП еще можно в юзере, править основные параметры АИ, это углы взора ai_aim_max_angle, ai_aim_min_angle .


ai_aim_min_speed - скорость прицеливания, чем ниже тем быстрее АИ палят игрока, и начинают стрелять когда увидят

ai_aim_predict_time - скорость упреждения когда игрок двигается, то есть при больших значениях АИ будут попадать только по стоячему игроку, в движении будут мазать, при низких значениях даже по бегущему спринтеру будут бить точно в яблочко)
 

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


Ссылка на сообщение
Поделиться на другие сайты
 
В 05.07.2022 в 16:08, Paradox27kms сказал:

чтобы в gui в компоненте listbox было реализованно условие чтобы при клике на определенную строку срабатывала функция

Нуу...при клике и проверяйте соответствие, не очень понятен вопрос. Текст же получаете, и другие значения, которые при добавлении в листбокс записываете

23 часа назад, Paradox27kms сказал:

Можно ли реализовать скрипт чтобы НПС отдал свой ствол гг который использует?

А надо ли? Если нпс будет без оружия - будет носиться по всей локе как дурной. Например, так

Спойлер

npc обозначьте (смотря через что забираете) и нужные слоты


local wpn = npc:item_in_slot(3)
	if wpn then
		npc:transfer_item(wpn, db.actor)
	end

 

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

В беге за рассветом приближаешь свой закат

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


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

Добрый вечер.  Тестирую функции передачи от игрока квестовых предметов.  В оригинальном Зове Припяти происходит трансферт предметов. Когда мы приносим Тесаку 6 банок тушенки, то они у него и остаются. Если грохнуть Тесака, то в этом можно убедиться.

Пробую функции для диалога, удаляющие квестовые предметы из игры. Получилось следующее.

Для одиночного предмета работает отлично.
 

Спойлер

 

function esc_b3_atp_scout_medkit_out(actor, npc)
    dialogs.relocate_object_ot_actor("medkit")
end

function relocate_object_ot_actor(item)
    local obj = db.actor:object(item)
    if obj ~= nil then
        alife():release(alife():object(obj:id()), true)
    end
    news_manager.relocate_item(db.actor,"out",item)
end

 

Но если предметов два или несколько, то удаляется только один. Чтобы убрать два предмета, нужно в диалоге делать два экшена.  Нашел такую функцию.

Спойлер


function esc_teleport_scaner_1_out(actor, npc)
    dialogs.relocate_objects_ot_actor("teleport_scaner_1")
end
function relocate_objects_ot_actor(target_item)
    local victim=db.actor
    local function calc(temp,item)
        if item~=nil then
            if item:section()==target_item then
                if alife():object(item:id()) then
                    alife():release(alife():object(item:id()),true)
                    news_manager.relocate_item(db.actor,"out",target_item)
                end
            end
        end
    end
    victim:iterate_inventory(calc,victim)
end

Эта функция убирает все предметы с данным именем. Есть в рюкзаке 10 автоматов, то уберет все подчистую. Вопрос такой. Как доработать первую функцию?


function relocate_object_ot_actor(item)
    local obj = db.actor:object(item)
    if obj ~= nil then
        alife():release(alife():object(obj:id()), true)
    end
    news_manager.relocate_item(db.actor,"out",item)
end

Чтобы можно было задать число удаляемых предметов.

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


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

Зачем изобретать велосипед?

Файл dialogs.script

Функция relocate_item_section_from_actor

Скопируйте её и назовите, например, remove_item_section_from_actor

Там где объекты трансферятся замените на их удаление. Счетчик все-равно будет исправно работать и выдаст в диалоге, какое количество объектов "передано" от ГГ.

Получите в файле две функции. Одна,  родная пысовская,  будет трансферить,  другая,  ваша , будет удалять.

Не сложно объяснил?

  • Лайк 1

Терпение... И все получится.

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


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

[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : ...all of pripyat\gamedata\scripts\death_manager.script:32: attempt to perform arithmetic on a nil value

помогите пожалуйста решить проблему

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


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

помогите пожалуйста решить проблему

Или накосячили в конфигах.

Или прописали новую группировку, но не добавили её туда куда нужно.

 

  • Лайк 1

Терпение... И все получится.

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


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

Подскажите конфиги, чтобы нпс стрелял с двустволки с паузой между ввстрелами, а то нпс практически одновременно делает сразу 2 выстрела.


Не ... Сталкер могут сделать только русские.
© С. Григорович.                                                                                                                                                                         03.10.2014

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


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

Graff46 Это скорее всего не в конфиге, а в движке.


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

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


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

Мне нужна функция, которая удаляет предмет из инвентаря гг во время диалога. Подскажите, пожалуйста.

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


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

Крим

function name()
	alife():release(alife():object("секция_предмета"),true)
end
--Вызвать функцию из диалога с помощью <action>

 

  • Спасибо 1

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


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

Вылет при убийстве нпс новой группировки

подскажите пожалуйста

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


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

Вылет при убийстве нпс новой группировки

подскажите пожалуйста

У меня нога болит, от ж.пы до мизинца.

Подскажите пожалуйста.?

Лог вылета где?


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

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


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

[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : ...all of pripyat\gamedata\scripts\death_manager.script:150: attempt to index field '?' (a nil value)

Извините, я думал по проблеме будет ясна причина

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


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

Volodymyr недоделал где-то группировку. Забыл как минимум дроп им прописать в конфигах


76561198152189716.png

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


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

В конгигах death items? А в death items count что-то нужно писать?

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


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

Volodymyr смотри по примерам других группировок, также сделай

плюс в самом менеджере есть строка, там у тебя эта группировка есть? 

local community_list = { "stalker", "dolg", "freedom", "bandit", "army", "zombied", "ecolog", "killer", "monolith" }

Если да, то прописать ее точно нужно в тех конфигах. Если нет, то я тебе неправильно говорю что-то. Я никогда не делал группировки)

Изменено пользователем ian98
  • Лайк 1

76561198152189716.png

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


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

attempt to index field '?' (a nil value)

Тут должно было быть имя функции или переменной, но его нет (в данном случае: '?').

Это значит, что ее например, вызвали по числовому индексу из таблицы или еще как-то, причины могут быть разные.

А общий смысл - то, с чем пытались совершить указанное действие, не имеет имени.


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

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


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

Вопрос 1: как задать логику мутанту, заспавненному через скрипт. Сама логика есть (условно - патрульный путь от точки до точки), но как привязать её к конкретному (квестовому) мутанту? И будет ли работать на мутантах функция логики on_info = {=npc_in_zone(restrictor_name)}?

Вопрос 2: возможно ли сделать через стандартную ЗП-шную систему апгрейдов, смену ХУД-визуала оружия? По логике можно в конфиге апгрейда дописать строку "hud = "новый_блок_худа_из_конфига_пушки"", но естественно оно не работает. Либо в скрипте inventory_upgrades.script создать новую функцию, подменяющую модели на новые при апгрейде, но вид этой функции пока не могу даже представить себе. Либо такое вообще никак не реализовать?

Вопрос 3: как сделать возможность действия на обьекте (например как в ЗП заложить взрывчатку на дверь или осмотреть вертолёт), с выдачей инфопоршня после действия. Где-то давно встречал урок на эту тему, но сейчас найти так и не смог.
Также интересно узнать, как проиграть партикл (взрыва например) по определённым координатам, с вызовом через скрипт.



ASUS z87-k, I5-4670 @3.40GHz, MSI GTX 1050ti, 16gb ОЗУ, SSD 100gb, 2xHDD 500gb,
Windows 10 Pro. Аномали на ультрах летает. Вместе с компом по комнате.

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


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

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

Через кастом дату объекта спавна.

[jup_b16_pseudodog_strong]:psy_dog
...
custom_data = scripts\jupiter\jup_b16_pseudodog_strong.ltx
17 минут назад, Сталкер из прошлого сказал:

как сделать возможность действия на обьекте

В оригинале есть - посмотрите, как там реализовано, никаких сложностей. Например файл логики рестрикора осмотра вертолета: zat_b28_heli_3.ltx

17 минут назад, Сталкер из прошлого сказал:

как проиграть партикл (взрыва например) по определённым координатам

xr_effects.play_particle_on_path

Пример использования из логики:

=play_particle_on_path(damage_fx\smoke:jup_b41_steam_1)
17 минут назад, Сталкер из прошлого сказал:

Вопрос 2

Или возня с нетпакетами или использовать кастомный движок с реализацией ваших фантазий.

Изменено пользователем denis2000
  • Мастер! 1

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

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


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

На только одной локации враждебные НПС не видят ГГ вплотную. Если выстрелить, то НПС начинают паниковать, изредка стреляя в ГГ, но кидают гранаты. Пересобирал АИ сетку и спавн несколько раз, сетка не драфт. Также я проверял видимость ГГ для НПС функцией

npc:see(db.actor)

Возвращает false. Подскажите в чем может дело быть.

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

Не ... Сталкер могут сделать только русские.
© С. Григорович.                                                                                                                                                                         03.10.2014

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


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

Как сделать, чтобы при столкновении с препятствием проигрывалась анимация?

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


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

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

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

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

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

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

Войти

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

Войти

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