Модострой:Вопросница
|
|
|
Статус: |
|
Легенда: |
|
Сообщений: |
2258 |
Награды: |
15 |
Регистрация: |
05.04.2010 |
|
Задаем разные вопросы касательно создания модов.
|
|
Среда, 02.03.2011, 09:50
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
05.04.2010 |
|
|
|
|
|
Статус: |
|
Бывалый: |
|
Сообщений: |
1116 |
Награды: |
12 |
Регистрация: |
29.11.2010 |
|
QWENTYS, То ты говоришь, что: Quote Попытался вытащить модели из ТЧ. то говоришь: Ты определись, откуда ты ее взял и куда засунул.
|
|
Понедельник, 08.08.2011, 20:43
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
29.11.2010 |
|
|
|
|
|
QWENTYS
Понедельник, 08.08.2011, 20:48 | Сообщение # 1112
Статус: |
|
Отмычка: |
|
Сообщений: |
110 |
Награды: |
0 |
Регистрация: |
26.02.2011 |
|
Ну с начала взял из тч засунул в зп - невышло. Потом взял из чн засунул в зп -невышло. НО до этого взял модель спальника из мода на тч LWR - все получилось...
|
|
Понедельник, 08.08.2011, 20:48
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
26.02.2011 |
|
|
|
|
|
FEAR97
Понедельник, 08.08.2011, 20:50 | Сообщение # 1113
Статус: |
|
Новичок: |
|
Сообщений: |
259 |
Награды: |
4 |
Регистрация: |
10.06.2011 |
|
Ты модель та чего переносиш? еслис чн или зп для тч то проста так неперенесеш!
Сообщение отредактировал Pashok1997 - Понедельник, 08.08.2011, 20:51
|
|
Понедельник, 08.08.2011, 20:50
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
10.06.2011 |
|
|
|
|
|
QWENTYS
Понедельник, 08.08.2011, 21:02 | Сообщение # 1114
Статус: |
|
Отмычка: |
|
Сообщений: |
110 |
Награды: |
0 |
Регистрация: |
26.02.2011 |
|
модели НПС долга и свободы. Подскажи пожалйста что для переноса с ТЧ в ЗП нужно?
|
|
Понедельник, 08.08.2011, 21:02
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
26.02.2011 |
|
|
|
|
|
Статус: |
|
Неопытный: |
|
Сообщений: |
575 |
Награды: |
2 |
Регистрация: |
25.12.2010 |
|
QWENTYS, понимаешь , дело в том что модели предметов и модели визуалов - это разные вещи, так что перенос модели предмета гораздо проще, чем визуала!
|
|
Понедельник, 08.08.2011, 21:03
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
25.12.2010 |
|
|
|
|
|
FEAR97
Понедельник, 08.08.2011, 21:04 | Сообщение # 1116
Статус: |
|
Новичок: |
|
Сообщений: |
259 |
Награды: |
4 |
Регистрация: |
10.06.2011 |
|
MilkShape 1.8.4Добавлено (08.08.2011, 21:04) --------------------------------------------- для переноса НПС вроде подойдет
|
|
Понедельник, 08.08.2011, 21:04
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
10.06.2011 |
|
|
|
|
|
QWENTYS
Понедельник, 08.08.2011, 21:05 | Сообщение # 1117
Статус: |
|
Отмычка: |
|
Сообщений: |
110 |
Награды: |
0 |
Регистрация: |
26.02.2011 |
|
Pashok1997, Ага, спасибо) kaizer96
|
|
Понедельник, 08.08.2011, 21:05
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
26.02.2011 |
|
|
|
|
|
Статус: |
|
Отмычка: |
|
Сообщений: |
116 |
Награды: |
5 |
Регистрация: |
07.08.2011 |
|
Люди может хоть кто-нибудь мне поможет.Уже 6 раз перепроверил правильность создание нпс, а он все равно пишет Этот лог.
FATAL ERROR
[error]Expression : no_assert [error]Function : CXML_IdToIndex<class CSpecificCharacter>::GetById [error]File : d:\prog_repository\sources\trunk\xrserverentities\xml_str_id_loader.h [error]Line : 112 [error]Description : item not found, id [error]Arguments : esc_unik_npc
stack trace:
Помогите люди замучился уже. Делаю на ЗП.
Сообщение отредактировал EnerjaiZer - Вторник, 09.08.2011, 13:01
|
|
Вторник, 09.08.2011, 12:57
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
07.08.2011 |
|
|
|
|
|
RICK
Вторник, 09.08.2011, 13:05 | Сообщение # 1119
Статус: |
|
Опытный: |
|
Сообщений: |
1205 |
Награды: |
4 |
Регистрация: |
10.05.2011 |
|
;------------ ;EnerjaiZer ;-------------
--------всем прив для вас k.a.i.l.-------
сегодня будем учится создавать нового нпс и спавнить его.
нам нужно; 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>new_npc</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>
ps небольшое дополнение можно также через аллспавн заспавнить нпс его можно с нуля создать или другого спавнить
унас уже создан нпс new_npc но он появится через поршень давайте сделаем что бы он появился сразу в начале игры и что бы если на него напали он вернулся обратно где стоял просто в аллспавне добавим новую секцию в alife_ваша локация.ltx [107] ; cse_abstract properties section_name = stalker_monolith -- эту строку нетрогать если измените допусти moy_npc аллспавн незапакуется name = cop_monolith_river_0005 -- а сдесь уже можно любое имя вписать position = 272.86505126953,5.8489871025085,270.28271484375 -- кориданты где наш нпс будет стоять direction = -8.54346671985695e-006,-0.86760002374649,-2.06313507078448e-006 -- положение модели по х,у.Z тоесть куда сталкер будет смотреть
; cse_alife_trader_abstract properties money = 5000 character_profile = cop_monolit_sniper -- а вот его айди вписаем новый свой который мы создали new_npc
; cse_alife_object properties game_vertex_id = 73 distance = 4.90000009536743 level_vertex_id = 466007 object_flags = 0xffffffff custom_data = <<END [logic] active = camper@monolith_river4 -- логика слова monolith_river4 просто для привязки логики можно другое вписать допустим moy_npc вписавать только где видим monolith_river4 остальное нетрогать combat_ignore = combat_ignore
[camper@monolith_river4] path_walk = monolith_river4_walk -- точка куда идет нпс path_look = monolith_river4_look -- точка куда смотрет все знаю сначало сталкер смотрим вточку поента а потом туда идет meet = meet@monolith_river4 danger = danger_condition@monolith_river4
[danger_condition@monolith_river4] ignore_distance = 0 ignore_distance_corpse = 0
[meet@monolith_river4] use = true use_wpn = true meet_talk_enabled = true
[smart_terrains] none = true - это смарт значит под гулаг неидет сам по себе будет END
; cse_visual properties visual_name = actors\monolit\stalker_mo_head_1 - а визуал можно даже неменять визуал будет братся из профиля new_npc
; cse_alife_creature_abstract properties g_team = 0 g_squad = 18 g_group = 15 health = 1 dynamic_out_restrictions = dynamic_in_restrictions =
upd:health = 1 upd:timestamp = 0x23dd3 upd:creature_flags = 0xd4 upd:position = 272.86505126953,5.8489871025085,270.28271484375 upd:o_model = 0 upd:o_torso = -0.86760002374649,-8.54346671985695e-006,0 upd:g_team = 0 upd:g_squad = 18 upd:g_group = 15
; cse_alife_monster_abstract properties
upd:next_game_vertex_id = 65535 upd:prev_game_vertex_id = 65535 upd:distance_from_point = 0 upd:distance_to_point = 0
; cse_alife_human_abstract properties predicate5 = 2,2,2,0,2 predicate4 = 1,0,0,0
; cse_ph_skeleton properties
upd:start_dialog =
; se_stalker properties
так ну и допишим логику в way_ваша_локация.ltx
[monolith_river4_look] points = p0 p0:name = wp00 p0:flags = 0x1 p0:position = 272.86505126953,5.8489871025085,270.28271484375 кординаты куда пойдет нпс после атаки указывать кординаты где раньше нпс стоял если указать другие то он пойдет искать эту точку с кординаты которые вы написали и там будет стоять
p0:game_vertex_id = 73 p0:level_vertex_id = 466007
[monolith_river4_walk] points = p0 p0:name = wp00 p0:flags = 0x1 p0:position = 272.86505126953,5.8489871025085,270.28271484375 p0:game_vertex_id = 73 p0:level_vertex_id = 466007
вот и все если что обращайтесь
Сообщение отредактировал Kail - Вторник, 09.08.2011, 13:20
|
|
Вторник, 09.08.2011, 13:05
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
10.05.2011 |
|
|
|
|
|
Статус: |
|
Отмычка: |
|
Сообщений: |
116 |
Награды: |
5 |
Регистрация: |
07.08.2011 |
|
Character_desc_escape
Вот npc_profile
Вот spawn_sections_escape
Сообщение отредактировал EnerjaiZer - Вторник, 09.08.2011, 13:09
|
|
Вторник, 09.08.2011, 13:05
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
07.08.2011 |
|
|
|
|
|
gif
Вторник, 09.08.2011, 20:00 | Сообщение # 1121
Статус: |
|
Новичок: |
|
Сообщений: |
397 |
Награды: |
4 |
Регистрация: |
31.05.2011 |
|
EnerjaiZer, Вот это на 100% рабочий!!!
|
|
Вторник, 09.08.2011, 20:00
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
31.05.2011 |
|
|
|
|
|
Статус: |
|
Отмычка: |
|
Сообщений: |
116 |
Награды: |
5 |
Регистрация: |
07.08.2011 |
|
Нет не помогло.Я если что на Кордон в сталкере Зов припяти спауню.Простых солдат и сталкеров нормально заспаунил, а уникальных не в какую.Может выложишь еще npc_profile и spawn_section етого нпс просто замучился уже.
Сообщение отредактировал EnerjaiZer - Вторник, 09.08.2011, 20:21
|
|
Вторник, 09.08.2011, 20:10
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
07.08.2011 |
|
|
|
|
|
gif
Вторник, 09.08.2011, 20:28 | Сообщение # 1123
Статус: |
|
Новичок: |
|
Сообщений: |
397 |
Награды: |
4 |
Регистрация: |
31.05.2011 |
|
Ну сейчас вылужу для ТЧ npc_profile и spawn_section И Профиль
Сообщение отредактировал gif - Вторник, 09.08.2011, 20:29
|
|
Вторник, 09.08.2011, 20:28
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
31.05.2011 |
|
|
|
|
|
Статус: |
|
Отмычка: |
|
Сообщений: |
116 |
Награды: |
5 |
Регистрация: |
07.08.2011 |
|
Ладно спасибо тебе за то что откликнулся Но все равно пишет что не может найти.
[error]Expression : no_assert [error]Function : CXML_IdToIndex<class CSpecificCharacter>::GetById [error]File : d:\prog_repository\sources\trunk\xrserverentities\xml_str_id_loader.h [error]Line : 112 [error]Description : item not found, id [error]Arguments : esc_doctor
Сообщение отредактировал EnerjaiZer - Вторник, 09.08.2011, 20:38
|
|
Вторник, 09.08.2011, 20:38
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
07.08.2011 |
|
|
|
|
|
RICK
Вторник, 09.08.2011, 20:55 | Сообщение # 1125
Статус: |
|
Опытный: |
|
Сообщений: |
1205 |
Награды: |
4 |
Регистрация: |
10.05.2011 |
|
;----------------- ;EnerjaiZer ;-----------------
выложи все файлы которые ты затронул сюда
;------------------ ;вопрос по тч ;------------------
тут такое дело я написал схему патруль для зомбированых сталкеров, что бы они ходили от точки к точке я хочу немного усовершенствовать ,а теперь вопрос как сделать что бы мои зомбированные сталкеры начинали ходить в 12 часов ночи ,а в 5 устра они уходили в офлайн в 12 ночи опять в онлайн и ходили по точкам которые я указал такое возможно сделать?
Сообщение отредактировал Kail - Вторник, 09.08.2011, 20:57
|
|
Вторник, 09.08.2011, 20:55
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
10.05.2011 |
|
|
|
|