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

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

 

 

Мы говорим о аналоге инфопорций - логических переменных , которые нужно сохранять .

Извиняюсь не понял действительно, разговор вроде про и-п был сначала.

А вообще-то, если нужна единичная переменная под хранение булевого(true\false) значения - то можно использовать под это и-п, тем самым не заморачиваясь на самостоятельное сохранение\загрузку ее при сэйв\лоад.

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

Здравствуйте. Мне нужен небольшой скрипт, который откроет КПК, когда GG обрабатывает конкретный объект в его руках. PDA будет открыт после 3 секунд держит конкретный объект в его руках.

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

Если мои знания меня не обманывают то на оригинале это "небольшим скриптом" не сделать.

В моде "Судьба Зоны" будет такая возможность.

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

@DDamian724, the major issue, if I remember correctly, is that using the vanilla engine it is not possible to open the PDA window from a script. When using extensions, x-ray extensions for instance, it is possible but for the specific version of engine (SHOC 1.0006).

The script itself shouldn't be very difficult to make: perform a periodical check of the current item and, depending on it, show the PDA window. The periodical check can be performed using update event in the actor's binder.

  • Нравится 1
 

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

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

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

 

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

Всем привет. Недавно столкнулся с проблемой, которую пока решить не могу(мозгов видимо нету). Может подскажите чего. 
       Есть функция, которая работает со строкой(Она считывает значение соответствующего edit_box и записывает в переменную textstring). Далее запускается функция которая сверяет строку(значение textstring) с значениями элементов таблицы(в таблице написаны названия имеющихся в файле функций). Тут думаю всем понятно, что если имеется совпадение, то на этой итерации вызывается функция с именем которое есть в таблице. (На этом этапе все работает отлично). Вопрос состоит в том, что бы перенести эти функции(для экономии места в файле) в другой, тем самым создав, что то вроде "библиотеки". И вот здесь уже проблема. Ибо я додумался лишь до конструкции типа:

 

 

 

local fun_table = {
"QWERTY",
"GETWEAPON",
"GETMEDKIT"
}


function start_fun(textstring)
local flag = 0
for i=1,#fun_table do
if textstring == fun_table[i] then
flag = 1
end
end
if flag == 1 then 
this[textstring]()
flag = 0
end
end

 

 

 

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

Заранее благодарю.

P.S. Код детский, написан для примера.


Извиняюсь, в пред просмотре было выделено) 

  1. this[textstring]() --вот этот оператор меня интересует. 
Изменено пользователем mumie
Ссылка на комментарий

@mumie, может что-то вроде

function execute_by_name(function_name)
    local my_function = my_library[function_name]
    if type(my_function) == "function" then
        my_function()
    end
end
Изменено пользователем Desertir

ТЧ 1.0004. SAP и Trans mod

github

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

@Desertir, Да, работает. Спасибо огромное. Почему то проверять тип элемента и сохранять в переменную я не додумался. Ну буду учиться на ошибках и запоминать мысли умных людей)
 

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

Снова здравствуйте. А функция string.gmatch() при проходе по строке как себя ведет с цифрами? Игнорирует их или как то можно цифры прочитать в смешанной строке?
Вот таким циклом:
 

for w in string.gmatch(str, "%a+") do
end 

разделяю строку на слова, и все хорошо, до того момента, пока не напарывается в строке на число. Функция не видит цифр. Может я ключ не правильный написал?
Заранее спасибо!

Ссылка на комментарий
@mumie, изучи маленько регулярные выражения. А вообще замени a на w. Изменено пользователем Desertir

ТЧ 1.0004. SAP и Trans mod

github

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

 

 

при проходе по строке как себя ведет с цифрами

Так-же, как и с остальными строковыми символами - буква и цифра в строке равнозначны.

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

@mumie, точка это любой символ, шаблон .+ вернет всю строку. Если ты делишь строку на слова, разделенные пробелом, которые содержат числа, тебе нужен паттерн %w+. В твоем вопросе не было никакой конкретики по поводу того, какие строки ты пытаешься делить, кроме "разделяю строку на слова" (можно предположить по пробелам или запятым или чем-то не буквенным) и "смешанная строка". Что значит "смешанная", что с чем смешали?

А вопрос "как ведёт себя функция с цифрами" весьма странный. Нормально ведёт, не хулиганит, только шаблон нужный надо задавать.

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

ТЧ 1.0004. SAP и Trans mod

github

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

@mumie,

https://yadi.sk/d/4EUvTWhzdnAve

Глава 21.3 "Шаблоны".

Я зря что-ли столько времени убил на это руководство?

 

 

Если ты делишь строку на слова, разделенные пробелом ... тебе нужен паттерн %w+

На любителя. Я, например, использую %S+.

Но в данном случае не до жиру )

Изменено пользователем Nazgool
  • Полезно 2
Ссылка на комментарий

На любителя.

Ага.

[a-zA-Z0-9]+
Да чего уж там, можно все и перечислить :) abcde...

Но S это отрицание s, так что S не эквивалентно w. Поэтому я оговорился, не обязательно пробелами делить слова (коммы например). Твой случай захватит и некоторые другие символы кроме букв и цифр, а речь пока шла только о них. Я к чему, что это 2 разных случая, так что "до жиру" и даже вполне. Нет, если у него нету запятушек и прочего то без разницы, но мало ли.

ТЧ 1.0004. SAP и Trans mod

github

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

Я зря что-ли столько времени убил на это руководство?

Блин, чувак, ну а как ты это руководство выложил? Неизвестно где, неизвестно когда. Тут же нет телепатов, чтобы знать, что кто-то там делал мануалы. Да банально в подпись забить и ссылку в шапку - уже какой-то прок будет.

 

Мне например тоже интересна некоторая информация, но ведь её же не найти...

 

З.Ы. мануал на родном языке - вдвойне приятно, спасибо.

Ссылка на комментарий
дружище, я не случайно привел цитату

 

...Если ты делишь строку на слова, разделенные пробелом...тебе нужен паттерн %w+
Являясь как бы скриптером, я не могу себе позволить упускать даже мелких деталей, поскольку, сам понимаешь, такие мелочи могут кардинально изменять код.
Поэтому вышеприведённую цитату я воспринимаю буквально (как задачу).
А она звучит как разделение по пробелам (вернее пробельным символам).
Поэтому, в данном контексте, разделение %S+ точнее подходит под определение задачи.
Под другую цитату решение может быть совершенно другим.
 

 

Блин, чувак, ну а как ты это руководство выложил? Неизвестно где, неизвестно когда.
Чувак, кто ищет - тот всегда найдет.
Как еще можно назвать тему "Язык Lua. Общие вопросы программирования.", чтобы было понятнее о чем там идет речь.
Если почитать хотя бы последнюю страницу, то 3-й пост с краю будет то, что нужно.
И в подпись добавлять бесполезно. Я не часто отмечаюсь постами. Так что быстрее всё-таки найти в теме. Да и в шапку забивать подобные вещи должен кто-то из руководства, который посчитает информацию достойной этого.
 
З.Ы. пожалуйста.
Изменено пользователем Nazgool
Ссылка на комментарий

@Nazgool, ссылку на твой пост с переведённым руководством @Dennis_Chikin опубликовал в шапке той темы ещё в январе. Вот:

http://www.amk-team.ru/forum/index.php?showtopic=11584&p=905371

Ну а я добавил сейчас пояснения. Так что действительно, «кто ищет...». :)

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

@Kirgudu,

"А ларчик просто открывался" :). Спасибо.
Можно ещё запилить "Справочное руководство" по функциям.
У меня процентов на 60 оно уже сделано. Материала полезного куча.
Но это может быть достаточно долго.
Можно было бы постепенно добавлять информацию, но она раствориться по страницам.
Не создавать же отдельную тему? Да и редактировать, если что, у меня нет возможности.
Подумаю.
 
В зависимости от того, как организовано - можно и создать. Есть же "справочник по функциям и классам" по движку. А можно  - и в имеющуюся - не так уж часто туда что-то постится, чтобы потерялось. dc
Изменено пользователем Dennis_Chikin
  • Нравится 1
Ссылка на комментарий

У меня процентов на 60 оно уже сделано.

А что там?

такие мелочи могут кардинально изменять код

Так именно, только вот для тебя мелочью является "пробелы", а для меня "слова", и сразу видна разница :) Как я рассуждаю "мне из строки нужны слова", а ты рассуждаешь "мне надо разделить строку по пробелам", я правильно понял? Но чего нужно автору, только ему и известно.

говорилось о пробелах и соответствии им шаблона %w+

Ну да, если посмотреть с этой стороны, то шаблон не тот :) Изменено пользователем Desertir

ТЧ 1.0004. SAP и Trans mod

github

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

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

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

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

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

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

Войти

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

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

AMK-Team.ru

×
×
  • Создать...