Les bases du Teascript
Introduction :Bonjours à tous !
Donc pour ceux qui ne sont toujours pas au courant, (
) un système de script à été implémenté à partir de la
version 1.4 de SMBX.Le langage utilisé est le Teascript, créé par l'auteur du logiciel, 5438A38A, il est très similaire au Visual Basic.
L'intérêt est de pousser les limites à la personnification des niveaux, par exemple on peut :
- Créer un HUD.
- Faire plus de personnification d'un NPC. (Projectile, vitesse)
- Faire des mini jeux. (Comme Tetris)
Le fonctionnement :Pour vous rendre dans l'éditeur de script, il faut aller dans l'onglet View en haut, vous allez apercevoir ça :
"Add" pour ajouter.
"Delete" pour supprimer.
"Script List" pour changer le nom de votre script.
Appuyez sur Add et vous aurez ce genre de commentaire qui apparaitra :
- Code:
-
'Script No.1 Name:New Script
Oui, je dis
commentaire car toutes les lignes commençant par ' sont des commentaires, c'est à dire des textes qui ont aucun effet dans le script.
L'activation du script :Pour activer un script, il faut obligatoirement passer par un événement, car lui seul pourrais lancer le script en question, si vous êtes perdu dans la nouvelle interface des événements, voici le chemin :
(Pour ceux qui savent pas utiliser un événement,
vous pouvez voir ce tutoriel.)
Deux type de valeur :Si vous avez fait un tour dans le fichier aide, vous avez aperçus une fois le "double" ou le "string".
La valeur double est une valeur en chiffre. (4,550,42,96,...)
La valeur string est une valeur en texte. ("a","hey","ok",...) Il est toujours écrit en citation.
Un petit exemple ?Montrer vaux mieux qu'expliquer, donc, pour cette fois on va créer un bloc aide de SMW qui nous dira combien on a de pièce, et il fera un petit commentaire à la suite.
On va créer un script, peut importe le nom, moi je le nomme, "Mon script".
Le bloc va d’abord nous dire combien on a de pièce.
La commande pour afficher un message est :
- Code:
-
Call ShowMsg(String)
Remplacez String par le message entre ".
On va dans un premier temps placer un premier string dans ShowMsg.
- Code:
-
Call ShowMsg("Comme piece, tu en as ")
On place cette parti de message car après on va entrer une variable double, mais comme ShowMsg ne fonctionne qu'avec les valeurs string, alors on va utiliser le CStr, qui converti les valeurs doubles en strings.
- Code:
-
Call ShowMsg("Comme piece, tu en as " & CStr(sysval(CoinCount)))
Bien sur, on oublie par le & pour lier.Et après on rajoute un autre string qui sera juste le point.
- Code:
-
Call ShowMsg("Comme piece, tu en as " & CStr(sysval(CoinCount)) & ".")
Ensuite on va faire en sorte que le bloc aide nous lâche un avis sur l'argent qu'on a, et pour cela on va utiliser les
conditions !Normalement, si vous avez codés en Visual Basic, et ben le Teascript fonctionne similairement.
Il faut tout d’abord dire
quel est la condition, ici, on va dire si le joueur à plus de 50 pièces.
- Code:
-
If sysval(CoinCount) > 50 then
'sysval(CoinCount) est une variable sur les pièces.
'Il ne faut JAMAIS oublier le "then" qui veut dire "alors", sans quoi il y aura une erreur.
else
'Sinon
end if
'Fin de condition.
Ensuite, utilisez la commande ShowMsg, avec qu'un string.
- Code:
-
If sysval(CoinCount) > 50 then
'sysval(CoinCount) est une variable sur les pièces.
'Il ne faut JAMAIS oublier le "then" qui veut dire "alors", sans quoi il y aura une erreur.
Call ShowMsg("Et ben tu es riche !")
else
'Sinon
Call ShowMsg("OUAHAHAH LE PROLO !")
end if
'Fin de condition.
Normalement vous devez avoir CE script :
Voilà, maintenant, on va créer un event qui lancera ce script.
Créez un événement, si c'est juste pour lancer un script, vous pouvez mettre la balise [SCRIPT] pour vous repérer.
Sélectionnez votre script.
Faites attentions, il se peut que SMBX désélectionne le script si vous apporter une modification à la section Others.Ensuite il ne reste plus qu'à mettre le bloc qui activera l'événement et le tour est joué !
Que se passe-t-il s'il y a une erreur ?Et bien SMBX indiquera quel script et quelle ligne l'erreur s'est produit, le niveau se lancera normalement mais le script contenant l'erreur ne sera pas exécuté.
Il est vrai que il y a des trucs que j'ai pas dis ou bien le fait que l'exemple soit simple, mais sachez que ce ne sont que des bases pour comprendre le Teascript, ça facilite l'apprentissage et la programmation.
Il y aura d'autres tutoriels plus spécialisés.