![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Скриптовый движок [Delphi]
ProvAd © (2003-08-18 18:17:00)Есть ли на дельфи таковые? и где можно взять?
ПсихЪ (2004-02-08 18:44:00) [1]Добрые люди, скиньте, пожалйста на мыло stalker2010@front.ru скриптовые движки Lua под Delphi и Innerfuse Pascal Script. А то кинулся сейчас по ссылкам, а они не работаю. На сайте Луа ничего похожего на THLua не нашёл...
Заранее спасибо!
Wild (2004-02-06 15:45:00) [2]Полностью солидарен с Vertex
Помимо опыта - это Ваш, заточеный под Вас и только под Вас движок. Чем движок универсальнее - тем он медленнее. В Дельфи, мне кажется, этому поможет модуль typinfo.
Vertex (2004-02-06 15:02:00) [3]ребят пишите сами, это не к тому что все своими руками, а к тому что за время освоения луа, можете написать свой скрипт движок, попроще, но поверьте - это бесценный опыт.
1)если скрипт должен выполнятся в риалтайме используйте псевдокомпилинг.
2)упростите конструкцию языка до максимума, в скрипт языке самое главное устойчивость. я например за ненадобностью даже циклы убрал. и синтаксис у мя смесь паскаль и си++, и парсинга выражений нет тока i+=value/var и т.д. но оно работает и быстро работает, и язык получился простым и легко усвояемым). естественно в пределах разумного надо упрощать, в зависимости от игрули.
Denton (2004-02-06 14:49:00) [4]Ты наверно меня непонял: напремер у меня в программе есть флаг
missioncompleted:integer = 0;
я хочу сделать так чтобы в скрипте можно было написать missioncompleted = 1; мне нужно чтото типа функции CreateLuaVariable(luastate,@Missioncompleted,'missioncompleted',type);
cyborg (2004-02-06 14:42:00) [5][50] Denton © (06.02.04 14:35)
ход программы: если в скрипте найден текст Lua, а заним идёт знак =, то присваиваем переменной ЗЮ значение идущее после знака =.
;)
Denton (2004-02-06 14:35:00) [6]Может хто знает как связать переменную Lua с переменной в моей программе. Пожалуто обьясните в хелпе толком ниче непонятно.
Koreolis (2003-10-17 12:09:00) [7]Тема оч интересная! Последнее время всё больше понимаю, что нужно писать скриптдвижок самому. И опыт, и все нужные возможности. А главное - если к твоему проекту подключается уровненаписатель/создатель, то ты САМ ему сможешь всё объяснить и показать.
Рустам Алиев (2003-08-27 11:52:00) [8]2 Denton:
lua_CFunction lua_atpanic (lua_State *L, lua_CFunction panicf);
или
int lua_cpcall (lua_State *L, lua_CFunction func, void *ud);
Дельфевый аналог смотри сам.
2 Ev_Genue: что, решил виртуальную машину поковырять? :) Смотри lopcodes.c. Еще есть какой-то декомпилятов в байт-код.
Ev_genus (2003-08-27 02:18:00) [9]Знает ли кто: что на выходу луавского компилятора? Что из себя представляет файл *.lub?
Заранее спасибо
Denton (2003-08-26 14:35:00) [10]помогите разобраться:
L:=lua_open();
lua_baselibopen(l);
lua_iolibopen(l);
lua_strlibopen(l);
lua_mathlibopen(l);
while (true) do
begin
Write('>');
Readln(cmd);
if cmd = 'exit' then break;
lua_dostring(L,pchar(cmd));
end;
lua_close(L);
когда я ввожу что-то не правильное тогда прога вылетает, как сделать чтобы выводилось сообщение об ошибке?
Рустам Алиев (2003-08-25 10:02:00) [11]2 Ev_genus: закладки на работе, а я в отпуске.
i=1
repeat i=i+1 until i>10000000 -- 10 миллионов.
~2.5 с на p4-1.8 с компиляцией. Среда LuaVCL собственной разработки,
без оптимизации. Это ничего не значит, нужно гонять синтетические
тесты.
ps: скриптовые движки практически все бесплатные...
Ev_genus (2003-08-24 21:28:00) [12]Уже не надо. Я замерил вместе с анализом синтаксиса. Разница почти незаметна. Время в пределах 1 сек.
Ev_genus (2003-08-24 20:27:00) [13]2 ProvAd
А там компиляция есть? У меня вымолняется уже компилиный код. (компилится не в код ассемблера, а в более простую для исполнения, в сравнее с исходной, систему команд)
Если есть, прошу прогнать тест только на само выполнение.
ProvAd (2003-08-24 20:16:00) [14]Ev_genus
ifps:
Script finished, no errors.
Time: 13,7918045449911 sec
Ev_genus (2003-08-24 19:36:00) [15]2 Всеволод Соловьёв
Sorry. Offtopic!
А мы с тобой в одном городе обитаем. Если есть желание поговорить и т.д. прошу 165044315.
Ev_genus (2003-08-24 19:26:00) [16]2 Рустам Алиев
А ссылку можна? Я найти затрудняюсь...
Я тут свой движок пишу. Типа паскаль
var
a:integer;
begin
a:=1;
repeat
a:=a+1;
until a=1000000;
end.
работает 1 сек. Это быстрее или медленнее чем Lua?
Рустам Алиев (2003-08-24 09:48:00) [17]2 Ev_genus: очень хорошо. Точно быстрее Питона. Посмотри Great Scripting Language Shootout.
Ev_genus (2003-08-24 01:57:00) [18]2 Micah'GF
Он не сложный, он далекий как от других языков программирования так и от класической логики. Он несложнее ПЛ/1.
2 Всеволод Соловьёв
Ну во-первых не все, а те у кого нет денег на что-то лучшее. Или те кому лучшего и не надо.
2 Всем
Ну так как на счет скорости, меня интересует реальный тест?
Micah'GF (2003-08-23 22:10:00) [19]На мой взгляд для игр Lua широковат будет... Да и сложноват он - пока разберешся в нем, освоишь язык Дельфи совсем забудешь...
Есть ли чтонить попроше?!?! (млин ну или мануал для Lua на русском, а то и так времени мало)
Всеволод Соловьёв (2003-08-23 21:43:00) [20]Наверное, быстрый, поскольку его используют практически везде :)