Script Luau per giochi Roblox: sistemi di gioco, meccaniche e codice di utilità, scritti per essere letti e riutilizzati.
4.5 su 515 asset
Mega Dodgeball
6 assetScripting Lua avanzato: meccaniche della palla basate sulla fisica, sincronizzazione multigiocatore in tempo reale, sistemi di progressione e una gestione completa dello stato della partita.
Un'anteprima del menu delle impostazioni, con interruttori e cursori trascinabili per il volume e altro
VideoSistema di scelta della mappa
0:00 / 0:00
Un'anteprima del sistema di scelta della mappa, con l'elenco delle mappe e gli avatar dei giocatori che hanno votato ciascuna
VideoSistema di equipaggiamento e personalizzazione
0:00 / 0:00
Un video del sistema di equipaggiamento e personalizzazione, con l'elenco degli oggetti e la personalizzazione che si applica equipaggiandoli
VideoEliminazioni e round
0:00 / 0:00
Il sistema di eliminazioni e round: cosa succede quando un giocatore ne elimina un altro e come l'ultima eliminazione chiude il round
Ball Physics System
local ball = script.Parent -- Ball objectlocal runService = game:GetService("RunService")-- RunService for time trackinglocalfunctionplayBounceSound(ballVelocity)local speed = ballVelocity.magnitude -- Get the speed of the ball-- volume and playback rate based on speedlocal volume = math.clamp(speed /40,0,1)local playbackRate = math.clamp(speed /50,0.85,1.15)
ball.BallBounce:Play()
ball.BallBounce.Volume = volume
ball.BallBounce.PlaybackSpeed = playbackRate
local currentTime = runService.Stepped:Wait()-- Get the current time
lastSoundTime = currentTime -- Update the last sound timeend
5 assetHo sviluppato il sistema RNG con modificatori di fortuna esponenziali, i sistemi di inventario ed equipaggiamento, la gestione delle statistiche e la persistenza dei dati. È stato il mio primo grande progetto di scripting, in cui ho imparato Lua con tutorial e pratica.
return{
getRandomIndex =function(chances, luckModifier)print(luckModifier)local totalWeight =0local weightedItems ={}-- Calculate weights with an exponential impact of the luck modifierfor _, item inipairs(chances)do-- Instead of dividing directly, use an exponential adjustmentlocal adjustedChance = item.chance ^(1/ luckModifier)local weight =1/ adjustedChance -- Inverse of the adjusted chance
table.insert(weightedItems,{item = item, weight = weight})
totalWeight = totalWeight + weight
end-- Generate a random number within the total weightlocal randomWeight = math.random()* totalWeight
-- Select the item based on the random weightlocal cumulativeWeight =0for _, weightedItem inipairs(weightedItems)do
cumulativeWeight = cumulativeWeight + weightedItem.weight
if randomWeight <= cumulativeWeight thenlocal item = weightedItem.item
return{name = item.name, chance = item.chance, color = item.color, image = item.image, flavour = item.flavour}endendend}
Weapon Chances System
local Weapons = game.ReplicatedStorage:WaitForChild("Weapons")localfunctionisValidated(weapon)local requiredChildren ={
Chance ="IntValue",
Equipped ="BoolValue",
ImageID ="StringValue",
WeaponColor ="Color3Value",
WeaponDamage ="IntValue",
WeaponFlavourName ="StringValue"}for childName, childType inpairs(requiredChildren)dolocal child = weapon:FindFirstChild(childName)ifnot child ornot child:IsA(childType)then-- If the child is missing or not the correct type, return falsereturnfalseendendreturntrueendlocal weaponChances ={}for _, weapon inpairs(Weapons:GetChildren())doifisValidated(weapon)then
table.insert(weaponChances,{
name = weapon.Name,
chance = weapon.Chance.Value,
color = weapon.WeaponColor.Value,
image = weapon.ImageID.Value,
flavour = weapon.WeaponFlavourName.Value
})endend
table.sort(weaponChances,function(a, b)return a.chance < b.chance
end)return weaponChances
Un video del sistema di peso della fortuna: la statistica Fortuna del giocatore aumenta le probabilità di armi più rare, mantenendo l'equilibrio tra rarità basse e alte
VideoTutti i sistemi in azione
0:00 / 0:00
Un video con tutti i sistemi del gioco: RNG, inventario, equipaggiamento, statistiche ed estrazione
Altro
4 asset
Sistema di prompt UGC + dati
1 asset
Un sistema che fa guadagnare monete ai giocatori in modo passivo e permette di riscattare oggetti UGC quando ne hanno abbastanza
VideoPrompt UGC
0:00 / 0:00
Prompt UGC
Ruota del destino pesata
1 asset
Una ruota pesata ispirata a "Wheel of Fait"
VideoRuota del destino pesata
0:00 / 0:00
Le sezioni della ruota sono pesate e cambiano dimensione in base al peso, in modo dinamico. Non è un'immagine statica.
Sistema di dialogo semplice
2 asset
Un sistema di dialogo semplice per una commissione "Guide"
Vorrei usare Google Analytics per capire quali pagine vengono lette. Si carica solo se lo accetti, e puoi cambiare idea quando vuoi da Impostazioni cookie in fondo alla pagina. Informativa privacy