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

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


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

Народ "Need halp", создаю непися с редактированиям секции в all.spawn.... ну там всё вроде понятно, вот только с логикой помогите немного пли33...

Кароче создаю НПС с логикой sleep, выглядит примерно так:

[logic]
active = remark@sleeper
combat_ignore = combat_ignore
danger = danger_ignore

[remark@sleeper]
anim = sleep
snd = sleep
combat_ignore_cond = always

[danger_ignore] 
ignore_distance = 5 
END

 

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

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

Чужий,

может добавить в логику:

meet = no_meet

 

А что собсно у тебя получилось?

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

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

Как я понял вид должен бить

logic]
active = remark@sleeper
combat_ignore = combat_ignore
danger = danger_ignore
meet = no_meet

[remark@sleeper]
anim = sleep
snd = sleep
combat_ignore_cond = always

[danger_ignore]
ignore_distance = 5
END

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

Чужий,

 

ТЫ его логику делаешь ремарк, он будет отыгрывать анимацию какое то время, а потом все равно просыпаться. Уж лучше сделай ему логику sleeper все равно уж как я понял через all.spawn непися добавляешь(достаточно прописать один путь

[test_sleep]

points = p0

p0:name = name00

p0:position = -17.5726203918457,0.638113021850586,296.177459716797

p0:game_vertex_id = 187

p0:level_vertex_id = 259908

)

 

[logic]

active = sleeper

combat_ignore = combat_ignore

 

[sleeper]

path_main = test_sleep

meet = no_meet

combat_ignore_cond = always

 

 

 

все он у тебя будет спать пока не убьют и не будет ни с гг разговаривать.

Дэнжер по идее не нужен раз ты ему пишешь combat_ignore_cond = always т.е игнорировать все.

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

Writer, если бы, его фИг заспавнишь, то есть надо ползти в например: gamedata\scripts\zaton\ там логику делать, дальше в папку smart, выбираешь место и делаешь.

И ещё нужно редактировать smart_terrain

Изменено пользователем РикошетТ

YouTube Shoker Team

ShWM 2.1

РикошеТ aka LanceW

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

У меня 2 вопроса касательно ЗП, хоть они и почти одинаковы, да и решаются наверно одним путем, всеже спрошу

1) Как правльно создать нового НПЦ

2) Как правильно удалить существующего НПЦ

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

Тут такое дело... Я спавнил нового непися (уникального) но в том то и дело, что он спавниться как

обычный. ЗП 1,6,01 И все время уходит гулять(хотя не должен) вроде бы все делал по аналогии со

стандартными чуваками в игре. Мож надо ему еще какую то логику прописывать иль еще чего?

Ушёл из модостроения

Последний мод http://www.amk-team.ru/forum/index.php?sho...=60#entry351951

Ссылка на комментарий
Конечно нужно ему логику прописать

Только вот какую??

Из ТЧ не подходит

Ушёл из модостроения

Последний мод http://www.amk-team.ru/forum/index.php?sho...=60#entry351951

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

Делаем НПС в ЗП через скрипт.

Нам понадобятся всего 6 файлов.

1. Нужно открыть файл gamedata\configs\gameplay\character_desc_zaton

В конце вставляем:

    <specific_character id="my_stalker" team_default = "1">
        <name>о_О</name>
        <icon>ui_inGame2_bandit_1</icon>
        <map_icon x="1" y="0"></map_icon>
        <bio>Опытный сталкер. Детальная информация отсутствует.</bio>

        <class>my_stalker</class>
        <community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect>
    <snd_config>characters_voice\human_01\stalker\</snd_config>

        <rank>65</rank>
        <reputation>0</reputation>

        <visual>actors\stalker_bandit\stalker_bandit_1</visual>
        <supplies>
      [spawn] \n
      wpn_beretta = 1 \n
      ammo_9x19_fmj = 1 \n
      grenade_rgd5 = 1 \n
#include "gameplay\character_items.xml"
#include "gameplay\character_food.xml"
#include "gameplay\character_drugs.xml"
    </supplies>

#include "gameplay\character_criticals_4.xml"
        <actor_dialog>actor_break_dialog</actor_dialog>
  </specific_character>

 

Нужно, чтобы было перед "</xml>", а не после.

 

2. Открыть файл gamedata\configs\gameplay\npc_profile

В нем пишем:

<character id="my_stalker">
<class>my_stalker</class>
</character>

 

3. Открываем gamedata\configs\creatures\spawn_sections_zaton

И в нём пишем:

[my_stalker]:stalker
$spawn                 = "respawn\my_stalker"
character_profile    = my_stalker
spec_rank = master
community = stalker
custom_data = scripts\zaton\my_stalker_npc_logic.ltx

 

4. Открываем папку gamedata\configs\scripts\zaton

И в ней создаем файл my_stalker_npc_logic.ltx

В нем пишем:

[logic]
active = remark1
danger = danger_ignore

[danger_ignore]
ignore_distance = 5

[remark1]
no_move = true

 

5. Теперь спавним.

Откроем папку gamedata\scripts

И создаем файл sniper_add.script

В нем пишем:

function start_add_spawn()--\\
--\\
--
spawn_sniper_one()
end

function spawn_sniper_one()
local x= 111.75521087646
local y= -3.9362425804138
local z= 185.2212677022
local level_vertex= 1158851
local game_vertex_id= 316
alife():create("my_stalker",vector():set(x,y,z),level_vertex,game_vertex_id)
end

function save_variable(variable_name, value)
xr_logic.pstor_store(db.actor, variable_name, value)
end
function load_variable(variable_name, value_if_not_found)
return xr_logic.pstor_retrieve(db.actor, variable_name, value_if_not_found)
end

 

6. Откроем файл bind_stalker

В нем ищем строчку:

function actor_binder:update(delta)

И после последнего end`a пишем:

if sniper_add.load_variable("spawn_sniper",false)==false then
sniper_add.start_add_spawn()
sniper_add.save_variable("spawn_sniper",true)
end

 

Все, наш НПС стоит рядом с Сычом.

YouTube Shoker Team

ShWM 2.1

РикошеТ aka LanceW

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

Одного НПЦ создать удалось НО при создании второго игра вылетает.

Сообщение от модератора n6260
Лог вылета где?

 

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

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

<?xml version='1.0' encoding="windows-1251"?>

 

<game_information_portions>

<info_portion id="storyline_actor_start">

<task>storyline_eliminate_gunslinger</task>

<action>dima_stalker.dima_stalker</action>

</info_portion>

 

<game_information_portions>

<info_portion id="storyline_actor_start">

<task>storyline_eliminate_gunslinger</task>

<action>slepoi_stalker.slepoi_stalker</action>

</info_portion>

 

<info_portion id="global_dialogs">

<dialog>actor_break_dialog</dialog>

<!-- <dialog>actor_help_wounded</dialog> -->

</info_portion>

 

 

<info_portion id="terrain_test">

</info_portion>

 

 

<!-- special info portion that sends to actor when it

use in-game UI (PDA, Inventory, etc)-->

 

<info_portion id="ui_pda">

<disable>ui_pda_hide</disable>

</info_portion>

<info_portion id="ui_pda_hide">

<disable>ui_pda</disable>

</info_portion>

 

<info_portion id="ui_pda_contacts"></info_portion>

<info_portion id="ui_pda_contacts_hide"></info_portion>

 

<info_portion id="ui_pda_map_local"></info_portion>

<info_portion id="ui_pda_map_global"></info_portion

....

Строгое предупреждение от модератора Halford
Описание проблем из разряда "ВЫЛЕТАЕТ!!! ЧО ДЕЛАТЬ???" к рассмотрению не принимаются.

Рассматриваться будут только сообщения о вылетах, где будут подробно описаны обстоятельства вылета и приложена секция FATAL ERROR из лог-файла xray_ИМЯ_ПОЛЬЗОВАТЕЛЯ.log.

Находится этот файл по адресу Documents and Settings/All Users /Документы/STALKER-SHOC/logs.

В Windows Vista – Users/Public/Documents/STALKER-SHOC/logs.

 

Из правил форума. Устное предупреждение.

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

привед всем сталкероведам. :ny_rolleyes: такая у меня проблема при создании нового НПС:

 

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: ....r. - shadow of chernobyl\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)

 

полностью чистая игра. с нуля делал геймдату и все равно вылет при новой игре. ХЕЛП! :ny_unsure:

убийство гарика и жорика главный стимул дойти до бара

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

Бубалех, это ошибка скрипта, скорее всего ты напортачил при создании

function esc_unik_npc () alife():create("esc_unik_npc",vector():set(-218.20,-20.2,-145.63),35362,47) end

 

Скинь содержимое твоего скрипта в папке гамедата/скриптс!

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

Greh921,

 

function esc_unik_npc () alife():create("esc_unik_npc",vector():set(-218.20,-20.2,-145.63),35362,47) end

 

ничего не трогал. просто нагло скопировал из шапки. :(

 

убийство гарика и жорика главный стимул дойти до бара

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

Создал НПС в 3П, :ny_unsure: запускаю игру и сразу вылет:

FATAL ERROR

 

[error]Expression : !m_error_code

[error]Function : raii_guard::~raii_guard

[error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp

[error]Line : 748

[error]Description : .... - Зов Припяти\gamedata\scripts\bind_stalker.script:255: attempt to call method 'check_detective_achievement' (a nil value)

 

 

stack trace:

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

 

одно я понял точно что у меня в скрипте esc_unik_npc что то не то, но что? я все сделал так как написано тут. для страховки и с сайта сдк сдул. но результат один и тот же :ny_z_8: уважаемые помогите!

убийство гарика и жорика главный стимул дойти до бара

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

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

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

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

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

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

Войти

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

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

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