Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для компьютеров > Blitz3D > Библиотеки

Библиотеки Сторонние библиотеки для Blitz

Ответ
 
Опции темы
Старый 16.09.2011, 01:44   #1
Randomize
Терабайт исходников
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: Планета Земля
Сообщений: 4,031
Написано 2,247 полезных сообщений
(для 6,305 пользователей)
Вы не поверите, но LUA Wrapper для Blitz3D

Никто не ждал такого поворота. Немцы такие Немцы. Запилили целый враппер Lua. Вот это да!

Соус: http://www.blitzforum.de/forum/viewtopic.php?t=30995
Долго втуплял как жеж оно работает и в итоге немного понял.
Работает через очень хитро закрученную задницу, но работает :D
Значит что в архиве:
Lua_Wrapper.dll - Главная DLL
Lua_Wrapper.decls - ну тут понятно
Lua_Include.bb - вызывать Include в самом самом начале файла
Lua.bb - мой тестик (зря его я так назвал)
script.txt - скриптик к моему тестику :3
Внимание! Класс опастности 9 из 10.
Для неподготовленного новичка эта штука не подходит. Копипастой тут всё не сделаешь.

Все справки что у нас есть: http://www.blitzforum.de/forum/viewtopic.php?t=30995
Переводить лучше на английский, а то на русском не ясно ни зги.

Спасибо за внимание. И да, не оффтопим особо, ок?

Blitz3D Lua wrapper script download engine torrent b3d hight speed decls premium without sms ну ты выдал нахнагель дядька марк не прогадал
Вложения
Тип файла: 7z Blitz3D_Lua.7z (151.1 Кб, 146 просмотров)
__________________
Retry, Abort, Ignore? █
Пека: AMD Athlon II x4 2.6Ghz; 8Gb ram; Nvidia Geforce GTX 750 Ti
(Offline)
 
Ответить с цитированием
Эти 11 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
Артем Валерьевич (16.09.2011), Coks (16.09.2011), Harter (16.09.2011), IgorOK (18.09.2011), LLI.T.A.L.K.E.R. (16.09.2011), moka (16.09.2011), Nerd (02.01.2012), Nex (16.09.2011), radiobutton (17.09.2011), Reks888 (18.09.2011), St_AnGer (17.09.2011)
Старый 16.09.2011, 17:17   #2
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений
(для 1,460 пользователей)
Ответ: Вы не поверите, но LUA Wrapper для Blitz3D

так по немецки я почти не понимаю, а твой пример еще не посмотрел, есть непонятное:
1. можно ли из луа-кода вызывать функции блица?
2. можно ли из блица вызывать луа-код?
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо ffinder за это полезное сообщение:
ABTOMAT (02.01.2012), Артем Валерьевич (16.09.2011)
Старый 16.09.2011, 21:13   #3
Черный крыс
 
Сообщений: n/a
Ответ: Вы не поверите, но LUA Wrapper для Blitz3D

Ндя...Вот только зачем скриповичку скриптовичок ???
 
Ответить с цитированием
Старый 16.09.2011, 21:31   #4
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений
(для 1,460 пользователей)
Ответ: Вы не поверите, но LUA Wrapper для Blitz3D

Сообщение от Diablo1909 Посмотреть сообщение
Ндя...Вот только зачем скриповичку скриптовичок ???
лол, где ты у блица скриптовый язык увидел?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Crayzi (28.01.2015)
Старый 16.09.2011, 21:41   #5
Randomize
Терабайт исходников
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: Планета Земля
Сообщений: 4,031
Написано 2,247 полезных сообщений
(для 6,305 пользователей)
Ответ: Вы не поверите, но LUA Wrapper для Blitz3D

Diablo наверное считает, что Blitz3D не компилится (ну в смысле полноценно)
Типа внутри exe исходник и интерпретатор.
__________________
Retry, Abort, Ignore? █
Пека: AMD Athlon II x4 2.6Ghz; 8Gb ram; Nvidia Geforce GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 17.09.2011, 05:07   #6
Черный крыс
 
Сообщений: n/a
Ответ: Вы не поверите, но LUA Wrapper для Blitz3D

Не совсем так...
Blitz3D переводит исходный текст в машинный код... но извините меня, это каждый нормальный скрипт-движок умеет.
Blitz3D - это скриптовичок. В ексе он не пакует свой транслятор и виртуальную машину, а отсюда вытекает невозможность компилить исходники на лету.

А что такого удивительного в том что ЛУА завраплен в Б3Д ??? Скачал исходники ЛУА написал ДЛЛ с интерфейсными функциями по стандарту C_call, обьявил эти функции в decls и вперед писать скрипты...

С таким же успехом можно саму ЛУА заврапить в ЛУУ.

ИМХО - абсолютно бесполезный враппер. Внутри яичка должен быть желток, а тут получается внутри яйца еще одно яйцо...
 
Ответить с цитированием
Старый 17.09.2011, 06:36   #7
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,012 пользователей)
Ответ: Вы не поверите, но LUA Wrapper для Blitz3D

Сообщение от ffinder Посмотреть сообщение
так по немецки я почти не понимаю, а твой пример еще не посмотрел, есть непонятное:
1. можно ли из луа-кода вызывать функции блица?
2. можно ли из блица вызывать луа-код?
это врядли !!
Враппер же..
(Offline)
 
Ответить с цитированием
Старый 17.09.2011, 07:22   #8
Randomize
Терабайт исходников
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: Планета Земля
Сообщений: 4,031
Написано 2,247 полезных сообщений
(для 6,305 пользователей)
Ответ: Вы не поверите, но LUA Wrapper для Blitz3D

Сообщение от ffinder Посмотреть сообщение
так по немецки я почти не понимаю, а твой пример еще не посмотрел, есть непонятное:
1. можно ли из луа-кода вызывать функции блица?
Да

Сообщение от ffinder Посмотреть сообщение
2. можно ли из блица вызывать луа-код?
Да

Любой вызов происходит и туда и обратно, но через хитровыкрученый зад.

Сообщение от Diablo1909 Посмотреть сообщение
желток, а тут получается внутри яйца еще одно яйцо...
Да ты за###. Нахрен скрипты вообще нужны? Чтоб левел дизайнеры, просто дизайнеры и прочие товарищи не лезли в работу программиста. Пускай дизайнер в своей папочке настраивает партиклы, пускай художник в своей папочке назначает шрифты, цвета для контролов. Или ты предлагаешь каждый раз пересобирать ради этого exe? Крутой подход. Вот скажи своему дизайнеру (а он есть?) поставить себе вижуал студию чтоб цвет кнопочек менять. И как он на тебя посмотрит? Ему лучше тупым блокнотом открывать луашки.
__________________
Retry, Abort, Ignore? █
Пека: AMD Athlon II x4 2.6Ghz; 8Gb ram; Nvidia Geforce GTX 750 Ti
(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
ABTOMAT (02.01.2012), ffinder (17.09.2011), L-ee-X (12.03.2012), LLI.T.A.L.K.E.R. (17.09.2011), Nex (18.09.2011)
Старый 17.09.2011, 08:21   #9
radiobutton
Бывалый
 
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений
(для 546 пользователей)
Ответ: Вы не поверите, но LUA Wrapper для Blitz3D

Function Lua_UserFunction() 
 	L = Lua_GetCurrentState() 

 	FuncName$ = Lua_ToString( L, 1 ) 

 	Select FuncName$ 
 	Case "Print" 
 		Print Lua_ToString( L, 2 ) 
 	End Select 
 End Function
Непойму чем это отличается от того, что если бы ты сам разложил строчку "print "Hello World"" на составляющие. ?
(Offline)
 
Ответить с цитированием
Старый 17.09.2011, 08:39   #10
Randomize
Терабайт исходников
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: Планета Земля
Сообщений: 4,031
Написано 2,247 полезных сообщений
(для 6,305 пользователей)
Ответ: Вы не поверите, но LUA Wrapper для Blitz3D

Сообщение от radiobutton Посмотреть сообщение
Function Lua_UserFunction() 
 	L = Lua_GetCurrentState() 

 	FuncName$ = Lua_ToString( L, 1 ) 

 	Select FuncName$ 
 	Case "Print" 
 		Print Lua_ToString( L, 2 ) 
 	End Select 
 End Function
Непойму чем это отличается от того, что если бы ты сам разложил строчку "print "Hello World"" на составляющие. ?
Ннна линейкой по пальцам! Бегом читать про Lua.
Хотя ладно, давай я тебе разжую. Допустим у нас есть такой луа код:
x1 150
y2 
350
265
x1 
cos(a) * 33
x2 
sin(a) * 33
CallFunction
"Print""Position: "+x1+","+x2 
Парсерка твоя не отвалится?
Понял к чему я веду? Дак вот Lua - это скриптовый язык со всем вытекающим. На нём можно писать в прямом смысле слова.
__________________
Retry, Abort, Ignore? █
Пека: AMD Athlon II x4 2.6Ghz; 8Gb ram; Nvidia Geforce GTX 750 Ti
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
ABTOMAT (02.01.2012), radiobutton (17.09.2011)
Старый 17.09.2011, 08:44   #11
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений
(для 1,460 пользователей)
Ответ: Вы не поверите, но LUA Wrapper для Blitz3D

Сообщение от Diablo1909 Посмотреть сообщение
Blitz3D переводит исходный текст в машинный код... но извините меня, это каждый нормальный скрипт-движок умеет.
Blitz3D - это скриптовичок. В ексе он не пакует свой транслятор и виртуальную машину, а отсюда вытекает невозможность компилить исходники на лету.
какую виртуальную машину, бро? они нужны для исполнения байт-кода, а в блице3д ты сам признаешь - код уже машинный.
короче, выдыхай.

Сообщение от Diablo1909 Посмотреть сообщение
Внутри яичка должен быть желток
внутри яичка, (мы рассматриваем яичко в норме, без патологий), должна быть строма и паренхима. если там желток, то это - птичье яйцо.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо ffinder за это полезное сообщение:
Crayzi (28.01.2015), impersonalis (17.09.2011)
Старый 17.09.2011, 08:46   #12
radiobutton
Бывалый
 
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений
(для 546 пользователей)
Ответ: Вы не поверите, но LUA Wrapper для Blitz3D

Сообщение от Randomize Посмотреть сообщение
Ннна линейкой по пальцам! Бегом читать про Lua.
Хотя ладно, давай я тебе разжую. Допустим у нас есть такой луа код:
x1 150
y2 
350
265
x1 
cos(a) * 33
x2 
sin(a) * 33
CallFunction
"Print""Position: "+x1+","+x2 
Парсерка твоя не отвалится?
Понял к чему я веду? Дак вот Lua - это скриптовый язык со всем вытекающим. На нём можно писать в прямом смысле слова.
а..
я просто попробовал
CallFunction( "a=175")
и в блице создал переменную a.
и она не изменилась. =)

Надеюсь этот скриптовый язык работает с такой же скоростью, как если бы писать команды на блице.
(Offline)
 
Ответить с цитированием
Старый 17.09.2011, 08:51   #13
Randomize
Терабайт исходников
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: Планета Земля
Сообщений: 4,031
Написано 2,247 полезных сообщений
(для 6,305 пользователей)
Ответ: Вы не поверите, но LUA Wrapper для Blitz3D

Ещё семпл:
Include "Lua_Include.bb"

Local L LuaL_NewState()
LuaL_OpenLibs(L)
Lua_InitInterface(L"CallFunction")

Local Status LuaL_LoadFile(L"Beispiel.lua")
If 
Status Then RuntimeError("Error while loading script!" Chr(10) + Lua_ToString(L1))

Status Lua_PCall(L000) ;WichtigScript vor den Funktionsaufrufen mindestens einmal ausfьhrendamit die Funktionsnamen registriert werden
If Status Then RuntimeError("Error while executing script!" Chr(10) + Lua_ToString(L1))


Lua_GetGlobal(L"TestFunktion1") ;Funktion auf den Stack bringen
Lua_PushNumber
(L42) ;Erstes  Argument auf den Stack
Lua_PushNumber
(L25) ;Zweites Argument auf den Stack

Lua_PCall
(L210) ;Die erste Funktion mit zwei Argumenten aufrufen und nur einen Rьckgabewert akzeptieren

Local ReturnValue 
Lua_ToNumber(L, -1) ;Rьckgabewert vom Stack holen

Print("TestFunktion1(42, 25): " ReturnValue)

Lua_Pop(L1) ;Rьckgabewert lцschen und Stack in den Originalzustand zurьckfьhren




Lua_GetGlobal
(L"TestFunktion2")
Lua_PCall(L0LUA_MULRET0) ;Zweite Funktion ohne Argumente aufrufen und beliebig viele Rьckgabewerte akzeptieren

;Rьckgabewerte sind in "direct order" auf dem Stackd.hletzter Rьckgabewert liegt zuoberst
Local ReturnValue3
# = Lua_ToNumber(L, -1)
Local ReturnValue2$ = Lua_ToString(L, -2)
Local ReturnValue1  Lua_ToNumber(L, -3)

Print(
"TestFunktion2(): " ReturnValue1 ", " ReturnValue2 ", " ReturnValue3)

Lua_Pop(L3) ;Rьckgabewerte lцschen und Stack in den Originalzustand zurьckfьhren

Lua_Close
(L)
WaitKey()
End

Function Lua_UserFunction()
End Function 
Beispiel.lua
function TestFunktion1(AB
   return 

end 

function TestFunktion2() 
   return 
1337"Hello World!"3.1415926 
end 
Сори за неметску жзяцлю. И почему они не пишут по английски...

И чего я так пыжусь по поводу этого луа? Он же мне нафиг не нужен. Откуда эта ответственность за эту тему...
__________________
Retry, Abort, Ignore? █
Пека: AMD Athlon II x4 2.6Ghz; 8Gb ram; Nvidia Geforce GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 17.09.2011, 10:45   #14
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 03.09.2005
Сообщений: 13,984
Написано 6,773 полезных сообщений
(для 20,859 пользователей)
Ответ: Вы не поверите, но LUA Wrapper для Blitz3D

Сообщение от Diablo1909 Посмотреть сообщение
Не совсем так...
Blitz3D переводит исходный текст в машинный код... но извините меня, это каждый нормальный скрипт-движок умеет.
Blitz3D - это скриптовичок. В ексе он не пакует свой транслятор и виртуальную машину, а отсюда вытекает невозможность компилить исходники на лету.

А что такого удивительного в том что ЛУА завраплен в Б3Д ??? Скачал исходники ЛУА написал ДЛЛ с интерфейсными функциями по стандарту C_call, обьявил эти функции в decls и вперед писать скрипты...

С таким же успехом можно саму ЛУА заврапить в ЛУУ.

ИМХО - абсолютно бесполезный враппер. Внутри яичка должен быть желток, а тут получается внутри яйца еще одно яйцо...
Попахивает полной мешаниной из терминов.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
Crayzi (28.01.2015), Randomize (17.09.2011), Reizel (18.09.2011)
Старый 18.09.2011, 21:17   #15
IgorOK
Мастер
 
Аватар для IgorOK
 
Регистрация: 26.10.2009
Сообщений: 1,153
Написано 579 полезных сообщений
(для 2,098 пользователей)
Ответ: Вы не поверите, но LUA Wrapper для Blitz3D

Это конечно круто, но поздновато. Я уж для себя свой скриптовик написал.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 13:40.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com