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

[SoC] Ковыряемся в файлах


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

Помогите разобраться с функциями io

вот чисто тестовый вариант написанный просто для того чтобы понять как это работает.

что здесь не так?

файл который я хочу изменить вроде как меняется (это видно по времени последнего изменения) - однако сами изменения в нем не отражаются.

 

function name()

local file = assert(io.open("C:\\test\\items.ltx", "r+"))

local fsize = file:seek("end")

if fsize == 0 then

file:close()

return ""

end

for line in io.lines("C:\\test\\items.ltx") do

if string.find(line,"^%s*(inv_weight)%s*%=%s*%d*%.?%d+%A*") then

k = string.upper(line)

print (k) -- все что надо меняется и выводится в консоль SCITE

file:write(k) -- однако сюда не пишется

file:flush() -- или не сохраняется

end

end

end

Вопрос опять же по скриптам: после функции проверки (прекондишн) должны выполняться 2е функции, спауна, и выдачи поршна, вопрос, как мне это сделать? Написать nехt (имя функции) но где? И сколько раз ее писать?

Monnoroch

вопрос снимается - разобрался (теперь все пишется как надо) - насчет того что не импортированы мне сегодня на SP сказали - жаль...

Так что получается в сталкере вообще нереально делать скриптовую перезапись файлов?

 

Garry_Galler, В ЧН\ЗП можно.В ТЧ нет....

Сам зол,аж жуть...

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

Повторюсь,просто очень нужно)

Хотелось бы восстановить биографию неписей...Для этого в файле "config\ui\stalkers_ranking_character.xml"(вспомним 20-ку лучших) нужно раскомпилитить блог "biography_list":

 

<?xml version='1.0' encoding="UTF-8"?>

<window>

 

<!-- ICON -->

<icon_static x="0" y="0" width="165" height="108"/>

 

 

<!-- RANK -->

<rank_static x="165" y="15" width="120" height="16">

<text x="0" y="0" font="letterica18" r="150" g="150" b="180"/>

</rank_static>

 

<!-- RANK CAPTION -->

<rank_caption x="165" y="0" width="120" height="15">

<text x="0" y="0" font="letterica16" r="128" g="128" b="128">ui_st_rank</text>

</rank_caption>

 

<!-- COMMUNITY -->

<community_static x="165" y="59" width="120" height="15">

<text x="0" y="0" font="letterica18" r="150" g="150" b="180"></text>

</community_static>

 

<!-- COMMUNITY CAPTION -->

<community_caption x="165" y="44" width="120" height="15">

<text x="0" y="0" font="letterica16" r="128" g="128" b="128" a="255">ui_st_community</text>

</community_caption>

 

<!-- RELATION -->

<relation_static x="165" y="104" width="120" height="15">

<text x="0" y="0" font="letterica18" r="150" g="150" b="180"/>

</relation_static>

 

<!-- RELATION CAPTION -->

<relation_caption x="165" y="91" width="120" height="15">

<text x="0" y="0" font="letterica16" r="128" g="128" b="128" a="255">ui_st_relation</text>

</relation_caption>

 

<!-- BIO -->

<_biography_list x="0" y="143" width="273" height="268" always_show_scroll="0" left_ident="23" scroll_profile="pda">

<font font="letterica16" r="190" g="190" b="225"/>

</_biography_list>

 

</window>

 

То есть:

...

<!-- BIO -->

<biography_list x="0" y="143" width="273" height="268" always_show_scroll="0" left_ident="23" scroll_profile="pda">

<font font="letterica16" r="190" g="190" b="225"/>

</biography_list>

...

 

Ура!Работает...но не правильно=(.Текст отображается в одну строку и выходит за рамки ПДА...Как исправить?

 

 

Изменено пользователем Костя.н.ы.ч

Иду по болоту,темно и гроза+туман...играет страшная музыка...черт аномалия...ф7...странные звуки в кустах...очередь и бежать...догоняет...чертова экза наемников...слышу его вой,сомнений нет-кровосос...на ходу вставляю батарейки в фонарик,включаю...передо мной стоит ОН!...как же он красив при освещении молнии...черт с ним,ф7...как бы до бара добраться?...удается модик...

Повторюсь,просто очень нужно)

должно...значит не в том профиле монолитовцев диалоги...Я так с вояками диалоги делал...хотя в логике можно игнор прописать,но врядли разрабы так сделали....

У меня встречный вопрос:

Хотелось бы восстановить биографию неписей...Для этого в файле "config\ui\stalkers_ranking_character.xml"(вспомним 20-ку лучших) нужно раскомпилитить блог "biography_list":

 

<?xml version='1.0' encoding="UTF-8"?>

<window>

 

<!-- ICON -->

<icon_static x="0" y="0" width="165" height="108"/>

 

 

<!-- RANK -->

<rank_static x="165" y="15" width="120" height="16">

<text x="0" y="0" font="letterica18" r="150" g="150" b="180"/>

</rank_static>

 

<!-- RANK CAPTION -->

<rank_caption x="165" y="0" width="120" height="15">

<text x="0" y="0" font="letterica16" r="128" g="128" b="128">ui_st_rank</text>

</rank_caption>

 

<!-- COMMUNITY -->

<community_static x="165" y="59" width="120" height="15">

<text x="0" y="0" font="letterica18" r="150" g="150" b="180"></text>

</community_static>

 

<!-- COMMUNITY CAPTION -->

<community_caption x="165" y="44" width="120" height="15">

<text x="0" y="0" font="letterica16" r="128" g="128" b="128" a="255">ui_st_community</text>

</community_caption>

 

<!-- RELATION -->

<relation_static x="165" y="104" width="120" height="15">

<text x="0" y="0" font="letterica18" r="150" g="150" b="180"/>

</relation_static>

 

<!-- RELATION CAPTION -->

<relation_caption x="165" y="91" width="120" height="15">

<text x="0" y="0" font="letterica16" r="128" g="128" b="128" a="255">ui_st_relation</text>

</relation_caption>

 

<!-- BIO -->

<_biography_list x="0" y="143" width="273" height="268" always_show_scroll="0" left_ident="23" scroll_profile="pda">

<font font="letterica16" r="190" g="190" b="225"/>

</_biography_list>

 

</window>

 

То есть:

...

<!-- BIO -->

<biography_list x="0" y="143" width="273" height="268" always_show_scroll="0" left_ident="23" scroll_profile="pda">

<font font="letterica16" r="190" g="190" b="225"/>

</biography_list>

...

 

Ура!Работает...но не правильно=(.Текст отображается в одну строку и выходит за рамки ПДА...Как исправить?

 

 

 

 

Иду по болоту,темно и гроза+туман...играет страшная музыка...черт аномалия...ф7...странные звуки в кустах...очередь и бежать...догоняет...чертова экза наемников...слышу его вой,сомнений нет-кровосос...на ходу вставляю батарейки в фонарик,включаю...передо мной стоит ОН!...как же он красив при освещении молнии...черт с ним,ф7...как бы до бара добраться?...удается модик...

Вопрос новичка: какую функцию выполняют инфопоршни и из чего они состоят? как их делать?

Разработка Andrew's Pack Mod V0.5..

Костя.н.ы.ч,

Здесь можно попробовать перенести либо сам текст, прописав переносы строк в нужных местах такими символами "\n". Например, <bio>Опытный сталкер.\nДетальная информация отсутствует.</bio>;

либо попробовать уменьшить размер шрифта или заменить его на другой в строке

<font font="letterica16" r="190" g="190" b="225"/>.

 

andrewrap,

Советую всё-таки почитать шапку темы. Там много всего полезного написано и вопрос отпадёт сам собой ;)

Изменено пользователем banderos
banderos, Пробывал...все равно не получается....а писать перенос в каждом профиле НПС сам понимаешь....Ведь существует перенос по строкам в энциклопедии например...Смотрел,пытался сделать также,но не получилось...с ХМЛ я как то еще не в ладах

Иду по болоту,темно и гроза+туман...играет страшная музыка...черт аномалия...ф7...странные звуки в кустах...очередь и бежать...догоняет...чертова экза наемников...слышу его вой,сомнений нет-кровосос...на ходу вставляю батарейки в фонарик,включаю...передо мной стоит ОН!...как же он красив при освещении молнии...черт с ним,ф7...как бы до бара добраться?...удается модик...

banderos, всё излазил нигде не нашёл( может ткнёшь носом если не сложно?

 

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

Разработка Andrew's Pack Mod V0.5..

Вопрос: как правильно использовать io.tmpfile() для записи во временный файл данных из файла-исходника, а затем чтения из него и перезаписи исходника.

у меня пока в него ниче не пишется почему то... (поэтому пишу данные из исходника - с заменой части данных - в новый файл, а это ведь совершенно лишняя операция)

 

не понял как сюда еще и os.tmpname() приплести - она ведь тоже нужна - чтобы имя времянки получить....пробовал и в паре их использовать и поодиночке - результат пока ноль.

в общем кто знает - дайте пример пожалуйста

andrewrap,

Эх, ёлы-палы... Не хотим читать... Например, вот эта статья. Обрати внимание на начало статьи (п. 6), там как раз говориться для чего нужны инфопоршны, из чего не трудно догадаться - что же это такое - инфопоршны и как их создавать.

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

Monnoroch

Таки что?

мне ж для себя надо понять - я моды не делаю (кроме небольших разработок) - я lua изучаю - а сталкер для меня полигон для тестов - и коли в нем не все функции пашут - значит надо забить на них? <_< К тому ж в ЗП пригодится...когда начну и там ковыряться

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

Garry_Galler, Луа - язык свободный.В свой движок-компилятор каждый волен импортировать любой набор классов.компания-разработчик (признана нежелательной)* в движок ТЧ не стало включать такие штуки,как io и прочее.

Для изучения луа в большей полноте попробуй пойти в тему "классы функций" тут же в мастерской и в качестве полигона избери ЗП.Вот там получше вышло двигло.

Изменено пользователем Monnoroch
не канает, у мну 4 секции переключение на которые должны происходить в зависимости от комбинации результатов

этих функций, чото типа

func1 | func 2 | секция

=================

true | false | walker@1

true | true | walker@2

false | true | walker@3

false | false | walker@4

 

Попробуй что-то вроде этого:

 

on_info = {=func1 !func2} walker@1, {=func1 =func2} walker@2, {!func1 =func2} walker@3, {!func1 !func2} walker@4

 

По идее, должно сработать

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Подскажите, как расширить количество квадратиков в инвентаре в главном оружии (надеюсь, вы поняли о чем я ), а то у меня иконка оружия слишком большая, и при втискивании в квадрат главного оружия происходит вылет.

Windpromax,

Намного реальнее и легче уменьшить саму иконку :)

Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка

Monnoroch

Вопрос решил - все оказалось не так сложно - всего лишь через file:seek("set") позицию чтения времянки к началу файла вернуть надо было :-) а то пустая строка возвращалaсь.

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

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

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

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

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

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

Войти

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

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

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