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

Создание нового НПС

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

ZeeK

[logic]
active = remark@base

[remark@base]
meet = meet@01
target = story | nil

[meet@01]
no_move = true
use = {=actor_enemy} true, {=actor_has_weapon} true ,true
meet_dialog    = {!health_le(0.5)} start_dialog_zaton_zombie_n_pomoshnyk_01
wounded = wounded

[wounded]
hp_state = 50 | wounded_heavy@help_heavy
hp_state_see = 50 | wounded_heavy@help_heavy
hp_victim = 50 | nil
hp_cover = 50 | false
hp_fight = 50 | false

 

start_dialog_zaton_zombie_n_pomoshnyk_01 - название твоего стартового диалога

 

{!health_le(0.5)} - это условие я прописал по тому что мой НПС не просил дать ему аптечку когда он ранен (не было у него такого диалога, по тому что мой диалог его перекрывал, а так, если у него хелсов меньше 50 то мой диалог отключается)

 

Думаю что вернуть НПС на место рождения можно только через точки путей (т.е. через all.spawn)

Изменено пользователем Maks
a968682e7d14.jpg
Ссылка на комментарий

В шапке есть ошибка. Вместо

<specific_character id="esc_unik_npc" team_default = "1">

<name>GENERATE_NAME_bandit</name>

<icon>ui_npc_u_stalker_bandit_3</icon>

<bio>esc_wolf_bio</bio>

 

<class>esc_otbrosi_1</class>

<community>dolg</community>

<terrain_sect>stalker_terrain</terrain_sect>

 

<rank>367</rank>

<reputation>-60</reputation>

<money min="600" max="2000" infinitive="1"/>

 

<snd_config>characters_voicehuman_01monolith</snd_config> <crouch_type>-1</crouch_type>

 

<visual>actorsbanditstalker_bandit_3</visual> <supplies> [spawn] n

wpn_groza n

 

ammo_9x39_pab9 n

include "gameplaycharacter_items.xml" n

include "gameplaycharacter_food.xml"

 

</supplies>

include "gameplaycharacter_criticals_3.xml"

include "gameplaycharacter_dialogs.xml"

 

</specific_character>

 

 

Надо:

<specific_character id="esc_unik_npc" team_default = "1">

<name>GENERATE_NAME_bandit</name>

<icon>ui_npc_u_stalker_bandit_3</icon>

<bio>esc_wolf_bio</bio>

 

<class>esc_otbrosi_1</class>

<community>dolg</community>

<terrain_sect>stalker_terrain</terrain_sect>

 

<rank>367</rank>

<reputation>-60</reputation>

<money min="600" max="2000" infinitive="1"/>

 

<snd_config>characters_voicehuman_01monolith</snd_config> <crouch_type>-1</crouch_type>

 

<visual>actorsbanditstalker_bandit_3</visual> <supplies> [spawn] n

wpn_groza n

 

ammo_9x39_pab9 n

#include "gameplaycharacter_items.xml" n

#include "gameplaycharacter_food.xml"

 

</supplies>

#include "gameplaycharacter_criticals_3.xml"

#include "gameplaycharacter_dialogs.xml"

 

</specific_character>

 

Иначе вылет

 

Да и еще. Как сделать так что-бы НПС появлялся и сразу померал.

 

Сообщение от модератора n6260
Если не ошибаюсь просто прописать ему здоровье в ноль.... Вопрос "как заспавнить мертвого НПСа" обсуждался в моддинге несколько раз точно.

 

Дело в том что прописать здоровье 0 можно только в аллспавне или я е прав? Сорри задабл постинг не могу редактироваьт свои сообщения

 

Углан59 спасибо но что значит строка tbl.sid = 48802? Если это айди перса то как его узнать - прописать? Или он любой?

Greh921 не работает. Функция же уже закончена

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

Freedom

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

вот заспавнил непися. Прописал ему логику

 

[smart_terrains]

none = true

[logic]

active = kamp

 

[kamp]

center_point = kamp_center – marsh_baze_koster1

radius = 2

 

А поскольку локация у меня новая, костров нет(я так понимаю из-за этого) игра вылетает. Пробывал спавнить костер через all.spawn, называя его "marsh_baze_koster1". В итоге - нет ни костра, и вылет. ПОсле того, как убираю строки

center_point = kamp_center – marsh_baze_koster1

radius = 2

 

Вылет перестает быть, однако в инвенторе сталкеря появляеться гитара, гармошка.

 

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

Анимация запрещена. N6260

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

f0reSt, так как по твоему он будет сидеть у костра, если написано

 

[smart_terrains]
none = true

???

Thank you for your honesty.

Now fuck off and die.

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

C предыдущей проблемой разобрался. Создал путь в way_ файле и все путем. Но возникла другая проблема. При логике:

[logic]

active = kamp

[kamp]

center_point = koster_baze_centr

radius = 2

def_state_moving = run

 

Непись просто стоит у заданной точке, причем если по нему стрелять - он ноль внимания. Решил помутить с ремарком и сделал вот так:

 

[logic]

active = remark

[remark]

anim = sit_ass

on_signal = action_end | kamp

[kamp]

center_point = koster_baze_centr

radius = 2

def_state_moving = run

.

То непись сидит, если по нему стрелять, он начинает" стрелять в ответ". Но если к нему подоти до начала стрельбы, он встанет и больше не сядет, к томуже, начинаеться старая ситуация про стрельбу. Как бы исправить такое?

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

Анимация запрещена. N6260

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

Доброго времени суток...

Значится так: заспавнил непися

[921]

; cse_abstract properties

section_name = stalker

name = wind_oxrana_patrul

position = -238.55270385742,-20.171489715576,-160.63529968262

direction = 0,0.000113633497676346,0.118211999535561

 

; cse_alife_trader_abstract properties

money = 5000

character_profile = wind_2

 

; cse_alife_object properties

game_vertex_id = 47

distance = 4.90000009536743

level_vertex_id = 16808

object_flags = 0xffffffbf

custom_data = <<END

[logic]

cfg = scripts\wind\wind_2.ltx

[smart_terrains]

none = true

END

 

; cse_visual properties

visual_name = actors\bandit\stalker_bandit_exoskeleton

 

; cse_alife_creature_abstract properties

g_team = 0

g_squad = 1

g_group = 21

health = 1

dynamic_out_restrictions =

dynamic_in_restrictions =

 

upd:health = 1

upd:timestamp = 0

upd:creature_flags = 0

upd:position = -238.55270385742,-20.171489715576,-160.63529968262

upd:o_model = 0

upd:o_torso = 0.000113633497676346,0.118211999535561,0

upd:g_team = 0

upd:g_squad = 1

upd:g_group = 21

 

; cse_alife_monster_abstract properties

 

upd:next_game_vertex_id = 65535

upd:prev_game_vertex_id = 65535

upd:distance_from_point = 0

upd:distance_to_point = 0

 

; cse_alife_human_abstract properties

predicate5 = 0,1,2,0,0

predicate4 = 2,0,2,0

 

; cse_ph_skeleton properties

 

upd:start_dialog =

 

; se_stalker properties

 

 

 

Прописал ему логику

[logic]

active=look

meet = meet

 

 

[look]

path_walk = wind_oxrana_walk1

path_look = wind_look_oxrana

 

 

 

Но непись просто уходит сам незнао куда!!!

В чём я ошибся???

 

Вот кстати way_*

[wind_oxrana_walk1]

points = p0,p1

p0:name = wp00

p0:position = -238.55270385742,-20.171489715576,-160.63529968262

p0:game_vertex_id = 47

p0:level_vertex_id = 16808

p0:links = p1(1)

 

p1:name = wp01

p1:position = -231.13598632813,-20.141889572144,-160.88122558594

p1:game_vertex_id = 47

p1:level_vertex_id = 23924

p1:links = p0(1)

 

[wind_look_oxrana]

points = p0

p0:name = wp00

p0:position = -238.55270385742,-20.171489715576,-160.63529968262

p0:game_vertex_id = 47

p0:level_vertex_id = 16808

 

 

 

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

[logic]

active=look

meet = meet

 

 

[look]

path_walk = wind_oxrana_walk1

path_look = wind_look_oxrana

 

 

Секции meet нету - это раз.

 

[logic]

cfg = scripts\wind\wind_2.ltx

[smart_terrains]

none = true

 

 

Логику лучше сразу пропиши в алл.спаун - это два.

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

STARTS

В Сталкере существуют стандартныее схемы поведения. В данном случае, для того, чтобы непись ходил по заданному пути туда - сюда, нужна схема "Walker". Для этого надо использовать секцию, которая должна называться [walker] или [walker@<komentarij>], где <komentarij> может состоять из латинских букв, цифр и знаков подчёркивания. Например, если до выброса непись должен ходить по одному пути, а после по другому, то в логике можно прописать

 

[logic]
active=walker@do_vybrosa

[walker@do_vybrosa]
path_walk = walk1
path_look = look1
on info = {+byl_vybros} walker@posle_vybrosa 

[walker@posle_vybrosa]
path_walk = walk2
path_look = look2

Более подробно про логику смотри здесь.

 

А в твоём случае, поскольку не существует стандартной схемы "look", непись просто захватывается a-life'ом и идёт куда его этот a-life посылает.

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

У меня не получилось заспавнить нового НПС, я подключил локацию Болота из Чистого Неба, заспавнил даже туда аномалии, хотел заспавнить туда нового НПС, все сделал по инструкции, но мой НПС вообще не появился в игрею Подскажите, плиз, в чем проблема, или расскажите, как перенести персонажей типа Суслова, Каланчи на локацию Болота, которую я подключил к ЗП, на те места, где они были в Чистом Небе

Жду ли я Сталкер 2? Хм...
Ссылка на комментарий

Спавнил новых неписей через all.spawn по тому как вы мне сказали, но вылетает лог с аномалиями(не понимаю причём они тут!!!)

Вот сам лог

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: ...итель желанийguygu\gamedata\scripts\amk_anoms.script:307: attempt to index local 'sobj' (a nil value)

 

А потом попробовал через скрипт и всё пошло, логика работает и всё такое, но у мну почему-то два непися не хотят сидеть у костра!!!

Вот их логика

[logic]
active=kamp
meet=meet

[kamp]
anim = sit_ass
center_point = koster_wind_1
radius = 2

[meet]
use = true
use_wpn = true 
meet_talk_enabled = true

[smart_terrains]
none = true

 

[logic]
active=kamp
meet=meet

[kamp]
anim = sit_ass
center_point = koster_wind_3
radius = 2

[meet]
use = true
use_wpn = true 
meet_talk_enabled = true

[smart_terrains]
none = true

 

А вот логика 3-го - он должен был сидеть с этими 2-мя, но он тупо СТОИТ, а должен сидеть(хотя бы не уходит :) )

[logic]
active=look



[look]
anim = sit_ass
center_point = koster_wind_3
radius = 2

 

 

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

 

Я конечно знаю, что вы скажите типа "создай им смарт", но я пробовал и после этого тогда ВСЕ неписи(все неписи в игре) уходят куда их возьмёт alife. Если мона, то объясните как делать эти смарты на примере моих неписей, да и у них новая группировка(может всё из-за этого?)

 

 

Ссылка на комментарий
У меня не получилось заспавнить нового НПС, я подключил локацию Болота из Чистого Неба, заспавнил даже туда аномалии, хотел заспавнить туда нового НПС, все сделал по инструкции, но мой НПС вообще не появился в игрею Подскажите, плиз, в чем проблема, или расскажите, как перенести персонажей типа Суслова, Каланчи на локацию Болота, которую я подключил к ЗП, на те места, где они были в Чистом Небе

Координаты пропиши те которые в Чистом небе толь вертексы поправь и логику их перекинь...

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

Конфигурация железа:

AMD Phenom™II X4 955 BE

Radeon HD3850 512Mb

DDRIII 2x2Gb-1333 MHz

Windows7 Ultimate 32bit

Asus VW195D 1440x900

 

Ссылка на комментарий
PavelSnork, Покажи лог с вылета... Изменено пользователем DexIN

Конфигурация железа:

AMD Phenom™II X4 955 BE

Radeon HD3850 512Mb

DDRIII 2x2Gb-1333 MHz

Windows7 Ultimate 32bit

Asus VW195D 1440x900

 

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

Сделал все по инструкции по созданию нового нпс, кроме параметров нпс, я сделал его чистокровным сталкером с феней, но и создал уникальное имя по русски(в инстрю тоже).

Лан, пока запустилась... и где сталкер?

Где эти координаты, подскажите!

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

2 Громила 63

Координаты нужно выставлять свои. Если лень вычислять, вот они для спавна в середине лагеря:

vector():set(-198.89,-20.42,-148.28),53594,46)

Ссылка на комментарий
DexIN, у меня, когда создал нового НПС (по инструкции) вообще в игру не заходит Изменено пользователем PavelSnork
Жду ли я Сталкер 2? Хм...
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

×
×
  • Создать...