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

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

 
 

Policai а там как раз неровная поверхность. Можно сделать по типу wallmarks, но динамично?

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


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

Можно сделать по типу wallmarks, но динамично?

Чисто теоретически, можно заспавнить в этом месте объект типа взрывчатки у которого волмарк взрыва не черное пятно explosion_marks, а капли крови и "взорвать". В месте "взрыва" останется ВРЕМЕННЫЙ волмарк нужной текстуры.


  В 04.01.2021 в 07:25, Рыж сказал:

Как сделать, чтоб аномалия электра отключилась

Скриптом вызывать движковый метод, применительно к объекту-аномалии:

object:disable_anomaly() 

 это полностью отключит аномалию.

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

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

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 04.01.2021 в 12:19, denis2000 сказал:

Чисто теоретически, можно заспавнить в этом месте объект типа взрывчатки у которого волмарк взрыва не черное пятно explosion_marks, а капли крови и "взорвать". В месте "взрыва" останется ВРЕМЕННЫЙ волмарк нужной текстуры.

А можно подробнее? Что и где мне делать?

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


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

AziatkaVictor Я же говорю - теоретически, сам не проверял. Пробуйте создать секцию объекта explosive_wallmark на базе класса S_EXPLO, там убрать все сопутствующие взрыву эффекты (партиклы, звуки, поражающий эффект и тд. и тп.) главное параметр wallmark_section = explosion_blood_marks - задающий секцию описывающую метку на месте взрыва.

[explosion_blood_marks]
wallmarks   = wm\wm_blood_1
dist        = 0.5
size        = 0.6
max_count   = 20


Затем заспавните этот объект и подорвите его:

local s_obj = alife():create( "explosive_wallmark", ...position, ...level_vertex_id(), ...game_vertex_id() )

level.add_call(
	function ()
		if s_obj.online then 
			return true 
		end 
	end,
	
	function ()
		level.object_by_id( s_obj.id ):explode(0)
	end
				)

И еще раз хочу обратить внимание, что метки после взрывов со временем исчезают. Поэтому метод сугубо костыльный и нетривиальный.

  • Лайк 1
  • Спасибо 1

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

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


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

Столкнулся с забавной штуковиной... Никогда раньше не декомпилил и не собирал level.spawn с помощью ACDC, но все когда-то бывает впервые.?

Декомпилил нормально, добавил недостающих секций и level.spawn разобрался без ошибок.
Но вот собираться, не желает. Выдает ошибку:

FATAL ERROR!
Function: main::check_story_ids
Line: 1875
Description: object esc_kpp_graph_point has same story id as esc_baza_graph_point ()

Гугл перевел: объект esc_kpp_graph_point имеет тот же идентификатор истории, что и esc_baza_graph_point.

Вот эти две секции:

  Показать контент

И я не понимаю, что в них одинакового? Где этот "одинаковый story id"?

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

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

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


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

WolfHeart у обоих секций одинаковый ID.
Измени на любой свободный ID.

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

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


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

WolfHeart  Баг распаковки Дим скорее всего, если не ошибаюсь мой Кордон? В нём нет графпоинтов с одинаковым айди., сказал бы что нужно, я бы скинул нужные файлы..))


Группа мода в VK
Мод делался и тестировался на железе
i5-11400, 32Гб ОЗУ, Radeon RX580  Разрешение 2560 х 1440.  ВСЕ на максималке

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


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

Никогда раньше не декомпилил и не собирал level.spawn с помощью ACDC, но все когда-то бывает впервые

Просто интересно. А зачем нужно распаковывать level.spawn ?

Можно просто распаковать all.spawn, добавить нужные секции, собрать. 

В чем фишка?


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

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


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

у обоих секций одинаковый ID.

id = 65535, одинаков у всех секций. Это не то.

  В 05.01.2021 в 16:57, Policai сказал:

сказал бы что нужно, я бы скинул нужные файлы..))

Да Юр именно твой Кордон.

Да самому как-то интересней. ?
Но скорее всего придется к тебе обратится.

  В 05.01.2021 в 17:06, makdm сказал:

В чем фишка?

А вот и не скажу. Попробуй сам догадаться. ?

Это-же вроде твоя работа:

  Не смотреть (Показать контент)

 


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

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


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

id = 65535, одинаков у всех секций. Это не то.

 

Вы думаете, например, что уникальный ник может оставаться уникальным если его используют несколько раз и несколько человек?
Сомневаюсь, что вылетает не из-за одинаковых ID.

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

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


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

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

id = 65535, на сколько я понимаю, это не story id, а максимальное их кол-во.

Повторюсь, они во всех секциях и всех level.spawn, всех уровней одинаков.

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

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

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


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

А вот и не скажу. Попробуй сам догадаться

 

  В 05.01.2021 в 17:21, WolfHeart сказал:

Это-же вроде твоя работа

Понятно. Античит решил отключить.

Правда для этого необязательно лезть в all.spawn, а тем более в level.spawn

Всё гораздо проще.....

Успехов!

 

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

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

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 05.01.2021 в 18:02, makdm сказал:

Античит решил отключить.

Ну почему сразу отключить? Это не сама цель. Интересно понять как он работает. ?


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

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 05.01.2021 в 18:04, WolfHeart сказал:

Интересно понять как он работает

Скрипты.... И только скрипты!


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

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 05.01.2021 в 18:02, makdm сказал:

Правда для этого необязательно лезть в all.spawn, а тем более в level.spawn

Всё гораздо проще.....

В all.spawn, я ничего не нашел, только в level.spawn каждого уровня.

  В 05.01.2021 в 18:05, makdm сказал:

Скрипты.... И только скрипты!

А вот с этим горазда сложнее. Я с ними как-то не подружился. Да и поиск ничего не дал такого, что как-то указывало на нужное и понятное мне.


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

Тезка, ты хоть на ушко на свисти, в каком скрипте искать, может и разберусь что к чему.?

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

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

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 05.01.2021 в 18:11, WolfHeart сказал:

что как-то указывало на нужное и понятное мне.

Здесь все просто.

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

Если менялось - игрок читерит.

Сразу вылет на рабочий стол.

Вот и вся наука....

 


Дополнено 7 минуты спустя
  В 05.01.2021 в 18:11, WolfHeart сказал:

ты хоть на ушко на свисти, в каком скрипте искать, может и разберусь что к чему

Начни со скриптов в файле xr_conditions.script

Функции actor_has_super_rank  и actor_has_rank

Изменено пользователем makdm
  • Лайк 1
  • Спасибо 1

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

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


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

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

Это понятно, вот только не все параметры он контролирует. Некоторые можно менять и вылета нет. Значит он контролирует какие-то определенные параметры, а не все. Из этого следует, что эти параметры, как-то должны в нем прописываться. Так вот поиск ничего не дал такого что-бы указывало на нужные мне параметры.

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


Дополнено 1 минуту спустя
  В 05.01.2021 в 18:17, makdm сказал:

Начни со скрипта в файле xr_effects,script

Функция actor_has_super_rank

А вот за наводку спасибо!

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

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

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 05.01.2021 в 18:25, WolfHeart сказал:

А вот за наводку спасибо!

Я там файл поправил. Не промахнись!!!!

  • Лайк 1

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

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


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

Функции actor_has_super_rank  и actor_has_rank

Е нет в xr_effects.script.

Она есть только в xr_conditions.script и в xr_motivator.script


Дополнено 0 минут спустя
  В 05.01.2021 в 18:30, makdm сказал:

Я там файл поправил. Не промахнись!!!!

Ага, увидел уже.


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

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


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

makdm понапридумывают античиты, а нам потом ковыряйся) Благодарствую, давно искал)

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


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

Добрый вечер.  Присоединил к Зову Припяти Кордон от Чистого Неба.  Убедился, что НПС не "открывают двери" (на базе сталкеров). Уткнулись в неё лбом.

  Код из ph_door (Показать контент)

В учебнике Хована по этому вопросу сказано.  Закоментировать строки  if true then return {} end.  Так и сделал.  Двери заработали.   Затем возник вопрос.  А почему, собственно, в обоих функциях проверка на true.  Не сделали ли разработчики Зова Припяти ошибку?   Для теста поправил код на такой.  Чисто чтобы посмотреть, что будет.

 

  Моя правка (Показать контент)

Все заработало без всякого закоментирования.  Вопрос знатокам скриптования, не допустили ли создатели Зова Припяти ошибку, которая осталась незамеченной?
 

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 06.01.2021 в 18:32, Сергей Шубин сказал:

Вопрос знатокам скриптования, не допустили ли создатели Зова Припяти ошибку, которая осталась незамеченной?

Здесь все правильно. Ошибки нет.

Просто изначально функция try_to_open_door(npc) планировалась для НПС, которые не входят в сквады.  Но после того как в ЗП все НПС были переведены в сквады, то необходимость в этой функции отпала. Поэтому и её закомментировали таким хитрым способом:

if true then return {} end

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

В ЗП открытие дверей при приближении  НПС к дверям реализовано в движке.

 

  • Лайк 1
  • Жму руку 1

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

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


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

З.Ы. В моде Припять Точка Отсчета я использовал эти функции., прописав их в биндер монстров. Для того чтобы кровососы, бюреры и контролеры могли открывать двери в помещениях. В логике этих монстров просто добавлен дополнительный параметр can_open_door = true


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

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 06.01.2021 в 23:00, makdm сказал:

Здесь все правильно. Ошибки нет.

Просто изначально функция try_to_open_door(npc) планировалась для НПС, которые не входят в сквады.  Но после того как в ЗП все НПС были переведены в сквады, то необходимость в этой функции отпала. Поэтому и её закомментировали таким хитрым способом:

if true then return {} end

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

В ЗП открытие дверей при приближении  НПС к дверям реализовано в движке.

 

В СГМ 2.2 неписи (бандиты) на базе сталкеров были сквадовые.  И так же долбили двери лбом.  Движку на этих неписей было плевать.  Правда, дверь была прописана как физ.объект.  Причина была в этом?  Что дверь как объект?

  Секция двери (Показать контент)

 

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


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

Всем привет. Хочу поставить метку, подобную той, которой помечают места в ЗП. Но хочу сделать это через логику, нашел секцию, но как я понял, она либо работает только на ТЧ, либо я что-то делаю не так... Сама секция:

[sr_mapspot@start]
hint = esc_dead_hint
location = crcl_big

 

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


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

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

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

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

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

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

Войти

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

Войти

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

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