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

[CoP] Ковыряемся в файлах


Halford

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

Вот решил заспавнить НПС в ЗП. Почтитал поиск, нашёл урок, всё сделал... А в конце написано:

"- И последнее- регестрация скрипта в \scripts\db.script"

Так вот вопрос: У меня нет бд скрипта. Для ТЧ есть, а для ЗП нет!

Просьба: выложите пожалуйста этот файлик для ЗП, пожалуйста!

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


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

Нет, не пользуюсь, так-как создаю аддон к Сигероусу и не хотел бы его переустонавливать!

Можешь выложить?

Спасибо, VlaDOS !

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

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


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

Подскажите, как сделать чтобы НПС ы бежали за тобой, плииз! К примеру как телохранители в сигероусе!

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


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

Larry76, Это значит что без неё непись мотается по локе? Если да- то ты не знаешь как ты мне помог!

Помогите! Я заспавнил НПСа, а он не говорит! Чё делать!

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

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


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

nuklia, вот этим способом:

Нам нужны следующие файлы:

- \configs\creatures\spawn_sections_zaton.ltx

- \configs\gameplay\npc_profile.ltx

- \Configs\gameplay\charecter_desc_zaton.ltx

- \scripts\db.script

И создадим сами файлы

- \scripts\npc.script

- \configs\sripts\snaiper_lg.ltx

 

- Для начала создадим нашему неписю логику(( после мы её сможем часто пользоваться).

 

- Для этого заходим в \configs\sripts\snaiper_lg.ltx

И там вбиваем следующие строки:

[logic]

active = remark1

danger = danger_ignore

anim = desk_idle

 

[danger_ignore]

ignore_distance = 5

 

[remark1]

invulnerable = true

no_move = true

meet = meet_guide

 

[meet_guide]

close_anim = nil

close_victim = nil

far_anim = nil

far_victim = nil

close_distance = 0

far_distance = 0

close_snd_distance = 3

abuse = false

use = {=actor_enemy} false, true

allow_break = false

meet_on_talking = false

meet_on_talking = false

 

 

Теперь всё по порядку:

[logic] – обозночает, что это функция логи

active = remark1- функция его действий

danger = danger_ignore – можно ли рядом достать оружие

anim = desk_idle- анимка, но вроде не влияет

 

[danger_ignore]

ignore_distance = 5 – на сколько близко можно махать стволом

 

[remark1]

invulnerable = true - бессмерте. True-бессмертный, false- смертный

no_move = true (будет стоять на месте) или false что б ходил

meet = meet_guide название функции

 

[meet_guide] сама функция

close_anim = nil- анимка при прощании

close_victim = nil- вроде анимка при встречи

far_anim = nil

far_victim = nil

close_distance = 0

far_distance = 0

close_snd_distance = 3- на каком расстоянии будет слышен звук приветствия

abuse = false- вроде разрешение говорить

use = {=actor_enemy} false, true- ?

allow_break = false- ?

meet_on_talking = false –говорить можно(диалог)

meet_on_talking = false- говорить можно(диалог)

 

 

Теперь заходим в \configs\creatures\spawn_sections_zaton.ltx

После

[test_body_5]:stalker

$spawn = "respawn\test_body_5"

;character_profile = zat_a2_stalker_mechanic

community = stalker

;story_id = test_body_5

custom_data = scripts\test_cfg5.ltx

прописываем это:

[snaiper]:stalker

$spawn = "respawn\snaiper"

character_profile = snaiper

spec_rank = master

community = stalker

custom_data = scripts\snaiper_lg.ltx

story_id = stalker_snaiper

где

 

[snaiper]:stalker название функции

 

$spawn = "respawn\snaiper"- респавн

character_profile = snaiper

spec_rank = master ранг

community = stalker группировка( здесь роли не играет

custom_data = scripts\snaiper_lg.ltx Логика, которую мы создали

story_id = stalker_snaiper - уникальный ID , не знаю но вроде что-то про квесты

 

Тепрь заходим в

- \configs\gameplay\npc_profile.ltx

И в самый конец ( перед хмл)пишем

<character id="snaiper">

<class>snaiper</class>

<specific_character>snaiper</specific_character>

</character>

 

Должно получиться примерно так:

<character id="conrack_selo_stalker">

<class>jup_b6_freedom_stalker_1</class>

</character>

 

<character id="snaiper">

<class>snaiper</class>

<specific_character>snaiper</specific_character>

</character>

 

</xml>

 

Теперь по порядку:

<character id="snaiper"> ID

 

<class>snaiper</class> - сласс , это типа метки

<specific_character>snaiper</specific_character>- ID

</character>- массив закрыт

 

Теперь создадим профиль для нашего непися. Заходим в

- \Configs\gameplay\charecter_desc_zaton.ltx

И в самый конец (перед <xml>) прописываем

 

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

<name>Дрюня</name>

<icon>ui_inGame2_merc_4</icon>

<map_icon x="1" y="0">

</map_icon>

<bio>Опытный сталкер. Детальная информация отсутствует.</bio>

 

<class>snaiper</class>

<community>stalker</community>

<terrain_sect>stalker_terrain</terrain_sect>

<snd_config>characters_voice\human_01\bandit\</snd_config>

 

<rank>40</rank>

<money min="1500" max="3500" infinitive="1"/>

<reputation>0</reputation>

 

<visual>actors\stalker_soldier\stalker_soldier_1</visual>

<supplies>

 

[spawn] \n

wpn_svd \n

ammo_9x39_ap = 1 \n

wpn_beretta \n

ammo_9x19_fmj = 1 \n

grenade_rgd5 = 2 \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>zat_b215_stalker_guide_start</start_dialog>

 

<actor_dialog>zat_b215_stalker_guide_leave_zone</actor_dialog>

<actor_dialog>zat_b215_stalker_guide_maps</actor_dialog>

<actor_dialog>zat_b215_stalker_guide_to_pripyat_no_way</actor_dialog>

<actor_dialog>zat_b215_stalker_guide_to_pripyat</actor_dialog>

<actor_dialog>zat_b215_stalker_guide_to_jupiter</actor_dialog>

<actor_dialog>zat_b215_stalker_guide_to_zaton</actor_dialog>

<actor_dialog>zat_b215_stalker_guide_where_to</actor_dialog>

<actor_dialog>zat_b215_stalker_guide_about_himself</actor_dialog>

<actor_dialog>zat_b215_stalker_guide_about_anomalies</actor_dialog>

<actor_dialog>zat_b215_stalker_guide_about_surge</actor_dialog>

 

<actor_dialog>actor_break_dialog</actor_dialog>

</specific_character>

 

Где:

<specific_character id="snaiper" team_default="1"> - ID

<name>Дрюня</name> -имя

<icon>ui_inGame2_merc_4</icon>- иконка

<map_icon x="1" y="0">- иконка на карте

</map_icon>-?

<bio>Опытный сталкер. Детальная информация отсутствует.</bio> в игре не используется

 

<class>snaiper</class> сласс типа метка

<community>stalker</community> группировка

<terrain_sect>stalker_terrain</terrain_sect> - ?

<snd_config>characters_voice\human_01\bandit\</snd_config> -голос

 

<rank>40</rank> - ранг( не используется в игре)

<money min="1500" max="3500" infinitive="1"/> Колличество денег. infinitive="1"- бесконечные, infinitive="0"- заканчивающиеся

<reputation>0</reputation> репутация

 

<visual>actors\stalker_soldier\stalker_soldier_1</visual> модель непися

<supplies>

 

[spawn] \n- вещи в рюкзаке

wpn_svd \n

ammo_9x39_ap = 1 \n

wpn_beretta \n

ammo_9x19_fmj = 1 \n

grenade_rgd5 = 2 \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>zat_b215_stalker_guide_start</start_dialog>- диалоги. В нашем случае диалоги лоцмана

 

<actor_dialog>zat_b215_stalker_guide_leave_zone</actor_dialog>

<actor_dialog>zat_b215_stalker_guide_maps</actor_dialog>

<actor_dialog>zat_b215_stalker_guide_to_pripyat_no_way</actor_dialog>

<actor_dialog>zat_b215_stalker_guide_to_pripyat</actor_dialog>

<actor_dialog>zat_b215_stalker_guide_to_jupiter</actor_dialog>

<actor_dialog>zat_b215_stalker_guide_to_zaton</actor_dialog>

<actor_dialog>zat_b215_stalker_guide_where_to</actor_dialog>

<actor_dialog>zat_b215_stalker_guide_about_himself</actor_dialog>

<actor_dialog>zat_b215_stalker_guide_about_anomalies</actor_dialog>

<actor_dialog>zat_b215_stalker_guide_about_surge</actor_dialog>

 

<actor_dialog>actor_break_dialog</actor_dialog>

</specific_character>

 

 

Теперь создаём скрипт спавна

- \scripts\npc.script

Вбиваем в него

function snaiper ()

if not db.actor:has_info("spawn_snaiper")

then

 

alife():create("snaiper",vector():set(116.238,2.250,183.199),1165999,316)

db.actor:give_info_portion("spawn_snaiper")

end

end

 

Строчка alife():create("snaiper",vector():set(116.238,2.250,183.199),1165999,316) отвечает за координаты, на которых спавнится объект. В нашем случае- непись. Подробнее о них:

Pos- 116.238,2.250,183.199

Ivid- 1165999

Gvid- 316

 

Чтобы их получить качаем позишн информер ]]>Отсюда]]>

- И последнее- регестрация скрипта в \scripts\db.script

Открываем дБ скрипт. Находим строки

function add_actor( obj )

actor = obj

actor_proxy:net_spawn( obj )

add_obj( obj )

end

 

И меняем на такие

function add_actor( obj )

actor = obj

actor_proxy:net_spawn( obj )

add_obj( obj )

npc.snaiper()

end

 

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


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

И ешё: он у меня тоже идёт куда глаза гледят, а веть я припысывал как Larry! ( даже приписывать не пришлось! Оно там уже было!)

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


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

Larry76, теперь есть, но он всё равно кудато идёт. И ещё вопрос: Дело в том, что мой Страж не хочет со мной базарить (ссылается на какогото бугра, которому надо по ушам катать, говорить что его не казённые!). Где ему надо править, чтобы они были казёнными?

 

 

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


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

Нет, не идёт. Вылетает при загрузки или начале НИ с пустым логом!

Чё за 3 вариант?

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


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

alexwew, спасибо! Но как это "Он для ТЧ"? Не знал что в ТЧ есть затон...

Слушай, а попроше что нибудь есть? А то нифига не понимаю...

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

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


Ссылка на сообщение
alexwew, тогда ещё такой вопрос: Где находится эти файлы? И не мог бы ты мне их передать? Желательно без изменений!

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


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

Всё сделал но он нехочет со мной говорить! И стоять не хочит! Кому надо- могу дать ссыль на мою геймдату. И ещё: где прописывается логика?

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


Ссылка на сообщение
nuklia, можешь выложить файл "zat_a1" Пользуюсь геймдатой которая наверху, а там половины файлов нет!

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


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

Larry76, когда делаю как написал nuklia - получаю вылет!

Лог:

Expression : fatal error

Function : CInifile::Load

File : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp

Line : 274

Description : <no expression>

Arguments : Duplicate section 'start_position_zaton' found.

 

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


Ссылка на сообщение
Larry76, спасибо. а он будет бессмертный? Я там базу свободы хочу сделать...

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


Ссылка на сообщение
nuklia, Larry76, а если таким же способом заспавнить несколко человек, они будут так ходить туды-суды? Мне надо чтобы они стояли на своём месте. И места должны быть разные в пределах 25 метров от той точки.

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


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

Larry76, у меня он бессмертным почемуто не стал... Ну и пофигу! Будут сразу псевдогига мочить!

А ты не подскажешь темку с описанием как делать диалоги в ЗП? А то поиск юзал- не нашёл!

И про квесты не понятно! Делаю как в теме "Квесты ЗП" (Типо так) и получаю вылет без лога!

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

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


Ссылка на сообщение
nuklia, у меня вопрос по девушке. Как называется текстура? Всмысле что мне писать, если я хочу её заспавнить?

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


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

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