Последние файлы:
[17.02.22] Choice of Destiny Build 7116 (0)
[28.12.11] Solyan Mod v1.1 (0)
[05.08.11] Фикс 04.08 для Тайны Пророка ... (0)
[01.08.11] Мод Тайна Пророка Монолита (15)

Последние Статьи:
[04.07.11] Авария, которой могло не быть (0)
[29.06.11] Lost World - Trops of doom - ... (3)
[28.06.11] S.T.A.L.K.E.R. 2 инфа (3)
[18.06.11] Обзор на игру: Чернобыль: зон... (0)

[Флейм]
Бар "100 ренген&quo...
[S.T.A.L.K.E.R. 2/II]
Обсуждаем S.T.A.L.K.E.R ...
[Return to the shadows]
Ваши предложения
[Баннерообмен]
Обмен баннерами
Меню сайта

Поиск


Мини-чат
Загрузка…



Тени Чернобыля [11] Зов Припяти [7] Чистое Небо [5] SDK [2]
уроки по работе с SDK
SDK CS [0]
уроки по Clear Sky SDK
SDK COP [0]
уроки по Call of Pripyat SDK.
Wireframe [0]
уроки по 3D-моделированию для S.T.A.L.K.E.R.-а в 3ds Max, Maya, MilkShape 3D...
Texturing [0]
уроки по текстурированию, созданию бампа, normal map и т.п.
Скрипты [0]
статьи, рассказывающие о работе со скриптами игры.
Конфиги [1]
статьи, рассказывающие о различных параметрах в конфигурационных файлах
Руководства к программам [0]
статьи, которые научат работать с программами, помогающими в модифицировании S.T.A.L.K.E.R.-a
Моделирование [0]
как создавать модели(оружия,НПС,мутантов,и других предметов),а также примеры
Главная » Статьи » Модмейкерство » Тени Чернобыля

Ставим снайпера
 

*1
Для начала создадим профиль!
Откроем фаил character_****.xml
и создаем там новый профиль
Пример:
<specific_character id="название_секции" team_default = "1">
<name>GENERATE_NAME_stalker</name>
<icon>иконка</icon>
<map_icon x="1" y="0"></map_icon>
<bio>Опытный сталкер. Детальная информация отсутствует.</bio>

<class>класс</class>
<community>группировка</community> <terrain_sect>stalker_terrain</terrain_sect>
<snd_config>characters_voice\human_01\папка с названием группировки\</snd_config>

<rank>цифры от 0 до 900</rank>
<reputation>цифры от 0 до 1000</reputation>

<visual>путь до модели"визуала"</visual>
<supplies>
[spawn] \n
оружие \n
патроны к этому оружию = 5 \n
</supplies>
#include "gameplay\character_criticals_4.xml"
#include "gameplay\character_dialogs.xml"
</specific_character>

*2
Теперь нужно прописать класс нашего НПС в npc_profile.xml
Пример:
<character id="название_секции из character_****.xml">
<class>класс прописанный вами ранее</class>
<specific_character>название_секции из character_****.xml</specific_character>
</character>

*3
Теперь зарегистрируем Нашего НПС в spawn_section.ltx
Пример:
[секция спавна(название пишите сами)]:stalker
$spawn = "respawn\секция спавна"
character_profile = название_секции из character_****.xml
spec_rank = regular ;это ранг непеся оставляйте как есть ,особой роли не играет
community = группировка которую вы приписали этому (название_секции из character_****.xml)
custom_data = scripts\sniper_addon\sniper_addon_***_logic.ltx;*** - если группировка НПС нейтральна к вам или дружелюбна ,то friend , в противном случае enemy

*4
Потом открываем xr_conditions.script
и добавляем вот такую функцию
function is_sniper_enemy(enemy, object)
return enemy:id() ~= db.actor:id()
end
PS:Если нет такого фаила ,то возьмите из оригинальной Игры!

*5
Теперь осталось Заспавнить Нашего НПСа
PS:Тем кто делает это впервые ,прочитайте дальше :),а если сталкивались ,всё равно читайте smile

*5.1
Для Начала нам нужно снять координаты того места Где появится наш Снайпер.
Для этого открываем ui_main_menu.script
находим вот примерно такое
if dik == DIK_keys.DIK_Q then
self:OnMessageQuitWin()
end
и делаем так :
if dik == DIK_keys.DIK_Q then
self:OnMessageQuitWin()
elseif dik==DIK_keys.DIK_W then
self:position_info()
end
И в конец фаила.В Самый Конец!!!
function main_menu:position_info()
local a = db.actor:position()
local vid = db.actor:level_vertex_id()
local gvid = db.actor:game_vertex_id()
local text = "GPS:\\nX= "..a.x.."\\nY= "..a.y.."\\nZ= "..a.z.."\\nlevel_vertex= "..vid.."\\ngame_vertex_id= "..gvid
news_manager.send_tip(db.actor, text, nil, nil, 30000)
end
Сохраняем!!!
*5.2
Заходим в игру ,добегаем до места где бы хотели чтобы сидел снайпер,выходим в Меню и в меню жмём на W , потом возвращаемся в игру
И Делаем скриншот (F12)
*5.3
Далее создаём скрипт спавна
(создаётся с помощью блокнота или Notepad++)
Например sniper_add.script
В нём будем писать функции!
function start_add_spawn()--\\*Это "список".Сюда будем вписывать вызов всех функции спавна
--\\*Сюда вписываем название ваших функций
--пример:
spawn_sniper_one()
end

function название_латиницей()--\\spawn_sniper_one()
local x= смотрим скриншот и переписываем сюда x
local y= смотрим скриншот и переписываем сюда y
local z= смотрим скриншот и переписываем сюда z
local level_vertex= смотрим скриншот и переписываем сюда level_vertex
local game_vertex_id= смотрим скриншот и переписываем сюда game_vertex_id
alife():create("тут название вашей из spawn_section.ltx",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

*5.4
Когда вписали всех наших Снайперов и все функции спавна и внесли их в "список",то добавляем вызов нашей функции в bind_stalker.script

в функцию actor_binder:update(delta)
перед последнем end'ом этой функции
добавляем
if sniper_add.load_variable("spawn_sniper",false)==false then
sniper_add.start_add_spawn()
sniper_add.save_variable("spawn_sniper",true)
end

Сохраняем!

*6
Теперь работаем с логикой.
в папке configs/scripts создаём папку с sniper_addon , открываем её
*6.1
Создаём два фаила
sniper_addon_friend_logic.ltx и sniper_addon_enemy_logic.ltx
*6.2
открываем sniper_addon_friend_logic.ltx
и вписываем туда:
;SNIPER ADDON
;Меченый(Стрелок)
[logic]
active = remark@search

[remark@fire]
combat_ignore_cond = {!is_sniper_enemy}
radius = 0
anim = hide
on_info = {=health_le(0.5)} remark@search
wounded = wounded@work
sniper = true

[remark@search]
combat_ignore_cond = true
combat_ignore_keep_when_attacked = false
anim = hide
target = actor
on_info = {=see_enemy} remark@fire
wounded = wounded@work
[smart_terrains]
none = true
[wounded@work]
hp_state = 0|wounded_heavy@help_heavy
hp_state_see = 0|wounded_heavy@help_heavy
hp_victim = 0|nil
hp_fight = 0|false
hp_cover = 0|false

Сохраняем этот фаил и открываем второй
и вставляем туда
;SNIPER ADDON
;Меченый(Стрелок)
[logic]
active = remark@search

[remark@fire]
combat_ignore_cond = {!is_enemy_actor}
radius = 0
anim = hide
on_info = {=health_le(0.5)} remark@search
wounded = wounded@work
sniper = true
[smart_terrains]
none = true
[remark@search]
combat_ignore_cond = true
combat_ignore_keep_when_attacked = false
anim = hide
target = actor
on_info = {=see_actor} remark@fire
wounded = wounded@work

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

Категория: Тени Чернобыля | Добавил: WadKIs (11.01.11)
Просмотров: 3143 | Комментарии: 1 | Рейтинг: 3.0/1
Всего комментариев: 1
1 GRINDOR  
0
у меня сработало только снайпер стрельнул и игра вылетела angry

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Мини-ПДА


Прочее
SZ ютуб канал

Фото


Наш опрос
Как вам Дизайн сайта?

Всего ответов: 215

Статистика

Онлайн всего: 1
Заглянувших: 1
Сталкеров: 0
[Сегодняшние посетители]



   3.12.161.6
Авторское право на игру и использованные в ней материалы принадлежат GSC Game World. Любое использование материалов сайта возможно только с разрешения его администрации. Для просмотра сайта рекомендуем использовать Opera. Copyright www.stalker-zona.com.ua © 2009-2024. Хостинг от uCoz. Powered by |V!RuS_u@|
Рейтинг@Mail.ru