Перейти к контенту

Рекомендуемые сообщения

Тема для обсуждения скриптов всего и всех в серии игр STALKER.


Задавая вопрос (!):
1. Внимательно изучите суть вопроса. Вопрос должен соответствовать выбранной Вами темы. Это поможет сохранить порядок и читабельность темы, а также облегчит поиск и понимание сего;
2. Изучите то, что уже есть в теме (пролистайте "руками", воспользуйтесь поиском на форуме);
3. Изучите информацию которая может вам помочь:

 
 

Stalkerin. Там есть много хороших статей касательно данной темы.
Уроки по модостроению. Есть рабочие примеры готовых скриптов различного назначения.

 

Справочное руководство по языку Lua 5.1
https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/ru
Справочник по функциям и классам. Собрано много информации по функциям и классам, не всем, но по основные сведения предоставлены.

4. Дабы не превращать обсуждение в "кашу" разной информативной направленности, задавайте несколько вопросов по порядку (в разных постах) после того, как получите ответ на предыдущий вопрос;
5. "Спасибо" и тому подобное - будьте так любезны в ПМ. Если не любите писать в ПМ, в конце вопроса напишите фразу: "Заранее спасибо!" - или что-то в этом духе;
6. ПОЖАЛУЙСТА! Указывайте, для какой игры Вам необходима информация (ТЧ, ЧН, ЗП), если стоит мод - укажите название мода;
7. Если Вы что-то сделали и результат не такой, какой Вами задумывался, то, пожалуйста, приводите коды которые Вы изменяли/писали целиком! Это поможет другим правильно ответить на Ваш вопрос, а также оградит Вас от лишней писанины.
8. Оформляйте сообщение. Пользуйтесь тегами для того, чтобы отделить код от текста. Пишите грамотно - ПОЛЬЗУЙТЕСЬ ЗНАКАМИ ПРЕПИНАНИЯ.
9. И помните: «Правильно заданный вопрос – половина ответа».

 

Какие вопросы следует задавать, а какие нет...

 

Задавайте вопросы, которые касаются непосредственно скриптов и их работы, т.е. Вы что-то делаете, а у Вас что-то не получается, при этом у Вас на руках должен быть хотя бы какой-то код, свидетельствующий о Вашей причастности к вопросу.

 

Вопросы которые будут удалятся, следовательно их задавать не нужно:
-- Где находится та или иная функция?
Для ответа используем поиск по словам среди файлов оригинальной игры или мода, если объект поиска относится к нему, при помощью программы, которая Вам наиболее симпатизирует;
-- Как сделать что-то/то-то?
С подобными вопросами, либо в "ковырялки", где Вам вероятнее всего так же не ответят, либо выдвигаем мысли, подкреплённые теорией, практикой (идеальный вариант) и здравым рассудком;
-- Вопросы со смыслом: "сделайте", "совместите" и подобными глаголами повелительного наклонения.
-- К тому же удалению будут подвергаться вопросы, в которых масштабно не используются теги, для отделения кода и цитат от основного текста, а также не вписан в спойлер код размером превышающие семь строк.
Ответ на возможно возникший вопрос: В какую тему можно обратиться по поводу логики и спавна объектов?
В тему "ковырялок" соответствующей версии игры, для которой Вы задаёте вопрос.

И последнее: очень рекомендовано к прочтению Правила форума
 


  • Спасибо 1
  • Полезно 2
Ссылка на комментарий

кровоSTALKER, опять ты передаешь не элемент таблицы а всю таблицу целиком, либо пиши цикл если нужно удалить все объекты из таблици, либо выбирай 1 элемент таблици.

если в таблице записаны name неписей то удаляй по ним, id получать тогда не нужно.

Изменено пользователем 8push5
Возможно всё, ну или почти всё.
Ссылка на комментарий

кровоSTALKER если дельного сказать нечего не можешь - промолчи, если бы мне нужны были эти псевдорандомные я бы так и сказал, а мне динамические нужны типа как в моде "Наёмники"

 

типа

phr2:GetPhraseScript():AddPrecondition("условие")

phr2=dlg:AddPhrase("диалог",фраза,фраза,-10000)

Изменено пользователем Struck
Ссылка на комментарий

bill_gates

В ТЧ не получится,а вот в ЧН\ЗП - да,получится.

function funcname()
local file = io.open("C:\\Test.ltx","w")
local text = "ТЕКСТ"
file:write(text)
file:close()
end

Не бойтесь совершенства. Вам его не достичь.
C. Дали
Ссылка на комментарий

Суть вопроса ты не пояснил. Сказал рандомные, а хз какие именно. Сори за офтоп.

Строгое предупреждение от модератора n6260
ХЗ - есть слово ругательное.
Ссылка на комментарий

Редко, но бывает вылет, похожий на этот :

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 вылет при взрыве с таким логом.

Если кто сталкивался, то как боролся?

Ссылка на комментарий

Помогите по следующим вопросам пожалуйста:

1 Какое содержание должно быть в строчке диалога чтобы после нажатия на ветку разговора,нпс давал гг по роже?

2 Как исправить вылет при переходе на новые локации если включены динамические аномалии после выброса только для старых локаций?

Замедляю полураспад души стержнями музыки

Ссылка на комментарий

Struck,

 

Для перебора вещей есть функции iterate_inventory. Описание смотри в теме "справочник" в сообщении про game_object. Окно за тебя никто не сделает. Посмотри готовые примеры, самый популярный - это главное меню, и сделай по подобию.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

окно я сам сделаю, мне не понятно как сам список перевести в окно, или н-р в окнесоздать кнопку а на кнопку вешать вызов моего списка?

Ссылка на комментарий
Как перевести выпарсенный список вещей в окошко?

Создаёшь Лист-бокс и запихиваешь туда названия предметов.

self:AddToBox(game_translate(ObjName));

где ObjName - ключ inv_name из секции предмета. Прочитать ключ можно используя функции по работе с ини-файлами.

 

Только, это - метод AddToBox нужно написать самому :)

Изменено пользователем меченый(стрелок)
Ссылка на комментарий
окно я сам сделаю, мне не понятно как сам список перевести в окно, или н-р в окнесоздать кнопку а на кнопку вешать вызов моего списка?

Самый простой вариант - создать статик с установкой complex_mode="1" и вывести в него текст с помощью метода SetText(). Для разделения строк надо вставлять в текст "\n"

Изменено пользователем malandrinus
 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

Грубо говоря если так както делать в function class:InitControls()

self:Init(50,50,550,450)

pic:InitTexture([[blabla\blabla_tt]])

pic:SetText(и вот тут мне не ясно к примеру как прочитать мои данные)

pic:SetTextX(-10)

pic:SetTextY(-10)

 

а эм...переменнуб можно передать в окошко?, просто я в перменной определял имена :)

Ссылка на комментарий

Struck,

неясно, как прочитать данные...

откуда прочитать?

 

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

Как называется функция в схеме "реакция надоедания нпс" которую надо писать как действие в активирующей строке скелета диалога?

Замедляю полураспад души стержнями музыки

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...