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

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

Всем привет. Пытаюсь в all.spawn прописать к смарттеррейну респавн изломов:

 

 

[897]
; cse_abstract properties
section_name = respawn
name = kord_izlom_1_respawn
position = -244.820007324219,-11.1999998092651,-7.90000009536743
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = 67
distance = 0
level_vertex_id = 12578
object_flags = 0xffffff3e
custom_data = <<END
[respawn]
respawn_section = fracture_weak
max_spawn = 2
idle_spawn = medium
END

; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 4

; cse_alife_space_restrictor properties
restrictor_type = 0

; se_respawn properties

 

Но спавна к сожалению не происходит. Попробоал тоже самое с котами - никакого спавна. Может я что-то не так сделал?

Всё,что есть в ЗОНЕ, должно быть УЧТЕНО, ПРИПОРЯДКОВАНО и СХОВАНО! (с)

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

iDreD

Сейчас речь идет о ТЧ, поэтому ты не прав.

 

herurg

Советую прописать радиус респавна и подождать нужное количество для респавна времени

Freedom

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

_Призрак_, ты не мог бы по-подробнее чуток? Я лишь недавно начал осваивать all.spawn, не всё могу :) Где что надо изменить?

 

iDreD, я респаун прописал в all.spawn, мне так подсказал один знающий человек, большего я пока не знаю, к сожалению у него проблемы с нетом. Так что узнать что-то новое буду рад.

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

Всё,что есть в ЗОНЕ, должно быть УЧТЕНО, ПРИПОРЯДКОВАНО и СХОВАНО! (с)

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

Как раз таки в ТЧ респаун прописывается в рестрикторе.

==========================

Если быть точным для респауна есть спец. секция в ТЧ: stalkerin.gameru.net/wiki/index.php/SoC._Respawn

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

Обязательные условия респавна:

 

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

 

2. Респавн производится, только если под гулагами есть доступные работы.

 

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

Всё,что есть в ЗОНЕ, должно быть УЧТЕНО, ПРИПОРЯДКОВАНО и СХОВАНО! (с)

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

herurg,

это вольный и не совсем точный пересказ se_respawn.script и xr_gulag.script

Если коротко, то респавнеры в ТЧ при спавне пытаются пристроить НПЦ в какой-нибудь гулаг. Если не получается, то заспавненный НПЦ сразу же уничтожается. По-видимому ты для своих изломов не сделал гулага, вот респавнер якобы и не работал.

Для принятия в гулаг нужно выполнить кучу условий: там должны быть свободные работы, НПЦ должен подходить гулагу по группировке и прочее...

 

Одна из не точностей кстати, что на локации с респавнером должен быть гулаг. Гулаг может быть где угодно, главное чтобы НПЦ туда могли взять. В том же ТЧ все ровно наоборот - гулаги заполняются респавнерами, находящимися на других локациях. Из-за этого на свалке у ангара может возникать непрерывный поток бандитов, так как свалка фактически представляет собой перекресток для НПЦ, расходящихся по своим гулагам.

 

Хочешь точно знать, что происходит - изучай скрипты, а так довольствуйся тем, что для респавнящихся НПЦ должно быть свободное место в гулаге

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

Gektor, новую локу нужно регистрировать в скриптах, скорее у тебя из-за этого и не спавниться сквад:

1) scripts\sim_board.script - добавление в симуляцию.

2) scripts\smart_terrain.script - менеджер смарт-террейнов

3) scripts\surge_manager.script - выброс

4) scripts\task_objects.script - межуровневые проводники

Подробное описание, что где править есть на Вики.

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

 

Добавлено через 235 мин.:

Всем доброго вечера, кто-нибудь знает, что нужно прописать в логику НПС, чтобы он стал враждебным, по отношению к актеру или другому НПС(по умолчанию нейральному ему). Пробовал прописывать combat_enemy = actor эффекта нуль.

Зарание, спасибо.

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

И снова здравствуйте! Я с очередным вопросом: Можно ли отследить наличие прицелов\глушителей\подствольных гранатомётов на оружии? Если да то как?

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

TRAMP14

Можно через нет-пакеты.

 

Читаешь стандартный нет-пакет оружия (функцией из АМК, например), и смотришь параметр addon_flags. Он будет иметь значение от 0 до 7 (111 в двоичной системе):

Аддоны:

0 = 000 = ничего

1 = 001 = пр

2 = 010 = пг

3 = 011 = пр + пг

4 = 100 = гл

5 = 101 = пр + гл

6 = 110 = пг + гл

7 = 111 = пр + пг + гл

 

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

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

может кому поможет - иногда нпс ведут себя не так как хотелось бы ,то шарахаются от каждого куста ,то по монстрам почти пробегают не замечая их.Так вот разбираясь со слишком пугливым поведением шайки волка из ТТ ,заметил что у них стоит анимка для путей assault ,которая обозначает движение в денжере ,как только убрал эту анимку все нпс "успокоились"

assault = { weapon = "unstrapped",

movement = move.run,

mental = anim.danger,-------так что прописывая анимацию нпс обращайте внимание на эту строку в списке анимаций

bodystate = move.standing,

animstate = "stand",

animation = nil

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

Ребята, я пытаюсь написать скрипт для ТЧ, что бы при определённо одетом котюме проигрывался звук "дыхания", я "очень не сильно" рабираюсь в скриптах, но с горем пополам что то написал, но в итоге оно не работает, подскажите пожалуйсто, где ошибка? Заранее спасибо.

Собственно вот он:

local outfits={

"stalker_gas_outfit",

"military_stalker_commander_outfit"

}

 

local snd = xr_sound.get_safe_sound_object([[actor\sopit]])

 

function protivogaz_sound()

if db.actor and db.actor:alive() then

local outfit = db.actor:item_in_slot(6)

if outfit and outfit:section() and outfits[outfit:section()] then

if not snd:playing() then

snd:play_at_pos(db.actor, vector ():set (0, 0, 0), 0, sound_object.s2d)

end

end

end

end

 

 

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

Ulman

 

В play_at_pos, насколько я понимаю, первый аргумент - от чьего имени играется звук, второй - позиция относительно уровня, а не относительно "автора" звука. Третий аргумент не помню зачем, как бы не громкость, в любом случае он не обязателен, как и четвертый.

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

Попробуй так:

snd:play_at_pos(db.actor, device().cam_pos)

 

P.S. Всю функцию на апдейт актора, само собой.

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

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

Kirag'

Поправлю:

Допускается и строка с аргуметами как у Ulman'а, т.е. 'play_at_pos' выполняется не 'от имени кого-то', а относительно какого-либо объекта (1-ый аргумент).

2-ой аргумент - вектор позиции (координаты точки), относительно того объекта, который указан в 1-ом аргументе.

Т.е.

snd:play_at_pos(db.actor, vector():set( 0, 0, 0), 0, sound_object.s2d) --/ играть звук 'в голове' актора (без задержки, моно)

snd:play_at_pos(db.actor, vector():set( 1, 0, 1), 3, sound_object.s3d) --/ играть звук относительно актора впереди-справа (с задержкой 3 сек, стерео)

snd:play_at_pos(db.actor, vector():set(-1, 0, 1), 0, sound_object.s2d+sound_object.loop) --/ играть звук относительно актора впереди-слева (без задержки, моно,зацикленно)

и т.п.

 

3-ий аргумент - задержка звука (сек)

4-ый аргумент - константа (из набора свойств класса 'sound_object': s2d|s3d|loop -> моно/стерео/зацикленно)

Т.о. строка проигрыша звука корректна. Вероятно ошибка в вызове самой функции проигрывания звука или обработке наличия допустимой секции.

 

Примечание: vector():set(0,0,0) - просто некий вектор(объект) 'нулевой длины' (а не относительно начала координат локации)

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Всем привет! Решил скриптово добавить новую консольную команду. Создал файл console_addon.script с таким содержимым:

function update()

local console = get_console()

if console == "get.weap()" then spawner()

else return

end

 

function spawner()

alife():create("wpn_ak74", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())

end

 

И прописал строчку console_addon.update() в апдейт в файле bind_stalker. Ну, суть в том, чтобы при наборе в консоли get.weap() в рюкзаке появлялся АК-74 (это к примеру). Игра вылетала при загрузке с логом заканчивающимся .. to index global "console_addon" (как-то так). Решил запихнуть содержимое скрипта целиком в bind_stalker. Вылетать перестало, игра запускается, но при наборе команды в консоли выдает, что команда неизвестна (эту надпись, как я понял, скриптом не уберёшь), и рюкзак остаётся пустым. Собственно, вопрос: что не так и как можно доделать скрипт, чтобы можно было вызывать команду с к-л параметром, а не переделывать скрипт каждый раз? Например, так: get.weap wpn_ak74 или get.weap wpn_pm. Помогите, плиз, я в скриптах дуб дубом...

yjNrc.gif

dSQwF.png

oZ8SF.png

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

Massaraksh,

Решил скриптово добавить новую консольную команду.

Это не получится.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

Люди, я опять по поводу своего скрипта, ничего не изменял, только теперь всё время такой вылет, да и не работает:

Expression : fatal error

Function : CScriptEngine::lua_error

File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp

Line : 73

Description : <no expression>

Arguments : LUA error: ...$\s.t.a.l.k.e.r\gamedata\scripts\bind_stalker.script:302: attempt to index global 'ulman_outfit_sound' (a nil value)

 

Саму функцию вызываю через бинд сталкер так:

game_stats.update (delta, self.object)

ulman_outfit_sound.sound_update()

Уже не знаю что делать, помогите пожалуйсто.

 

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

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

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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