Модостроение. Общие вопросы и ответы
|
|
denis2000 | Дата: Сб, 15.06.2013, 11:51 | Сообщение # 1 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Помощь тем кто хочет знать больше о игре и модах Если у вас появились вопросы по модостроению в игре S.T.A.L.K.E.R. Задавайте их в этой теме - умные головы, модосторители и просто разбирающиеся в программировании люди вам ответят.
Много интересного материала здесь (wiki), Lua_help.script, Help из SDK 0.7
Сборник модостроения ЗП v10.10.11 (автор: XOBAH): *.CHM, *.HTML [cut noguest=Если у вас не открывается файл CHM]Если у вас не открывается файл: 1. Запустите [Пуск]=>[Выполнить] (либо хот-кей [WIN]+[R]) 2. Введите команду (без кавычек) "regsvr32 %windir%\system32\hhctrl.ocx" 3. Если вылезло окно об успешном завершении вы все сделали правильно и можете перезагружать компьютер (а может и не надо) Также: файлы МОГУТ не открываться если в пути к файлу есть: символы кириллицы, "_", "#" Также: есть не стандартные программы-просмоторщики CHM файлов. Например: FBReader[/cut] [cut=Где найти лог игры после вылета]Что такое LOG ошибки, и как мне его найти? Это система отладки происходивших вылетов, которая подается игрой в форме текста, хотя не всегда. Для того чтоб найти LOG необходимо зайти вот сюда:
В Win хр лог находится:
C:\Documents and Settings\All Users\Документы\S.T.A.L.K.E.R. - Зов Припяти\logs
Затем открываете первый файл в формате TXT, и в нем отбираете с низу 25 строчек. После кидаете эти 25 строчек в сообщение на форум.
В Win7 лог находится C:\Users\Public\Documents\S.T.A.L.K.E.R. - Зов Припяти\logs
Путь к папке с логом можно найти открыв файл fsgame.ltx который находится в корневой директории ЗП, за это отвечает строка: ... $app_data_root$ = true | false| $fs_root$| users\(тут мы указываем что папка пользователя, будет хранится рядом с Fsgame.ltx) ... $logs$ = true| false| $app_data_root$| logs\(а тут мы указываем что в папке пользователя, в подпапке Logs будут храниться наши логи) ... [/cut][cut=Получение более подробной информации о вылете (ХОВАН)] Открываем файл _g.script и ищем такую функцию: function abort(fmt, ...) Там есть заккомментированная строчка "--error_log(reason)", ее и надо расскомментировать, должно получиться вот так: Код function abort(fmt, ...) local reason = string.format(fmt, ...) error_log(reason) end Вот для примера два одинаковых вылета, первый с функцией по умолчанию, второй - с поправленной функцией
Первый: Код Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ....a.l.k.e.r. - Зов Припяти\gamedata\scripts\_g.script:478: bad argument #2 to 'format' (string expected, got nil) Второй: Код Expression : 0 Function : ErrorLog File : D:\prog_repository\sources\trunk\xrServerEntities\script_engine_script.cpp Line : 49 Description : 'Attempt to read a non-existant string field 'path_walk' in section 'walker@mechanic' [/cut]
Перед тем, как задать вопрос в этой теме, прочтите все предыдущие страницы, статьи в wiki по ссылке из шапки и соседнюю тему "Курс молодого бойца", возможно Ваш вопрос уже рассматривался.
Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки. Помните чем подробнее вопрос, тем точнее ответ.
Посты, для которых есть свои категории, из этой темы будут удаляться или перемещаться в соответсвующую тему. Персональных извещений в ЛС о переносе\удалении поста не будет, ищите сами. Учитывайте, что в системах Ucoz тема не обновляется в статистике при переносе поста. Посты, написанные здесь-же после переноса, будут расцениваться как кросспостинг, со всеми вытекающими
[cut noguest=Первый юбилей нашей темы] Здравствуйте господа модостроители, и все так или иначе причастные к этому. Нашей теме исполнился 1 год. От души поздравляю Всех Вас дорогие друзья, творческих успехов. Хочу так же выразить отдельную благодарность denis2000 и ХОВАН. tracker 23.06.11
[/cut]
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
asd123 | Дата: Чт, 25.12.2014, 23:13 | Сообщение # 901 |
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
| Цитата denis2000 ( ) Как же вы такого добились? Сам не знаю. Все началось после того, как я научился распаковывать all.spawn
У мутантов тоже есть группировки. © Движок X-Ray
Сообщение отредактировал asd123 - Чт, 25.12.2014, 23:14 |
|
|
Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |
|
|
suhar_ | Дата: Пт, 26.12.2014, 20:33 | Сообщение # 902 |
Бывалый
Пользователи
Сообщений: 106
| Можно ли в условном операторе использовать конструкцию или (or)? Вот [cut=кусок скрипта]if (item_name=="ammo_bag_01") or (item_name=="ammo_bag_02") or (item_name=="ammo_bag_03") or (item_name=="ammo_bag_04") then param_m = math.random(1,16) if (param_m == 1) or (param_m == 2) then give_object_to_actor("ammo_5.45x39_fmj", 3) give_object_to_actor("ammo_5.45x39_ap", 2) give_object_to_actor("ammo_5.45x39_7h39", 2) end if (param_m == 3) or (param_m == 4) then give_object_to_actor("ammo_5.56x45_ss190", 3) give_object_to_actor("ammo_5.56x45_ap", 2) give_object_to_actor("ammo_5.56x45_mk262", 2) end if param_m == 5 then give_object_to_actor("ammo_9x39_pab9", 2) give_object_to_actor("ammo_9x39_ap", 2) give_object_to_actor("ammo_9x39_sp5", 2) end if param_m == 6 then give_object_to_actor("ammo_9x39_ap", 3) give_object_to_actor("ammo_9x39_sp5", 4) end if param_m == 7 then give_object_to_actor("ammo_pkm_100", 2) give_object_to_actor("ammo_7.62x54_ap", 5) end if param_m == 8 then give_object_to_actor("ammo_7.62x54_7h1", 4) give_object_to_actor("ammo_7.62x54_7h14", 3) give_object_to_actor("ammo_7.62x54_ap", 3) end if (param_m == 9) or (param_m == 10) then give_object_to_actor("ammo_12x70_buck", 4) give_object_to_actor("ammo_12x76_zhekan", 4) give_object_to_actor("ammo_12x76_dart", 3) end if param_m == 11 give_object_to_actor("ammo_11.43x23_fmj", 7) give_object_to_actor("ammo_11.43x23_hydro", 6) give_object_to_actor("ammo_5.7x28", 4) end if param_m == 12 give_object_to_actor("ammo_9x19_fmj", 7) give_object_to_actor("ammo_9x19_pbp", 7) give_object_to_actor("ammo_9x19_hp", 7) end if param_m == 13 give_object_to_actor("ammo_9x18_fmj", 9) give_object_to_actor("ammo_9x18_pmm", 8) give_object_to_actor("ammo_9x18_pbp", 8) end if param_m == 14 give_object_to_actor("ammo_vog-25", 20) end if param_m == 15 give_object_to_actor("ammo_m209", 20) end if param_m == 16 give_object_to_actor("grenade_f1", 5) give_object_to_actor("grenade_rgd5", 5) give_object_to_actor("grenade_gd-05", 3) end end[/cut] При тесте вылет со ссылкой на файл, содержащий этот скрипт. Задумка такая. При использовании ящика (4 разных типа), в рюкзак спавнится рандомный набор боеприпасов. Чтобы отрегулировать вероятность появления тех или иных предметов ввожу дополнительный параметр or (param_m == 2), как например с припасами 5.45x39 [cut=Лог]Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ...mes\stalker cop\gamedata\scripts\bind_stalker.script:187: attempt to index global 'lex_inventory' (a nil value)[/cut]
|
|
|
Эти 0 пользователя(ей) поблагодарили suhar_ за это полезное сообщение: |
|
|
makdm | Дата: Пт, 26.12.2014, 20:55 | Сообщение # 903 |
Рожденный в СССР
Разработчики
Сообщений: 1294
| suhar_, у вас куча ошибок в строках
Цитата suhar_ ( ) if param_m == 11 Цитата suhar_ ( ) f param_m == 12 Цитата suhar_ ( ) if param_m == 13 Цитата suhar_ ( ) if param_m == 14 Цитата suhar_ ( ) f param_m == 15 Цитата suhar_ ( ) if param_m == 16
А где THEN ?
Терпение...... И все получится!
|
|
|
Эти 0 пользователя(ей) поблагодарили makdm за это полезное сообщение: |
|
|
sergej5500 | Дата: Пт, 26.12.2014, 22:11 | Сообщение # 904 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Добрый вечер. Столкнулся с таким вылетом.
[cut=Лог]FATAL ERROR [error]Expression : !phrase_dialog->m_PhraseVector.empty() [error]Function : CPhraseDialog::SayPhrase [error]File : D:\prog_repository\sources\trunk\xrGame\PhraseDialog.cpp [error]Line : 146 [error]Description : No available phrase to say, dialog[rasvet_addon_pursue_dialog]
stack trace:[/cut]
Вроде бы нет доступных строк в диалоге.
[cut=Диалог]<dialog id="rasvet_addon_pursue_dialog"> <dont_has_info>rasvet_add_pursue_final</dont_has_info> <phrase_list> <phrase id="25"> <text>rasvet_addon_pursue_dialog_25</text> <next>26</next> <next>27</next> <next>28</next> </phrase> <phrase id="26"> <text>rasvet_addon_pursue_dialog_26</text> <has_info>rasvet_add_pursue_story_1</has_info> <next>29</next> <next>30</next> </phrase> <phrase id="27"> <text>rasvet_addon_pursue_dialog_27</text> <has_info>rasvet_add_pursue_story_2</has_info> <next>29</next> <next>30</next> </phrase> <phrase id="28"> <text>rasvet_addon_pursue_dialog_28</text> <has_info>rasvet_add_pursue_story_3</has_info> <next>29</next> <next>30</next> </phrase> <phrase id="14"> <text>rasvet_addon_pursue_dialog_14</text> <next>20</next> <next>22</next> </phrase> <phrase id="29"> <text>rasvet_addon_pursue_dialog_29</text> <give_info>rasvet_add_pursue_final_2</give_info> <give_info>rasvet_add_pursue_final</give_info> </phrase> <phrase id="30"> <text>rasvet_addon_pursue_dialog_30</text> <next>20</next> <next>22</next> </phrase> <phrase id="1"> <text></text> <next>2</next> <next>24</next> </phrase> <phrase id="24"> <text>rasvet_addon_pursue_dialog_24</text> <has_info>rasvet_add_pursue_logic_2</has_info> <next>25</next> </phrase> <phrase id="2"> <text>rasvet_addon_pursue_dialog_2</text> <has_info>rasvet_add_pursue_logic_1</has_info> <next>4</next> </phrase> <phrase id="6"> <text>rasvet_addon_pursue_dialog_6</text> <has_info>rasvet_add_pursue_story_2</has_info> <next>8</next> </phrase> <phrase id="7"> <text>rasvet_addon_pursue_dialog_7</text> <has_info>rasvet_add_pursue_story_3</has_info> <next>8</next> </phrase> <phrase id="4"> <text>rasvet_addon_pursue_dialog_4</text> <next>5</next> <next>6</next> <next>7</next> </phrase> <phrase id="5"> <text>rasvet_addon_pursue_dialog_5</text> <has_info>rasvet_add_pursue_story_1</has_info> <next>8</next> </phrase> <phrase id="8"> <text>rasvet_addon_pursue_dialog_8</text> <next>9</next> <next>10</next> <next>11</next> </phrase> <phrase id="10"> <text>rasvet_addon_pursue_dialog_10</text> <has_info>rasvet_add_pursue_money_2</has_info> <next>12</next> <next>13</next> <next>14</next> </phrase> <phrase id="11"> <text>rasvet_addon_pursue_dialog_11</text> <has_info>rasvet_add_pursue_money_3</has_info> <next>12</next> <next>13</next> <next>14</next> </phrase> <phrase id="9"> <text>rasvet_addon_pursue_dialog_9</text> <has_info>rasvet_add_pursue_money_1</has_info> <next>12</next> <next>13</next> <next>14</next> </phrase> <phrase id="12"> <text>rasvet_addon_pursue_dialog_12</text> <precondition>dialogs_rasvet_addon.rasvet_add_pursue_has_money</precondition> <action>dialogs_rasvet_addon.rasvet_add_pursue_give_money</action> <next>15</next> </phrase> <phrase id="15"> <text>rasvet_addon_pursue_dialog_15</text> <action>dialogs_rasvet_addon.rasvet_add_pursue_reward</action> <next>16</next> </phrase> <phrase id="16"> <text>rasvet_addon_pursue_dialog_16</text> <give_info>rasvet_add_pursue_final_1</give_info> <give_info>rasvet_add_pursue_final</give_info> </phrase> <phrase id="13"> <text>rasvet_addon_pursue_dialog_13</text> <precondition>dialogs_rasvet_addon.rasvet_add_pursue_less_money</precondition> <next>17</next> </phrase> <phrase id="17"> <text>rasvet_addon_pursue_dialog_17</text> <next>18</next> <next>19</next> </phrase> <phrase id="19"> <text>rasvet_addon_pursue_dialog_19</text> <next>20</next> <next>22</next> </phrase> <phrase id="22"> <text>rasvet_addon_pursue_dialog_22</text> <has_info>rasvet_add_pursue_enemy_2</has_info> <next>23</next> <next>18</next> </phrase> <phrase id="18"> <text>rasvet_addon_pursue_dialog_18</text> <action>dialogs_rasvet_addon.rasvet_add_pursue_grabesh</action> <give_info>rasvet_add_pursue_final_1</give_info> <give_info>rasvet_add_pursue_final</give_info> </phrase> <phrase id="23"> <text>rasvet_addon_pursue_dialog_23</text> <give_info>rasvet_add_pursue_final</give_info> <give_info>rasvet_add_pursue_enemy</give_info> </phrase> <phrase id="20"> <text>rasvet_addon_pursue_dialog_20</text> <has_info>rasvet_add_pursue_enemy_1</has_info> <next>21</next> </phrase> <phrase id="21"> <text>rasvet_addon_pursue_dialog_21</text> <give_info>rasvet_add_pursue_final_1</give_info> <give_info>rasvet_add_pursue_final</give_info> </phrase> <phrase id="0"> <text></text> <next>1</next> </phrase> </phrase_list> </dialog>[/cut]
[cut=Фразы диалога]<string id="rasvet_addon_pursue_dialog_10"> <text>20000.</text> </string> <string id="rasvet_addon_pursue_dialog_11"> <text>30000.</text> </string> <string id="rasvet_addon_pursue_dialog_12"> <text>Держи деньги.</text> </string> <string id="rasvet_addon_pursue_dialog_13"> <text>У меня столько нет.</text> </string> <string id="rasvet_addon_pursue_dialog_14"> <text>У меня своих дел полно. Разбирайтесь сами.</text> </string> <string id="rasvet_addon_pursue_dialog_15"> <text>Это тебе от нас в качестве благодарности.</text> </string> <string id="rasvet_addon_pursue_dialog_16"> <text>Благодарю.</text> </string> <string id="rasvet_addon_pursue_dialog_17"> <text>Тогда давай все, что есть.</text> </string> <string id="rasvet_addon_pursue_dialog_18"> <text>Хорошо, забирай.</text> </string> <string id="rasvet_addon_pursue_dialog_19"> <text>Идите, откуда пришли. Я милостыню не подаю.</text> </string> <string id="rasvet_addon_pursue_dialog_2"> <text>Привет, сталкер. Дело к тебе есть. Срочное.</text> </string> <string id="rasvet_addon_pursue_dialog_20"> <text>Не злись, приятель. Пойдем дальше.</text> </string> <string id="rasvet_addon_pursue_dialog_21"> <text>Бывай.</text> </string> <string id="rasvet_addon_pursue_dialog_22"> <text>Тогда мы обыщем твой труп. Или гони барахло.</text> </string> <string id="rasvet_addon_pursue_dialog_23"> <text>Ну попробуй.</text> </string> <string id="rasvet_addon_pursue_dialog_24"> <text>Привет, сталкер. Дело к тебе есть срочное.</text> </string> <string id="rasvet_addon_pursue_dialog_25"> <text>Что за дело?</text> </string> <string id="rasvet_addon_pursue_dialog_26"> <text>Мы идем поохотиться на мутантов. Пойдешь с нами?</text> </string> <string id="rasvet_addon_pursue_dialog_27"> <text>Мы идем собирать артефакты. Пойдешь с нами?</text> </string> <string id="rasvet_addon_pursue_dialog_28"> <text>Мы идем разбираться с нехорошими ребятами. Пойдешь с нами?</text> </string> <string id="rasvet_addon_pursue_dialog_29"> <text>Хорошо, пойдем.</text> </string> <string id="rasvet_addon_pursue_dialog_30"> <text>У меня своих дел полно.</text> </string> <string id="rasvet_addon_pursue_dialog_4"> <text>Что за дело.</text> </string> <string id="rasvet_addon_pursue_dialog_5"> <text>Наш друг пострадал в схватке с мутантами. Нужны деньги на лечение. Поможешь?</text> </string> <string id="rasvet_addon_pursue_dialog_6"> <text>Наш друг попал в аномалию. Серьёзно пострадал. Нужны деньги на лечение. Поможешь?</text> </string> <string id="rasvet_addon_pursue_dialog_7"> <text>Наш друг пострадал в перестрелке. Нужны деньги на лечение. Поможешь?</text> </string> <string id="rasvet_addon_pursue_dialog_8"> <text>Сколько нужно денег?</text> </string> <string id="rasvet_addon_pursue_dialog_9"> <text>10000.</text> </string>[/cut]
В момент спавна сквада генерируется набор инфопорций для диалога.
[cut=Функция]function rasvet_add_pursue_global_sheme(actor,npc) local rnd_pursue_logic=math.random(1,2) local rnd_pursue_story=math.random(1,3) local rnd_pursue_enemy=math.random(1,2) local rnd_pursue_money=math.random(1,3) if rnd_pursue_logic==1 then give_info("rasvet_add_pursue_logic_1") end if rnd_pursue_logic==2 then give_info("rasvet_add_pursue_logic_2") end if rnd_pursue_story==1 then give_info("rasvet_add_pursue_story_1") end if rnd_pursue_story==2 then give_info("rasvet_add_pursue_story_2") end if rnd_pursue_story==3 then give_info("rasvet_add_pursue_story_3") end if rnd_pursue_enemy==1 then give_info("rasvet_add_pursue_enemy_1") end if rnd_pursue_enemy==2 then give_info("rasvet_add_pursue_enemy_2") end if rnd_pursue_money==1 then give_info("rasvet_add_pursue_money_1") end if rnd_pursue_money==2 then give_info("rasvet_add_pursue_money_2") end if rnd_pursue_money==3 then give_info("rasvet_add_pursue_money_3") end end[/cut]
Непись подбегает к игроку и начинает диалог.
[cut=Фрагмент логики рестриктора][sr_idle@stalker_exist] on_info = {!squad_exist(zat_stalker_pursue_squad)} sr_idle@global_timer %=rasvet_add_pursue_disable% on_info2 = {=distance_to_obj_ge(zat_stalker_pursue_squad:225)} sr_idle@global_timer %=rasvet_add_pursue_disable =remove_squad(zat_stalker_pursue_squad)% on_info3 = {+rasvet_add_pursue_final_1} sr_idle@postprocess_stalker %=stop_weapon_and_guidebook +rasvet_add_pursue_end% on_info4 = {+rasvet_add_pursue_final_2} sr_idle@postprocess_stalker_teleport %=stop_weapon_and_guidebook +rasvet_add_pursue_end% on_info5 = {!is_squad_enemy_to_actor(zat_stalker_pursue_squad) +rasvet_add_pursue_enemy} %=set_squad_goodwill(zat_stalker_pursue_squad:enemy)%
[sr_idle@postprocess_stalker] on_game_timer = 10 | sr_idle@disable_ui_stalker %=run_postprocess(black:500021:true)%
[sr_idle@disable_ui_stalker] on_game_timer = 10 | sr_idle@forward_game_time_stalker %=disable_ui%
[sr_idle@forward_game_time_stalker] on_game_timer = 10 | sr_idle@enable_ui_stalker %=forward_game_time(0:30) =remove_squad(zat_stalker_pursue_squad) =rasvet_add_pursue_disable%
[sr_idle@enable_ui_stalker] on_game_timer = 10 | sr_idle@stop_postprocess_stalker %=enable_ui%
[sr_idle@stop_postprocess_stalker] on_game_timer = 10 | sr_idle@global_timer %=stop_postprocess(500021)%[/cut]
[cut=Логика непися][companion@companion] gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false sprint = true meet = meet
[meet] abuse = true use = {=dist_to_actor_le(6) !actor_enemy -rasvet_add_pursue_final} self,false allow_break = false meet_on_talking = true trade_enable = false
[hit] on_info = {=hit_by_actor -rasvet_add_pursue_enemy} %+rasvet_add_pursue_enemy%
[death] on_info = {=killed_by_actor -rasvet_add_pursue_enemy} %+rasvet_add_pursue_enemy%
;
[companion@1]:companion@companion combat_ignore_cond = {=fighting_dist_ge(30)} true on_info = {=dist_to_actor_le(30)} companion@2
[companion@2]:companion@companion combat_ignore_cond = {=fighting_dist_ge(50)} true on_info = {=dist_to_actor_ge(50)} companion@1
;
[remark@zat_add_pursue] gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false meet = no_meet
;
[logic@zat_add_pursue_1] active = remark@zat_add_pursue_1 suitable = {=target_squad_name(zat_stalker_pursue_squad)} true, {=target_squad_name(zat_bandit_pursue_squad)} true prior = 300 post_combat_time = 0,0 on_hit = hit on_death = death
[remark@zat_add_pursue_1]:remark@zat_add_pursue on_info = companion@1[/cut]
Диалог нормально запускается. После выдачи инфопорции rasvet_add_pursue_final_1 разговор обрывается.. Экран гаснет. Интерфейс отключается. После чего игра вылетает. Я бы понял, если бы вылет был при начале разговора. Но разговор кончается. Неписю выдается запрет говорить дальше. Он и не говорит.
В чем может быть причина?Добавлено (26.12.2014, 22:11) --------------------------------------------- Дополнение к предыдущему посту. С вылетом вроде разобрался.
Сразу после отключения интерфейса следует удаление сквада и сброс инфопорций диалога. После отмены сброса инфопорций вылет прекратился.
Возник новый вопрос. Сколько секунд диалог сохраняется в памяти игры?
|
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
makdm | Дата: Пт, 26.12.2014, 23:29 | Сообщение # 905 |
Рожденный в СССР
Разработчики
Сообщений: 1294
| sergej5500, вместо
Цитата sergej5500 ( )
[sr_idle@forward_game_time_stalker] on_game_timer = 10 | sr_idle@enable_ui_stalker %=forward_game_time(0:30) =remove_squad(zat_stalker_pursue_squad) =rasvet_add_pursue_disable%
[sr_idle@enable_ui_stalker]
Попробуй так
[sr_idle@forward_game_time_stalker] on_game_timer = 10 | sr_idle@wait_remove %=forward_game_time(0:30) =remove_squad(zat_stalker_pursue_squad)%
[sr_idle@wait_remove] on_info = {!squad_exist(zat_stalker_pursue_squad)} sr_idle@enable_ui_stalker %=rasvet_add_pursue_disable%
[sr_idle@enable_ui_stalker]
Терпение...... И все получится!
|
|
|
Эти 0 пользователя(ей) поблагодарили makdm за это полезное сообщение: |
|
|
asd123 | Дата: Сб, 27.12.2014, 06:00 | Сообщение # 906 |
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
| О чем гласит вот такой лог? Случается частенько на Агропроме. Код [error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ....e.r. - Зов Припяти\gamedata\scripts\xr_logic.script:610: bad argument #1 to 'pairs' (table expected, got nil)
У мутантов тоже есть группировки. © Движок X-Ray
|
|
|
Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |
|
|
makdm | Дата: Сб, 27.12.2014, 07:13 | Сообщение # 907 |
Рожденный в СССР
Разработчики
Сообщений: 1294
| Цитата asd123 ( ) О чем гласит вот такой лог? О том, что у какого-то объекта была попытка переключится на несуществующую секцию логики.
Терпение...... И все получится!
|
|
|
Эти 0 пользователя(ей) поблагодарили makdm за это полезное сообщение: |
|
|
asd123 | Дата: Сб, 27.12.2014, 15:02 | Сообщение # 908 |
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
| Сделал Смарткавер на Кордоне [cut=Тык] [2228828282]
; cse_abstract properties section_name = smart_cover name = esc_test position = -143.12516784668,-30.122798919678,-401.3186340332 direction = -4.99999987368938e-006, -0.413201004266739, 4.99999987368938e-006 version = 128 script_version = 12
; cse_alife_object properties game_vertex_id = 1936 distance = 36.3999977111816 level_vertex_id = 109901 object_flags = 0xffffffbf
; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = 0,0,0 shape0:radius = 2
; cse_smart_cover properties description = combat_front hold_position_time = 0 enter_min_enemy_distance = 15 exit_min_enemy_distance = 10 is_combat_cover = 1 MP_respawn = 1
; se_smart_cover properties last_description = combat_front loopholes = stand_front_left, 0, crouch_front_left, 0, crouch_front_right, 1, crouch_front, 1, stand_front_right, 0 [/cut] хотелось бы узнать - для чего нужно 3 direction`a? То есть, 3 координата И, в строке loopholes: 0 и 1 - в чем различия?
И, как добавить созданному смарт каверу возможность принимать на себя НПС во время боя?
Добавлено (27.12.2014, 15:02) --------------------------------------------- Блин, а еще персонаж в смарт кавере не хочет в меня стрелять, хотя я сделал ему use_in_combat = true в логике
Вояка смарт каверщик
Как настроить, чтобы стрелял?
У мутантов тоже есть группировки. © Движок X-Ray
Сообщение отредактировал asd123 - Сб, 27.12.2014, 15:04 |
|
|
Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |
|
|
denis2000 | Дата: Сб, 27.12.2014, 15:44 | Сообщение # 909 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата asd123 ( ) для чего нужно 3 direction`a? То есть, 3 координата Углы вращения по трем осям.
Цитата asd123 ( ) И, в строке loopholes: 0 и 1 - в чем различия? Имя анимационного состояния и за ним флаг использовать его или нет.
Цитата asd123 ( ) И, как добавить созданному смарт каверу возможность принимать на себя НПС во время боя? is_combat_cover = 1 - это и есть использовать во время боя.
Цитата asd123 ( ) Как настроить, чтобы стрелял? Не использовать боевой смарт-ковер в логике НПС.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
asd123 | Дата: Сб, 27.12.2014, 16:08 | Сообщение # 910 |
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
| А за что это отвечает тогда?
enter_min_enemy_distance = 15 exit_min_enemy_distance = 10
У мутантов тоже есть группировки. © Движок X-Ray
Сообщение отредактировал asd123 - Сб, 27.12.2014, 16:21 |
|
|
Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |
|
|
Kapitan_komandor | Дата: Сб, 27.12.2014, 16:49 | Сообщение # 911 |
Диггер Вольных
Вольные сталкеры
Сообщений: 12056
| Парни - а вы тут только и бываете,а как насчет команды"ИНКРУСТАТОРОВ" готовых модов,но на новых идеях. Есть желания попробывать?
С конкретными предложениями в Конкретную тему. denis2000
Жизнь это миг.за него и держись.
|
|
|
Эти 0 пользователя(ей) поблагодарили Kapitan_komandor за это полезное сообщение: |
|
|
denis2000 | Дата: Сб, 27.12.2014, 17:41 | Сообщение # 912 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| asd123, enter_min_enemy_distance - минимальная дистанция до противника для входа в укрытие exit_min_enemy_distance - минимальная дистанция до противника для выхода их укрытия
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Danny_Cross | Дата: Вс, 28.12.2014, 13:38 | Сообщение # 913 |
Гражданский
Пользователи
Сообщений: 2
| Люди, а если установлю новый ствол в в игру, мне надо начинать игру заново?
|
|
|
Эти 0 пользователя(ей) поблагодарили Danny_Cross за это полезное сообщение: |
|
|
denis2000 | Дата: Вс, 28.12.2014, 14:15 | Сообщение # 914 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Danny_Cross, Если не требуется выдать ствол другим НПС или выдать в торговлю, то не понадобиться.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Prophet | Дата: Вс, 28.12.2014, 14:16 | Сообщение # 915 |
Сталкер
Пользователи
Сообщений: 195
| Цитата Danny_Cross ( ) надо начинать игру заново Желательно.
Я - Пророк! Запомни меня!...
Сообщение отредактировал Prophet - Вс, 28.12.2014, 14:17 |
|
|
Эти 0 пользователя(ей) поблагодарили Prophet за это полезное сообщение: |
|
|
|