Passer au contenu principal
Version: bleeding-edge 🩸

Types de base

Types Lua​

info

nanos world utilise Lua 5.4. Pour plus d'informations et de tutoriels, consultez le manuel de référence officiel de Lua 5.4.

number​

Les nombres peuvent être des entiers (64 bits, comme 10 ou -3) ou des flottants (double précision, comme 3.14). Lua convertit automatiquement entre les deux si besoin : par ex. 10 / 2 donne le flottant 5.0, tandis que 10 // 2 (division entière) donne l'entier 5. Dans cette documentation, nous utilisons integer et float pour indiquer ce qu'une fonction attend ou renvoie.

string​

Une suite de caractères (octets), comme "hello" ou 'world'. Les chaînes peuvent contenir n'importe quelles données binaires et sont immuables : des fonctions comme string.upper renvoient une nouvelle chaîne au lieu de modifier l'originale. Utilisez .. pour concaténer des chaînes, par ex. "Hello " .. player:GetName().

function​

Les fonctions sont des valeurs comme les autres : on peut les stocker dans des variables et des tables, les passer en paramètres et les renvoyer depuis d'autres fonctions. C'est ainsi que fonctionnent les callbacks dans nanos world, par ex. Player.Subscribe("Spawn", function(player) ... end).

boolean​

Soit true, soit false. Dans les conditions, seuls false et nil sont considérés comme faux ; tout le reste (y compris 0 et la chaîne vide "") est considéré comme vrai.

nil​

Représente l'absence de valeur. Les variables jamais assignées valent nil, et beaucoup de fonctions renvoient nil quand elles ne trouvent pas ce que vous demandez (par ex. Prop.GetByIndex(9999)) : vérifiez-le toujours avant d'utiliser le résultat.

table​

La seule structure de données de Lua, qui sert à la fois de tableau ({ "a", "b", "c" }, indexé à partir de 1) et de dictionnaire ({ name = "John", age = 30 }). Les tables grandissent dynamiquement et peuvent contenir n'importe quelle valeur, sauf nil. Elles sont passées par référence : modifier une table dans une fonction modifie l'originale.

iterator​

L'itérateur permet de parcourir les éléments d'une table avec for k, v in ipairs().

any​

Nous utilisons l'expression "n'importe quel" dans les documentations pour indiquer que n'importe quel type peut être utilisé.

varargs​

Liste de valeurs à nombre variable d'arguments.

Types numériques​

Outre les Types Lua, certaines méthodes de l'API ont des types numériques spécifiques, qui sont converties et traitées différemment en interne.

integer​

Des nombres entiers sans chiffres après la virgule.

float​

Type à virgule flottante avec décimales.

Types spéciaux​

SpecialPath​

nanos world prend en charge un type de chemin spécial pour charger des textures (.jpg, .png), des sons (.ogg) ou référencer des fichiers depuis une WebUI. Il permet à n'importe quel Package ou WebUI d'accéder facilement aux fichiers d'autres Packages ou Packs d'Assets.

Un SpecialPath est une chaîne qui accepte les formats suivants pour accéder aux fichiers des Assets ou des Packages :

Référencer des fichiers d'Asset Packs​

assets://[ASSET_PACK_PATH]/[PATH/TO/FILE.jpg]

Référencer des fichiers Packages​

package://[PACKAGE_PATH]/[PATH/TO/FILE.jpg]

Exemple d'accès à des images de l'Asset Pack quaternius :​

assets://quaternius/Thumbnails/SK_Revolver_01.jpg

Exemple d'accès à un son .ogg du Package sandbox :​

package://sandbox/Client/my_awesome_audio.ogg

Exemple d'accès à des polices .ttf du Package my-fonts :​

package://my-fonts/Client/Roboto.ttf

tip

L'entrée SpecialPath prend également en charge les chemins relatifs et traditionnels !

Steam Avatar​

Steam Avatar est une URL spéciale qui peut charger des avatars Steam en tant qu'images sur les WebUIs et les Widgets.

steam-avatar://player_steam_id

Cette URL peut être automatiquement récupérée avec Player:GetAccountIconURL().