Svoboда 3 Опубликовано 23 Апреля 2009 Поделиться Опубликовано 23 Апреля 2009 Тема для обсуждения скриптов всего и всех в серии игр STALKER. Задавая вопрос (!): 1. Внимательно изучите суть вопроса. Вопрос должен соответствовать выбранной Вами темы. Это поможет сохранить порядок и читабельность темы, а также облегчит поиск и понимание сего; 2. Изучите то, что уже есть в теме (пролистайте "руками", воспользуйтесь поиском на форуме); 3. Изучите информацию которая может вам помочь: Stalkerin. Там есть много хороших статей касательно данной темы.Уроки по модостроению. Есть рабочие примеры готовых скриптов различного назначения. Справочное руководство по языку Lua 5.1https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/ruСправочник по функциям и классам. Собрано много информации по функциям и классам, не всем, но по основные сведения предоставлены. Логика со вступлением и четырьмя частями: ВступлениеЧасть перваяЧасть втораяЧасть третьяЧасть четвертая. Smart_terrain (в простонароде - гулаг)Интересный способ настроики логики для гулаговСкриптовая часть игровой логики 4. Дабы не превращать обсуждение в "кашу" разной информативной направленности, задавайте несколько вопросов по порядку (в разных постах) после того, как получите ответ на предыдущий вопрос; 5. "Спасибо" и тому подобное - будьте так любезны в ПМ. Если не любите писать в ПМ, в конце вопроса напишите фразу: "Заранее спасибо!" - или что-то в этом духе; 6. ПОЖАЛУЙСТА! Указывайте, для какой игры Вам необходима информация (ТЧ, ЧН, ЗП), если стоит мод - укажите название мода; 7. Если Вы что-то сделали и результат не такой, какой Вами задумывался, то, пожалуйста, приводите коды которые Вы изменяли/писали целиком! Это поможет другим правильно ответить на Ваш вопрос, а также оградит Вас от лишней писанины. 8. Оформляйте сообщение. Пользуйтесь тегами для того, чтобы отделить код от текста. Пишите грамотно - ПОЛЬЗУЙТЕСЬ ЗНАКАМИ ПРЕПИНАНИЯ. 9. И помните: «Правильно заданный вопрос – половина ответа». Какие вопросы следует задавать, а какие нет... Задавайте вопросы, которые касаются непосредственно скриптов и их работы, т.е. Вы что-то делаете, а у Вас что-то не получается, при этом у Вас на руках должен быть хотя бы какой-то код, свидетельствующий о Вашей причастности к вопросу. Вопросы которые будут удалятся, следовательно их задавать не нужно:-- Где находится та или иная функция? Для ответа используем поиск по словам среди файлов оригинальной игры или мода, если объект поиска относится к нему, при помощью программы, которая Вам наиболее симпатизирует;-- Как сделать что-то/то-то? С подобными вопросами, либо в "ковырялки", где Вам вероятнее всего так же не ответят, либо выдвигаем мысли, подкреплённые теорией, практикой (идеальный вариант) и здравым рассудком;-- Вопросы со смыслом: "сделайте", "совместите" и подобными глаголами повелительного наклонения.-- К тому же удалению будут подвергаться вопросы, в которых масштабно не используются теги, для отделения кода и цитат от основного текста, а также не вписан в спойлер код размером превышающие семь строк.Ответ на возможно возникший вопрос: В какую тему можно обратиться по поводу логики и спавна объектов? В тему "ковырялок" соответствующей версии игры, для которой Вы задаёте вопрос. И последнее: очень рекомендовано к прочтению Правила форума 1 2 Ссылка на комментарий
Ulman 5 Опубликовано 24 Июня 2011 Поделиться Опубликовано 24 Июня 2011 max_max_08, да просто вылет давольно рандомный и бывает вылет через минут 5 а бывает вообще не славливаю... Ссылка на комментарий
Ulman 5 Опубликовано 24 Июня 2011 Поделиться Опубликовано 24 Июня 2011 (изменено) max_max_08, да просто вылет давольно рандомный и бывает вылет через минут 5 а бывает вообще не славливаю... Изменено 24 Июня 2011 пользователем Ulman Ссылка на комментарий
Ренсон 11 Опубликовано 24 Июня 2011 Поделиться Опубликовано 24 Июня 2011 Как скриптом удалить нпс? Ссылка на комментарий
herurg 0 Опубликовано 24 Июня 2011 Поделиться Опубликовано 24 Июня 2011 Приветствую всех. Очень прошу помочь. Раньше отписывался, что не могу настроить постоянный спаун изломов и прочей вырезанной из обычной игры нечисти. Долго ковырялся, но...К сожалению так и не смог осилить. Вроде бы вырезанных монстров в игру добавил (вставил из стандартной игры файлы), и смарттеррейны с ними прописываются...А части монстров внутри их (я их тоже вставил) и респаун ну никак. В частности у изломов никак не спавнятся части, и сам он с остальными вырезанными респауниться не хочет. Всё,что есть в ЗОНЕ, должно быть УЧТЕНО, ПРИПОРЯДКОВАНО и СХОВАНО! (с) Ссылка на комментарий
Якут 0 Опубликовано 25 Июня 2011 Поделиться Опубликовано 25 Июня 2011 Ренсон, есть вот такая функция function delete_marsh_haker_stalker() for a=10,65635,1 do local obj=alife():object(a) if obj and string.find(obj:name(),"marsh_haker_stalker") then alife():release(obj,true) end end end Она позволяет удалить не только НПС, но и монстров, динамические объекты, рестрикторы и т.п. Ссылка на комментарий
TR0N 0 Опубликовано 25 Июня 2011 Поделиться Опубликовано 25 Июня 2011 Делаю мод С командой и в команде нету нормального человека который знает лог . У меня такая проблема. Expression : vertex || show_restrictions(m_object) Function : CPatrolPathManager::select_point File : E:\stalker\patch_1_0004\xr_3da\xrGame\patrol_path_manager.cpp Line : 155 Description : any vertex in patrol path [esc_assault_escape_btr_path1] in inaccessible for object [esc_novice_attacker1] что надо править в чем ошибка ? Заранее благодарен Моя жизнь это S.T.A.L.K.E.R. Ссылка на комментарий
iDreD 5 Опубликовано 25 Июня 2011 Поделиться Опубликовано 25 Июня 2011 (изменено) Knyaz, скорее всего тебя просто на гугле забанили. Пересоздай точку патрульного пути в другом месте. Изменено 25 Июня 2011 пользователем iDreD Работа в Sculptris 3D [туториал] Страничка на Проза.ру Ссылка на комментарий
Kirag 39 Опубликовано 25 Июня 2011 Поделиться Опубликовано 25 Июня 2011 Knyaz В переводе на русский - "ни одна вершина пути ... не доступна объекту ..." Проверь у этого объекта in и out рестрикторы, и не попутал ли ты in с out-ом. Также возможно, что единственный узкий проход к точке назначения перекрыт динамической аномалией (которая добавляет рестриктор) - в этом случае после выброса или ухода-захода с уровня (просто сейв/лоад не поможет, вроде бы) расположение динамических аномалий должно поменяться и проблема по идее исчезнет (до следующего раза) Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
Руслан 1 Опубликовано 26 Июня 2011 Поделиться Опубликовано 26 Июня 2011 (изменено) Народ помогите, я заспавнил непесей сообирал координаты с блокнотиком, бегал по новым локациям и собирал, кароче насобирал заспавнил, все "ЛЕВЫЕ" НПС с каторыми поговорить нельзя норм стоят, почти все. dir.position видимо не правильный, хотя пробывал 3 раза и ничего не менялось. Заспавнил нового непися и он стоит боком, хотя должен смотреть в центр как я и предусматривал, но почему то стоит боком. Дай те норм скрипт для снятие координат или помогите разобратся в чем дело Прочти пункт правил 2.5. Изменено 26 Июня 2011 пользователем Cyclone Ссылка на комментарий
*Shoker* 322 Опубликовано 26 Июня 2011 Поделиться Опубликовано 26 Июня 2011 Kirag А можно ли как то этими рестрикторами заставить неписей обходить аномалии средствами движка? Knyaz Глянь в АМК или ОГСМ на ТЧ (точно не помню, могу ошибаться, есть и в других модах) Скрипт xr_patrol Где то у кого то это правилось. Руслан А ты через all.spawn делаешь? Там по моему нельзя через :direction() снимать, координаты другие. Их лучше в СДК смотреть. Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Ссылка на комментарий
_Призрак_ 11 Опубликовано 26 Июня 2011 Поделиться Опубликовано 26 Июня 2011 А можно ли как то этими рестрикторами заставить неписей обходить аномалии средствами движка? Да, можно Freedom Ссылка на комментарий
dPlayer 532 Опубликовано 27 Июня 2011 Поделиться Опубликовано 27 Июня 2011 Руслан, на, это скрипт от bardak'а. Для АМК 1.4, но адаптировать 2 файла (перенести пару абзацев) думаю сможешь. Выводит координаты, вертексы, направление. http://depositfiles.com/files/knoi49m1h Самый некомпетентный на форуме. Ссылка на комментарий
gruber 2 481 Опубликовано 27 Июня 2011 Поделиться Опубликовано 27 Июня 2011 iDreD, и что будет? они исчезнут? мне просто необходимо сделать на время деревню пустой, а потом снова наполнить. Как наполнить я знаю))) Нужно просто через состояние гулага перевести весь гулаг офлайн пример -гулаг петрухи и ко (гулаг новайс атакер) с начала игры сидят офлайн ,по инфопоршню гулаг переходит в состояние при котором все онлайн Короче там можно просто тупо скопипастить состояние гулага просто заменив условия перехода на свои и добавить в список работ номер этого состояния замечу,что все объекты прописаные в алспавн ,есть в игре с самого начала ,просто по разным условиям переводятся онлайн ,офлайн(т.е они не спавнятся непосредственно по инфопоршню например,"монолит" в х10 есть изначально просто он как бы невидим ) Ссылка на комментарий
speczadanie 0 Опубликовано 27 Июня 2011 Поделиться Опубликовано 27 Июня 2011 Помогите написать скрипт: Если NPC с сидом 1 враг игроку, то npc удаляется. Добавлено через 179 мин.: Что не так в этом скрипте? function director_war() local npc = level_object_by_sid(8800) local npc_position = npc:position() local npc_game_vertex = npc:game_vertex_id() local npc_level_vertex = npc:level_vertex_id() if amk.get_npc_relation(npc,db.actor)=="enemy" then alife():release(alife():object(npc:id()), true) alife():create("m_controller_old",npc_position,npc_level_vertex,npc_game_vertex,65535) end end Ссылка на комментарий
iDreD 5 Опубликовано 27 Июня 2011 Поделиться Опубликовано 27 Июня 2011 speczadanie, легче сделать это через логику. [spawner];это контролирует оффлайн НПСа cond = {-set_npc_offline} [logic] active = walker@get_enemy [walker@get_enemy] path_walk = my_path path_look = my_path_look on_info = {=actor_enemy} %+set_npc_offline%;эта строка проверяет, что актор враг нам, а если враг то выдаём поршен который переводит нас в оффлайн Соответственно нужно будет создать новый инфопоршн set_npc_offline. Работа в Sculptris 3D [туториал] Страничка на Проза.ру Ссылка на комментарий
panzyuza 48 Опубликовано 27 Июня 2011 Поделиться Опубликовано 27 Июня 2011 пытаюсь передать неписю в логику параметры пребывания под смартами.Так [smart_terrains] esc_lager = {=time_ust(6:8)} esc_fabrika_bandit = {=time_ust(8:6)} function time_ust(actor, npc, p) local t1 = p[1] local t2 = p[2] return level.get_time_hours() >= t1 and level.get_time_hours() <= t2 end Как правильно сделать это? AVS_LOCATION_MOD Ссылка на комментарий
abramcumner 1 174 Опубликовано 28 Июня 2011 Поделиться Опубликовано 28 Июня 2011 panzyuza, Может так: [smart_terrains] esc_lager = {=time_ust(6:8)} esc_fabrika_bandit = {!time_ust(6:8)} Ссылка на комментарий
*Shoker* 322 Опубликовано 28 Июня 2011 Поделиться Опубликовано 28 Июня 2011 _Призрак_ А можно подробней? Желательно функцию, которая добавит рестриктор аномалии в запрещённый. Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Ссылка на комментарий
abramcumner 1 174 Опубликовано 28 Июня 2011 Поделиться Опубликовано 28 Июня 2011 *Shoker*, функция add_restrictions(in_restrictions, out_restrictions) добавляет соответственно in и out рестрикторы Но способ то этот всеми используется, в том числе и в АМК для обхода аномалий. И это из-за него куча вылетов: в соседней теме очередной вылет, что недоступна точка пути. При удалении аномалии, которая у кого-нибудь в рестрикторах прописана, будет безлоговый вылет. Ссылка на комментарий
*Shoker* 322 Опубликовано 28 Июня 2011 Поделиться Опубликовано 28 Июня 2011 А я думал, все используют старый метод, когда просто НПС поворачивается от аномалии. Спасибо за ответ. Надо будет глянуть, правда не совсем понятно как из аномалии in\out рестрикторы выдрать. Вот ещё хотел спросить, в теме народной солянки как то это проскакивало, никто не знает метода, чтобы как нибудь измерить насколько скрипт нагружает игру? Я хочу сделать простенькую систему, которая будет показывать как много процессорного времени забирает скрипт. Думал через time_global() но его значение во время апдейта не меняется... Суть в том, что хочу перед вызовом функции пустить счётчик, а после вызова функции остановить и глянуть, сколько времени прошло после вызова функции. Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти