問題タブ [luainterface]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 使用する 。LuaInterface に登録されたメソッドで
LuaInterface を使用して LuaInterface を ac# プログラムに統合しています。プログラム内の C# メソッドにアクセスできるスクリプトを記述できるようになりたいです。
アクセスしているメソッドは別々の「サブシステム」にあり、Lua メソッドでサブシステムを定義し、次に . 区切りとして。例: SubsystemName.MethodName
しかし、メソッドを登録しようとすると、例外がスローされます。_ に変更しましたが、完全に機能します。とにかくそれを動作させる方法はありますか?プログラムには、HTTP 経由で JSON-RPC などのこれらのメソッドを呼び出すための他のインターフェイスがあり、これらは . 表記なので、一貫性を持たせたいと思います。
vb.net - VB.net で LuaInterface を使用する
作成中の VB.net ゲームに Lua を接続しようとしています。ここで、ここに示すように、各関数を単独で接続できることを十分に理解しました。
さて、Lua スクリプターがクラスをインスタンス化したり、それらのクラスのプロパティを変更したりできるようにするにはどうすればよいでしょうか。
RegisterFunction は、ずさんで十分ではないようです。
助けてくれてありがとう!
.net - 文字列を「LuaFunction」型に変換します
私が取り組んでいる大規模なプロジェクトでは、.net で LuaInterface を使用しています。文字列を直接 LuaFunction に変換することは可能ですか (LoadString() の仕組みと同様ですか?)。
c#-4.0 - C#4.0でLuaInterfaceを使用しているときにlua51.dllでFileNotFoundExceptionが発生しますが、それはすぐそこにあります
私は、スクリプトを必要とするいくつかのC#アプリケーションでLuaInterfaceとLua 5.1を使用してきました。特に、いくつかのゲーム、IRCボット、および最近作業を再開することを決定した完全なIRCクライアントです。
ある時点で、私は.Net 4.0に切り替え、LuaInterfaceとLua51を再コンパイルして、それらを再度実行する必要がありました。私の知る限り、すべてが良かった。
しかし、最近新しいラップトップを購入し、そこからボットを実行しようとしました。驚いたことに、Luaを初期化しようとしたときに、そこにあるlua51.dllのFileNotFoundExceptionを引用して壊れました。私は後でそれを肩をすくめて、Visual C#とC ++ 2010 Express、およびいくつかの更新を含むものを再インストールし続けました。翌朝、チャットボットをもう一度起動して、それを理解しようとしました。見よ、それは機能しました。奇妙な理由で。
今日の初めに、私の友人が、私が取り組んでいたIRCクライアントを終了するように私に言いました。これは、関数やその他のクールなものを追加するためにLuaをかなり広範囲に使用しています。私はその友人に最も重要な問題をチェックするためのコピーを渡しました...そして彼はまったく同じエラーを受け取りました。
さて、他の人はVisual Studioを持っていません、私は問題を再現できません、そして私が上にリストした他のもののユーザーがそれらを実行するためだけにそれをインストールすることを期待することはできません-平均的な比較的正気のユーザーはちょうど肩をすくめて、プログラムを取り除きます。
それで、どうしますか?
c# - オブジェクトをC#からLuaスクリプトに渡す
私はC#でLuaInterfaceを使用しており、すべてが正しく設定されています。
私ができるようにしたいのは、スクリプトがlua.DoFile()を使用して開始されたときに、スクリプトが送信できるPlayerオブジェクトにアクセスできることです...
現在のコード:
ただし、ご覧のとおり、スクリプトはPlayerオブジェクトにアクセスできません。
c# - LuaInterface - FileNotFoundException
.NET 4.0 アプリケーションで Lua システムを動作させようとしています。.NET 4.0 でコンパイルされた Lua のラッパーとして LuaInterface を使用しています。
VS2010 がインストールされている開発用コンピューターで Lua スクリプトを実行すると、アプリケーションは問題なく動作します。しかし、別のコンピューターで実行すると、FileNotFoundException が発生します。
System.IO.FileNotFoundException: Could not load file or assembly 'lua51.dll' or one of its dependencies. The specified module could not be found.
lua51.dll はアプリケーションと同じフォルダにあるので問題ありません。つまり、lua51.dll が依存するファイルが見つからないということです。そして、これが問題です。
これを正しく機能させるには、ユーザーにどのファイルをインストールしてもらう必要がありますか?
c# - LuaInterface イベント処理
LuaInterface を使用してイベントを処理する方法に関する優れたチュートリアルを探しましたが、実際に何を行う必要があるかを詳細に説明しているチュートリアルを見つけるのにまだ苦労しています。
誰かが簡単なチュートリアルを書いたり、その方向性を教えてくれませんか?
ありがとう
c# - How to pass a WinForm to Lua (LuaInterface)?
I want to pass a WinForm object to Lua, my code:
//Form1.cs
--plugin.lua
interop - LuaInterfaceマルチスレッドのクラッシュ
マルチスレッド環境でLuaInterfaceを機能させる方法はありますか?
LuaInterfaceを使用してネイティブアプリケーションからのデータを処理するマルチスレッドc#(.Net 4)アセンブリがあります。各スレッドには、Luaインタープリターの独自のインスタンスがあります。Lua.GetFunction()
スクリプトから関数を取得し、その関数を定期的に呼び出すために使用します。処理する関数に辞書を渡します。これは1つのスレッドで正常に機能します。しかし、2つのスレッドを使用すると、アプリ全体がクラッシュし、VisualStudioで次のようなエラーが表示されます。
スクリプトを変更して、渡した辞書を使用しない些細なことを実行すると、複数のスレッドでも正常に機能します。
これを機能させるには、各インタプリタに独自のプロセスまたはAppDomainを与える必要がありますか?
vb.net - VB.net の他のイベントとまったく同じイベントを 1 つ削除する
LuaInterface 経由で Lua を利用する VB.net でシステムを作成しています。
Lua のイベントを関数に関連付けるには、次のようにするだけです。
ご覧のとおり、現在lcc
、関数を「キャンセル」するために変数を使用しています。これは一種のハッキングであり、関数は引き続き呼び出され、不要なオーバーヘッドが発生します。これは、VB.net で「RegisterEvent」サブがどのように見えるかです。
Luaで次のようなことをしたいと思います:
問題は、RegisterEvent Function/Sub を変更する方法と、DisconnectEvent を作成する方法がわからないことです。
助けてくれてありがとう。私が言おうとしていることを理解しようとすると、これがちょっと面倒なことはわかっています。明確化を求めるコメントを自由に投稿してください。私は、私の能力の限りを尽くして、喜んでそれを説明しようとします。LuaInterface がこれを処理する何らかのネイティブな方法を持っている場合、私はそれも受け入れます :)
役立つものは何でも素晴らしいです!