ゲームモードを実行すると、このエラーが発生します。
[エラー] gamemodes
/rp/gamemode/ cl_init.lua :910: フィールド 'Config' (nil 値) のインデックス作成を試み
ます 1.不明 - gamemodes/rp/gamemode/ cl_init.lua :910
config
などのインデックスを持つテーブルであり、テーブル全体がsh_config.luaファイルのGM.Configconfig["Run Speed"]
とグローバルに等しく設定されています。config が値として登録されないのはなぜですか? 構成ファイルを cl_init ファイルに含める必要がありますか? もしそうなら、どのように?include() を使用していますか?
function GM:Think()
if ( self.Config["Local Voice"] ) then **--Referred line(910)**
for k, v in pairs( player.GetAll() ) do
if ( hook.Call("PlayerCanVoice",GAMEMODE, v) ) then
if ( v:IsMuted() ) then v:SetMuted(); end
else
if ( !v:IsMuted() ) then v:SetMuted(); end
end
end
end
-- Call the base class function.
return self.BaseClass:Think();
end
編集 -- sh_config.lua の構成テーブル。
local config = {};
-- Command
config["Command Prefix"] = "/"; -- The prefix that is used for chat commands.
config["Maximum Notes"] = 2; -- Maximum notes per player
config["Advert Cost"] = 60; -- The money that it costs to advertise.
config["Advert Timeout"] = 150 -- How many seconds between adverts
config["OOC Timeout"] = 60 -- How many seconds between OOC messages
config["Item Timer"] = 7 -- How many seconds between item uses
config["Item Timer (S)"] = 20 -- How many seconds between specific item uses
config["Note Fade Speed"] = 12 -- How many minutes before nots disappear
-- Voice
config["Local Voice"] = true; -- Players can only hear a player's voice if they are near them. This is the index being called which is creating an error.
config["Talk Radius"] = 256; -- The radius of each player that
--other players have to be in to hear them talk (units).
-- Player Stuff
config["Walk Speed"] = 150; -- The speed that players walk at.
config["Run Speed"] = 275; -- The speed that players run at.
GM.Config = config;
私は includecs("sh_config.lua");
sh_init.luaにあります。include("sh_config.lua")
そしてAddCSLuaFile("sh_config.lua")
init.luaで。そしてinclude("sh_config.lua");
cl_init.luaにあります。
ただし、この愚かなエラーはまだ発生しています。ファイルをインクルードすることと Addcs することの違いを誰かが説明できますか? sh_config の変数を他のファイルでグローバルにするにはどうすればよいですか? または、言い換えると、目的のファイル (cl_init) を sh_config.lua のコードを読み取って、クライアント側の init でコードを使用できるようにするにはどうすればよいですか?