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/
arkawa 0 Опубликовано 11 Ноября 2009 Поделиться Опубликовано 11 Ноября 2009 (изменено) Так, по спавну разобрался спасибо danу (вот уж чел конкретно и понятно объясняет), т.е. тупо ПРОВЕРЯЕМ всё, пишем туда, по логике и переходу на др. локу, надо првильно прописать переключение НПСа на ремарку и из неё следующую схему в которой указываем луки и волки от УЖЕ имеющегося "лагеря" на нужной локе - он туда "нелёгкой моряцкой походкой" уйдёт Изменено 11 Ноября 2009 пользователем arkawa Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-325676
Гость max_max_08 Опубликовано 12 Ноября 2009 Поделиться Опубликовано 12 Ноября 2009 (изменено) Ребята, нужен прекондишн на проверку 3х одинаковых предметов, сам скрипт. И за одно проверка 3х разных предметов. arkawa, спасибо. ============================================================== эта функция не работает function posil_est() return sak.have_item_namber("предмет",1) ~= false return sak.have_item_namber("предмет",1) ~= false return sak.have_item_namber("предмет",1) ~= false end вспомнил что рэтурн должен быть один, тогда поверка должна писаться в одну строку типа такого function posil_est() return sak.have_item_namber("предмет",1) ~= false and sak.have_item_namber("предмет",1) ~= false and sak.have_item_namber("предмет",1) ~= false end Изменено 21 Ноября 2009 пользователем max_max_08 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-326453
arkawa 0 Опубликовано 12 Ноября 2009 Поделиться Опубликовано 12 Ноября 2009 function posil_est() return sak.have_item_namber("wpn_svu_m1",1) ~= false количество одинаковых предметов end function posil_est() return sak.have_item_namber("предмет",1) ~= false количество одинаковых предметов return sak.have_item_namber("предмет",1) ~= false return sak.have_item_namber("предмет",1) ~= false end эта функция проверяет, что продмет есть, если поменять "false" на "true" будет проверка на отсутствие заданного предмета Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-326590
Wlad777 24 Опубликовано 22 Ноября 2009 Поделиться Опубликовано 22 Ноября 2009 Доброго времени суток! Знающие люди, помогите с проблемой. Два дня корячусь, весь моск уже вынесла. В "забытой деревне" создаю гулаг монолитовцев. Всё прописано где надо, это уже не первый мой гулаг. Тем более этот по определению рабочий, взят со всеми потрохами из НС5 от Дэна. Все координаты прописаны верно, сам гулаг в аллспавне и скриптах, логика, пути итд. Спавню аллспавном любого нужного монолитовца в этот гулаг. При начале новой игры успеваю увидеть как этот непись начинает шагать куда-то в степь, куда ему совсем не надо и вылет с ошибкой в state_mgr.script stack overflow. Что я делаю не так? Хоть головой об стенку бейся... Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-332289
arkawa 0 Опубликовано 22 Ноября 2009 Поделиться Опубликовано 22 Ноября 2009 Wlad777, лог поподробнее дай, на вскидку ИМХО переполнение кол-ва "движняка" для файла, а по-поводу "шагания в степь" косяк в логике сталки "безголовые" спавнятся Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-332615
-O-J-A- 0 Опубликовано 1 Декабря 2009 Поделиться Опубликовано 1 Декабря 2009 Люди такое дело, кто знает как в ТЧ в ДМ называются и вызываются функции fraglist и playerlist UI?? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-336854
utak3r 6 Опубликовано 20 Декабря 2009 Поделиться Опубликовано 20 Декабря 2009 When things coded in all.spawn file are spawned? I mean those which don't have any conditions nor triggers - do they spawn on the first level entry, or... on the new game creation? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-346787
banderos 17 Опубликовано 20 Декабря 2009 Поделиться Опубликовано 20 Декабря 2009 utak3r, Если правильно перевёл google, то ответ будет такой Добавленные в all.spawn объекты появляются с началом новой игры. Если создаются только новые пути в файлах типа way_****, то новая игра не нужна. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-346910
Galil 18 Опубликовано 20 Декабря 2009 Поделиться Опубликовано 20 Декабря 2009 (изменено) Есть вопрос к знающим людям... После адаптации Smart monster parts нужно начинать новую игру? А то ловлю при убийстве любого мутанта все время вылет такой... FATAL ERROR [error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp [error]Line : 73 [error]Description : <no expression> [error]Arguments : LUA error: ...:\games\stalker\gamedata\scripts\bind_monster.script:324: attempt to index global 'smart_monster_parts' (a nil value) stack trace: Вроде все везде добавил и прописал... Kirag возможно ты был прав, но я сделал по другому - перетащил весь скрипт в bind_monster и все заработало Изменено 22 Декабря 2009 пользователем Galil Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-346981
utak3r 6 Опубликовано 21 Декабря 2009 Поделиться Опубликовано 21 Декабря 2009 Добавленные в all.spawn объекты появляются с началом новой игры. Well, I'm changing parameters of spawning lagers in alife_*.ltx... buuuuu Ok, thanks for your reply. Or maybe... is there any way of respawning the main actor somewhere else, like it was in alphas? Testing some things this way is... well, it's getting impossible Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-347340
banderos 17 Опубликовано 21 Декабря 2009 Поделиться Опубликовано 21 Декабря 2009 (изменено) utak3r, Опять же, если google перевёл правильно... Ответ: Для тестирования изменений на дальних от места старта игры локациях, можно спавнить актора сразу на нужной локации. Делается это также, как и спавн любого NPC. Просто меняются координаты спавна, gvertex и lvertex в файле alife_l01_escape.ltx на необходимые. Взять координаты можно из путей level_changer или любой точки _look_ NPC, находящихся на нужной локации. Изменено 21 Декабря 2009 пользователем banderos Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-347363
Kirag 40 Опубликовано 21 Декабря 2009 Поделиться Опубликовано 21 Декабря 2009 (изменено) utak3r Маленькое дополнение: для корректного спавна ГГ надо еще менять upd:position. Иначе на нужном уровне заспавнит, но не там, где надо, а черт знает где. На армейских складах вообще за карту выбрасывало Galil Ты где-то накосячил в smart_monster_parts.script, судя по логу. Проверь закрытие всех скобок, наличие всех end-ов, не перепутал ли где == (сравнение) и = (приравнивание) и тому подобные ошибки. Что-то не так с синтаксисом, почти наверняка, программа вообще не воспринимает этот файл и не понимает, чего от нее хотят. Изменено 21 Декабря 2009 пользователем Kirag Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-347678
Бубалех 0 Опубликовано 28 Декабря 2009 Поделиться Опубликовано 28 Декабря 2009 (изменено) знающие люди подскажите пожалуйста как исправить этот очень досадный баг? Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp Line : 73 Description : <no expression> Arguments : LUA error: ....r. - shadow of chernobyl\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value) Я догадываюсь что ошибка в логике нового нпс. я хотел создать торговца и логику взял из тутора вот: [smart_terrains] none = true [logic] active = walker trade = misc\trade_kntrader.ltx trader_flags = 0 inv_max_weight = 10000 on_death = death [walker] path_walk = esc_sin_kntrader_walk path_look = esc_sin_kntrader_look meet = meet [meet] use = true use_wpn = true meet_talk_enabled = true . но с этой логикой вылеты! что делать? Изменено 28 Декабря 2009 пользователем Бубалех Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-351331
ZeeK 62 Опубликовано 28 Декабря 2009 Поделиться Опубликовано 28 Декабря 2009 ребят тут про скрипты говорят в том числе и ЗП я понимаю? Просто кто нибудь может показать или объяснить как написать функцию к квесту что бы вкл музон какой нибудь при взятии квеста? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-351358
iDreD 5 Опубликовано 28 Декабря 2009 Поделиться Опубликовано 28 Декабря 2009 В диалоге пишешь <action>my_sound_play.play</action>, затем создаёшь скрипт snd_obj = {} snd_obj = xr_sound.get_safe_sound_object([[soundtrack\escape_theme]]) function s_stop() if snd_obj:playing()==true then snd_obj:stop() end end function s_play(path) s_stop() snd_obj = xr_sound.get_safe_sound_object(path) snd_obj:play_at_pos(db.actor, vector ():set (0, 0, 0), 0, sound_object.s2d) end -- device\pda\pda_tip - это путь до файла без расширения .ogg local sound_types = {"[[device\pda\pda_objective]]"} function play() s_play(sound_types) end содержания и всё, когда клацнешь на реплику диалога заиграет нужный тебе звук. Добавлено через 1 мин.: Функцию любезно предостаил DEXXX. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-351386
Guzerus 0 Опубликовано 28 Декабря 2009 Поделиться Опубликовано 28 Декабря 2009 Небольшой вопрос. В скрипте написано \escape_theme. Escape это ведь Кордон. Даже если скрипт для ЗП,всё равно escape писать надо? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-351403
iDreD 5 Опубликовано 28 Декабря 2009 Поделиться Опубликовано 28 Декабря 2009 (изменено) Вроде бы нет, напиши путь до амбиента затона (sounds/music/ambients/zaton_amb пишу с телефона поэтому может путь или название файла неправельные, сами найдете думаю ;-) ) Изменено 18 Октября 2011 пользователем ColR_iT Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-351408
Po-meceniy 4 Опубликовано 1 Января 2010 Поделиться Опубликовано 1 Января 2010 Как я понял, escape_theme надо писать если квест на Кордоне. Тогда если квест на Затоне или Юпитере надо писать соответственно zaton_theme и jupiter_theme? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-353949
Shyrik-kz 0 Опубликовано 5 Января 2010 Поделиться Опубликовано 5 Января 2010 (изменено) Ребят помогите homo пока не sapiensу совместить моды. Я в этом деле новичок, ещё толком ничего не умею, пытаюсь совместить ИММ(мародёр) и АИ мод, всё вроде понемногу получается, но когда пытаюсь совместить скрипты, вылетает. Ставлю отдельно моды, работают, а как только добавляю скрипты из другого мода, вылетает. Как я понял, скрипты ссылаются друг на друга, и изменения в одном скрипте надо компенсировать изменениями в другом, потому если в одном прописаны конфиги одного мода, а в другом из другого, то вылет. Я к примеру совместил несколько скриптов из двух модов, имм и аи, дописал недостающие строки, а когда докидываю в папку скрипты из марадёр мода, те, которых нет в аи моде, мне выбивает лог, что мол ошибка в строке того скрипта, что я докинул. Подскажите, если кто что знает, буду очень благодарен. Если обращаюсь не в ту тему, прошу извинить. Изменено 5 Января 2010 пользователем Shyrik-kz Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-355988
Po-meceniy 4 Опубликовано 5 Января 2010 Поделиться Опубликовано 5 Января 2010 Shyrik-kz, ты чемих совмещаешь? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/9/#findComment-356061
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти