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

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


Svoboда

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

У меня вот такой вопрос-сделал такую догику-

[smart_terrains]

none = true

 

[dont_spawn_loot]

 

[logic]

active = remark

combat_ignore = combat_ignore

 

[remark]

anim = hello_wpn

target = actor

combat_ignore_cond = always

meet = meet

 

[meet]

meet_state = 10|guard@wait

meet_state_wpn = 10|backoff2@threat_back

victim = 10|actor

victim_wpn = 10|actor

use = true

use_wpn = false

syndata = backoff2@threat_back

 

[combat_ignore]

combat_ignore_cond = always

 

НПСи должны стоять на месте и впринципе стоят, но если они куда-нибудь отходят-собак пострелять или труп обобрать, то остаются стоять там и на своё место возвращаться не хотят. Можно это как-нибудь исправить?

П.С. - схемы walker или camper не подходят т.к. all.spawn править нельзя - делаю небольшое дополнение к народной солянке и со all.spawn не хочу связываться, да и руки кривоваты.

 

gruber спасибо помогло.

А можно всё-таки сделать что-бы они возвращались на место спавна?

Изменено пользователем @"StreloK"

Prefiero morir de pie, que vivir siempre arrodillado.
 

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


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

Может кто подсказать-как задать безопасную область чтобы АМКшные динамические аномалии перестали там появляться?

 

 

Prefiero morir de pie, que vivir siempre arrodillado.
 

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


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

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

[ohran_dok_ohr1_look]

points = p0,p1

p0:name = wp00

p0:flags = 0x1

p0:position = -72.874565,2.859914,241.272919

p0:game_vertex_id = 986683

p0:level_vertex_id = 4385

 

p1:name = wp01

p1:flags = 0x2

p1:position = -59.896366,2.236728,260.096558

p1:game_vertex_id = 101436

p1:level_vertex_id = 4385

 

[ohran_dok_ohr1_walk]

points = p0,p1

p0:name = wp00

p0:flags = 0x1

p0:position = -72.874565,2.859914,241.272919

p0:game_vertex_id = 986683

p0:level_vertex_id = 4385

p0:links = p1(0)

 

p1:name = wp01

p1:flags = 0x2

p1:position = -59.896366,2.236728,260.096558

p1:game_vertex_id = 101436

p1:level_vertex_id = 4385

p1:links = p0(1)

 

[smart_terrains]

none = true

 

[logic]

active = walker

 

[walker]

path_walk = ohran_dok_ohr1_walk

path_look = ohran_dok_ohr1_look

 

ПС Может ошибка из-за того что нпс спавнится из секции болот от ЧН, а сам находится на болотах из билда?

 

Prefiero morir de pie, que vivir siempre arrodillado.
 

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


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

Такой вопрос-никто не подскажет как заспавнить стреляющую пулемётную турель?

Prefiero morir de pie, que vivir siempre arrodillado.
 

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


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

Может кто подсказать логику для мутантов что-бы сидели на точке и "поджидали" ГГ?

заспавнил несколько снорков с такой логикой-

custom_data = <<END

[spawner]

 

[smart_terrains]

none = true

 

[logic]

active = mob_walker

 

[mob_walker]

path_walk = gen_snork_walk_1

path_look = gen_snork_look_1

 

END

 

[gen_snork_walk_1]

points = p0

p0:name = wp00

p0:flags = 0x1

p0:position = 194.390305,28.537868,-567.909119

p0:game_vertex_id = 3238

p0:level_vertex_id = 529659

 

[gen_snork_look_1]

points = p0

p0:name = wp00

p0:flags = 0x1

p0:position = 199.812500,28.537348,-564.765869

p0:game_vertex_id = 3238

p0:level_vertex_id = 534797

 

На точке они сидят но на ГГ и враждебных им НПС и мутантов реагируют только когда они вплотную подойдёт, даже на выстрела с небольшого расстояния невсегда реагируют, только рычат.

 

Prefiero morir de pie, que vivir siempre arrodillado.
 

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


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

Может кто подсказать в чём ошибка?

Создал точку респавна

[40000]

; cse_abstract properties

section_name = respawn

name = cit_gulag_1_restavn

position = -21.257427,7.384156,103.735580

direction = 0,0,0

 

; cse_alife_object properties

game_vertex_id = 2840

distance = 7

level_vertex_id = 333765

object_flags = 0xffffff3e

custom_data = <<END

[respawn]

respawn_section = cit_freedom_nauchniy, 4, cit_freedom_general2, 10, esc_ohr_menala_2, 5

max_spawn = 5

idle_spawn = medium

END

 

; cse_shape properties

shapes = shape0

shape0:type = sphere

shape0:offset = 0,0,0

shape0:radius = 1

 

; cse_alife_space_restrictor properties

restrictor_type = 0

 

; se_respawn properties

 

 

и зону его активации-

[40001]

; cse_abstract properties

section_name = space_restrictor

name = cit_gulag_1_restavn_aktiv

position = -21.257427,7.384156,103.735580

direction = 0,0,0

 

; cse_alife_object properties

game_vertex_id = 2840

distance = 0

level_vertex_id = 333765

object_flags = 0xffffff3e

custom_data = <<END

[logic]

active = sr_idle@in

 

[sr_idle@in]

on_actor_inside = %=cit_gulag_1_restavn% sr_idle@out

 

[sr_idle@out]

on_actor_outside = sr_idle@in

 

END

 

; cse_shape properties

shapes = shape0

shape0:type = sphere

shape0:offset = 0,0,0

shape0:radius = 10

 

; cse_alife_space_restrictor properties

restrictor_type = 3

 

И получил вот такой лог-

! Missing ogg-comment, file:  e:\games\stalker\gamedata\sounds\meet_phrases\no_meet.ogg
[16-9] get_xml_name for[game_tutorials.xml] returns [game_tutorials.xml]
[16-9] get_xml_name for[ui_credits.xml] returns [ui_credits.xml]
[16-9] get_xml_name for[ui_movies.xml] returns [ui_movies.xml]
Intro start 4408
* MEMORY USAGE: 286828 K
! Cannot find saved game ~~~ object 'gar_tuman_1': pick_section_from_condlist: function 'cit_gulag_1_restavn' is not defined in xr_effects.script
* Log file has been saved successfully!

FATAL ERROR

[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: e:\games\stalker\gamedata\scripts\_g.script:1121: bad argument #2 to 'format' (string expected, got no value)


stack trace:

 

Я так понял он не идентифицируется в xr_effects.script, в чём как её исправить?

Изменено пользователем @"StreloK"

Prefiero morir de pie, que vivir siempre arrodillado.
 

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


Ссылка на сообщение
AKKK1 нет. А как она должна выглядеть? Делал по статье, но там ничего про функцию вызова вообще не написано. Изменено пользователем @"StreloK"

Prefiero morir de pie, que vivir siempre arrodillado.
 

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


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

Люди может кто подсказать пример логики для мутанта (зомби-гражданский) чтобы днём он находился под mob_fake_death, а ночью переходил в mob_home?

 

Prefiero morir de pie, que vivir siempre arrodillado.
 

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


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

=VENOM= спасибо, правда я уже сам разобрался, но у тебя она по другому немного, надо попробовать.

 

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

У меня зомби перед сном на своё место возвращаются, в квартиры, ото раньше спать ложились где попало как бомжи какие то =) (дело происходит в мёртвом городе).

Prefiero morir de pie, que vivir siempre arrodillado.
 

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


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

=VENOM= я вот так сделал -

custom_data = <<END

[logic]

active = mob_home@zite1

 

[mob_home@zite1]

path_home = kv_21

home_min_radius = 10

home_max_radius = 30

on_info = {=is_day}mob_walker@ttyyda

 

[mob_walker@ttyyda]

path_walk = kv_21

path_look = kv_21_luk

on_signal = kapez | mob_fake_death

 

[mob_fake_death@zitel]

on_actor_dist_le = 5 | nil

on_info = {!is_day}mob_home@zite1

END

 

и

 

[kv_21]

points = p0

p0:name = wp00

p0:flags = 0x1

p0:position = -125.097282409668,2.88700437545776,129.930755615234

p0:game_vertex_id = 2819

p0:level_vertex_id = 213940

 

 

[kv_21_luk]

points = p0

p0:name = wp00|sig=kapez

p0:flags = 0x1

p0:position = 31.2718868255615,15.6263113021851,30.4473152160645

p0:game_vertex_id = 2854

p0:level_vertex_id = 390089

 

 

Так что и симуляция "free alife" и на места свои возвращяются.

ПС-не подскажиш как задержку по времени, чтобы зомбарь не падал, как подкошенный сделать?

 

=VENOM= о спасибо за совет надо поправить, правда этих зомбаков - 40 штук =( .

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

Prefiero morir de pie, que vivir siempre arrodillado.
 

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


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

amik лучше сделай так

[smart_terrains]
none = true

[logic]
active = mob_home

[mob_home]
path_home = path1 - точка лагеря
home_min_radius = 10 - мин радиус от дома
home_max_radius = 30 - макс радиус от дома

Prefiero morir de pie, que vivir siempre arrodillado.
 

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


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

Люди может кто помочь с логикой?

Нужно сделать что бы НПС требовал у ГГ убрать оружие из рук, а в случае неубора в течении 10 секунд начинал в него стрелять, после того как ГГ его убирает переходил в другое состояние (после убора НЕПись бьёт ГГ прикладом).

Я начал делать так -

[smart_terrains]

none = true

 

[logic]

active = remark@base

meet = meet

 

[remark@base]

anim = threat_heli

no_move = true

target = actor

meet = meet

on_actor_dist_ge_nvis = 8|walker

on_info = {+info_ybral}remark@ybral

 

[meet]

meet_state = 10|threat_heli

meet_state_wpn = 10|threat_heli

victim = 10|actor

victim_wpn = 10|actor

use = true

use_wpn = true

 

[remark@ybral]

anim = punch

snd = cit_jail_guard_sneer

meet = meet@punch

target = actor

on_signal = sound_end| %=run_cam_effector(fatigue)%

on_actor_dist_ge_nvis = 8|walker

 

[meet@punch]

meet_state = 10|threat_heli

meet_state_wpn = 10|threat_heli

victim = 10|actor

victim_wpn = 10|actor

use = true

use_wpn = true

 

 

[walker]

path_walk = agr_soldier_sniper_1_walk

path_look = agr_soldier_sniper_1_look

 

 

 

 

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

Может кто помочь?

 

Глянь на вики: >>Click Me<< Куфзук

 

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

Куфзук можешь подсказать что не так?

Сделал вот такую логику, а НПСу а он вообще ничего неделает (только по валк-пути ходит) и на то есть оружие у ГГ или нет ему до фени.

[smart_terrains]

none = true

 

[logic]

active = walker@base

combat_ignore = combat_ignore

 

[walker@base]

path_walk = agr_soldier_spesnaz_1_walk

path_look = agr_soldier_spesnaz_1_look

meet = meet

on_actor_dist_ge_nvis = 80|walker

on_info = {+info_ybral}remark@ybral

 

[meet]

meet_state = 50| {+info_yberi} threat_fire %=killactor%, walk@ {+info_yberi} talk_abuse, wait | 10 | walk %+info_yberi%; wait | 2 | threat;state

meet_state_wpn = 50| {+info_yberi} threat_fire %=killactor%, threat@ {+info_yberi} talk_abuse, wait

victim = 10|actor

victim_wpn = 10|actor

use = false

use_wpn = false

 

[remark@ybral]

anim = punch

snd = cit_jail_guard_sneer

meet = meet@punch

target = actor

on_signal = sound_end| %=run_cam_effector(fatigue)%

on_actor_dist_ge_nvis = 8|walker

 

[meet@punch]

meet_state = 10|threat_heli

meet_state_wpn = 10|threat_heli

victim = 10|actor

victim_wpn = 10|actor

use = false

use_wpn = false

 

[walker]

path_walk = agr_soldier_spesnaz_1_walk

path_look = agr_soldier_spesnaz_1_look

 

[combat_ignore]

combat_ignore_cond = always

 

 

А инфопоршень info_ybral, ты как выдаешь? Ты здесь возможно ошибку допустил, у тебя в мите выдаеться инфопоршень info_yberi.

 

Сообщение от модератора Куфзук
Без дабл постов, пожалуйста!

А может кто подсказать-как можно сделать чтобы НПС про получении инфопоршня подбегали к ГГ?

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

Prefiero morir de pie, que vivir siempre arrodillado.
 

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


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

Изменяюсь за даблпост.

Ситуация-ГГ входит в рестриктор то выдаёт инфопоршень, непись появляется за углом (в онлайне) и подбегает к ГГ.

Можно-ли такое сделать?

Prefiero morir de pie, que vivir siempre arrodillado.
 

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


Ссылка на сообщение
stunder как делать спавн при получении инфопоршеня я знаю. А как сделать чтобы он (нпс) подошёл к ГГ?

Prefiero morir de pie, que vivir siempre arrodillado.
 

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


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

Люди может кто подсказать в чём дело?

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

Когда прописал им логику

[smart_terrains]
none = true

[logic]
active = camper

[camper]
path_walk = swamp_mil_walk_1
path_look = swamp_mil_look_1

 

Получаю стабильный вылет -

Expression    : fatal error
Function      : CScriptEngine::lua_error
File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
Line          : 73
Description   : <no expression>
Arguments     : LUA error: e:\games\stalker\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)

Может кто подсказать в чём дело?

Изменено пользователем @"StreloK"

Prefiero morir de pie, que vivir siempre arrodillado.
 

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


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

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

Клиент: Синхронизация...
* phase time: 135 ms
* phase cmem: 191612 K
* [win32]: free[1228952 K], reserved[35648 K], committed[832488 K]
* [ D3D ]: textures[379229 K]
* [x-ray]: crt heap[191612 K], process heap[476210 K], game lua[24436 K], engine lua[162 K], render[0 K]
* [x-ray]: economy: strings[3814 K], smem[0 K]
[16-9] get_xml_name for[game_tutorials.xml] returns [game_tutorials.xml]
[16-9] get_xml_name for[ui_credits.xml] returns [ui_credits.xml]
[16-9] get_xml_name for[ui_movies.xml] returns [ui_movies.xml]
[16-9] get_xml_name for[map_spots.xml] returns [map_spots.xml]
[16-9] get_xml_name for[map_spots_escape.xml] returns [map_spots_escape.xml]
[16-9] get_xml_name for[map_spots_garbage.xml] returns [map_spots_garbage.xml]
[16-9] get_xml_name for[map_spots_agroprom.xml] returns [map_spots_agroprom.xml]
[16-9] get_xml_name for[map_spots_darkvalley.xml] returns [map_spots_darkvalley.xml]
[16-9] get_xml_name for[map_spots_bar.xml] returns [map_spots_bar.xml]
[16-9] get_xml_name for[map_spots_military.xml] returns [map_spots_military.xml]
[16-9] get_xml_name for[map_spots_radar.xml] returns [map_spots_radar.xml]
[16-9] get_xml_name for[map_spots_mp.xml] returns [map_spots_mp.xml]
[16-9] get_xml_name for[map_spots_relations.xml] returns [map_spots_relations.xml]
[16-9] get_xml_name for[map_spots_lchangers.xml] returns [map_spots_lchangers.xml]
! Unknown command:  dbg:!-!-!-_Принудительный_Вылет_-!-!-!

FATAL ERROR

[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: e:\games\stalker\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)


stack trace:

 

 

Можешь что подскозать?

Prefiero morir de pie, que vivir siempre arrodillado.
 

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


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

Artos Ну насчёт солянки это ты зря - чистая бета Восстановление Старого Сюжета. И по обрезать функции мог только автор. Решил на досуге заселить Болота по старым Диздокам от ПЫС.

 

За функцию спасибо, теперь более-менее вразумительный лог.

 

[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
! Unknown command:  ОШИБКА:object 'swanp_soldier_regular_default3': path_walk 'swamp_dok_walk_1' has 1 waypoint, but has no flags
* Log file has been saved successfully!

FATAL ERROR

[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: e:\games\stalker\gamedata\scripts\_g.script:1141: attempt to call global 'exit' (a nil value)


stack trace:

 

 

С первым вылетом справился. Но появился новый --

 

! Unknown command:  ОШИБКА:object 'swanp_soldier_regular_default4': path_walk 'swamp_dok_walk_2', index 0: cannot find corresponding point(s) on path_look 'swamp_dok_look_2'
* Log file has been saved successfully!

FATAL ERROR

[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: e:\games\stalker\gamedata\scripts\_g.script:1141: attempt to call global 'exit' (a nil value)


stack trace:

Изменено пользователем @"StreloK"

Prefiero morir de pie, que vivir siempre arrodillado.
 

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


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

Спавню НПС с такой логикой -

custom_data = <<END

 

[spawner]

cond = {+info_portion_swanp_kvest_adept_1_start}

 

[smart_terrains]

none = true

 

[logic]

on_death = death

active = camper

 

[death]

on_info = %+info_portion_swanp_kvest_adept_1_kill_sniper%

 

[camper]

path_walk = swamp_sniper_merk_walk_1

path_look = swamp_sniper_merk_look_1

sniper = true

END

 

Может кто подсказать проверку на день\ночь? Нужно чтоб он появлялся только ночью, а днём уходил в оффлайн.

 

B штатном 'xr_conditions.script' имеется 'is_day(actor, npc)', но не уверен, что для [spawner] подойдет ...

Обычно это делается в состояниях для гулаговыйх работ, кои у тебя невозможны (гулаги отключены).

--/ Artos

 

Artos, спасибо, попробую. Делать гулаг там бессмысленно ради одноразового ночного снайпера просто.

 

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

Artos, проверка прекрасно работает и снайпер появляется вечером как часы, спасибо.

 

И ещё вопросик - может кто подсказать как сделать, чтобы при обыске трупа ГГ выдавался инфопоршень?

А поднять глаза чуть выше (пост #2643) - что мешает? --/ Artos

 

Сообщение от модератора ColR_iT
Ребята, ну правда, прочитывайте хотябы страниц пять предыдущих постов!
Изменено пользователем ColR_iT

Prefiero morir de pie, que vivir siempre arrodillado.
 

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


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

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