ModuleScript
Empty
Empty
Empty
Un ModuleScript è un pezzo di codice riutilizzabile che può essere utilizzato sia dagli script del server che da quelli del client.
Empty
Empty
Empty
Aiuta a organizzare il codice utilizzato in più luoghi, rendendo facile condividere funzioni e dati tra diversi script nel tuo gioco.
Empty
Empty
Empty
Librerie di Utilità | Compiti comuni come operazioni matematiche o conversione di dati |
Gestione dello Stato del Gioco | Gestire lo stato generale del gioco, come il punteggio dei giocatori, i livelli o le fasi del gioco. |
Gestione dei Dati | Memorizzare e gestire i dati dei giocatori che devono essere accessibili e modificabili da più script. |
Configurazioni Condivise | Memorizzare impostazioni di configurazione o costanti che devono essere condivise tra diversi script |
Empty
Empty
Empty
local UtilityModule = {}
function UtilityModule.reverseString(str)
return str:reverse()
end
function UtilityModule.roundNumber(num)
return math.floor(num + 0.5)
end
return UtilityModule
Empty
Empty
Empty
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
Empty
Empty
Empty
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
Empty
Empty
Empty
local ConfigModule = {}
ConfigModule.GRAVITY = 196.2
ConfigModule.MAX_PLAYERS = 10
return ConfigModule
Empty
Empty
Empty
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)
Se hai trovato utile questo tutorial e desideri supportare il mio lavoro, considera di offrirmi un caffè.
Grazie mille per il tuo supporto!
Offrimi un caffè