Помощь/подсказки в создании модов
|
|
|
Суббота, 19.06.2010, 11:40:12 |
Ранг: Прибывший
Сообщений: 2
Награды: 5
Репутация: 5
Регистрация: 19.06.2010
Город: Армавир
|
Помощь/подсказки в создании модов Тема создана для помощи модмейкерам. Если у кого то есть вопросы, пишите, будем искать решения.
Рекомендую перед вопросом посмотреть: +Крупнейший форум модостроителей +Википедия по модифицированию Сталкера +Программы по модифицированию
SibireaStalker Сообщения не по теме и про ТЧ будут удалятся без объяснений!
В теме запрещены "спасибы", авторы которых будут наказаны. Для этого есть система ЛС.
Внимание! СДК обсуждается в этой теме!
Принимаются вопросы для FAQ! Подробней в теме...
Никто не забыт, ничто не забыто...
| |
|
Четверг, 09.02.2012, 19:41:39 |
Ранг: Новичок
Сообщений: 29
Награды: 2
Репутация: 30
Регистрация: 21.01.2012
Город: Владимир
|
Уфф... разобрался... теперь такой вопрос... как заспавнить НПС в ЗП через СКРИПТЫ? через ол.спавн не хочу больно долго?
| |
|
Четверг, 09.02.2012, 23:16:43 |
Ранг: Знаток Зоны
Сообщений: 613
Награды: 27
Репутация: 1197
Регистрация: 17.02.2011
Город: Воронеж
|
Mayron, охохх. Надо справшивать с толком, и понятно, а не капс локом. Quote Автор статьи: Johhan Открываем файл D:\S.T.A.L.K.E.R. - Зов Припяти\нпс\configs\creatures\spawn_sections_zaton В самое начало добавляем это: Code [my_stalker]:stalker $spawn = "respawn\my_stalker" character_profile = my_stalker spec_rank = master community = stalker custom_data = scripts\zaton\my_stalker_npc_logic.ltx Дальше идем в папку D:\S.T.A.L.K.E.R. - Зов Припяти\нпс\configs\gameplay Открываем character_desc_zaton В самый конец добавляем, но перед <\xml>! Code <specific_character id="my_stalker" team_default = "1"> <name>Johann</name> <icon>ui_inGame2_neutral_4</icon> <map_icon x="1" y="0"></map_icon> <bio>Опытный сталкер. Детальная информация отсутствует.</bio>
<class>my_stalker</class> <community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect> <snd_config>characters_voice\human_01\stalker\</snd_config>
<rank>65</rank> <reputation>0</reputation> <money min="2500" max="5000" infinitive="0"/>
<visual>actors\stalker_neutral\stalker_neutral_4</visual> <supplies> [spawn] \n wpn_beretta = 1 \n ammo_9x19_fmj = 1 \n grenade_rgd5 = 1 \n #include "gameplay\character_items.xml" #include "gameplay\character_food.xml" #include "gameplay\character_drugs.xml" </supplies>
#include "gameplay\character_criticals_4.xml" </specific_character> И открываем npc_profile После строчки добавляем Code <character id="my_stalker"> <class>my_stalker</class> </character> А теперь создадим логику для него D:\S.T.A.L.K.E.R. - Зов Припяти\нпс\configs\scripts тут создаем папку new а там файл my_stalker_npc_logic И пишим там Если ты хочешь бесмертного то Code [logic] active = remark1 danger = danger_ignore invulnerable = true
[danger_ignore] ignore_distance = 5
[remark1] no_move = true anim = choose on_actor_dist_le = 2| remark@hello invulnerable = true meet = meet_guide
[meet_guide] abuse = false use = true allow_break = false meet_on_talking = false
[remark@hello] no_move = true invulnerable = true meet = meet_guide on_actor_dist_le = 10| remark1 А если смертного то Code [logic] active = remark1 danger = danger_ignore invulnerable = false
[danger_ignore] ignore_distance = 5
[remark1] no_move = true anim = choose on_actor_dist_le = 2| remark@hello invulnerable = false meet = meet_guide
[meet_guide] abuse = false use = true allow_break = false meet_on_talking = false
[remark@hello] no_move = true invulnerable = false meet = meet_guide on_actor_dist_le = 10| remark1 Открываем D:\S.T.A.L.K.E.R. - Зов Припяти\нпс\scripts И создаем скрипт sniper_add.script И пишим там (открываем с помощью блокнота) Code function start_add_spawn()--\\ --\\ -- spawn_sniper_one() end
function spawn_sniper_one() local x= 111.75521087646 local y= -3.9362425804138 local z= 185.2212677022 local level_vertex= 1158851 local game_vertex_id= 316 alife():create("my_stalker",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 И открываем скрипт тут же bind_stalker.script Ищим строку Code function actor_binder:update(delta) object_binder.update(self, delta)
if string.find(command_line(), "-designer") then return end И после неё пишим это Code if sniper_add.load_variable("spawn_sniper",false)==false then sniper_add.start_add_spawn() sniper_add.save_variable("spawn_sniper",true) end Всё, мы сделали нпс, он появится около сыча слева от стойки. Удачи! P.S. когда я делаю нпс смертным,то он просто шляется без дела по локации
| |
|
Четверг, 09.02.2012, 23:43:13 |
Ранг: Познающий
Сообщений: 116
Награды: 1
Репутация: 1682
Регистрация: 15.09.2010
Город: Краснодар
|
Эм,ребят не подскажите как сделать,чтобы допустим наёмник не реагироал на ГГ,чтобы он в него не стрелял.
| |
|
Пятница, 10.02.2012, 13:26:37 |
Ранг: Живая легенда
Сообщений: 1884
Награды: 107
Репутация: 5959
Регистрация: 20.07.2010
|
PorShen, спаунишь сквад. Прописываешь ему relationship = neutral
Ушёл с ресурса из-за занятости. Если что-то экстренное - пишите в ЛС: приду, посмотрю, отвечу. Полноправно вернуться в сообщество планирую после релиза второй части игры. ----------------------------------------------------------------- Всем удачи и не скучать.
| |
|
Пятница, 10.02.2012, 13:56:07 |
Ранг: Новичок
Сообщений: 29
Награды: 2
Репутация: 30
Регистрация: 21.01.2012
Город: Владимир
|
PorShen, Если хочешь именно одного, то =====> 1.Или делаешь группировку Наёмники с прописным killers1 2.Или прописать в логику НПС тоесть наёмнику, нейтрал! Если хочешь всех, то ============> 1.Измени отношения группировок 2.Создать новую группировку с прописным killers1 и поставить новым НПС 3.Занести Гг в эту группировку 4.Прописать группу ACTOR в нейтралы по отношению с наймитами!
Или же создать сквад как сказал SibireaStalker, и прописать neutral
Добавлено (10.02.2012, 13:56:07) --------------------------------------------- Lagos, Огромное спасибо! А как сделать чтобы этот НПС по твоему уроку создался после разговора с другим НеПиСем
| |
|
Пятница, 10.02.2012, 14:17:56 |
Ранг: Живая легенда
Сообщений: 1884
Награды: 107
Репутация: 5959
Регистрация: 20.07.2010
|
Mayron, если я тебя правильно понял, то ты сначала должен поговорить с НПС, а потом он должен заспауниться? Тогда так: [action] function spawn_sniper_one() local x= 111.75521087646 local y= -3.9362425804138 local z= 185.2212677022 local level_vertex= 1158851 local game_vertex_id= 316 alife():create("my_stalker",vector():set(x,y,z),level_vertex,game_vertex_id) end [/action]
Только там скобки вот эти ужны : <> . У меня почему -то сайт их не отображает.
Ушёл с ресурса из-за занятости. Если что-то экстренное - пишите в ЛС: приду, посмотрю, отвечу. Полноправно вернуться в сообщество планирую после релиза второй части игры. ----------------------------------------------------------------- Всем удачи и не скучать.
| |
|
Пятница, 10.02.2012, 21:47:01 |
Ранг: Новичок
Сообщений: 29
Награды: 2
Репутация: 30
Регистрация: 21.01.2012
Город: Владимир
|
SibireaStalker, спасибо огромное!
| |
|
Суббота, 11.02.2012, 00:23:08 |
Ранг: Прибывший
Сообщений: 1665
Награды: 95
Репутация: 4016
Регистрация: 03.03.2011
|
Mayron, можно еще проще: в диалоге, где после определенной фразы должен заспавниться НПС, вставляешь строку
Code <action>sniper_add.spawn_sniper_one</action>
где sniper_add - это твой скрипт, а spawn_sniper_one - функция спавна НПС.
Не столь важно что ты делаешь, важно как ты это делаешь! (Джимми Лансфорд)
Сообщение отредактировал comador - Суббота, 11.02.2012, 00:23:45
| |
|
Суббота, 11.02.2012, 14:21:36 |
Ранг: Познающий
Сообщений: 116
Награды: 1
Репутация: 1682
Регистрация: 15.09.2010
Город: Краснодар
|
Эм,ребят появился ступор. Заспавнил сталкеров. Один в одной точке. Два других,наёмника-совсем на другой точке другом конце локи. При старте новой игры появляется вместо одного сталкера спавнится наёмник. В чём проблема.Проверил все вертексы,пути и т.п. Всё в норме? Может попробовать через сквад?Добавлено (11.02.2012, 14:21:36) --------------------------------------------- Кстати,есть более простой способ отключить данжер на игрока: fighting_actor=false
Сообщение отредактировал PorShen - Суббота, 11.02.2012, 14:16:39
| |
|
Суббота, 11.02.2012, 17:58:00 |
Ранг: Живая легенда
Сообщений: 1884
Награды: 107
Репутация: 5959
Регистрация: 20.07.2010
|
PorShen, не рекомендую тебе спаунить сталкеров по одиночке, ни через спаун, ни через скрипт. Проще учесть всё при планировании карты, раставить анимпоинты и прочее и потом с помощью сквада заспаунить отряд али одного непися.
Давай разбираться что ты там начудачил
Ушёл с ресурса из-за занятости. Если что-то экстренное - пишите в ЛС: приду, посмотрю, отвечу. Полноправно вернуться в сообщество планирую после релиза второй части игры. ----------------------------------------------------------------- Всем удачи и не скучать.
| |
|
Суббота, 11.02.2012, 19:04:49 |
Ранг: Познающий
Сообщений: 116
Награды: 1
Репутация: 1682
Регистрация: 15.09.2010
Город: Краснодар
|
Хм,а в Тенях Чернобыля были сквады?
Подскажите плиз секцию одного сталкера в squad_escape.ltx Чтобы в этой секции была ссылка на профиль персонажа.Мне нужен уникум...Вот так вот. Эх...были бы у нас люди,специализировавшиеся на спавне и сюжете.Эх..
| |
|
Суббота, 11.02.2012, 19:10:18 |
Ранг: Живая легенда
Сообщений: 1884
Награды: 107
Репутация: 5959
Регистрация: 20.07.2010
|
PorShen, ну ты вспомнил во времена ТЧ были гулаги, там принцип спавна совершенно иной Quote (PorShen) Подскажите плиз секцию одного сталкера в squad_escape.ltx что?
Ушёл с ресурса из-за занятости. Если что-то экстренное - пишите в ЛС: приду, посмотрю, отвечу. Полноправно вернуться в сообщество планирую после релиза второй части игры. ----------------------------------------------------------------- Всем удачи и не скучать.
| |
|
Суббота, 11.02.2012, 20:19:59 |
Ранг: Познающий
Сообщений: 116
Награды: 1
Репутация: 1682
Регистрация: 15.09.2010
Город: Краснодар
|
Не..ты не понял,я уже сделал squad_escape.ltx,мне просто нужно знать,как прописать там непися с уникальным профилем.Уже нашёл: [esc_sim_23_stalker_squad_novice]:online_offline_group faction = stalker target_smart = esc_sim_15:esc_sim_19:esc_sim_17:esc_sim_16:esc_sim_23:loop npc = sim_default_stalker_1, sim_default_stalker_0, sim_default_stalker_0 ;spawn_point = esc_sim_23_stalker_squad_novice_spawn_point story_id = esc_sim_23_stalker_squad_novice
К примеру вот так)
| |
|
Суббота, 11.02.2012, 20:40:56 |
Ранг: Новичок
Сообщений: 29
Награды: 2
Репутация: 30
Регистрация: 21.01.2012
Город: Владимир
|
| |
|
Суббота, 11.02.2012, 20:43:16 |
Ранг: Познающий
Сообщений: 116
Награды: 1
Репутация: 1682
Регистрация: 15.09.2010
Город: Краснодар
|
Ахах,если я так посталю,мне придётся с бубном стоять,чтобы модификация работала.Буду пытаться через сквад спавнить.
| |
|
Воскресенье, 12.02.2012, 00:09:29 |
Ранг: Новичок
Сообщений: 29
Награды: 2
Репутация: 30
Регистрация: 21.01.2012
Город: Владимир
|
PorShen, а что ты вообще делаешь? Добавлено (12.02.2012, 00:09:29) --------------------------------------------- Ребят у меня горе... вы мне значит объяснили как спавнить НПС через скрипт и привели 2 логики.... обе логики ставлю и ни чего! вот эту логику ставил [logic] active = remark1 danger = danger_ignore
[danger_ignore] ignore_distance = 5
[remark1] no_move = true meet = meet_guide
[meet_guide] abuse = false use = true allow_break = false meet_on_talking = false
дело в том что НПС уходит с места и с ним поговорить нельзя!
| |
|
Воскресенье, 12.02.2012, 09:52:38 |
Ранг: Познающий
Сообщений: 116
Награды: 1
Репутация: 1682
Регистрация: 15.09.2010
Город: Краснодар
|
Модификация "Сны Разума.")))))))
| |
|
Воскресенье, 12.02.2012, 10:18:35 |
Ранг: Живая легенда
Сообщений: 1884
Награды: 107
Репутация: 5959
Регистрация: 20.07.2010
|
Mayron, тебе кажется забыли об этом сказать. Дело в том что заспауненные таким образом НПС говорить не будут, так как они заспаунены по принципу ТЧ, а как ты помнишь, в ТЧ можно было говорить со всеми. Как это исправить, я не знаю. Zeek знал, да я не знаю. Чтобы НПС не двигался с места, пропиши ему: Code [logic] active = remark1 danger = danger_ignore can_select_weapon = false
[danger_ignore] ignore_distance = 5
[remark1] no_move = true
Ушёл с ресурса из-за занятости. Если что-то экстренное - пишите в ЛС: приду, посмотрю, отвечу. Полноправно вернуться в сообщество планирую после релиза второй части игры. ----------------------------------------------------------------- Всем удачи и не скучать.
| |
|
Воскресенье, 12.02.2012, 11:16:04 |
Ранг: Познающий
Сообщений: 116
Награды: 1
Репутация: 1682
Регистрация: 15.09.2010
Город: Краснодар
|
[logic] active = remark1 danger = danger_ignore
[danger_ignore] ignore_distance = 5
[remark1] no_move = true anim=wait target=actor
[meet] use = true use_wpn = true meet_talk_enabled = true
Так он будет говорить и не сбегать с места. Спавнить на открытом поле,т.к может быть вылет,если актор стоит рядом с НПС,за объектом.
Сообщение отредактировал PorShen - Воскресенье, 12.02.2012, 11:19:22
| |
|
Воскресенье, 12.02.2012, 11:37:24 |
Ранг: Прибывший
Сообщений: 6
Награды: 1
Репутация: 27
Регистрация: 12.07.2010
|
Mayron, если спавнить по принципу ТЧ, то сталкер будет спавниться как простой сталкер. А в ЗП можно говорить только с лидером, поэтому добавляй в активную секцию логики строку: commander = true Эта строка и будет делать нашего непися лидером "сквада"
| |