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

Скриптование


Svoboда

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

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

 

; cse_abstract properties
section_name = breakable_object
name = meshes\benzovoz_gaz.ogf
position = 441.0413,35.7639,-14.7129
direction = -0.00700339116156101,-0.108852192759514,0.412739604711533

; cse_alife_object properties
game_vertex_id = 293
distance = 0
level_vertex_id = 1689772
object_flags = 0xffffffba

; cse_visual properties
visual_name = meshes\benzovoz_gaz

; cse_alife_object_breakable properties
health = 1

 

но когда ГГ стреляет по нему авто падает вниз под карту как это исправить. Извените если вопрос тупой З.Ы. если что пост удалю

Изменено пользователем Якут

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


Ссылка на сообщение

Товарищи сталкеры помогите, создал НПС в ЗП и в логике у него написал следующие

active = kamp@koster_marsh_baza01

combat_ignore = 10

[kamp@koster_marsh_baza01]

center_point = kamp_center_marsh01

meet = meet_guide

combat_ignore_cond = always

 

в way написал

 

points = p0

p0:name = wp00|a=sit_ass

p0:position = -157.044052124023,0.613676309585571,-310.872619628906

p0:game_vertex_id = 1070

p0:level_vertex_id = 65989

 

 

подскажите пожайлуста как решить следующие проблемы

1)НПС стоит около костра, а не сидит

2)не хочет разговаривать

3)не как не реагирует если я в него выстрелю

P.S. это моя первая логика :rolleyes:

Изменено пользователем Якут

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


Ссылка на сообщение

AKKK1, MustaNG, _Призрак_ спасибо вам за помощь вот смотрите что получилось

[logic] 
active = walker@coster_marsh_baza_01 
danger = danger_ignore@coster_marsh_baza_01 
anim = desk_idle 

[danger_ignore@coster_marsh_baza_01] 
ignore_distance = 5

[walker@coster_marsh_marsh_baza01]
path_walk = koster01_stalker01_baza
path_look = koster01_marsh_look
meet = meet_guide@coster_marsh_baza_01 

[meet_guide@coster_marsh_baza_01] 
close_anim = nil 
close_victim = nil 
far_anim = nil 
far_victim = nil 
close_distance = 0 
far_distance = 0 
close_snd_distance = 3 
abuse = false 
use = {=actor_enemy} false, true 
allow_break = false 
meet_on_talking = false 
meet_on_talking = false 

 

way

[koster01_marsh_look]
points = p0
p0:name = wp00|a=sit_knee
p0:flags = 0x1
p0:position = -157.044052124023,0.613676309585571,-310.872619628906
p0:game_vertex_id = 1070
p0:level_vertex_id = 65989


[koster01_stalker01_baza]
points = p0
p0:name = wp00|a=sit_knee
p0:flags = 0x1
p0:position = -158.81573486328,0.60850393772125,-312.81994628906
p0:game_vertex_id = 1070
p0:level_vertex_id = 64634

 

 

сталкер как и нужно сидит около костра разговаривает и реагирует на стрельбу в его адрес.

еще раз спасибо

Изменено пользователем Якут

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


Ссылка на сообщение

Товариши сталкеры, скажите пожайлуста кто знает. Как называется состояние тела НПС когда он сидит на стуле как медики в лагерях?

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


Ссылка на сообщение

Товарищи сталкеры, как сделать в ЗП чтобы при проверки предмета в инвентаре актера происходил спавн НПС. Вот функции по отдельности

проверка

function proverka_pda_tryp()

if db.actor:object("pda_tryp") then

return true

end

return false

end

спавн

function spawn_zasada_merc()

alife():create("merc_zasada_01", vector():set(57.167991638184, 10.893405914307, 367.46084594727), 1059286, 137)

alife():create("merc_zasada_02", vector():set(53.669364929199,12.433765411377,375.51013183594), 1053811, 137)

alife():create("merc_zasada_03", vector():set(54.97501373291,11.896924972534,356.54852294922), 1056593, 138)

end

а как их совместить не знаю.Сорри если вопрос глупый :ny_ph34r_1:

Изменено пользователем Якут

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


Ссылка на сообщение

У меня такой вопрос товарищи сталкеры, как выглядит логика НПС который идет за игроком в Зов Припяти?

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


Ссылка на сообщение

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

active = walker@zaton_layr_0001

danger = danger_ignore@zaton_layr_0001

 

[danger_ignore@zaton_layr_0001]

ignore_distance = 5

 

[walker@zaton_layr_0001]

def_state_standing = ward_noweap

path_walk = zaton_otomstit_stalker_01_way

path_look = zaton_otomstit_stalker_01_look

invulnerable = true meet = meet@zaton_layr_0001

on_info = {+info_zaton_layr_0001} walker@zaton_layr_000101

 

[walker@zaton_layr_000101]

invulnerable = true

path_walk = zaton_otomstit_stalker_02_way

on_signal = path_end | walker@zaton_layr_00011 %+zaton_layr_0001_kvest%

 

[walker@zaton_layr_00011]

invulnerable = true

path_walk = zaton_otomstit_stalker_03_way

on_info = {+info_zaton_layr_tryp_1} remark@zaton_layr_00111

 

[remark@zaton_layr_00111]

anim = ward_noweap

path_walk = zaton_otomstit_stalker_03_way

target = story | actor

no_move = true

meet = meet@zaton_layr_0001

 

[meet@zaton_layr_0001]

close_anim = nil

close_victim = nil

far_anim = nil

far_victim = nil

close_distance = 0

far_distance = 0

close_snd_distance = 3

abuse = false

use = {=actor_enemy} false, true

allow_break = false

meet_on_talking = false

meet_on_talking = false

 

Можно ли как-то запретить этому НПС обыскивать трупы

Изменено пользователем Якут

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


Ссылка на сообщение

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 эффекта нуль.

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

Изменено пользователем Якут

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


Ссылка на сообщение

Ренсон, есть вот такая функция

function delete_marsh_haker_stalker()

for a=10,65635,1 do

local obj=alife():object(a)

if obj and string.find(obj:name(),"marsh_haker_stalker") then

alife():release(obj,true)

end

end

end

 

 

Она позволяет удалить не только НПС, но и монстров, динамические объекты, рестрикторы и т.п.

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


Ссылка на сообщение

Всем привет, кто-нибудь знает как выглядит скрипт по ограблению ГГ т.е. каким образом можно удалить всё из инвентаря, и забрать у ГГ все деньги? Речь идет о ЗП. Зарание спасибо.

 

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

strelok200, вот есть такая функция. Один её недостаток достаточно сильно тормозит игру вовремя выполнения(это где-то секунда), но зато позволяет удалить не только НПС но и другие объекты, не по сиду, а просто по названию самого объекта.

 

function delete_stalker_bandit_cutscena_zasada_bandit()

for a=10,65635,1 do

local obj=alife():object(a)

if obj and string.find(obj:name(),"marsh_b8_bandit_cutscene_bandit_zasada1") then

alife():release(obj,true)

end

end

 

Изменено пользователем Якут

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


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

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


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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