|
15.08.2007, 00:13
|
#1
|
Модератор
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений (для 1,694 пользователей)
|
Скриптовая система или как работать с файлами
Вот ,допустим, начал создавать скриптовую систему. Как сделать так, чтобы гама просматривала файл, и если находила строчку [скрипт], то считывала бы следующую строчу, и если она ровна 4, то загружала кучу параметров, а если не Т, то просто пропускала всю эту кучу. вот мой код ( всё что пока написал ):
file = OpenFile ("Text\" + SObject\script + ".txt")
While Not Eof(fileout) CloseFile file
З.Ы. Сильно не бейте( лучше сразу застрелите ) , плохо умею работать с файлами
|
(Offline)
|
|
15.08.2007, 00:24
|
#2
|
Танчики Developer
Регистрация: 29.01.2007
Сообщений: 539
Написано 16 полезных сообщений (для 23 пользователей)
|
Re: Скриптовая система или как работать с файлами
короче
file = OpenFile ("Text\" + SObject\script + ".txt")
While Not Eof(file)
s$=readline(file)
if s$="script"
while s$<>"/script"
s$=readline(file)
if s$="dialog"
; диалоги
end if
wend
end if
CloseFile file
|
(Offline)
|
|
15.08.2007, 00:25
|
#3
|
|
Re: Скриптовая система или как работать с файлами
Нужна скриптовая система? Лучше юзай - BSE - Это тема!
|
|
|
15.08.2007, 00:35
|
#4
|
Модератор
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений (для 1,694 пользователей)
|
Re: Скриптовая система или как работать с файлами
То есть пишу
file = OpenFile ("Text\" + SObject\script + ".txt")
While Not Eof(file)
s$=readline(file)
if s$="script"
while s$<>"/script"
- сюда команды типа
if h$="dialog"
while h$<>"/dialg"
a=ReadLine(file)
b=ReadLine(file)
c=ReadLine(file)
Wend
if j$="battle"
while j$<>"/battle"
a=ReadLine(file)
b=ReadLine(file)
c=ReadLine(file)
Wend
wend
end if
CloseFile file
и так цикл в цикле и их целая куча? а мона ещё вопрос? тормозить сильно будет?
|
(Offline)
|
|
15.08.2007, 00:37
|
#5
|
Танчики Developer
Регистрация: 29.01.2007
Сообщений: 539
Написано 16 полезных сообщений (для 23 пользователей)
|
Re: Скриптовая система или как работать с файлами
не будит сильно тормозить.
но лучше весь файл в начале игры в массив текстовые перенести.
немного не так)
while s$<>"/script"
s$=readline(file)
- сюда команды типа
if s$="dialog"
a=ReadLine(file)
b=ReadLine(file)
c=ReadLine(file)
end if
if s$="battle"
a=ReadLine(file)
b=ReadLine(file)
c=ReadLine(file)
end if
end if
|
(Offline)
|
|
15.08.2007, 15:22
|
#6
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: Скриптовая система или как работать с файлами
Нужна скриптовая система? Лучше юзай - BSE - Это тема!
|
BSE - это что единственная скриптовая система для Блица ??
|
(Offline)
|
|
15.08.2007, 15:36
|
#7
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Re: Скриптовая система или как работать с файлами
Сообщение от IGR
BSE - это что единственная скриптовая система для Блица ??
|
Нет.
http://blitz.pp.ru/forum/showthread....&threadid=2584
|
(Offline)
|
|
15.08.2007, 15:55
|
#8
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: Скриптовая система или как работать с файлами
дык это ещё хуже чем BSE !!
|
(Offline)
|
|
15.08.2007, 15:58
|
#9
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Re: Скриптовая система или как работать с файлами
Я тебе привел пример, что сууществуют еще скриптовые системы, кроме bse, и не надо возмущатся.
|
(Offline)
|
|
15.08.2007, 16:28
|
#10
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: Скриптовая система или как работать с файлами
дык я не возмущаюсь !!
это я так от безнадеги увидеть супер-пупер скрипт енжын !!
|
(Offline)
|
|
15.08.2007, 18:13
|
#11
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Re: Скриптовая система или как работать с файлами
это я так от безнадеги увидеть супер-пупер скрипт енжын !!
|
извиняюся, а что под этим подразумевается? =)
|
(Offline)
|
|
15.08.2007, 18:17
|
#12
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: Скриптовая система или как работать с файлами
извиняюся, а что под этим подразумевается? =)
|
ну чтоб было удобен и многофункционален !!
а потом , само-собой он будет популярен !!
Луа типо !! но это же не предел !! ведь так ??
|
(Offline)
|
|
15.08.2007, 18:29
|
#13
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Re: Скриптовая система или как работать с файлами
ну чтоб было удобен и многофункционален !!
|
а если подробнее? такой ответ мне не дает никакой видимости что можно улучшить/переделать. вот тока не нада бредовых идей никаких
вообще по сабжу. лучший способ имхо вот так:
1) загружаем скрипт из файла
2) пропускаем через лексер и получаем массив лексем на выходе
3) скармливаем лексемы компилятору и получаем на выходе псевдо код аля ассемблер
3.1) опционально. оптимизируем полученный код
4) сохраняем итоговый код в массив комманд
5) по необходимости выполняем его на виртуальной машине
самое сложное здесь: компиляция псевдо-кода. данный способ избавляет нас от кучи циклов (псевдокод выполняется за 1 проход) и работы с файлами во время выполнения скрипта
|
(Offline)
|
|
18.08.2007, 03:35
|
#14
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Скриптовая система или как работать с файлами
Knightmare, вай... Ты не учёл, что автор вопроса не столь продвинутый кодер, о чём он заранее предупредил
Хм, незнаю зачем чтото мудрить. Есть же xml парсер, отлично подходит под скриптовую систему. Очень шустрый.
Если свою то я делаю так:
1. Получаешь линию.
2. Разбиваешь на левую и правую часть (разделитель "=").
3. Анализируешь и применяешь соответствующие действия.
Всё минимально просто (на уровне ini), при это можно реализовать простые скриптовые сценки.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 12:41.
|