Lua Guide - SnowShardEngine
Guide d’Utilisation de Lua - SnowShardEngine
Section titled “Guide d’Utilisation de Lua - SnowShardEngine”Vue d’ensemble
Section titled “Vue d’ensemble”Le Lua est applicable à 3 niveaux sur SnowShardEngine :
- LuaBlocks : Un script Lua qui peut être exécuté dans un block.
- LuaItems : Un script Lua qui peut être exécuté dans un item.
- LuaNPCs : Un script Lua qui peut être exécuté dans un NPC.
Classes globales
Section titled “Classes globales”SnowShardBlock
Section titled “SnowShardBlock”La classe SnowShardBlock est accessible dans les scripts Lua. Elle permet d’interagir avec les blocks du jeu.
SnowShardBlock.getMatrix(): Récupère la matrice du block. (16 / 4x4)SnowShardBlock.getWorldPos(): float, float, float : Récupère la position du block dans le monde.
SnowShardBlock.getRotationY(): float, float, float : Récupère la rotation du block.SnowShardBlock.setRotationY(rot): string : Récupère la rotation du block en string.SnowShardBlock.getCUID(): string : Récupère le CUID du block.SnowShardBlock.getBlockType(): string : Récupère le type de block.
AlertLevel
Section titled “AlertLevel”La classe AlertLevel ce sont des strings constants qui représentent les différents niveaux d’alerte dans le jeu.
NONE: Aucun niveau d’alerte.LOW: Niveau d’alerte bas.MEDIUM: Niveau d’alerte moyen.HIGH: Niveau d’alerte élevé.CRITICAL: Niveau d’alerte critique.
La classe World est accessible dans les scripts Lua. Elle permet d’interagir avec le monde du jeu.
world.getBlockFromCUID(cuid): Block: Récupère depuis le CUID le block correspondant.world.setTesla(boolean): Définit si le monde est en mode Tesla ou non.world.setLockdown(boolean): Définit si le monde est en mode Lockdown ou non.world.setBlackout(boolean): Définit si le monde est en mode Blackout ou non.world.setAlert(AlertLevel): Définit le niveau d’alerte du monde.world.setFireAlarm(boolean): Définit si le monde est en mode FireAlarm ou non.world.setSnowStormStart(long): Définit le début de la tempête de neige.world.isTesla(): Retourne si le monde est en mode Tesla.world.isLockdown(): Retourne si le monde est en mode Lockdown.world.isBlackout(): Retourne si le monde est en mode Blackout.world.isFireAlarm(): Retourne si le monde est en mode FireAlarm.world.getAlert(): Retourne le niveau d’alerte du monde.world.getSnowStormStart(): Retourne le début de la tempête de neige.
Variables globales
Section titled “Variables globales”Les variables globales sont récupérables grâce au prefix snowshard.
snowshard.world: Représente le monde.
LuaBlocks
Section titled “LuaBlocks”Dans les LuaBlocks, le script enregistré propose ces méthodes :
init(event)event.block: Représente le block dans lequel le script est exécuté.
tick(event)event.block: Représente le block dans lequel le script est exécuté.
onInteract(event)event.block: Représente le block dans lequel le script est exécuté.event.player: Représente le joueur qui a interagi avec le block.event.action: Représente l’action effectuée par le joueur (clic gauche, clic droit, etc.).
Si motivé, tu peux me faire une implémentation pour avoir des box d’interaction sur les blocks et après moi dans le script, je peux faire un
event.box[]pour récupérer les box d’interaction du block.
LuaItems
Section titled “LuaItems”Dans les LuaItems, le script enregistré propose ces méthodes :
init(event)event.item: Représente l’item dans lequel le script est exécuté.
tick(event)event.item: Représente l’item dans lequel le script est exécuté.
onInteract(event)event.item: Représente l’item dans lequel le script est exécuté.event.player: Représente le joueur qui a interagi avec l’item.event.action: Représente l’action effectuée par le joueur (clic gauche, clic droit, etc.).
LuaNPCs
Section titled “LuaNPCs”Dans les LuaNPCs, le script enregistré propose ces méthodes :
init(event)event.npc: Représente le NPC dans lequel le script est exécuté.
tick(event)event.npc: Représente le NPC dans lequel le script est exécuté.
onInteract(event)event.npc: Représente le NPC dans lequel le script est exécuté.event.player: Représente le joueur qui a interagi avec le NPC.event.action: Représente l’action effectuée par le joueur (clic gauche, clic droit, etc.).