Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Конфигуратор S.T.A.L.K.E.R
Woha28Дата: Вт, 06 Апреля 2010, 04:22 | Сообщение # 1
Участник
Вот захотелось создать свой конфигуратор для игры S.T.A.L.K.E.R, но почему-то
Neobook не хочет читать файлы с расширением *.ltx хотя (это обычный текстовый файл, только с расширением *ltx)эти файлы открывает любой текстовый редактор.
Может кто поможит.
За ранее благодарен!


 
СообщениеВот захотелось создать свой конфигуратор для игры S.T.A.L.K.E.R, но почему-то
Neobook не хочет читать файлы с расширением *.ltx хотя (это обычный текстовый файл, только с расширением *ltx)эти файлы открывает любой текстовый редактор.
Может кто поможит.
За ранее благодарен!

Автор - Woha28
Дата добавления - 06 Апреля 2010 в 04:22
YURIYДата: Вт, 06 Апреля 2010, 04:38 | Сообщение # 2
WebMaster
Ну и где Ваш исходник? Показывайте, нужно смотреть. Не может такого быть, всё должно читаться.
 
СообщениеНу и где Ваш исходник? Показывайте, нужно смотреть. Не может такого быть, всё должно читаться.

Автор - YURIY
Дата добавления - 06 Апреля 2010 в 04:38
RezzoxeДата: Вт, 06 Апреля 2010, 07:28 | Сообщение # 3
Woha28, всё отлично работает, команда FileRead как я понял тебе нужна
для считывания...

Code
FileRead "[PubDir]actor.ltx" "24" "[result]"

где 24 это номер строчки которую надо прочесть, и то что мы прочитали
сохраняется в переменной [result] какие проблемы?

ну и для записи:

Code
FileWrite "[PubDir]actor.ltx" "24" "текст_для_замены"

Добавлено (06 Апрель 2010, 07:28)
---------------------------------------------
Но немного глубже повозившись я так понял что особо тебе это не поможет,
чтобы достать некое значение то строчку надо парсить, но вот беда в том,
что хрен знает на какие делиметры её делить, напримере покажу количество
патронов в магазине:

Code
ammo_mag_size        = 30           ; clip (magazine) size

причём эти провалы это не табуляция, а именно пробелы, выбрав делиметром
пробел, прога выдала мне массив из 24 переменных! Вычислить то не беда
если у тебя мало этих строчек которые ты хочешь редактировать, но что делать
если надо парсить не один десяток строк, допустим делать большой LTX-редактор?
И как потом изменённую величину пихнуть обратно? Честно гоаоря мне тоже это
интересно, дождёмся наших необукеров... pardon

P.S. Если надо в прищепке оригинальный LTX-файл конфига абакана (калаш),
открывается с помощью блокнота...

Прикрепления: w_abakan.rar (3.6 Kb)


Сообщение отредактировано
Омар - Вт, 06 Апреля 2010, 07:57
 
СообщениеWoha28, всё отлично работает, команда FileRead как я понял тебе нужна
для считывания...

Code
FileRead "[PubDir]actor.ltx" "24" "[result]"

где 24 это номер строчки которую надо прочесть, и то что мы прочитали
сохраняется в переменной [result] какие проблемы?

ну и для записи:

Code
FileWrite "[PubDir]actor.ltx" "24" "текст_для_замены"

Добавлено (06 Апрель 2010, 07:28)
---------------------------------------------
Но немного глубже повозившись я так понял что особо тебе это не поможет,
чтобы достать некое значение то строчку надо парсить, но вот беда в том,
что хрен знает на какие делиметры её делить, напримере покажу количество
патронов в магазине:

Code
ammo_mag_size        = 30           ; clip (magazine) size

причём эти провалы это не табуляция, а именно пробелы, выбрав делиметром
пробел, прога выдала мне массив из 24 переменных! Вычислить то не беда
если у тебя мало этих строчек которые ты хочешь редактировать, но что делать
если надо парсить не один десяток строк, допустим делать большой LTX-редактор?
И как потом изменённую величину пихнуть обратно? Честно гоаоря мне тоже это
интересно, дождёмся наших необукеров... pardon

P.S. Если надо в прищепке оригинальный LTX-файл конфига абакана (калаш),
открывается с помощью блокнота...


Автор - Rezzoxe
Дата добавления - 06 Апреля 2010 в 07:28
СергейДата: Вт, 06 Апреля 2010, 10:54 | Сообщение # 4
Необукер
не понимаю, что это такое и для чего нуна, т.к. не геймер я а любитель. :D
А потому незнаю что вам надо конкретно, но предложу вариант в качестве делемитра использовать символ =а пробелы которыми богата любая строка можно обрезать, походу ничего не значат(но лучше проверить)
 
Сообщениене понимаю, что это такое и для чего нуна, т.к. не геймер я а любитель. :D
А потому незнаю что вам надо конкретно, но предложу вариант в качестве делемитра использовать символ =а пробелы которыми богата любая строка можно обрезать, походу ничего не значат(но лучше проверить)

Автор - Сергей
Дата добавления - 06 Апреля 2010 в 10:54
СергейДата: Вт, 06 Апреля 2010, 12:15 | Сообщение # 5
Необукер
вот пример
Доступно только для пользователей
(прик - stalker.rar)
Добавлено (06 Апрель 2010, 11:27)
---------------------------------------------
Quote (Омар)
если надо парсить не один десяток строк, допустим делать большой LTX-редактор?
и в чем же проблема? НБ с этим справится на раз-два...
В 230 строк, разбиваются на переменую+значение+коменты
Код можно сократить, а именно на поиск пробелов(#32), а остальное сами сделаете :)
прик(stalker2.rar)
.

Добавлено (06 Апрель 2010, 12:15)
---------------------------------------------

Прикрепления: stalker.rar (2.3 Kb) · stalker2.rar (6.4 Kb)


Сообщение отредактировано
Сергей - Вт, 06 Апреля 2010, 12:14
 
Сообщениевот пример
Доступно только для пользователей
(прик - stalker.rar)
Добавлено (06 Апрель 2010, 11:27)
---------------------------------------------
Quote (Омар)
если надо парсить не один десяток строк, допустим делать большой LTX-редактор?
и в чем же проблема? НБ с этим справится на раз-два...
В 230 строк, разбиваются на переменую+значение+коменты
Код можно сократить, а именно на поиск пробелов(#32), а остальное сами сделаете :)
прик(stalker2.rar)
.

Добавлено (06 Апрель 2010, 12:15)
---------------------------------------------


Автор - Сергей
Дата добавления - 06 Апреля 2010 в 12:15
RezzoxeДата: Ср, 07 Апреля 2010, 07:47 | Сообщение # 6
Сергей, хм а почему у тебя в обоих архивах текст уже без пробелов? :)

Quote (Сергей)
и в чем же проблема?

Да проблемы впринципе нету, просто парсить вручную овер 9000 строк помоему лишок crazy
или когда дело касается такого это нормально? Объясни я просто я не знаю :)

Quote (Сергей)
не понимаю, что это такое и для чего нуна, т.к. не геймер я а любитель.

просто все конфиги сталка построены на этом LUA и дали им расширения LTX.
вот что я выше дал файлик, это полная настройка одного только оружия. Есть
некие товарищи называемые модмейкерами и вот чтобы склепать свой модик, они
вручную перелапачивали эту всю гору текста и не один файл а примерно штук 40
таких файлов, вот потом придумали для удобства визуальные LTX редакторы, но
все что мне попадались не ахти честно говоря.

Сообщение отредактировано
Омар - Ср, 07 Апреля 2010, 07:48
 
СообщениеСергей, хм а почему у тебя в обоих архивах текст уже без пробелов? :)

Quote (Сергей)
и в чем же проблема?

Да проблемы впринципе нету, просто парсить вручную овер 9000 строк помоему лишок crazy
или когда дело касается такого это нормально? Объясни я просто я не знаю :)

Quote (Сергей)
не понимаю, что это такое и для чего нуна, т.к. не геймер я а любитель.

просто все конфиги сталка построены на этом LUA и дали им расширения LTX.
вот что я выше дал файлик, это полная настройка одного только оружия. Есть
некие товарищи называемые модмейкерами и вот чтобы склепать свой модик, они
вручную перелапачивали эту всю гору текста и не один файл а примерно штук 40
таких файлов, вот потом придумали для удобства визуальные LTX редакторы, но
все что мне попадались не ахти честно говоря.


Автор - Rezzoxe
Дата добавления - 07 Апреля 2010 в 07:47
СергейДата: Ср, 07 Апреля 2010, 10:49 | Сообщение # 7
Необукер
Quote (Омар)
Сергей, хм а почему у тебя в обоих архивах текст уже без пробелов?
потому что там есть команда(о которой я уже писал) она то и делает эти пакости :D
Quote (Омар)
просто парсить вручную овер 9000 строк
но вам же не каждая строка нужна?! Я парсил(ради теста) около 14700 строк - НБ потратила где то 20-30 мин+ЦП было 50% :D
Но обработать такое количество лучше передать яве, т.е. только обработку(сам цикл), будет намного быстрее


Сообщение отредактировано
Сергей - Ср, 07 Апреля 2010, 10:51
 
Сообщение
Quote (Омар)
Сергей, хм а почему у тебя в обоих архивах текст уже без пробелов?
потому что там есть команда(о которой я уже писал) она то и делает эти пакости :D
Quote (Омар)
просто парсить вручную овер 9000 строк
но вам же не каждая строка нужна?! Я парсил(ради теста) около 14700 строк - НБ потратила где то 20-30 мин+ЦП было 50% :D
Но обработать такое количество лучше передать яве, т.е. только обработку(сам цикл), будет намного быстрее

Автор - Сергей
Дата добавления - 07 Апреля 2010 в 10:49
RezzoxeДата: Ср, 07 Апреля 2010, 14:18 | Сообщение # 8
Сергей, эммм сорри что то я выше не увидел...

то есть можно перед парсером убрать все пробелы (с помощью нб) и потом
работать с файлом да? если можно ещё раз подробнее...



Сообщение отредактировано
Омар - Ср, 07 Апреля 2010, 14:20
 
СообщениеСергей, эммм сорри что то я выше не увидел...

то есть можно перед парсером убрать все пробелы (с помощью нб) и потом
работать с файлом да? если можно ещё раз подробнее...


Автор - Rezzoxe
Дата добавления - 07 Апреля 2010 в 14:18
СергейДата: Ср, 07 Апреля 2010, 15:40 | Сообщение # 9
Необукер
Quote (Омар)
если можно ещё раз подробнее

Quote
StrReplace "ltx" "[#32]" "" "new_ltx" ""
 
Сообщение
Quote (Омар)
если можно ещё раз подробнее

Quote
StrReplace "ltx" "[#32]" "" "new_ltx" ""

Автор - Сергей
Дата добавления - 07 Апреля 2010 в 15:40
RezzoxeДата: Ср, 07 Апреля 2010, 16:08 | Сообщение # 10
Сергей, ок благодарю будем пробывать... thumbs_up
 
СообщениеСергей, ок благодарю будем пробывать... thumbs_up

Автор - Rezzoxe
Дата добавления - 07 Апреля 2010 в 16:08
СергейДата: Ср, 07 Апреля 2010, 16:53 | Сообщение # 11
Необукер
Quote (Омар)
автор темы походу в шоке и ничё не пишет
да автор уже давно все сделал, тут задача то простая


Сообщение отредактировано
Сергей - Ср, 07 Апреля 2010, 17:03
 
Сообщение
Quote (Омар)
автор темы походу в шоке и ничё не пишет
да автор уже давно все сделал, тут задача то простая

Автор - Сергей
Дата добавления - 07 Апреля 2010 в 16:53
Woha28Дата: Чт, 08 Апреля 2010, 02:16 | Сообщение # 12
Участник
Извените за то что создал тему, но так долго не отвечал (кончились деньги на телефоне не мог выйте в инет).
Всем большое спасибо за такое бурное обсуждение и так.
На эту каманду НБ пишет (Fale not found!) на счёт парсить то как заметил Сергей лучше по знаку = т.к мне как раз и нужно то что в строке стоит после знака =
но пока оснавная проблема в том что НБ не хочет считовать ни весь файл ни отдельную строку из файла *.ltx
Quote (Омар)
FileRead "[PubDir]actor.ltx" "24" "[result]"


 
СообщениеИзвените за то что создал тему, но так долго не отвечал (кончились деньги на телефоне не мог выйте в инет).
Всем большое спасибо за такое бурное обсуждение и так.
На эту каманду НБ пишет (Fale not found!) на счёт парсить то как заметил Сергей лучше по знаку = т.к мне как раз и нужно то что в строке стоит после знака =
но пока оснавная проблема в том что НБ не хочет считовать ни весь файл ни отдельную строку из файла *.ltx
Quote (Омар)
FileRead "[PubDir]actor.ltx" "24" "[result]"

Автор - Woha28
Дата добавления - 08 Апреля 2010 в 02:16
RezzoxeДата: Чт, 08 Апреля 2010, 03:20 | Сообщение # 13
Woha28, а при скомпилированном проекте когда и файл и проект
в одной папке тоже не работает? :)
 
СообщениеWoha28, а при скомпилированном проекте когда и файл и проект
в одной папке тоже не работает? :)

Автор - Rezzoxe
Дата добавления - 08 Апреля 2010 в 03:20
СергейДата: Чт, 08 Апреля 2010, 06:36 | Сообщение # 14
Необукер
Quote (Woha28)
На эту каманду НБ пишет (Fale not found!)
это значит что файл actor.ltx не лежит в тойже дириктории что и проект(судя по объявленому пути [PubDir]actor.ltx)


Сообщение отредактировано
Сергей - Чт, 08 Апреля 2010, 06:36
 
Сообщение
Quote (Woha28)
На эту каманду НБ пишет (Fale not found!)
это значит что файл actor.ltx не лежит в тойже дириктории что и проект(судя по объявленому пути [PubDir]actor.ltx)

Автор - Сергей
Дата добавления - 08 Апреля 2010 в 06:36
Woha28Дата: Чт, 08 Апреля 2010, 16:31 | Сообщение # 15
Участник
Короче нужно сделать так чтобы при запуске программы (НБ) сразу же выскакивало окно с проcьбой указать папку gamedata (т.к. все файлы для редактирования находятся именно в ней и в её подпапках) это нужно потому что путь к gamedata может быть у всех разный, у меня например стоит лицензия Сталкера и мой путь выглядит так:
C:\Program Files\GSC World Publishing\S.T.A.L.K.E.R\gamedata
но совсем не давно я устанавливал с другого диска и путь был таким:
C:\GAMES\S.T.A.L.K.E.R\gamedata
именно поэтому [PubDir]actor.ltx не подходит.
Я конечно могу указать абсалютный путь вместо [PubDir], но в таком случае прогой смогут пользоваться только те пользователи у кого совпадёт путь к gamedata с моим, а это уже не есть хорошо.


 
СообщениеКороче нужно сделать так чтобы при запуске программы (НБ) сразу же выскакивало окно с проcьбой указать папку gamedata (т.к. все файлы для редактирования находятся именно в ней и в её подпапках) это нужно потому что путь к gamedata может быть у всех разный, у меня например стоит лицензия Сталкера и мой путь выглядит так:
C:\Program Files\GSC World Publishing\S.T.A.L.K.E.R\gamedata
но совсем не давно я устанавливал с другого диска и путь был таким:
C:\GAMES\S.T.A.L.K.E.R\gamedata
именно поэтому [PubDir]actor.ltx не подходит.
Я конечно могу указать абсалютный путь вместо [PubDir], но в таком случае прогой смогут пользоваться только те пользователи у кого совпадёт путь к gamedata с моим, а это уже не есть хорошо.

Автор - Woha28
Дата добавления - 08 Апреля 2010 в 16:31
DEMBELДата: Чт, 08 Апреля 2010, 16:50 | Сообщение # 16
Наш дизайнер
Quote (Woha28)
Короче нужно сделать так чтобы при запуске программы (НБ) сразу же выскакивало окно с проcьбой указать папку gamedata

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


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщение
Quote (Woha28)
Короче нужно сделать так чтобы при запуске программы (НБ) сразу же выскакивало окно с проcьбой указать папку gamedata

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

Автор - DEMBEL
Дата добавления - 08 Апреля 2010 в 16:50
Woha28Дата: Чт, 08 Апреля 2010, 16:56 | Сообщение # 17
Участник
Для чего брать из реестра?

 
СообщениеДля чего брать из реестра?

Автор - Woha28
Дата добавления - 08 Апреля 2010 в 16:56
СергейДата: Чт, 08 Апреля 2010, 17:06 | Сообщение # 18
Необукер
Quote (Woha28)
указать папку gamedata
ну и в чем трудность?!
Quote (Woha28)
Сталкера и мой путь выглядит так:
короче намудрил ты в путях, вот и ошибка.
ищи тут(HKEY_LOCAL_MACHINE\SOFTWARE\S.T.A.L.K.E.R), как дембель написал

Добавлено (08 Апрель 2010, 17:04)
---------------------------------------------

Quote (Woha28)
Для чего брать из реестра?
так ты посмотри сам, если у всех пути установки разные, то и путь надо брать оттуда, где есть 100% и юзер не могет изменить, а такое место тока одно реестр...

Добавлено (08 Апрель 2010, 17:06)
---------------------------------------------

Quote (Woha28)
именно поэтому [PubDir]actor.ltx не подходит.
тебе это для примера писали :D есно ты должен свой путь ставить
 
Сообщение
Quote (Woha28)
указать папку gamedata
ну и в чем трудность?!
Quote (Woha28)
Сталкера и мой путь выглядит так:
короче намудрил ты в путях, вот и ошибка.
ищи тут(HKEY_LOCAL_MACHINE\SOFTWARE\S.T.A.L.K.E.R), как дембель написал

Добавлено (08 Апрель 2010, 17:04)
---------------------------------------------

Quote (Woha28)
Для чего брать из реестра?
так ты посмотри сам, если у всех пути установки разные, то и путь надо брать оттуда, где есть 100% и юзер не могет изменить, а такое место тока одно реестр...

Добавлено (08 Апрель 2010, 17:06)
---------------------------------------------

Quote (Woha28)
именно поэтому [PubDir]actor.ltx не подходит.
тебе это для примера писали :D есно ты должен свой путь ставить

Автор - Сергей
Дата добавления - 08 Апреля 2010 в 17:06
Woha28Дата: Чт, 08 Апреля 2010, 17:23 | Сообщение # 19
Участник
Зачем мне нужен реестр если проще будет когда сам пользователь будет указывать свою папку gamedata. Но проблема не в этом! Вот смотрите к примеру в файле gamedata\config\weapons\w_vintorez.ltx есть строка:
cost = 12000 ;4000
как мне сделать так чтобы из всей этой строки в моей проге отабразилось только
12000 то есть сумма, я пробовал так:

Code
FolderBox "Выбрать папку:" "[gamedata]"
If "[gamedata]" "=" ""
Exit "" ""
Else
EndIf
FileRead "[gamedata]\config\weapons\w_vintorez.ltx" "22" "[result]"
SearchStr "=" "[result]" "[efect]"
SubStr "[result]" "[efect]" "7" "[Rec]"
StrParse "[Rec]" "=" "[Data]" "[skolko]"
SetVar "[Text1]" "[Data[skolko]]"

Я написал 7 символов для копирования, но ведь их может быть и больше, я же немогу знать на перёд сколько будет цифр в том или ином параметре.
Поэтому этот способ не очень подходит, я думал может быть сделать так чтобы НБ искал только цыфры в определенной строке и после выводил их для редактирования.


 
СообщениеЗачем мне нужен реестр если проще будет когда сам пользователь будет указывать свою папку gamedata. Но проблема не в этом! Вот смотрите к примеру в файле gamedata\config\weapons\w_vintorez.ltx есть строка:
cost = 12000 ;4000
как мне сделать так чтобы из всей этой строки в моей проге отабразилось только
12000 то есть сумма, я пробовал так:

Code
FolderBox "Выбрать папку:" "[gamedata]"
If "[gamedata]" "=" ""
Exit "" ""
Else
EndIf
FileRead "[gamedata]\config\weapons\w_vintorez.ltx" "22" "[result]"
SearchStr "=" "[result]" "[efect]"
SubStr "[result]" "[efect]" "7" "[Rec]"
StrParse "[Rec]" "=" "[Data]" "[skolko]"
SetVar "[Text1]" "[Data[skolko]]"

Я написал 7 символов для копирования, но ведь их может быть и больше, я же немогу знать на перёд сколько будет цифр в том или ином параметре.
Поэтому этот способ не очень подходит, я думал может быть сделать так чтобы НБ искал только цыфры в определенной строке и после выводил их для редактирования.


Автор - Woha28
Дата добавления - 08 Апреля 2010 в 17:23
GorezcaidДата: Чт, 08 Апреля 2010, 18:14 | Сообщение # 20
Ветеран форума
Quote (Woha28)
есть строка:
cost = 12000 ;4000
как мне сделать так чтобы из всей этой строки в моей проге отабразилось только
12000 то есть сумма, я пробовал так:

Тебе нужно сохранить строку на основе переменной:

StrParse "[строка]" ";" "[вывод]" "[кол-во элементов]"

Добавлено (08 Апрель 2010, 18:14)
---------------------------------------------
В переменной [вывод1] = cost = 12000
[вывод2] = 4000


Win7 Pro SP1 x64; NBv5.5.4rus,v5.6.2rus, v5.7.0en, Opera

Сообщение отредактировано
Gorezcaid - Чт, 08 Апреля 2010, 18:14
 
Сообщение
Quote (Woha28)
есть строка:
cost = 12000 ;4000
как мне сделать так чтобы из всей этой строки в моей проге отабразилось только
12000 то есть сумма, я пробовал так:

Тебе нужно сохранить строку на основе переменной:

StrParse "[строка]" ";" "[вывод]" "[кол-во элементов]"

Добавлено (08 Апрель 2010, 18:14)
---------------------------------------------
В переменной [вывод1] = cost = 12000
[вывод2] = 4000


Автор - Gorezcaid
Дата добавления - 08 Апреля 2010 в 18:14
СергейДата: Чт, 08 Апреля 2010, 18:23 | Сообщение # 21
Необукер
Quote (Woha28)
Я написал 7 символов для копирования, но ведь их может быть и больше
а зачем вообще этот гемор про копирования символов??? я же высылал пример(даже два), там просто извлекайте нужную строку в место всего документа
 
Сообщение
Quote (Woha28)
Я написал 7 символов для копирования, но ведь их может быть и больше
а зачем вообще этот гемор про копирования символов??? я же высылал пример(даже два), там просто извлекайте нужную строку в место всего документа

Автор - Сергей
Дата добавления - 08 Апреля 2010 в 18:23
  • Страница 1 из 1
  • 1
Поиск: