Modulares Skript

ModuleScript

Ein ModuleScript ist ein wiederverwendbares Codefragment, das sowohl von Serverskripten als auch von Clientskripten verwendet werden kann.

Es hilft, Code zu organisieren, der an mehreren Stellen verwendet wird, wodurch es einfach wird, Funktionen und Daten zwischen verschiedenen Skripten in Ihrem Spiel zu teilen.

HilfsbibliothekenGemeinsame Aufgaben wie mathematische Operationen oder Datenkonvertierung
SpielzustandsverwaltungVerwalten Sie den Gesamtzustand Ihres Spiels, wie das Verfolgen von Spielerpunkten, Levels oder Spielphasen.
DatenverwaltungSpeichern und verwalten Sie Spieldaten, auf die von mehreren Skripten zugegriffen und geändert werden muss.
Gemeinsame KonfigurationenSpeichern Sie Konfigurationseinstellungen oder Konstanten, die über verschiedene Skripte hinweg gemeinsam genutzt werden müssen.
local UtilityModule = {} 

function UtilityModule.reverseString(str) 
   return str:reverse() 
end 

function UtilityModule.roundNumber(num) 
   return math.floor(num + 0.5) 
end 

return UtilityModule
local GameStateModule = {}
GameStateModule.scores = {}

function GameStateModule.addScore(player, score)
    if not GameStateModule.scores[player] then
        GameStateModule.scores[player] = 0
    end
    GameStateModule.scores[player] = GameStateModule.scores[player] + score
end

function GameStateModule.getScore(player)
    return GameStateModule.scores[player] or 0
end

return GameStateModule
local PlayerDataModule = {}
PlayerDataModule.data = {}

function PlayerDataModule.setData(player, key, value)
    if not PlayerDataModule.data[player.UserId] then
        PlayerDataModule.data[player.UserId] = {}
    end
    PlayerDataModule.data[player.UserId][key] = value
end

function PlayerDataModule.getData(player, key)
    return PlayerDataModule.data[player.UserId] and PlayerDataModule.data[player.UserId][key]
End

return PlayerDataModule
local ConfigModule = {}

ConfigModule.GRAVITY = 196.2
ConfigModule.MAX_PLAYERS = 10

return ConfigModule
local Utilities = require(game.ReplicatedStorage.UtilityModule)
print(Utilities.reverseString("Roblox"))
print(Utilities.roundNumber(3.6))

local GameState = require(game.ServerScriptService.GameStateModule)
game.Players.PlayerAdded:Connect(function(player)
    GameState.addScore(player, 10)
    print("Score for player " .. player.Name .. ": " .. GameState.getScore(player))
end)

Wenn Sie dieses Tutorial hilfreich fanden und meine Arbeit unterstützen möchten, können Sie mir gerne einen Kaffee spendieren.

Vielen Dank für Ihre Unterstützung!

Kaufen Sie mir einen Kaffee