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 Ссылка на комментарий
Push85 4 Опубликовано 25 Апреля 2010 Поделиться Опубликовано 25 Апреля 2010 (изменено) кровоSTALKER, опять ты передаешь не элемент таблицы а всю таблицу целиком, либо пиши цикл если нужно удалить все объекты из таблици, либо выбирай 1 элемент таблици. если в таблице записаны name неписей то удаляй по ним, id получать тогда не нужно. Изменено 25 Апреля 2010 пользователем 8push5 Возможно всё, ну или почти всё. Ссылка на комментарий
Struck 61 Опубликовано 25 Апреля 2010 Поделиться Опубликовано 25 Апреля 2010 (изменено) кровоSTALKER если дельного сказать нечего не можешь - промолчи, если бы мне нужны были эти псевдорандомные я бы так и сказал, а мне динамические нужны типа как в моде "Наёмники" типа phr2:GetPhraseScript():AddPrecondition("условие") phr2=dlg:AddPhrase("диалог",фраза,фраза,-10000) Изменено 25 Апреля 2010 пользователем Struck Ссылка на комментарий
bill_gates 1 Опубликовано 25 Апреля 2010 Поделиться Опубликовано 25 Апреля 2010 А как можно реализовать запись строки в отдельный файл через скрипт? И можно ли вообще это сделать? Ссылка на комментарий
Struck 61 Опубликовано 25 Апреля 2010 Поделиться Опубликовано 25 Апреля 2010 врятли Ссылка на комментарий
Влад 9 Опубликовано 25 Апреля 2010 Поделиться Опубликовано 25 Апреля 2010 bill_gates В ТЧ не получится,а вот в ЧН\ЗП - да,получится. function funcname() local file = io.open("C:\\Test.ltx","w") local text = "ТЕКСТ" file:write(text) file:close() end Мои работы Не бойтесь совершенства. Вам его не достичь. C. Дали Ссылка на комментарий
Struck 61 Опубликовано 25 Апреля 2010 Поделиться Опубликовано 25 Апреля 2010 В ТЧ максимум что возможно это при открытой игре править\добавлять данные, и тут же перепроверять с обходом fatal error Ссылка на комментарий
iDreD 5 Опубликовано 25 Апреля 2010 Поделиться Опубликовано 25 Апреля 2010 Суть вопроса ты не пояснил. Сказал рандомные, а хз какие именно. Сори за офтоп. Строгое предупреждение от модератора n6260 ХЗ - есть слово ругательное. Работа в Sculptris 3D [туториал] Страничка на Проза.ру Ссылка на комментарий
Darien 0 Опубликовано 26 Апреля 2010 Поделиться Опубликовано 26 Апреля 2010 Редко, но бывает вылет, похожий на этот : FATAL ERROR [error]Expression : e_entity [error]Function : xrServer::Process_event_reject [error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_process_event_reject.cpp [error]Line : 12 [error]Description : entity not found. id_parent=155 id_entity=161 frame=11654 stack trace: Например, если использовать скрипт взрыва тел из BB мода, то 1 раз из 5 вылет при взрыве с таким логом. Если кто сталкивался, то как боролся? Ссылка на комментарий
Ирбис 183 Опубликовано 26 Апреля 2010 Поделиться Опубликовано 26 Апреля 2010 Помогите по следующим вопросам пожалуйста: 1 Какое содержание должно быть в строчке диалога чтобы после нажатия на ветку разговора,нпс давал гг по роже? 2 Как исправить вылет при переходе на новые локации если включены динамические аномалии после выброса только для старых локаций? Замедляю полураспад души стержнями музыки Ссылка на комментарий
Struck 61 Опубликовано 27 Апреля 2010 Поделиться Опубликовано 27 Апреля 2010 Как перевести выпарсенный список вещей в окошко? Ссылка на комментарий
Malandrinus 615 Опубликовано 27 Апреля 2010 Поделиться Опубликовано 27 Апреля 2010 Struck, Для перебора вещей есть функции iterate_inventory. Описание смотри в теме "справочник" в сообщении про game_object. Окно за тебя никто не сделает. Посмотри готовые примеры, самый популярный - это главное меню, и сделай по подобию. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Struck 61 Опубликовано 27 Апреля 2010 Поделиться Опубликовано 27 Апреля 2010 окно я сам сделаю, мне не понятно как сам список перевести в окно, или н-р в окнесоздать кнопку а на кнопку вешать вызов моего списка? Ссылка на комментарий
меченый(стрелок) 5 Опубликовано 27 Апреля 2010 Поделиться Опубликовано 27 Апреля 2010 (изменено) Как перевести выпарсенный список вещей в окошко? Создаёшь Лист-бокс и запихиваешь туда названия предметов. self:AddToBox(game_translate(ObjName)); где ObjName - ключ inv_name из секции предмета. Прочитать ключ можно используя функции по работе с ини-файлами. Только, это - метод AddToBox нужно написать самому Изменено 27 Апреля 2010 пользователем меченый(стрелок) Ссылка на комментарий
Malandrinus 615 Опубликовано 27 Апреля 2010 Поделиться Опубликовано 27 Апреля 2010 (изменено) окно я сам сделаю, мне не понятно как сам список перевести в окно, или н-р в окнесоздать кнопку а на кнопку вешать вызов моего списка? Самый простой вариант - создать статик с установкой complex_mode="1" и вывести в него текст с помощью метода SetText(). Для разделения строк надо вставлять в текст "\n" Изменено 27 Апреля 2010 пользователем malandrinus Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Struck 61 Опубликовано 27 Апреля 2010 Поделиться Опубликовано 27 Апреля 2010 Грубо говоря если так както делать в function class:InitControls() self:Init(50,50,550,450) pic:InitTexture([[blabla\blabla_tt]]) pic:SetText(и вот тут мне не ясно к примеру как прочитать мои данные) pic:SetTextX(-10) pic:SetTextY(-10) а эм...переменнуб можно передать в окошко?, просто я в перменной определял имена Ссылка на комментарий
Malandrinus 615 Опубликовано 27 Апреля 2010 Поделиться Опубликовано 27 Апреля 2010 Struck, неясно, как прочитать данные... откуда прочитать? Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Гость max_max_08 Опубликовано 27 Апреля 2010 Поделиться Опубликовано 27 Апреля 2010 Как заставить нпс игнорировать все, поставил в логике дэнжер игнор = 0 А они все равно при встречи с собаками их отстреливают. Ссылка на комментарий
Struck 61 Опубликовано 27 Апреля 2010 Поделиться Опубликовано 27 Апреля 2010 из функции, я получил имена всех объектов инвентаря,и их надо вывести в окно Ссылка на комментарий
Ирбис 183 Опубликовано 27 Апреля 2010 Поделиться Опубликовано 27 Апреля 2010 Как называется функция в схеме "реакция надоедания нпс" которую надо писать как действие в активирующей строке скелета диалога? Замедляю полураспад души стержнями музыки Ссылка на комментарий
Struck 61 Опубликовано 27 Апреля 2010 Поделиться Опубликовано 27 Апреля 2010 Ирбис, посмотри логику охранников лукаша, наверняка есть чтото похожее, вот и вызывай аналогично Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти