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/
Real Wolf 34 Опубликовано 18 Июля 2010 Поделиться Опубликовано 18 Июля 2010 Через таймер рэндомно выводить сообщения. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-466846
stalker_monolith 0 Опубликовано 18 Июля 2010 Поделиться Опубликовано 18 Июля 2010 А можешь как можно подробнее расписать как это? Прост в скриптах я новичек. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-466857
ZeeK 62 Опубликовано 18 Июля 2010 Поделиться Опубликовано 18 Июля 2010 У меня может странный вопрос, но все же... Нельзя ли сделать что бы после сна Гг игра сохронялась и тут же загружалась? И если можно то как? Не соответствует. N6260 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-466861
Darien 0 Опубликовано 18 Июля 2010 Поделиться Опубликовано 18 Июля 2010 (изменено) ZeeK Ищешь, где у тебя вызов сна и пишешь что-то вроде того: ... game.start_tutorial("название сна") -- это у тебя уже есть get_console():execute("save 1") -- '1' - название сейва get_console():execute("load 1") ... Scarabay Только через нет пакет. Изменено 19 Июля 2010 пользователем Darien Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-466870
Scarabay 98 Опубликовано 19 Июля 2010 Поделиться Опубликовано 19 Июля 2010 Подскажите пожалуйста, как определить визуал монстра/нпс/итема (т.е. название модели которую он юзает)? Заранее спасибо. Мой YouTube-канал Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-466943
ФеНиКс 2 Опубликовано 19 Июля 2010 Поделиться Опубликовано 19 Июля 2010 Как будет выглядеть функция удаления опред. ствола и всех патронов опред. класса? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-467054
DiXares 1 Опубликовано 19 Июля 2010 Поделиться Опубликовано 19 Июля 2010 ФеНиКс, походу дела это надо запомнить id заспавненного ствола и уже потом определяем ствол по id и патроны читаем у него из секции(ammo_class), и уже удаляем всё что нужно, тока не могу запомнить, как разделить патроны на несколько, если там в строке ammo_class их несколько... Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-467066
Darien 0 Опубликовано 19 Июля 2010 Поделиться Опубликовано 19 Июля 2010 (изменено) Нужна помощь. Считал через нет пакет параметры ствола, но во 1-ых невесть откуда позиция чтения у апдейт пакета стала на 5 байт дальше позиции записи (переписывал код несколько раз, а так же пробовал скрипт АМК - там тоже самое). А во 2-ых консоль выдаёт странный результат: ... get_console():execute("load # sp: "..sp:w_tell().." "..sp:r_tell()) get_console():execute("load # up: "..up:w_tell().." "..up:r_tell()) get_console():execute("load # "..tostring(up:r_eof())) ... Показывает: ... ! Cannot find saved game # sp: 61 61 ! Cannot find saved game # up: 27 32 ! Cannot find saved game # true ... Откуда тут true, если r_eof() возвращает true, когда r_tell < w_tell (а у меня наоборот, r_tell на 5 больше). В общем, прошу знающих людей подсказать. Если надо, выложу сам скрипт. Изменено 19 Июля 2010 пользователем Darien Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-467081
bill_gates 1 Опубликовано 20 Июля 2010 Поделиться Опубликовано 20 Июля 2010 (изменено) На движке ЗП пытаюсь записать в файл значение level_vertex/game_vertex. Как можно реализовать запись этих двух значений в две разных строки? function main_menu:save_to_file() if level.present() and (db.actor ~= nil) and db.actor:alive() then local lvid, gvid = db.actor:level_vertex_id(), db.actor:game_vertex_id() local file = io.open("C:\\file.ltx", "w") file:write(tostring("game_vertex = "..gvid)) file:write(tostring("level_vertex = "..lvid)) file:close() end end Запись в файл идет нормально, но проблема в том, что два значения записываются в одну строку. А еще при повторном запуске функции содержимое первой строки заменяется новым результатом... RvP, спасибо. Изменено 20 Июля 2010 пользователем bill_gates Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-467468
RvP 1 Опубликовано 20 Июля 2010 Поделиться Опубликовано 20 Июля 2010 bill_gates, "r":режим чтения (используется по умолчанию); "w":режим записи; "a": режим дозаписи в конец файла; "r": режим изменения, все ранее хранившиеся данные сохраняются; "w": режим изменения, все ранее хранившиеся данные сохраняются; "a": режим изменения с дозаписью в конец, все ранее хранившиеся данные защищены, запись разрешена только в конец файла. file:lines () Возвращает функцию-итератор, которая при каждом вызове возвращает новую строку из файла. Т.о. код for line in file:lines() do body end обработает все строки файла. (В отличие от io.lines , эта функция не закрывает файл по окончании цикла (т.е. достижении конца файла).) стандартный ввод-вывод работает с одной строкой Vita sine libertate, nihil Vita sine litteris - mors est Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-467476
ФеНиКс 2 Опубликовано 20 Июля 2010 Поделиться Опубликовано 20 Июля 2010 (изменено) как будет выглядеть функция удаления опред. кол-ва предметов с условием если их больше чем н-ое кол-во, то удаляем, но оставляем один предмет. ... ---------------- и всё же как удалить допустим 300 патронов? Изменено 20 Июля 2010 пользователем ФеНиКс Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-467494
DiXares 1 Опубликовано 21 Июля 2010 Поделиться Опубликовано 21 Июля 2010 Здравствуйте! Каким методом можно выключить фонарик у ГГ скриптом? Пробовал: DeviceTorchItem = db.actor:object("device_torch") DeviceTorchItem:get_hanging_lamp():turn_off() - не работает, вылет. И как сделать процентное выполнение скрипта? Типа с 30 % вероятностью выполнить stok() Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-467735
Darien 0 Опубликовано 21 Июля 2010 Поделиться Опубликовано 21 Июля 2010 (изменено) TREWKO Простым рандомом if math.random(1, 3) == 1 then stok() Изменено 21 Июля 2010 пользователем Darien Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-467756
RvP 1 Опубликовано 21 Июля 2010 Поделиться Опубликовано 21 Июля 2010 TREWKO, вот класс фонарика C++ class CTorch : CGameObject { CTorch (); function Visual(); function _construct(); function getEnabled() const; function net_Import(net_packet&); function net_Export(net_packet&); function getVisible() const; function net_Spawn(cse_abstract*); function use(CGameObject*); }; Vita sine libertate, nihil Vita sine litteris - mors est Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-467774
RvP 1 Опубликовано 21 Июля 2010 Поделиться Опубликовано 21 Июля 2010 Darien, исходя из синтаксиса в lua_help.script получается надо использовать глобальную ф-цию CTorch () Vita sine libertate, nihil Vita sine litteris - mors est Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-467780
DiXares 1 Опубликовано 21 Июля 2010 Поделиться Опубликовано 21 Июля 2010 RvP. attempt to call method 'CTorch' (a nil value) Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-467785
RvP 1 Опубликовано 21 Июля 2010 Поделиться Опубликовано 21 Июля 2010 TREWKO, тебе, вот: torch = db.actor:object("device_torch") torch:enable_attachable_item(false) Vita sine libertate, nihil Vita sine litteris - mors est Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-467788
Malandrinus 615 Опубликовано 21 Июля 2010 Поделиться Опубликовано 21 Июля 2010 (изменено) RvP, вот класс фонарика C++ class CTorch... Этот класс недоступен, как и большинство остальных из этого разряда. torch = db.actor:object("device_torch") torch:enable_attachable_item(false) У меня не сработало. Изменено 21 Июля 2010 пользователем malandrinus Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-467790
RvP 1 Опубликовано 21 Июля 2010 Поделиться Опубликовано 21 Июля 2010 malandrinus, local light = false local torch = stalker:object("device_torch") torch:enable_attachable_item(light) из sr_light.script Vita sine libertate, nihil Vita sine litteris - mors est Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-467791
Unnamed Black Wolf 5 Опубликовано 21 Июля 2010 Поделиться Опубликовано 21 Июля 2010 (изменено) Так и что? разницы сильно не являет, если только у malandrinus определение у актера сразу идет. а у тя из сталкера, который наверно переменной числиться передаваемой.. Хмм, продублировал получается функцию. С другой стороны, м.б. это работает только у нпс? Хотя знаю как отрубить фонарик надетый, и врубить.. но вот убрать... Изменено 21 Июля 2010 пользователем Unnamed Black Wolf Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/39/#findComment-467803
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти