Модератор форума: comador  
Форум настоящего сталкера » S.T.A.L.K.E.R. Тень Чернобыля » Теория модостроения » Учебник по модостроению (Получи достаточную информацию...)
Учебник по модостроению
# 21
Четверг, 22.01.2009, 10:04:56

Ранг: Живая легенда
Сообщений: 3934
Награды: 8 Регистрация: 17.10.2008 Город: Нальчик    

Том, создать её самому и распаковывать туда! создать в корне игры! ;)
# 22
Среда, 28.01.2009, 20:10:38

Ранг: Прибывший
Сообщений: 2
Награды: 0
Репутация: 2 Регистрация: 27.01.2009  

Да круто но по сравнение как люди делают войны и новые вещи добавляют это фигня. Без обид)
# 23
Воскресенье, 08.02.2009, 16:16:42

Ранг: Охотник
Сообщений: 1024
Награды: 22
Репутация: 621 Регистрация: 15.06.2008 Город: Огре    

El-tigre,
Все начинают с малого :)

Добавлено (08.02.2009, 16:16:42)
---------------------------------------------
Вот у меня вопрос по ОГСМ:
Можно ли сделать так, чтобы к уникальному оружию - использовалась другая текстура, а к обычному - другая?
На примере как СВУ "Громобой" и обычный СВУ
Проверил - там два разных файла
svu-g.dds (Громобой)
svu-a.dds (Стандарт)
Попытался тоже сделать с другим оружием - не вышло.




"Бросай ты эти Цои всякие, давай играй метал, шпарь!, никаких Цоев"
# 24
Суббота, 14.02.2009, 14:47:06

Ранг: Разведчик
Сообщений: 426
Награды: 14
Репутация: 292 Регистрация: 07.06.2008  

Воробей, укажи в конфигах уникального оружия ссылку на нужную текстуру, я поприкалывался - поставил черный фон вместо текстурки РПГ-7 и поставил на СИГ, он у меня чорный!


# 25
Суббота, 14.02.2009, 15:07:37

Ранг: Мастер
Сообщений: 2546
Награды: 237
Репутация: 2302 Регистрация: 11.12.2008 Город: Заполярье    

У меня инфа есть по созданию группировки целой ^_^




-Он счастлив.
-Он мёртв.
# 26
Суббота, 14.02.2009, 15:11:19

Ранг: Прибывший
Сообщений: 9
Награды: 10
Репутация: 230 Регистрация: 04.11.2008  

ya, давай клади сюда свою инфу.
# 27
Суббота, 14.02.2009, 15:23:43

Ранг: Мастер
Сообщений: 2546
Награды: 237
Репутация: 2302 Регистрация: 11.12.2008 Город: Заполярье    

[spoiler]Это только просто создание группировки, а вот потом с ними надо мучаться, делать квесты, ветки диалогов, мароки много %)

Седня скопировал с одного сайта эту инфу ^_^

Новая группировка

Сегодня мы создадим новую группировку. Назовем её, скажем, "Ветер". Не суть важно.
[править]
Практика
[править]
Базовый уровень

1. Для начала в game_relations.ltx и в таблицу отношений группировок в конце и в заголовке добавляем название своей группировки и коэффициенты отношений к ней у других группировок. Также, не забываем прописать её собственное отношение к другим группировкам:
[communities_relations]
;|actor |act_dol|act_fre|stalker|monolit|militar|killer |ecolog |dolg |freedom|bandit |zombied|strange|trader|arena_enemy|wind|
;=================================================================================================================================
actor = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0
actor_dolg = 0, 0, 0, 0, -5000, -500, -5000, 5000, 600, -5000, -5000, -5000, 0, 0, -5000
actor_freedom = 0, 0, 0, 0, -5000, -5000, -5000, -1500, -5000, 5000, 0, -5000, 0, 0, -5000, 0

stalker = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0
monolith = -5000, -5000, -5000, -5000, 5000, -5000, -5000, -5000, -5000, -5000, 5000, 5000, -5000, 0, -5000, 0
military = -5000, -5000, -5000, -5000, -5000, 5000, -5000, 0, -5000, -5000, -5000, -5000, 0, 0, -5000, 0
killer = -5000, -5000, 0, -5000, -5000, -5000, 5000, -5000, -5000, -5000, 0, -5000, -5000, 0, -5000, 0
ecolog = 0, 600, -5000, 0, -5000, 1000, -5000, 5000, 500, -5000, -500, -5000, 0, 0, 0, 0
dolg = 0, 600, -5000, 0, -5000, -500, -5000, 5000, 5000, -5000, -5000, -5000, 0, 0, 0, 0
freedom = 0, -5000, 600, 0, -5000, -5000, -5000, -1500, -5000, 5000, 0, -5000, 0, 0, 0, 0
bandit = -5000, -5000, 0, -5000, -5000, -500, 0, -5000, -5000, 0, 0, -5000, -5000, 0, -5000, 0
zombied = -5000, -5000, -5000, -5000, 5000, -5000, -5000, -5000, -5000, -5000, -5000, 5000, -5000, 0, -5000, 0
stranger = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -500, -5000, 0, 0, 0, 0
trader = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
arena_enemy = -5000, -5000, -5000, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, 0, 0, 0

wind = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0

Также, изменим эту строку, добавив туда имя и номер группировки:
;названия группировок
communities = actor, 0, actor_dolg, 1, actor_freedom, 2, stalker, 5, monolith, 6, military, 7, killer, 8, ecolog, 9, dolg, 10,
freedom, 11, bandit, 12, zombied, 13, stranger, 14, trader, 15, arena_enemy, 16, wind, 18,

Отсчет идет построчно начиная сверху. Хотя есть небольшой нюанс. У первых трех строк - нумерация начинается с нуля, с остальных группировок она идет как надо. Для wind выставили 18, так как мы эту группировку отделили от других.

Далее, в разделе [communities_sympathy] в конце добавляем свою группировку и коэффициент "впечатлительности" - чем он меньше, тем меньше отношение группировки будет меняться к вам в целом:
[communities_sympathy]
actor = 0.0
actor_dolg = 0.0
actor_freedom = 0.0
stalker = 0.0
monolith = 0.0
military = 0.0
killer = 0.0
ecolog = 0.0
dolg = 0.1
freedom = 0.1
bandit = 0.0
zombied = 0.0
trader = 0.0
stranger = 0.0
arena_enemy = 0.0
wind = 0.0

2. После этого в файле death_manager.script ищем строку local community_list и в скобках добавляем название своей группировки:
function init_drop_settings()
local community_list = { "stalker", "dolg", "freedom", "bandit", "military", "zombied", "ecolog", "killer", "monolith",
"arena_enemy", "actor_dolg", "wind" }

3. В файле death_items_by_communities.ltx пишем [x]:stalker (вместо x - название вашей группировки):
[...]
af_dummy_spring = 0
af_fuzz_kolobok = 0

;Еда
vodka = 0

[arena_enemy]
[actor_dolg]

[wind]: stalker
bread = 0
kolbasa = 0
vodka = 0
energy_drink = 0.3

4. Если предусматривается респавн бойцов новой группировки, в se_respawn.script прописываем в local simMaxCount = { после строчек с зомбированными сталкерами строку:
wind_novice = 20, wind_regular = 20, wind_veteran = 20, wind_master = 6,

5. Чтобы при убийстве непися новой группировки игра не вылетала в xr_statistic.script,

после строки:
zombied_novice = 1, zombied_experienced = 2, zombied_veteran = 3, zombied_master = 4,

пишем
dark_stalker_novice = 1, dark_stalker_experienced = 2, dark_stalker_veteran = 3, dark_stalker_master = 4,

6. Ну а в character_desk_x.xml выбираем любого NPC (или группу) и меняем группировку на свою:
<!---esc_wolf--->
<specific_character id="esc_wolf" team_default = "1">
<name>esc_wolf_name</name>
<icon>ui_npc_u_stalker_neytral_balon_1</icon>
<bio>esc_wolf_bio</bio>

<class>esc_wolf</class>
<community>wind</community>
[...]

7. Чтобы у персонажа в графе "Группировка" отображалось не "wind", а "Ветер", зарегистрируем соответствующую строку в файле string_table_general.xml:
<?xml version="1.0" encoding="windows-1251" ?>
<string_table>
<string id="wind">
<text>Ветер</text>
</string>
<string id="actor">
<text>Одиночка</text>
</string>
[...]

8. Существует возможность создать для нашей новой группировки места, где они будут ходить (*_terrain брать из m_stalker.ltx):

То есть, к примеру, существует секция:
[stalker_terrain]
255,000,255,255
008,001,255,255 ;Разрешено ходить по опасным местам на баре
012,001,255,255 ;Разрешено ходить по опасным местам на Милитари

Тогда можно создать новую, по аналогии:
[wind_terrain]
255,000,255,255
008,001,255,255 ;Разрешено ходить по опасным местам на баре
012,001,255,255 ;Разрешено ходить по опасным местам на Милитари
010,001,255,255 ;Разрешено ходить по опасным местам на янтаре

Здесь, очевидно, указаны координаты самого уровня. Для каждого уровня существует своя начальная координата.
[править]
Продвинутый уровень

Такой метод достаточно примитивен. Это не полноценная группировка. Нам нужны соответствующие диалоги, возможность получения квестов и вступления в группировку, уникальные NPC.
[править]
Квесты

Добавим квесты, которые нужно выполнить для группировки. Пока - простые поручения распространенных типов.

Во-первых, пропишите в список диалогов персонажа следующие строки:
<actor_dialog>[что-нибудь]_dialog</actor_dialog>
<actor_dialog>[что-нибудь]_reward</actor_dialog>

Примеры названий: tm_trader_dialog, tm_wolf_dialog...

Внимание! Метод не проверен.

Этим мы добавили ему ветку диалога "Есть работа?", а также ветку для награды за квест/отказа от него. Теперь зарегистрируем в task_manager.ltx набор новых заданий.

[...]

;--------Wind------------------------
;----------Kill Stalker----
wind_kill_stalker
;----------Find Item----
wind_find_item

[...]

;tasks for Wind

[wind_find_item]
type = find_item
community = actor
text = [ссылка на текст с рассказом заказчика о задании]
description = [ссылка на текст с описанием задания]
parent = [имя NPC-заказчика]
target = scientific_outfit
reward_money = 5000
reward_reputation = +5
reward_rank = 4
reward_item = wpn_sig_m1
time = 86400

[wind_kill_stalker]
type = kill_stalker
community = actor
text = [ссылка на текст с рассказом заказчика о задании]
description = [ссылка на текст с описанием задания]
parent = [имя NPC-заказчика]
target = sim_stalker_master_master
reward_money = 4000
reward_reputation = +5
reward_rank = 9
reward_item = ammo_5.56x45_ap, ammo_5.56x45_ap, ammo_5.56x45_ap
time = 86400

Не забудьте прописать описания заданий в текстовые массивы. Подробнее о редактировании task_manager.ltx читайте в уроке, посвященном однотипным квестам.

Да, и зарегистрируйте сами ветки диалогов в файле dialogs.xml. Вот пример того, как это сделано для заданий "Долга":
<dialog id="tm_dolg_dialog" priority="-1">
<init_func>task_manager.init_dolg_task_dialog</init_func>
</dialog>
<dialog id="tm_dolg_reward" priority="0">
<init_func>task_manager.init_dolg_reward_dialog</init_func>
<precondition>task_manager.has_active_vendor_task</precondition>
</dialog>

Соответственно, пройдем туда, куда указывает строка task_manager.init_dolg_task_dialog - в task_manager.script:
function init_dolg_task_dialog(dlg)
get_random_task():init_task_dialog(dlg, "dolg")

По аналогии делаем и с нашим "Ветром".
[править]
Вступление в группировку

Реализуем возможность вступления в группировку.

Прописываем в dialogs.script такие action'ы:
-----------------------------------------------------------------------------------
-- Community
-----------------------------------------------------------------------------------

[...]

function actor_set_wind (actor, npc)
printf ("ACTOR NOW IN WIND COMMUNITY"
if db.actor then
db.actor:set_character_community ("actor_wind", 0, 0)
end
return true
end

После чего создадим диалог, и сделаем в нем фразу с action'ом вида <action>actor_set_wind</action>. Советую изучить урок, посвященный диалогам.
[править]
Новые NPC

Лучше всего всё вышеприведенное повесить на нового, уникального персонажа. %) %) %)





-Он счастлив.
-Он мёртв.


Сообщение отредактировал ya - Суббота, 14.02.2009, 15:24:27
# 28
Суббота, 14.02.2009, 15:30:29

Ранг: Прибывший
Сообщений: 9
Награды: 10
Репутация: 230 Регистрация: 04.11.2008  

Так групировка есть а где место их обитания ( ну и новая локация :D ).
# 29
Суббота, 14.02.2009, 15:33:01

Ранг: Мастер
Сообщений: 2546
Награды: 237
Репутация: 2302 Регистрация: 11.12.2008 Город: Заполярье    

:o Вот над этим надо найти инфу, но тока когда дома буду. ;)




-Он счастлив.
-Он мёртв.
# 30
Суббота, 14.02.2009, 15:35:45

Ранг: Прибывший
Сообщений: 9
Награды: 10
Репутация: 230 Регистрация: 04.11.2008  

Я тебе инфу найду ты лучше локацию забацай.
# 31
Суббота, 14.02.2009, 15:36:43

Ранг: Мастер
Сообщений: 2546
Награды: 237
Репутация: 2302 Регистрация: 11.12.2008 Город: Заполярье    

:o Нифигасе запросы...... :o :o




-Он счастлив.
-Он мёртв.
# 32
Суббота, 14.02.2009, 18:23:20

Ранг: Прибывший
Сообщений: 9
Награды: 10
Репутация: 230 Регистрация: 04.11.2008  

ya, а ты чё думал ;) Народ требует конкретных модов. :D
# 33
Суббота, 14.02.2009, 18:25:39

Ранг: Мастер
Сообщений: 2546
Награды: 237
Репутация: 2302 Регистрация: 11.12.2008 Город: Заполярье    

Низнаю, я долго это все буду делать :D . Пока вы будете делать уже GST мод выйдет :D :D




-Он счастлив.
-Он мёртв.
# 34
Вторник, 03.03.2009, 01:35:50

Ранг: Живая легенда
Сообщений: 3934
Награды: 8 Регистрация: 17.10.2008 Город: Нальчик    

PulseIMG, не отписывай одно и тоже сообщение в каждой теме!
лучше реально помоги на форуме людям!
# 35
Среда, 04.03.2009, 19:32:17

Ранг: Новичок
Сообщений: 50
Награды: 7
Репутация: 87 Регистрация: 18.01.2009 Город: Нурлат    

нет проблем :)

Добавлено (04.03.2009, 19:24:09)
---------------------------------------------

Quote (Воробей)
Вот у меня вопрос по ОГСМ: Можно ли сделать так, чтобы к уникальному оружию - использовалась другая текстура, а к обычному - другая? На примере как СВУ "Громобой" и обычный СВУ Проверил - там два разных файла svu-g.dds (Громобой) svu-a.dds (Стандарт) Попытался тоже сделать с другим оружием - не вышло.

Это реально - с это функцией я оч много работал - реально сделать чтоб оружие (а точнее его текстура) анимировала и тд. Можно создать тип шейдера на модель любово вида (стволы, npc, предметы и даже статичные модели) целью "стереть" не нужное - то есть можно простым ФотоШопом изменить геометрию модели...
А по твоему вопросу - используй HEXviever иль любую другую программу, в которой можно редактировать любые файлы в шестнадцатеричном коде.
открываеш к примеру wpn_ak74_hud.ogf и находиш строчки пути к текстуре и ЗАМЕНЯЕШ ЛИШ ИМЯ ТЕКСТУРЫ!!! оч важно !!!! - создаёш ту текстуру - которую вписал - редактируеш под себя и ВсЙо НаЙс!!! еси чот не понял - моя ася выше!

Добавлено (04.03.2009, 19:32:17)
---------------------------------------------

Quote (Kiro321)
Народ помогите плиз, колибр то я поменял но сталкеры ходят со стандартными потронами Например поставил АК колибр 7х62, а военные всё равно таскают 5х45 кто знает подскажите плиз как исправить.

Вообщем это дело спавна самих патронов в инвентаре у НПС . это можно найти в папке gameplay


Моя девочка ^ ^
Я Вконтакте
Ну вам сюда)))
Котэ


Сообщение отредактировал PulseIMG - Среда, 04.03.2009, 19:30:05
# 36
Воскресенье, 08.03.2009, 00:21:28

Ранг: Познающий
Сообщений: 98
Награды: 1
Репутация: 24 Регистрация: 17.02.2009 Город: Геленджик    

Kiro321,
это тебе надо в "character_desc_(escape).XML" файле править... %)
все очень просто! смотри где надо....
например... его исправим...
esc_wolf----------------------------------------------------->
<specific_character id="esc_wolf" team_default = "1">
<name>esc_wolf_name</name>
<icon>ui_npc_u_stalker_neytral_balon_1</icon>
<bio>esc_wolf_bio</bio>

<class>esc_wolf</class>
<community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect>

<rank>934</rank>
<reputation>50</reputation>
<money min="11000" max="19000" infinitive="0"/>

<snd_config>characters_voice\human_01\stalker\</snd_config>
<crouch_type>-1</crouch_type>

<visual>actors\neytral\stalker_neytral_balon_1</visual>
<supplies>
[spawn] \n
wpn_pm \n
ammo_9x18_pmm = 1 \n
wpn_ak74 = 1, scope 1, silencer\n
ammo_5.45x39_ap =1 \n
device_torch \n
hand_radio \n
</supplies>

#include "gameplay\character_criticals_4.xml"

<start_dialog>escape_lager_volk_talk</start_dialog>
<start_dialog>dm_hello_dialog</start_dialog>
<actor_dialog>dm_cool_info_dialog</actor_dialog>
<actor_dialog>dm_help_wounded_medkit_dialog</actor_dialog>
<actor_dialog>tm_wolf_dialog</actor_dialog>
<actor_dialog>tm_wolf_reward</actor_dialog>
<actor_dialog>escape_lager_volk_story</actor_dialog>
<actor_dialog>escape_lager_volk_story2</actor_dialog>
</specific_character>
видишь где????
увеличим....
wpn_ak74 = 1, scope 1, silencer\n
ammo_5.45x39_ap =1 \n - вот тебе и патроны!!! :D

кому, что еще нужно? пишите... авось помогу... ;)

# 37
Воскресенье, 08.03.2009, 08:14:30

Ранг: Новичок
Сообщений: 27
Награды: 0
Репутация: 17 Регистрация: 19.01.2009  

Чтобы изменить тип патронов, которые спавнятся при смерти непися, надо лезть в файл death_generic по адресу gamedata\config\misc. Там есть что то типо таблицы, там прописано к какому типу патронов соответствует какое оружие. Если у тебя есть новый тип патронов и оружие по него, то просто созадй новую строчку в этой таблице, получится чт то типо этого:
ammo_7.62x54r = wpn_pkm
и после этих деяний в рюкзаке убитого непися будут именно те патроны, которые вы прописали. Так же можно изменить количество этих патронов, но я чёта не помну где, как вспомню - отпишусь.[size=10]

Добавлено (08.03.2009, 08:14:30)
---------------------------------------------
И ещё, чтоб работали новые патроны, их ещё необходимо прописать в томже файле, только ещё и в графе [ammo_sections]



# 38
Воскресенье, 08.03.2009, 11:58:39

Ранг: Прибывший
Сообщений: 3
Награды: 0
Репутация: 5 Регистрация: 07.03.2009  

Люди добрые подскажите: как поменять музыку в игре, ту которая из матюгальников. А то реклама Долга на территории Бара уже достала


Зачем же вы убиваетесь? Вы же так не убьётесь!
# 39
Воскресенье, 08.03.2009, 13:27:26

Ранг: Познающий
Сообщений: 98
Награды: 1
Репутация: 24 Регистрация: 17.02.2009 Город: Геленджик    

Quote (MaZaHaKeR)
Чтобы изменить тип патронов, которые спавнятся при смерти непися, надо лезть в файл death_generic по адресу gamedata\config\misc. Там есть что то типо таблицы, там прописано к какому типу патронов соответствует какое оружие. Если у тебя есть новый тип патронов и оружие по него, то просто созадй новую строчку в этой таблице, получится чт то типо этого: ammo_7.62x54r = wpn_pkm и после этих деяний в рюкзаке убитого непися будут именно те патроны, которые вы прописали. Так же можно изменить количество этих патронов, но я чёта не помну где, как вспомню - отпишусь.[size=10]

ты мое прочел??? <_< зачем лазить в скрипты???! :o если сделать так как я сказал получится не хуже!!! да еще и понятно...
"ammo_7.62x54r = wpn_pkm" - это где по твоему без модов найти возможно??!!
или же ты где-то видел ПКМ???? %)

Добавлено (08.03.2009, 13:27:26)
---------------------------------------------
Перегар,
создаем в "gamedata" вот это "Х:\"-=GAMES=-"\S.T.A.L.K.E.R\gamedata\sounds\characters_voice\scenario\bar\radio_music" и кидаешь сюда "OGG" файл с таким названием "radio_music_1" внимание! "огг" должен быть в моно формате!!!

# 40
Воскресенье, 08.03.2009, 17:36:48

Ранг: Новичок
Сообщений: 27
Награды: 0
Репутация: 17 Регистрация: 19.01.2009  

BRAVO, у меня твоим способом нифига не работало, и кстате моим способом всё работает на 100% и В СКРИПТЫ Я НЕ ЗАЛАЗИЛ - death_generic ЭТО LTX ФАЙЛ, А ТОЕТЬ ЭТО КОНФИГ ФАЙЛ, НО НЕ КАК НЕ СКРИПТ!!! И твоим способом ты спавнишь патроны при жизни npc, но не факт что они будут при его смерти. А мой способ касается именно именно "дохлых" неписей!!! И про ПКМ, да я его вытащил из какогото мода, но только модель ну и характеристики, остальное же описание я делал сам. А если не будес тсроки с пкм в деад герник, с нужными ему патронами, то ему скорее всего заспавнятся те, которые были заспавнены твоим способом - мой способ ьолие надёжен. И кстате, у меня к нему идут его ленточный коробчатый магазин, тоесть его особый патрон, а без записи в деад герник в трупе непися мы его ну никак не получим!!! И мой способ удобней ещё и тем, что НЕ НАДО БУДЕТ ПЕРЕРЫТЬ КУЧУ ФАЙЛОВ, ЧТОБ ПРОПИСАТЬ КАЖДОМУ НЕПИСЮ СВОЙ ПАТРОН!!! А ты посмотри, толи переписать 1 файл, толи целую кучю и возможность получить вылет игры... если гдето ошибся, так что думай как хочешь, но мой способ намного практичней и даёт почти 100% гарантию НЕВЫЛЕТА игры, что не мало важно! А даже если и еть вылет, то надо будет посмотреть 1 файл, а не перерыть кучу и может быть ненайти вылета(сам раньше пользовался твоим способом и долго патом парился где и чё я не так прописал)!!! Твоим способом удобно работать при редактировании уникальных неписей (их не так много) и то только при спавне им оружия! B)[size=11]


Форум настоящего сталкера » S.T.A.L.K.E.R. Тень Чернобыля » Теория модостроения » Учебник по модостроению (Получи достаточную информацию...)
Поиск:
Вверх
Правила чата
Мини-чат
+Мини-чат
0