LogoSCP: Roleplay | Guide Serveur Personnalisé
  • English
  • Français
  • Español
  • Deutsch
  • Português
  • Italiano
  • Русский
  • Polski
  • 中文 (简体)
  • 日本語
  • 한국어
  • Türkçe
  • Nederlands
  • العربية
  • Tiếng Việt
  • ไทย
  • Bahasa Indonesia
  • Українська

Addons Serveur

Ce guide fournit un accès restreint aux protocoles de configuration des systèmes de serveur personnalisé SCP: Roleplay.


Environnement de Script

Les Addons tournent sur une version isolée de Lua 5. De nombreuses fonctions Roblox et Luau moderne ne sont pas disponibles.

Utilisez F3X pour obtenir des positions précises pour vos zones de déclenchement.


Référence API

Fonctions de carte
CommandeDescription
f(name : string / instance)Retourne la première Instance dans la carte correspondant au nom donné. Si une Instance est passée, elle sera attachée à la carte.
getTagged(tag)Retourne toutes les Instances avec le tag spécifié.
tween(instance : instance, tweenInfo : tweeninfo, propertyTable : table)Crée et joue une transition (tween).
raycast(origin : Vector3, direction : Vector3, params : RaycastParams)Effectue un raycast et retourne le résultat.
Fonctions Joueur
CommandeDescription
kill(name : string)Élimine le joueur spécifié.
damage(name : string, amount : number)Inflige un montant spécifique de dégâts à un utilisateur.
heal(name : string)Restaure les points de vie maximum de l'utilisateur.
getPlayers()Retourne la liste des noms des joueurs.
getPlayerHealth(name : string)Retourne la santé actuelle (-1 si non spawn).
setPlayerHealth(name : string, amount : number)Définit la santé du joueur.
getPlayerMaxHealth(name : string)Retourne la santé max du joueur.
setPlayerMaxHealth(name : string, amount : number)Définit la santé max du joueur.
getPlayerScore(name : string)Retourne le score du joueur.
setPlayerScore(name : string, score : number (default: 0))Définit le score du joueur.
getPlayerPosition(name : string)Retourne la position (Vector3/CFrame).
setPlayerPosition(name : string, position : Vector3)Définit la position du joueur.
getPlayerKeycard(name : string)Retourne le niveau de carte (ex: 'L4').
getTools(name : string)Retourne les outils dans l'inventaire.
giveTool(name : string, tool : string)Donne un outil au joueur (supporte les Instances).
removeTool(name : string, tool : string)Retire un outil spécifique de l'inventaire d'un utilisateur.
getUserId(name : string)Retourne l'ID utilisateur du joueur.
ownsGamepass(name : string, id : number)Vérifie si le joueur possède un gamepass.
ownsAsset(name : string, id : number)Vérifie si un utilisateur possède un asset spécifique.
playEmote(target : string / Instance, id : number, loop : bool (default: false))Joue une emote. Retourne fonctions stop/vitesse.
hasTool(name : string, tool : string)Vérifie si le joueur possède un outil.
getPlayerCurrentTool(name : string)Retourne le nom de l'outil tenu.
getPlayerIsInGroup(name : string, id : number)Vérifie si le joueur est dans un groupe.
getPlayerRankInGroup(name : string, id : number)Retourne le rang (0-255).
getPlayerRoleInGroup(name : string, id : number)Retourne le nom du rôle.
gunMagSize(name : string)Retourne la taille du chargeur.
gunAddBullets(player : string, gun : string, amount : number)Ajoute des munitions à une arme.
gunAmmo(player : string, gun : string, mag : bool (default: false))Retourne les munitions totales ou du chargeur.
isGun(name : string)Vérifie si c'est une arme, retourne le type.
Fonctions d'équipe
CommandeDescription
getTeams()Retourne toutes les équipes {nom, couleur}.
getTeamMembers(team : string / BrickColor)Retourne les membres d'une équipe.
getTeam(name : string)Retourne le nom d'équipe et la couleur du joueur.
setTeam(name : string, team : string / BrickColor)Définit l'équipe du joueur.
Fonctions d'affichage et d'interface
CommandeDescription
announce(message : string, blue : bool (default: false))Affiche un message à tous ou à un joueur.
title(message : string, color : color3 (default: color3.new(1, 1, 1)), gradientColor : color3 (default: nil))Affiche un titre à tous ou à un joueur.
subtitle(message : string, color : color3 (default: color3.new(1, 1, 1)), gradientColor : color3 (default: nil))Affiche un sous-titre à tous ou à un joueur.
sideinfo(message : string, color : color3 (default: color3.new(1, 1, 1)), gradientColor : color3 (default: nil))Affiche info latérale à tous ou à un joueur.
subsideinfo(message : string, color : color3 (default: color3.new(1, 1, 1)), gradientColor : color3 (default: nil))Affiche sous-info latérale à tous ou à un joueur.
rigSay(name : string, message : string)Affiche une bulle de chat pour les rigs.
Fonctions du monde
CommandeDescription
playSound(sound : sound, player : string, attach : bool (default: false))Joue un son (global ou attaché).
resetLights()Réinitialise les lumières de la carte.
colorLights(r, g, b : number)Colore les lumières via RGB.
disableLights(amount : number)Désactive les lumières successivement.
blackoutLights(enabled : bool, emergencyPower : bool)Définit l'état de blackout (option secours).
getClockTime()Retourne l'heure mondiale.
setClockTime(time : number, updateAtmosphere : bool (default: true))Modifie l'heure mondiale.
setSignText(name : string, text : string)Modifie le texte du premier TextLabel trouvé.
tweenGetValue(alpha : number, easingStyle : Enum.EasingStyle, easingDirection : Enum.EasingDirection)Calcule l'alpha pour l'interpolation.
tweenSmoothDamp(current : any, target : any, velocity : any, smoothTime : number, maxSpeed : number, dt : number)Simule un ressort amorti.
Fonctions Serveur et Utilitaires
CommandeDescription
getHost()Retourne l'ID de l'hôte du serveur.
runCommand(cmd : string)Exécute une commande serveur.
http(url : string, method : string (default: "get"), headers : table (default: nil), body : string (default: nil), compress : enum.httpcompression (default: enum.httpcompression.none))Effectue une requête HTTP.
jsonEncode(content : table)Encode une table en chaîne JSON.
jsonDecode(json : string)Décode une chaîne JSON en table.

Événements

Les modules complémentaires du serveur vous permettent d'écouter des événements spécifiques se produisant sur le serveur.

Pour simplifier, utilisez la fonction spéciale event() :

event("joined", function(data)local When = data.Whenlocal Value = data.Value-- Value contains the player's nameend)
Événements Disponibles
Nom de l'ÉvénementType de Données / Description
joinedstring (player : string) - Se déclenche quand un joueur rejoint.
leftstring (player : string) - Se déclenche quand un joueur quitte.
chattedtable (player : string, message : string) - Se déclenche lors d'um message chat.
spawnedstring (player : string) - Se déclenche au spawn d'um joueur.
interactiontable (player : string, name : string) - Se déclenche lors d'une interaction personnalisée.
lightswitchtable (player : string, room : string, state : bool) - Se déclenche via un interrupteur.
deathstring (player : string) - Se déclenche à la mort d'un joueur.
killtable (killer : string, victim : string) - Se déclenche quand un joueur en tue un autre.

Exemples de Code

Exemple : Pièce mortelle

Récupère 'Part' et élimine tout joueur qui la touche.

f("Part").Touched:Connect(function(Player)if Player thenkill(Player)endend)
Exemple : Jouer un son lors d'une interaction

Joue un son globalement lors d'une interaction.

event("interaction", function(Data)local Player = Data.Value[1]local Interaction = Data.Value[2]if Interaction == "SoundPart" thenlocal Sound = Instance.new("Sound") Sound.SoundId = "rbxassetid://157636218"playSound(Sound)endend)
Exemple d'outil personnalisé

Crée un outil simple et le donne au premier joueur.

local function GiveTool(Player)local Tool = Instance.new("Tool") Tool.CanBeDropped = falseTool.Name = "Custom Tool"local Part = Instance.new("Part") Part.Name = "Handle"Part.Anchored = truePart.CanCollide = falsePart.CFrame = CFrame.new(999, 9999, 999) f(Tool) Part.Parent = Tool giveTool(Player, Tool)endGiveTool(getPlayers()[1])