Показать сообщение отдельно
Старый 17.09.2011, 12:51   #13
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Ответ: Вы не поверите, но 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? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием