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

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


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

огрызок из характер деск:

...
<visual>actors\stalker_neutral\stalker_neutral_3</visual>
     <supplies>
      [spawn] \n
      wpn_g36 = 1 \n
      ammo_5.56x45_ap = 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"
<start_dialog>hello_dialog</start_dialog>
</specific_character>

Диалог приветствия есть, или нужно что-то еще?

Изменено пользователем Volkodav
Volkodav, попробуй дописать перед
<start_dialog>hello_dialog</start_dialog>
вот это :
#include "gameplay\character_dialogs.xml"

Дописывал, результат тот же - нифига:

...
#include "gameplay\character_items.xml"
#include "gameplay\character_food.xml"
#include "gameplay\character_drugs.xml"
    
</supplies>

#include "gameplay\character_criticals_4.xml"
#include "gameplay\character_dialogs.xml"
<start_dialog>hello_dialog</start_dialog>
...
</specific_character>

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

Volkodav, в ставь вот это:

      <specific_character id="твое_название" team_default = "1">
        <name>Бутчер</name>
        <icon>ui_inGame2_neutral_3</icon>
        <map_icon x="1" y="0">
        </map_icon>
        <bio>Опытный сталкер. Детальная информация отсутствует.</bio>
        <class>твое_название</class>
        <community>stalker</community>
        <terrain_sect>stalker_terrain</terrain_sect>
        <snd_config>characters_voice\human_03\stalker\</snd_config>
        <rank>40</rank>
        <reputation>0</reputation>
        <money min="1000"  max="5000"  infinitive="0"/>
        <visual>actors\stalker_neutral\stalker_neutral_3</visual>

        <supplies>

        [spawn] \n
        wpn_spas12  \n
        ammo_12x76_zhekan = 1 \n
        wpn_colt1911 \n
        ammo_11.43x23_fmj = 1 \n
        grenade_rgd5 = 1 \n

#include "gameplay\character_items_2.xml"
#include "gameplay\character_food.xml"
#include "gameplay\character_drugs_3.xml"
#include "gameplay\character_drugs_mil.xml"

                </supplies>
        <actor_dialog>actor_break_dialog</actor_dialog>

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

<start_dialog>hello_dialog</start_dialog>

<actor_dialog>actor_break_dialog</actor_dialog>----в первом случае диалог начнется со слов нпс,во втором актера(просто к сведению)

Чтобы можно было поговорить с челом надо изменить его логику на это:

[logic]
active = remark1
danger = danger_ignore

[danger_ignore]
ignore_distance = 5

[remark1]
no_move = true
meet            = meet_guide

[meet_guide]
abuse           = false
use             = true
allow_break     = false
meet_on_talking = false

x3m1

Чтобы персонаж был неуязвимым в логику пропиши

invulnerable = true

Работает в ЗП. В ТЧ у меня работать не хотело.

 

Еще я делал бессмертие так:

Скопировал модель НПС, переименовал ее (чтобы другие НПС, использующие такую модель не стали тоже бессмертными). "\gamedata\meshes\actors\hunter\hunter_do_nauchniy_no_damage.ogf"

и почти в конце нашел ссылку на файл что-то типа"models\capture\hunter_kupol_damage_med.ltx" (там другой файл был прописан, вместо hunter было что-то другое, это я уже так изменил) он лежит здесь:

"gamedata\config\models\capture\hunter_kupol_damage_med.ltx"

то есть я поменял ссылку, и поставил вместо нее ссылку на свой файл. Потом просто скопировал файл из игры, на который ссылалась модель и переименовал его, чтобы ссылка на него была. Открыл этот файл, там есть 2 ссылки:

 

immunities_sect = resistance_absolute

 

bones_protection_sect = kombez_kupol_damage_no_damege

 

опять же, там другие ссылки были, это я изменил уже так. Первая ссылается на параметры иммунитета, вторая - на коэффициенты защиты различных частей тела. Секции, на которые эти ссылки ссылаются, находятся в файлах "\gamedata\config\creatures\immunities.ltx" и

"\gamedata\config\creatures\damages.ltx" соответственно.

в первый файл, в коней я добавил

#include "immunities_no_damage.ltx"

(ссылка на мой файл в котором я добавил свою секцию иммунитета для модели, лежит в той же папке). В файл immunities_no_damage.ltx я скопировал одну из секций иммунитета из immunities.ltx и все параметры поставил 0. теперь НПС, у которого будет такая модель, имеет 100% иммунитет ко всему. Здесь, если нужно, можешь выставить иммунитет не ко всему, например чтобы его можно было убить только из огнестрельного оружия или только гранатой:)

 

аналогично я сделал и со вторым файлом. В нем прописаны коэффициенты защиты для различных частей тела. Я в файл damages_no_damage.ltx просто скопировал те секции, на которые модель и раньше ссылалась, только переименовал. Это на тот случай если тебе нужно будет сделать, например, 100% защиту всего тела, и чтобы убить можно было только в голову. (тогда в иммунитетах не должны стоять ноли!)

 

 

Вот пример ссылка (это для ТЧ, для ЗП все так же, в архиве подробное описание лежит)

Ну умные головы помогайте новичку в этом деле.

Что вообще хочу. Нужен ТОРГОВЕЦ стоящий на одном месте и бессмертный. Заспавнить СКРИПТОМ

Версия игры - Т.Ч. + Народная Солянка.

 

Всё проблемма снята, сам разобрался. Greh921 спасибо что откликнулся, но поздно :), сам всё сделал, но вопрос к тебе тогда.

у меня вот так

[logic]
active = remark1
danger = danger_ignore
trade = misc\trade_aaz.ltx

[danger_ignore]
ignore_distance = 5 

[remark1]
no_move = true

а что даст добавление вот этого

trader_flags = 0 - флаг трейдера

А всё остальное мне не нужно, т.к. он у меня бессмертный, да и хабара столько у него не будет (по весу), он ближе к концу игры появляется.

Кстати вот он красавчик в игре и торговля работает.

6376d9fb5e03b9fdc94123a1192f477e5db5df46236302.jpg200466fda3b4a4f9d9baccfbf62371875db5df46236466.jpg

 

 

 

 

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

Блин... всё сделал как в шапке написано и тему всю обшарил и ничё не помогает избавится от этого вылета:

 

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: d:\games\s.t.a.l.k.e.r\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)

Valerich, в файле character_desc_escape.xml по адресу gamedata\config\gameplay\

 

<specific_character id="esc_aaа" no_random = "1">

;важно при создании торговца, указать параметр no_random = "1"

и далее...

Ввод в симуляцию

 

Непись создан. Теперь надо вводить его в симуляцию. Открываем файл gamedata\config\creatures\spawn_sections.ltx и прописываем в конце:

 

[esc_aaа]:stalker_trader - дописать суффикс торговца... хотя у меня и без него всё работало =)

$spawn = "respawn\esc_aaа" - опция спавна для Левел Едитора

character_profile = esc_aaа - профиль непися, записанный в npc_profile.xml

spec_rank = regular

community = stalker - группировка

 

 

Вот такой должна быть логика, по идее!

[logic]

active = remark1

danger = danger_ignore

trade = misc\aaа_trader\trade_aaа.ltx -- файл торговли, создаётся по аналогии с существующими

trader_flags = 0 - флаг трейдера

inv_max_weight = 10000 -- вес инвентаря торговца

on_death = death

 

[danger_ignore]

ignore_distance = 5

 

[remark1]

no_move = true

 

DexIN, это проблема с логикой! Выложи то, что ты редактировал по типу Valerich

Ништяк ништяковский!!!!! Точняк, всё дело в логике! в примере она неправильная... я вот эту прописал:

 

gamedata\scripts\esc_unik_npc.ltx

 

[logic]

active = remark1

danger = danger_ignore

 

[danger_ignore]

ignore_distance = 5

 

[remark1]

no_move = true

meet = meet_guide

 

[meet_guide]

abuse = false

use = true

allow_break = false

meet_on_talking = false

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

Я никак не пойму почему во всех примерах как активная схема указывается команда remark,ведь она не является схемой логики ,это команда переключения от одной схемы к другой

gruber

Схема remark

Схема используется для синхронизации\связки других схем.

Цитата с S.T.A.L.K.E.R. Inside Wiki в Настройка логики. Часть 1

 

Она синхронизирует схемы, а мы их рубим все (отключаем) вот этим (no_move = true), вот по этому НПС и стоит у нас как истукан и глазом не моргнет. (я так понял), т.к. что дальше не пиши (именно под [remark]) НПС всё по барабану.

Активно только то что написано под [logic] со всеми вытекающими последствиями.

 

Хотелось бы услышать авторитетное разъяснение от разбирающихся в этом.

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

Народ у меня проблема: создал НПС в ЗП, прописал и no meet и что с нпс можно говорить, но в пустую-убегает со скодовска да и еще предлогает поговорить не сним, а с несуществующим лидером..что делать?

я через скрипт спавнил там алл.спавн вроде не нада...

Может теперь такое не прет в ЗП?

[logic]

active = remark1

 

 

[remark1]

no_move = true

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

Po-meceniy я твою логику и вставил для тесту

Создал второго-так стоит как положено и болтает....теперь вообще ничего не понимаю :huh:

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

И еще вопрос у меня мутанты далеко сталкнули НПС от места *рождения* и теперь он стоит там и не двигается, а как заставить его возвращаться на исходную позицию?

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

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

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

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

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

Войти

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

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

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