Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
UnLoaded 313 Опубликовано 7 Апреля 2015 Поделиться Опубликовано 7 Апреля 2015 комбат игнор пишется для всей логики А оверрайд combat_ignore_cond тогда для чего ? Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 7 Апреля 2015 Поделиться Опубликовано 7 Апреля 2015 (изменено) Гм, а кто это должен читать ? Ремарк это не читает. Кстати, только что заметил забавную ошибочку в xr_combat_ignore: if obj:critically_wounded() then return true end Ну, все поняли, да ? То же самое, что с xr_wounded и кучей разнообразнейшей копипасты отуда. Изменено 7 Апреля 2015 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Malandrinus 615 Опубликовано 7 Апреля 2015 Поделиться Опубликовано 7 Апреля 2015 Удалить косточки в Милке - это я могу, а вот добавить Да ладно прибедняться. На закладке "Model" сперва выбираешь "Select" и выбираешь ту кость, от которой должна расти добавляемая. Затем там же выбираешь "Joint" и кликаешь на виде, добавляя сочленение в нужном месте. Затем идёшь на закладку "Joints", в списке выбираешь новую кость двойным кликом, вводишь новое имя и жмёшь "Rename", чтобы задать имя. 1 Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
UnLoaded 313 Опубликовано 7 Апреля 2015 Поделиться Опубликовано 7 Апреля 2015 Гм, а кто это должен читать ? Ремарк это не читает. Секция из логики Кузнецова под мостом на Свалке: [remark@esc_bridge_wait] anim = guard target = actor on_actor_dist_le_nvis = 5 | remark@esc_bridge_speek meet = no_meet combat_ignore_cond = {-esc_bridge_open_fire =fighting_actor =is_alive(032)} получается последнюю строчку ПЫСы просто так намалевали, а от комбата на актера вояку жажда денег удерживает ? Ссылка на комментарий
Карлан 1 049 Опубликовано 7 Апреля 2015 Поделиться Опубликовано 7 Апреля 2015 @UnLoaded, ты специально не смотришь в скрипты? Я же вроде понятно написал, погляди в xr_logic, затем в xr_combat_ignore, потом еще раз логику перечитай, и поймешь какая жажда его удерживает. Ну, все поняли, да ? "А что? А вдруг!"(с) Ссылка на комментарий
UnLoaded 313 Опубликовано 8 Апреля 2015 Поделиться Опубликовано 8 Апреля 2015 Такой вопрос: есть моб, который под логикой и находится в состоянии комбат. Если в это время ему переключить секцию логики, то он сначала закончит комбат(не важно с каким результатом) и только потом перейдет в новую секцию ? А можно ли принудительно прервать комбат, чтоб он перешел в новую секцию, а потом уж пусть продолжает комбат, если условия сохранятся ? Если можно, то какие ф-ции движка\скриптов для этого использовать ? Насчет ф-ций класса game_object critically_wounded() и wounded() - они для неписей или актера(ГГ)? И работают ли ? Сделал простенький вывод в сообщении результата этих ф-ций и уровня здоровья для НПСа, при нанесении ему хита. Ну и шмаляю по нему из пистолета - в результате вижу, что здоровье уменьшается а результат обоих ф-ций false. Может какие нюансы с этими ф-циями ? Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 8 Апреля 2015 Поделиться Опубликовано 8 Апреля 2015 (изменено) Вчера ссылку на xr_wounded.script давал. Здесь, в этой теме. И на коллецию прочего AI.Я правильно понял, что мне здесь что-либо писать не стоит, по тому что все равно ни кто читать не будет ? Ну, нет - так нет. Изменено 8 Апреля 2015 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Malandrinus 615 Опубликовано 8 Апреля 2015 Поделиться Опубликовано 8 Апреля 2015 поставить в логику типа camper, и собственно ни каких костей ни куда добавлять не надо Подход с трейдером имеет ряд преимуществ: 1. визуал может быть произвольным, что позволяет точно управлять формой объекта и кликабельной зоны. Как на сталкере реализовать переговорник на стене или радио на столе? 2. никакой логики вообще не надо, даже биндера нет. 3. как производное от п.2. Поскольку скриптовой части нет, расходы в игре будут меньше. 4. в случае чего не попытается убежать или обвалить игру из-за отсутствия путей и т.п. 1 Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 8 Апреля 2015 Поделиться Опубликовано 8 Апреля 2015 (изменено) Ну, в принципе, я тут проникся идеей рисования w = CUIButton()w:SetWindowName( "wnamet" )w:SetAutoDelete( true )w:SetText( "что попало" )w:SetTextColor( 255, 255, 0, 0 )w:SetFont( GetFontLetterica25() )w:Init( 130, 60, 100, 30 )self:AttachChild( w ) в сочетании с f = loadstring( тра-ля-ля ) self:AddCallback( w:WindowName(), ui_events.BUTTON_CLICKED, f, self ) Это в смысле как надежности, так и возможностей. Гораздо лучше, чем плодить мегабайтные xml с по десятку строк на каждый чих, прибитых гвоздями и зачем-то грузящихся в обязательном порядке, даже если нужны единственный раз в жизни. Плюс можно вызывать в любом удобном месте по любому удобному и неудобному поводу. Да, а если кто напряжется, и сделает такую универсальную рыбу, куда останется только нужный текст и нужные функции забить - вообще много кого осчастливит. dialog_manager можно забыть как кошмарный наркоманский бред. А с невидимкой - это вариант совсем для, гм, не желающих напрягаться, зато усидчивых, пока нет универсальной рыбы. Изменено 8 Апреля 2015 пользователем Dennis_Chikin 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
AndrewMor 527 Опубликовано 8 Апреля 2015 Поделиться Опубликовано 8 Апреля 2015 Dennis_Chikin, если плодить кучу чайников, бочек и прочего говорящего железа - да, так будет проще. А если делать один-единственный предмет - сдается мне, что это неудобней. ИМХО, конечно. Но ваш подход мне по душе. Сталкер - наше всё! Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 8 Апреля 2015 Поделиться Опубликовано 8 Апреля 2015 (изменено) Я на самом деле думаю в сторону "квестов" с "принеси мне медузу - получишь консервную банку", обмена водки на патроны и т.д. Ну и вообще квесты. В смысле, чтобы это можно было в любое время и в любом месте. То есть, как бы, например, можно подойти к чайнику, и получить кнопку "здравствуйте, глубокоуважаемый шкаф чайник". Ну и далее по тексту. Человек-невидимка здесь подходит, если он такой один, с ограниченным набором фраз, и с кнопками ради него одного связываться неохота. Изменено 8 Апреля 2015 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Сталкер-Стрелок 12 Опубликовано 8 Апреля 2015 Поделиться Опубликовано 8 Апреля 2015 @Dennis_Chikin, loadstring работает медленнее стандартного доступа к полю модуля. В мануале было написано, что его вообще следует избегать. И если уж loadstring, то loadstring(тра-ля-ля)(). А идею рисования вроде же мод DMX демонстрирует, там что-то такое было, получилось не очень на мой взгляд. Т.е. я тут поддержу вариант Маландринуса, это все-же как-то по человечески. Даже если делать аналог небезызвестного чебурашки, все равно не то. Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 8 Апреля 2015 Поделиться Опубликовано 8 Апреля 2015 local f = loadstring( "arc_ui_container_menu.btn_take_art(" .. n .. ")" ) self:AddCallback( b:WindowName(), ui_events.BUTTON_CLICKED, f, self ) Вот прям щас под рукой было. Вполне себе годная демонстрация его использования, и на сколько он там медленный - ради 5 кнопок - совершенно не волнует. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Сталкер-Стрелок 12 Опубликовано 8 Апреля 2015 Поделиться Опубликовано 8 Апреля 2015 @Dennis_Chikin, в этом случае - да, мы передаем функцию. От этого куска кода я и плевался в свое время, у каждого свои взгляды. Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 8 Апреля 2015 Поделиться Опубликовано 8 Апреля 2015 И какие альтернативы кроме xml-простыней ? Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Сталкер-Стрелок 12 Опубликовано 8 Апреля 2015 Поделиться Опубликовано 8 Апреля 2015 @Dennis_Chikin, какие? Очевидно полностью переписать. Не знаю как по твоему мнению, но вот по моему код контейнеров этих необычайно крив. Переписывается недолго, повышается читаемость кода, скорость работы, удобство с внесением правок. Ссылка на комментарий
Malandrinus 615 Опубликовано 8 Апреля 2015 Поделиться Опубликовано 8 Апреля 2015 проникся идеей рисования Я не очень тебя понял. Прозвучало как идея рисовать окна исключительно скриптами. Но при чём здесь тогда dialog_manager, который вроде как отвечает за диалоги? Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 8 Апреля 2015 Поделиться Опубликовано 8 Апреля 2015 (изменено) 2 Сталкер-Стрелок: вот именно сейчас именно это и делаю. Но loadstring() чем здесь помешал ? 2 Малаландринус: local t = { { "af_medusa", "я принес тебе медузу" }, ... } for i, v in ipairs( t ) do if actor:object( v[1] ) then create_button( v[2] ) и т.д. ... function a_button( i ) remove_item( t[1] ) revard( tt ) end ну и в таком вот духе. Изменено 8 Апреля 2015 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Сталкер-Стрелок 12 Опубликовано 8 Апреля 2015 Поделиться Опубликовано 8 Апреля 2015 @Dennis_Chikin, в мануале написано, и я этому следую. Если говорить о контейнерах, то я вообще не использовал подобную подгрузку функций. Ссылка на комментарий
AndrewMor 527 Опубликовано 8 Апреля 2015 Поделиться Опубликовано 8 Апреля 2015 2 Сталкер-Стрелок: вот именно сейчас именно это и делаю. Но loadstring() чем здесь помешал ? 2 Малаландринус: local t = { { "af_medusa", "я принес тебе медузу" }, ... } for i, v in ipairs( t ) do if actor:object( v[1] ) then create_button( v[2] ) и т.д. ... function a_button( i ) remove_item( t[1] ) revard( tt ) end ну и в таком вот духе. А не reward случаем? Сталкер - наше всё! Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти