私は関数os.clock()とos.time()を使ってゲームにLuaスクリプトをプログラミングしました。正常に動作しましたが、このゲームをアップグレードした後、失敗メッセージが表示されました:attempt to call global 'os' (a nil value)... ?
os.clock()とos.time()はLuaのネイティブ関数だと思いました。 LuaのリファレンスマニュアルからLua os.timeは動作しません
0
A
答えて
1
:基本パッケージのライブラリを除き
、各ライブラリは、グローバルテーブルのフィールドとしてまたはその オブジェクトのメソッドとして そのすべての機能を提供します。
これらのライブラリにアクセスするには、Cホストプログラムが luaL_openlibs関数を呼び出す必要があります。これにより、すべての標準ライブラリが開きます。あなたはホストプログラムで標準ライブラリの追加を参照してくださいあるいは、ホストプログラムが...(オペレーティングシステムライブラリ用)... luaopen_osを使用して個別に
を開くことができ はオプションです。多くのアプリケーションが標準ライブラリへのアクセスを制限しています。特にosとio。
os librarieがゲームのスクリプト環境に追加されていないため、グローバル表os
はnil
です。
明らかに、あなたのゲームの開発者は、ユーザーがOSの機能なしで生き残るべきだと決めました。ときどき彼らはあなたに物事をしたくない場合があります。時にはそれはちょうど意味がありません。これは、ゲーム内から操作システムとやりとりすることを防ぐ最も簡単な方法です。 通常、必要な機能を削除して外部コードを読み込むこともできません。
関連する問題
- 1. Openresty Luaスクリプトは一度しか動作しません
- 2. NodeMCU Lua Websocketsは2.0ベースラインでは動作しません。
- 3. Luaモジュール(...、package.seeall)はLua5.2で動作しません
- 4. は動作しません
- 5. math.randomseed(os.time())の構文エラー
- 6. コピースクリプトはローカルサーバでは動作しません。リモートサーバでは動作しません。
- 7. php mail()は動作しませんが、sendmailは動作しません。
- 8. スタックオーバーフローときmath.randomseedを呼び出す(os.time())
- 9. Regexはどこでも動作しますが、Luaで動作します
- 10. Lua MQTT publishはスクリプトからは機能しませんが、ESP8266の端末から動作します
- 11. 右浮動は動作しません
- 12. ON_CALLは動作しませんが、EXPECT_CALLは動作します
- 13. wp_verify_nonceは動作しませんが、wp_create_nonceは動作します
- 14. 単純なLZW圧縮は動作しません
- 15. WWWは動作しません.WWは機能しません。
- 16. @Autowiredは動作しませんが、getBeanが動作します
- 17. jquery:mouseoverは動作しますが、動作しません。
- 18. JQueryは動作しませんが、JSFiddleで動作します
- 19. ローカルluarocksパッケージのインストール(luarepl)が動作しません
- 20. symfony:setHttpHeader()は動作しませんheader()は
- 21. 氷はdatapaginatorは動作しません。
- 22. ForループはLua 5.1では正常に動作しますが、Luaではクラッシュします。5.3.1
- 23. \ nは動作しません。改行しません。
- 24. PropertyInfo.SetValue()は動作しませんがエラーはありません
- 25. エラーはありませんが、Jsは動作しません。
- 26. collectionView:reloadDataは動作しません、reloadItemsAtIndexPathsはありません
- 27. fastcgiは動作しません - ラッパーはダウロードされません
- 28. move_uploaded_fileは動作しませんがエラーはありません
- 29. exit()動作しません。
- 30. jScrollPane - 動作しません