Super Mario Bros. X City

Bienvenue sur la communauté francophone de SMBX ! SMBX est un fangame regroupant les éléments de SMB, SMB2, SMB3, SMW, SM et LoZ permettant de créer ses propres jeux
 
AccueilAccueil  PortailPortail  PublicationsPublications  FAQFAQ  RechercherRechercher  GroupesGroupes  S'enregistrerS'enregistrer  ConnexionConnexion  
Visitez nos partenaires :
Si vous ne possédez pas SMBX ou que vous l'avez perdu, vous pouvez le télécharger ici. Wink
Lisez le panneau d'affichage pour être au courant des dernières infos !
Envie de participer à un jeu interactif avec les autres membres ? SMBX City's RPG : NFC Copyright Quest est fait pour vous !
La ChatBox ne sera plus accessible à partir du 18 juin 2017. Cliquez ici pour plus d'infos.

Partagez | 
 

 Les bases

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
catskart
Toad
Toad
avatar

Messages 612
Date d'inscription 10/10/2010

MessageSujet: Les bases   Dim 8 Mai - 18:38

Les bases du Teascript


Introduction :

Bonjours à tous !
Donc pour ceux qui ne sont toujours pas au courant, (PAF!) 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.
Revenir en haut Aller en bas
bekia keen26
Administrateur
Administrateur
avatar

Messages 739
Date d'inscription 30/08/2012
Localisation Dans mon corp...

Fiche personnage RPG
Nom: Bekia Keen
Points Coeur (PC) Points Coeur (PC):
25/25  (25/25)
Points Fleur (PF) Points Fleur (PF):
25/25  (25/25)

MessageSujet: Re: Les bases   Lun 9 Mai - 14:12

Ah sympa ça! Mais peut on prendre en compte un nombre de NPC sur un layer pour savoir par exemple combien il ne reste par exemple?

Sinon merci pour ce tuto, ça va vraiment nous aider ^^

_________________
(>ww<) Qulllllllbutokeeeeeeeeee!!!

Projet SMBX:
 




Revenir en haut Aller en bas
http://teamreloadqg.forumactif.org/ (pas d'activité pour le mome
catskart
Toad
Toad
avatar

Messages 612
Date d'inscription 10/10/2010

MessageSujet: Re: Les bases   Lun 9 Mai - 18:18

Merci.
Non ce n'est pas possible, mais il y a un sysval en rapport avec le nombre d'npc total du niveau.
Sysval(Ncount)

_________________

by zero wing
Revenir en haut Aller en bas
Dark-Francis
Peach
Peach
avatar

Messages 764
Date d'inscription 17/08/2010
Localisation Reliqua

Fiche personnage RPG
Nom: Darky
Points Coeur (PC) Points Coeur (PC):
20/20  (20/20)
Points Fleur (PF) Points Fleur (PF):
35/35  (35/35)

MessageSujet: Re: Les bases   Mar 10 Mai - 11:05

Oh, moi qui avais la flemme de m'interresser à ces scripts chelous (surtout quand j'ai vu le mot "Visual Basic", grrr) en fait ça m'a l'air plutôt simple x). Il faudrait voir pour référencer toutes les fonctions principales et leurs paramètres, ça serait sympa d'avoir ça sous la main :3

Sinon c'est plutôt bien expliqué comme tuto, à part peut-être le Sysval qui pourrait être un peu plus approfondi. Dans ton exemple tu récupères le compteur de pièces, mais j'imagine qu'on peut récupérer n'importe quelle variable d'environnement avec :3
D'ailleurs... je me demande s'il y a des moyens de filtrer les power-ups ou remettre le compteur de pièces à zero, ce genre de choses ? Quand tu dis qu'on peut faire des mini-jeux et tout ça, tu piques ma curiosité ~ Enfin ça, c'est une autre histoire.

_________________
It's about our dreams we can't give it up ○
○ There's no running away from reality, Invité
Revenir en haut Aller en bas
catskart
Toad
Toad
avatar

Messages 612
Date d'inscription 10/10/2010

MessageSujet: Re: Les bases   Ven 13 Mai - 18:17

Merci Dark-Francis.
Pour l'instant ce sont juste les bases, mais après les tutos seront spécialisé et approfondis, le prochain sera sur les variables. (dont les sysval)

_________________

by zero wing
Revenir en haut Aller en bas
Tartare2240
Birdo
Birdo
avatar

Messages 474
Date d'inscription 09/11/2012
Localisation Derrière mon écran, bien sur !

Fiche personnage RPG
Nom: Albert
Points Coeur (PC) Points Coeur (PC):
40/40  (40/40)
Points Fleur (PF) Points Fleur (PF):
12/14  (12/14)

MessageSujet: Re: Les bases   Sam 14 Mai - 12:14

TeaScript hein ? Je connaissais CoffeeScript, mais j'avais jamais entendu parler de ce langage xD

_________________
By Tartare2240

Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Les bases   

Revenir en haut Aller en bas
 
Les bases
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Les bases d'un RP
» Navigation : les bases pour vite se repérer dans le forum
» [Peinture] Astuce - Créer ses couleurs GW grâce aux bases
» Fermeture de Bases : Merci Mr Sarkozy !!!!
» HRP, censure, repartir sur de bonnes bases

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Super Mario Bros. X City :: SMBX :: Bibliotutos SMBX :: Scripts & LunaDLL-
Sauter vers: