![]() |
Скриптовая система или как работать с файлами
Вот ,допустим, начал создавать скриптовую систему. Как сделать так, чтобы гама просматривала файл, и если находила строчку [скрипт], то считывала бы следующую строчу, и если она ровна 4, то загружала кучу параметров, а если неТ, то просто пропускала всю эту кучу. вот мой код (всё что пока написал:@ ): Код:
З.Ы. Сильно не бейте(:killall::sarcastic_hand: лучше сразу застрелите :) ) , плохо умею работать с файлами:doof: :sarcastic_hand: |
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 |
Re: Скриптовая система или как работать с файлами
Нужна скриптовая система? Лучше юзай - BSE - Это тема!
|
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 и так цикл в цикле и их целая куча? а мона ещё вопрос? тормозить сильно будет? |
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 |
Re: Скриптовая система или как работать с файлами
Цитата:
|
Re: Скриптовая система или как работать с файлами
Цитата:
http://blitz.pp.ru/forum/showthread....&threadid=2584 |
Re: Скриптовая система или как работать с файлами
дык это ещё хуже чем BSE !!
|
Re: Скриптовая система или как работать с файлами
Я тебе привел пример, что сууществуют еще скриптовые системы, кроме bse, и не надо возмущатся.
|
Re: Скриптовая система или как работать с файлами
Цитата:
это я так от безнадеги увидеть супер-пупер скрипт енжын !! |
Re: Скриптовая система или как работать с файлами
Цитата:
|
Re: Скриптовая система или как работать с файлами
Цитата:
а потом , само-собой он будет популярен !! Луа типо !! но это же не предел !! ведь так ?? |
Re: Скриптовая система или как работать с файлами
Цитата:
вообще по сабжу. лучший способ имхо вот так: 1) загружаем скрипт из файла 2) пропускаем через лексер и получаем массив лексем на выходе 3) скармливаем лексемы компилятору и получаем на выходе псевдо код аля ассемблер 3.1) опционально. оптимизируем полученный код 4) сохраняем итоговый код в массив комманд 5) по необходимости выполняем его на виртуальной машине самое сложное здесь: компиляция псевдо-кода. данный способ избавляет нас от кучи циклов (псевдокод выполняется за 1 проход) и работы с файлами во время выполнения скрипта |
Re: Скриптовая система или как работать с файлами
Knightmare, вай... Ты не учёл, что автор вопроса не столь продвинутый кодер, о чём он заранее предупредил ;)
Хм, незнаю зачем чтото мудрить. Есть же xml парсер, отлично подходит под скриптовую систему. Очень шустрый. Если свою то я делаю так: 1. Получаешь линию. 2. Разбиваешь на левую и правую часть (разделитель "="). 3. Анализируешь и применяешь соответствующие действия. Всё минимально просто (на уровне ini), при это можно реализовать простые скриптовые сценки. |
Часовой пояс GMT +4, время: 07:57. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot