Создание нового НПС - Страница 5 - Скрипты / конфиги / движок - AMK Team
Перейти к контенту

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


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

Народ "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

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

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

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

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

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

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

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

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

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

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

psevdoгринго посмотри примеры из распакованного ЗП и научишься, я так научился делать для ТЧ

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

Нам понадобятся всего 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

 

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

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

Сообщение от модератора 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 пользователей

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