Модострой:Вопросница
|
|
|
Статус: |
|
Легенда: |
|
Сообщений: |
2258 |
Награды: |
15 |
Регистрация: |
05.04.2010 |
|
Задаем разные вопросы касательно создания модов.
|
|
Среда, 02.03.2011, 09:50
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
05.04.2010 |
|
|
|
|
|
Статус: |
|
: |
|
Сообщений: |
|
Регистрация: |
|
|
(цензура) подробнее, я не телепат, елы палы. Почему может не работать?
|
|
Понедельник, 04.07.2011, 01:45
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
|
|
|
|
|
|
supei-sa
Понедельник, 04.07.2011, 08:43 | Сообщение # 752
Статус: |
|
Ветеран: |
|
Сообщений: |
4356 |
Награды: |
6 |
Регистрация: |
25.10.2010 |
|
А вот это можно ли из ARS мода для ЗП выдернуть эффект нуждания ГГ в питье для ТЧ или не пойдет со совместимостью.
|
|
Понедельник, 04.07.2011, 08:43
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
25.10.2010 |
|
|
|
|
|
Статус: |
|
Отмычка: |
|
Сообщений: |
104 |
Награды: |
3 |
Регистрация: |
30.05.2011 |
|
Хочу мод чтобы в ПДА общаться со сталкерами.Как в грядущем Lost alpha
|
|
Понедельник, 04.07.2011, 10:46
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
30.05.2011 |
|
|
|
|
|
Renson
Понедельник, 04.07.2011, 11:37 | Сообщение # 754
[Genesis mod]
Статус: |
|
Бывалый: |
|
Сообщений: |
1053 |
Награды: |
2 |
Регистрация: |
03.07.2010 |
|
Я тоже.
|
|
Понедельник, 04.07.2011, 11:37
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
03.07.2010 |
|
|
|
|
|
iDreD
Понедельник, 04.07.2011, 11:43 | Сообщение # 755
|
Понедельник, 04.07.2011, 11:43
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
20.01.2011 |
|
|
|
|
|
FEAR97
Понедельник, 04.07.2011, 12:33 | Сообщение # 756
Статус: |
|
Новичок: |
|
Сообщений: |
259 |
Награды: |
4 |
Регистрация: |
10.06.2011 |
|
Много кто хочет
|
|
Понедельник, 04.07.2011, 12:33
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
10.06.2011 |
|
|
|
|
|
Dimonich
Понедельник, 04.07.2011, 13:02 | Сообщение # 757
Статус: |
|
Опытный: |
|
Сообщений: |
1643 |
Награды: |
6 |
Регистрация: |
17.04.2011 |
|
Народ,помогите!Создаю НПС по урокам Scripta (амк форум) Вылет с таким логом: FATAL ERROR [error]Expression : no_assert [error]Function : CXML_IdToIndex<class CInfoPortion>::GetById [error]File : e:\stalker\patch_1_0004\xr_3da\xrgame\xml_str_id_loader.h [error]Line : 112 [error]Description : item not found, id [error]Arguments : global_dialogs Что делать?
|
|
Понедельник, 04.07.2011, 13:02
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
17.04.2011 |
|
|
|
|
|
Tris
Понедельник, 04.07.2011, 13:15 | Сообщение # 758
Dead Forgetting Zone
Статус: |
|
Бывалый: |
|
Сообщений: |
914 |
Награды: |
3 |
Регистрация: |
12.06.2011 |
|
Что то с диалогом
|
|
Понедельник, 04.07.2011, 13:15
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
12.06.2011 |
|
|
|
|
|
VIRUS96
Понедельник, 04.07.2011, 14:11 | Сообщение # 759
Статус: |
|
Опытный: |
|
Сообщений: |
1887 |
Награды: |
2 |
Регистрация: |
15.11.2010 |
|
Dimonich, не прописал наличие XML файла в system.ltx
|
|
Понедельник, 04.07.2011, 14:11
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
15.11.2010 |
|
|
|
|
|
RICK
Понедельник, 04.07.2011, 14:19 | Сообщение # 760
Статус: |
|
Опытный: |
|
Сообщений: |
1205 |
Награды: |
4 |
Регистрация: |
10.05.2011 |
|
[/spoiler] ;--------------- ;Dimonich ;---------------
сегодня будем учится создавать нового нпс и спавнить его.
нам нужно; character_desc_локация.xml npc_profile.xml spawn_section.ltx stable_bio_name.xml info_portion.xml ну и сам скрипт спавна мы его напишим
поехали
шаг 1
идем сюда config/gameplay/character_desc_escape.xml
и копируем любого нпс
например того же волка и переделаем немного вотак
<!---------------------------------------new_npc-----------------------------------------------------> <specific_character id="new_npc" team_default = "1">--это айди нпс пишим также как и в npc_Profile <name>сюда имя писать любое хоть дацент</name> <icon>ui_npc_face</icon>-- его иконка в инвенторе можно другую вписать название иконки внимание иконка уменя своя тачто увас она небудет работать вписывайте другое <bio>esc_wolf_bio</bio> <class>esc_wolf</class> <community>stalker</community>--- это строка отвечает в какой наш нпс состоит в группировке сейчас он в группировке нейтральные сталкеры можно вписать любую другую <terrain_sect>stalker_terrain</terrain_sect>
<rank>434</rank>- его ранк сейчас он опытный если поставить например 700,800,900 то он будет ветераном или мастером <reputation>5</reputation> <money min="600" max="2000" infinitive="0"/>--- его денги можно вписать любое число или зделать бесконечные денги где стоит вскобках 0 поставить надо 1 и все у нашего нпс бесконечные денги
<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_fmj = 1 \n wpn_ak74 \n ammo_5.45x39_fmj \n device_torch \n hand_radio \n </supplies>
#include "gameplay\character_criticals_4.xml" </specific_character>
шаг 2
идем в папку config/gameplay/npc_profile.xml
открыли этот файл и видим
-------------------------------------------------------------------------------
<?xml version='1.0' encoding="UTF-8"?>
<xml> <!-- НОВЫЕ ПРОФИЛЯ --> <character id="actor"> <class>Actor</class> <specific_character>actor</specific_character> </character> <character id="default"> <class>Stalker_general</class> </character> <character id="mp_actor"> <class>mp_actor</class> <specific_character>mp_actor</specific_character> </character>
<!-- Escape --> <character id="escape_trader"> <class>Trader</class> <specific_character>escape_trader</specific_character> </character>
<character id="esc_wolf"> <class>esc_wolf</class> </character>
ну и там дальше... давайте вставим нашего нпс вотак
<character id="new_npc"> <class>new_npc</class> </character>
в итоге получится так
<!-- Escape --> <character id="escape_trader"> <class>Trader</class> <specific_character>escape_trader</specific_character> </character>
<character id="esc_wolf"> <class>esc_wolf</class> </character> <character id="new_npc"> <class>new_npc</class> <specific_character>new_npc</specific_character> </character> --внимание следите за порядком тагов что бы неповтарались два раза </character>,или </character id=>
иначе будет вылет с предположительно такой ошибкой eror read end tag
шаг 3 идем дальше в папку config/creaturs/файл spawn_section.ltx
окрыли его и видим
ищем такую конструкцию
;--------Escape-------------- ;--------neutrals------------- [esc_stalker_respawn_1]:stalker $spawn = "respawn\esc_stalker_respawn_1" character_profile = sim_stalker_novice spec_rank = novice community = stalker
[esc_stalker_respawn_2]:stalker $spawn = "respawn\esc_stalker_respawn_2" character_profile = sim_stalker_general spec_rank = regular community = stalker ну и там много еще давайте напишим нашу конструкцию вотак
[new_npc]:stalker -- внимание название нашего нпс должно быть везде одинаково тоесть в character_desc_escape написано new_npc значит и здесь пиши так если в одном файле напишите new_npc а вдругом вообще moy_npc допустим то будет вылит с предположительно такой ошибкой new_npc no found id это означает что наш нпс ненайден тоесть неправильно мы его гдето в каком то файле описали $spawn = "respawn\new_npc" character_profile = new_npc -- его профиль пишим такой же какой и писали в npc_profile.xml тоесть new_npc spec_rank = novice --ранк тоесть новичек здесь пожалуй ничего нетрогаем community = stalker --- групировка в каторой состоит наш нпс можно вписать другую название группировок можно посмотреть в файле config/creaturs/game_relations.ltx custom_data = scripts\new_npc.ltx-- это строка нужна для того что бы дать нашему новому нпс логику вобщем общий вид такой должен быть
;--------Escape-------------- ;--------neutrals------------- [new_npc]:stalker $spawn = "respawn\new_npc" character_profile = new_npc spec_rank = regular community = stalker custom_data = scripts\new_npc.ltx
[esc_stalker_respawn_1]:stalker $spawn = "respawn\esc_stalker_respawn_1" character_profile = sim_stalker_novice spec_rank = novice community = stalker
[esc_stalker_respawn_2]:stalker $spawn = "respawn\esc_stalker_respawn_2" character_profile = sim_stalker_general spec_rank = regular community = stalker
шаг 4 дадим нашему нпс имя идем в папку config/text/rus/stable_bio_name
открыли и видим
<string id="aes_Monolit_master_bio"> <text>Хранитель группировки "Монолит". Лучше держаться от него подальше. Детальная информация отсутствует.</text> </string> <string id="aes_Monolit_rpg_bio"> <text>Сталкер группировки "Монолит". Детальная информация отсутствует.</text> </string> <string id="aes_Monolit_sniper_bio"> <text>Сталкер группировки "Монолит". Детальная информация отсутствует.</text> ну итд там много давайте впишим нашего нпс в самый конец
вотак
</string> <string id="new_npc">--его айди <text>Штырь</text> -- его имя </string> -- внимание будьте внимальны смотрите что бы </string> два раза в подряд неповтарались иначе будет вылет
шаг 5 сам спавн нпс нам нужны кординаты а как их получить незнаем давайте сходим вот сюда gamedata/scripts/ui_main_menu
и в самый конец файла напишим такой текст
function main_menu:OnButton_credits_clicked() local text local vid local gvid local a = vector() local text a = db.actor:position() vid = db.actor:level_vertex_id() gvid = db.actor:game_vertex_id() text = "Позиция:\\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, 3000) end
вы спросите а зачем вы это написали это конструкция поможет нам снять кординаты теперь заходим в игру идем в любое место допустим в лагере новичков в любой дом заходим выходим в глав меню жмем создатели услышим щелчек возврат в игру и видим в низу экрана координаты которые нам и нужны все сними скриншот можно этот текст который мы написали в ui_main_menu удалить
кординаты выглядят так
x=цифирки y=цифирки z=цифирки level_vertex=цифирки game_vertex_id=цифирки
так кординаты есть ну нету скрипта создадим его в папке gamedata/scripts/new_npc
function new_npc() alife():create("new_npc",vector():set(кординаты по х,у,z),level_vertex тут пишим циферки ,циферки game_vertex) end
так все
P.S если кто незнает как создать скрипт это легко создадим в папке gamedata/scripts/ простой текстовый документ туда в пишим наш текст тотчо я писал выше этого текста затем жмем по вкладке файл/сохранить как выбираем все файлы а название пишим new_npc.script
все скрипт готов
шаг 6 мы же недали логику нашему нпс мы же нехотим что бы он по зоне гулял
идем в папку gamedata/config/scripts/создадим файл new_npc.ltx
в файле пишим такой текст
логику я написал так
[logic] active = remark1 -- ознчает что он стоит на одном месте danger = danger_ignore
[danger_ignore] ignore_distance = 5
[remark1] no_move = true -- означет будет он стоять на одном месте здесть стоит true то есть да если поставим false то он пойдет гулять
[remark@base] anim = hello_wpn а вот это логика когда гг бежит к нашему нпс то нпс будет его приветсвовать рукой как волк no_move = true target = actor meet = meet on_actor_dist_le = 2| remark@sit
шаг 7 мы же неактивировали нашего нпс давайте сходим сюда config/gameplay/info_portion.xml
и видим
<?xml version='1.0' encoding="windows-1251"?>
<game_information_portions> <info_portion id="storyline_actor_start"> <task>storyline_eliminate_gunslinger</task> -- вставим по этот строкой активацию на нашего нпс вотак <action>new_npc.new_npc</action>
p.s а как активировать через диалог просто вставляем в скелет диалога после <text> тут любой текст</text> <action>название скрипта.название функции</action> тоесть название скрипт допустим moy_npc название функции пишим то что идет после первого слова fucntion допустим там spawn или give или new_ npc а значит так <action>new_npc.new_npc</action>
ну вот и все мы создали нпс
[spoiler]
Сообщение отредактировал Kail - Понедельник, 04.07.2011, 14:22
|
|
Понедельник, 04.07.2011, 14:19
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
10.05.2011 |
|
|
|
|
|
Dimonich
Понедельник, 04.07.2011, 14:55 | Сообщение # 761
Статус: |
|
Опытный: |
|
Сообщений: |
1643 |
Награды: |
6 |
Регистрация: |
17.04.2011 |
|
Quote (VIRUS96) не прописал наличие XML файла в system.ltx Какого именно xml файла?
Сообщение отредактировал Dimonich - Понедельник, 04.07.2011, 14:55
|
|
Понедельник, 04.07.2011, 14:55
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
17.04.2011 |
|
|
|
|
|
iDreD
Понедельник, 04.07.2011, 17:46 | Сообщение # 762
Статус: |
|
Отмычка: |
|
Сообщений: |
128 |
Награды: |
3 |
Регистрация: |
20.01.2011 |
|
Как не сложно догадаться, global_dialogs. Ваш К.О.
|
|
Понедельник, 04.07.2011, 17:46
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
20.01.2011 |
|
|
|
|
|
supei-sa
Понедельник, 04.07.2011, 19:12 | Сообщение # 763
Статус: |
|
Ветеран: |
|
Сообщений: |
4356 |
Награды: |
6 |
Регистрация: |
25.10.2010 |
|
Dimonich, В файле system наверное надо написать инклуд вот так #include global_dialogs как-то так.
|
|
Понедельник, 04.07.2011, 19:12
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
25.10.2010 |
|
|
|
|
|
VIRUS96
Понедельник, 04.07.2011, 21:38 | Сообщение # 764
Статус: |
|
Опытный: |
|
Сообщений: |
1887 |
Награды: |
2 |
Регистрация: |
15.11.2010 |
|
Quote #include global_dialogs ЗАЧЕМ подключать диалог к систем.лтх? OMG... Охх, короче, открываешь system.ltx, поcле контейнера [dialogs] в конце списка пишешь global_dialogs. Все.
Сообщение отредактировал VIRUS96 - Понедельник, 04.07.2011, 21:39
|
|
Понедельник, 04.07.2011, 21:38
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
15.11.2010 |
|
|
|
|
|
Tris
Понедельник, 04.07.2011, 21:58 | Сообщение # 765
Dead Forgetting Zone
Статус: |
|
Бывалый: |
|
Сообщений: |
914 |
Награды: |
3 |
Регистрация: |
12.06.2011 |
|
Вопрос по ЗП: Кто нибудь знает как отслеживать скриптом количество определённых предметов в рюкзаке???
|
|
Понедельник, 04.07.2011, 21:58
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
12.06.2011 |
|
|
|
|