を誤る実行 - これはROBLOX自身によって作られたコードの一部です:、私は、これら2つのスクリプトを実行すると、それは完璧に実行製作中ROBLOXモジュールは
-- Setup table that we will return to scripts that require the ModuleScript.
local PlayerStatManager = {}
-- Table to hold all of the player information for the current session.
local sessionData = {}
-- Function the other scripts in our game can call to change a player's stats. This
-- function is stored in the returned table so external scripts can use it.
function PlayerStatManager:ChangeStat(player, statName, changeValue)
sessionData[player][statName] = sessionData[player][statName] + changeValue
end
-- Function to add player to the sessionData table.
local function setupPlayerData(player)
sessionData[player] = {Money = 0, Experience = 0}
end
-- Bind setupPlayerData to PlayerAdded to call it when player joins.
game.Players.PlayerAdded:connect(setupPlayerData)
-- Return the PlayerStatManager table to external scripts can access it.
return PlayerStatManager
--------------------------------------------------------------------------------
-- Require ModuleScript so we can change player stats
local PlayerStatManager = require(game.ServerStorage.PlayerStatManager)
-- After player joins we'll periodically give the player money and experience
game.Players.PlayerAdded:connect(function(player)
while wait(2) do
PlayerStatManager:ChangeStat(player, 'Money', 5)
PlayerStatManager:ChangeStat(player, 'Experience', 1)
end
end)
ChangeStat
関数内print(sessionData[player][statName])
を追加するが、ときに私モジュールスクリプトのgame.Players.PlayerAdded:connect(setupPlayerData)
部分を削除しましたが、動作を停止しました。モジュールスクリプトは呼び出されずにコードを実行しませんが、その場合、プレーヤーが既に追加されているので、game.Players.PlayerAdded:connect(setupPlayerData)
部分が遅れて機能しないようにしてください。
':connect(setupPlayerData)'行を削除しました。何が起こったのですか?何が正確に機能しなくなったのですか何かエラーがありましたか?これがなければ、変更しようとするテーブルが正しく作成されていないため、 'ChangeStat'の呼び出しでエラーが発生することが予想されます。 –
新しいプレイヤーがセットアップ機能を呼び出すことなく入力したときにモジュールが実行されますか? –
モジュールがロードされると、モジュールコード(関数などの外)が実行されます。他のイベントが発生したときに呼び出されるコールバック関数を設定する方法です。 'PlayerAdded'イベントに追加された*他の*コールバックが正しく動作する必要がある内部データ構造体を設定する' PlayerAdded'イベント用に設定されたコールバックを削除しました。基本的には、ステップ1を3ステッププロセスから削除したので、ステップ2と3を壊しました。 –