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 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/
Ulman 5 Опубликовано 24 Июня 2011 Поделиться Опубликовано 24 Июня 2011 max_max_08, да просто вылет давольно рандомный и бывает вылет через минут 5 а бывает вообще не славливаю... Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-603733
Ulman 5 Опубликовано 24 Июня 2011 Поделиться Опубликовано 24 Июня 2011 (изменено) max_max_08, да просто вылет давольно рандомный и бывает вылет через минут 5 а бывает вообще не славливаю... Изменено 24 Июня 2011 пользователем Ulman Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-603734
Ренсон 11 Опубликовано 24 Июня 2011 Поделиться Опубликовано 24 Июня 2011 Как скриптом удалить нпс? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-603747
herurg 0 Опубликовано 24 Июня 2011 Поделиться Опубликовано 24 Июня 2011 Приветствую всех. Очень прошу помочь. Раньше отписывался, что не могу настроить постоянный спаун изломов и прочей вырезанной из обычной игры нечисти. Долго ковырялся, но...К сожалению так и не смог осилить. Вроде бы вырезанных монстров в игру добавил (вставил из стандартной игры файлы), и смарттеррейны с ними прописываются...А части монстров внутри их (я их тоже вставил) и респаун ну никак. В частности у изломов никак не спавнятся части, и сам он с остальными вырезанными респауниться не хочет. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-603854
Якут 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 Она позволяет удалить не только НПС, но и монстров, динамические объекты, рестрикторы и т.п. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-603946
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] что надо править в чем ошибка ? Заранее благодарен Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-603961
iDreD 5 Опубликовано 25 Июня 2011 Поделиться Опубликовано 25 Июня 2011 (изменено) Knyaz, скорее всего тебя просто на гугле забанили. Пересоздай точку патрульного пути в другом месте. Изменено 25 Июня 2011 пользователем iDreD Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-603973
Kirag 40 Опубликовано 25 Июня 2011 Поделиться Опубликовано 25 Июня 2011 Knyaz В переводе на русский - "ни одна вершина пути ... не доступна объекту ..." Проверь у этого объекта in и out рестрикторы, и не попутал ли ты in с out-ом. Также возможно, что единственный узкий проход к точке назначения перекрыт динамической аномалией (которая добавляет рестриктор) - в этом случае после выброса или ухода-захода с уровня (просто сейв/лоад не поможет, вроде бы) расположение динамических аномалий должно поменяться и проблема по идее исчезнет (до следующего раза) Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-604131
Руслан 1 Опубликовано 26 Июня 2011 Поделиться Опубликовано 26 Июня 2011 (изменено) Народ помогите, я заспавнил непесей сообирал координаты с блокнотиком, бегал по новым локациям и собирал, кароче насобирал заспавнил, все "ЛЕВЫЕ" НПС с каторыми поговорить нельзя норм стоят, почти все. dir.position видимо не правильный, хотя пробывал 3 раза и ничего не менялось. Заспавнил нового непися и он стоит боком, хотя должен смотреть в центр как я и предусматривал, но почему то стоит боком. Дай те норм скрипт для снятие координат или помогите разобратся в чем дело Прочти пункт правил 2.5. Изменено 26 Июня 2011 пользователем Cyclone Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-604418
*Shoker* 322 Опубликовано 26 Июня 2011 Поделиться Опубликовано 26 Июня 2011 Kirag А можно ли как то этими рестрикторами заставить неписей обходить аномалии средствами движка? Knyaz Глянь в АМК или ОГСМ на ТЧ (точно не помню, могу ошибаться, есть и в других модах) Скрипт xr_patrol Где то у кого то это правилось. Руслан А ты через all.spawn делаешь? Там по моему нельзя через :direction() снимать, координаты другие. Их лучше в СДК смотреть. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-604528
_Призрак_ 11 Опубликовано 26 Июня 2011 Поделиться Опубликовано 26 Июня 2011 А можно ли как то этими рестрикторами заставить неписей обходить аномалии средствами движка? Да, можно Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-604546
dPlayer 552 Опубликовано 27 Июня 2011 Поделиться Опубликовано 27 Июня 2011 Руслан, на, это скрипт от bardak'а. Для АМК 1.4, но адаптировать 2 файла (перенести пару абзацев) думаю сможешь. Выводит координаты, вертексы, направление. http://depositfiles.com/files/knoi49m1h Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-604571
gruber 2 481 Опубликовано 27 Июня 2011 Поделиться Опубликовано 27 Июня 2011 iDreD, и что будет? они исчезнут? мне просто необходимо сделать на время деревню пустой, а потом снова наполнить. Как наполнить я знаю))) Нужно просто через состояние гулага перевести весь гулаг офлайн пример -гулаг петрухи и ко (гулаг новайс атакер) с начала игры сидят офлайн ,по инфопоршню гулаг переходит в состояние при котором все онлайн Короче там можно просто тупо скопипастить состояние гулага просто заменив условия перехода на свои и добавить в список работ номер этого состояния замечу,что все объекты прописаные в алспавн ,есть в игре с самого начала ,просто по разным условиям переводятся онлайн ,офлайн(т.е они не спавнятся непосредственно по инфопоршню например,"монолит" в х10 есть изначально просто он как бы невидим ) Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-604588
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 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-604600
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. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-604639
panzyuza 53 Опубликовано 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 Как правильно сделать это? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-604898
abramcumner 1 229 Опубликовано 28 Июня 2011 Поделиться Опубликовано 28 Июня 2011 panzyuza, Может так: [smart_terrains] esc_lager = {=time_ust(6:8)} esc_fabrika_bandit = {!time_ust(6:8)} Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-604946
*Shoker* 322 Опубликовано 28 Июня 2011 Поделиться Опубликовано 28 Июня 2011 _Призрак_ А можно подробней? Желательно функцию, которая добавит рестриктор аномалии в запрещённый. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-605015
abramcumner 1 229 Опубликовано 28 Июня 2011 Поделиться Опубликовано 28 Июня 2011 *Shoker*, функция add_restrictions(in_restrictions, out_restrictions) добавляет соответственно in и out рестрикторы Но способ то этот всеми используется, в том числе и в АМК для обхода аномалий. И это из-за него куча вылетов: в соседней теме очередной вылет, что недоступна точка пути. При удалении аномалии, которая у кого-нибудь в рестрикторах прописана, будет безлоговый вылет. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-605037
*Shoker* 322 Опубликовано 28 Июня 2011 Поделиться Опубликовано 28 Июня 2011 А я думал, все используют старый метод, когда просто НПС поворачивается от аномалии. Спасибо за ответ. Надо будет глянуть, правда не совсем понятно как из аномалии in\out рестрикторы выдрать. Вот ещё хотел спросить, в теме народной солянки как то это проскакивало, никто не знает метода, чтобы как нибудь измерить насколько скрипт нагружает игру? Я хочу сделать простенькую систему, которая будет показывать как много процессорного времени забирает скрипт. Думал через time_global() но его значение во время апдейта не меняется... Суть в том, что хочу перед вызовом функции пустить счётчик, а после вызова функции остановить и глянуть, сколько времени прошло после вызова функции. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/105/#findComment-605060
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти