Tutoriel d'origine écrit par Aeron, puis complété par Rexoshi et catskart.Et oui, je m'y suis mis tout de suite, vous allez voir, c'est tellement simple que vous en resterez scotché.
Tout d'abord, quel npc voulez vous modifier?
Regardons pour un goomba tout simplement.
Regardez dans les fichiers NPC de SMBX et vous trouverez votre bonheur...
Ici, le goomba façon SMB3 est:
npc-1.
Qu'allons nous faire avec ceci? Par exemple, nous allons
agrandir 4 fois sa taille!
Tout d'abord, faisons un nouveau fichier .txt.
Ecrivons ceci dans notre fichier.
width=64
height=64
Attention: une seule consiqne peut être appliquée par ligne.Maintenant, le goomba est 4 fois plus grand! Mais ce n'est pas fini, il faut faire un custom graphisme, pour cela référez vous au tuto de Sébastien.
Voilà la différence entre le goomba géant et mon giga goomba ( à gauche)
Voilà les consignes que l'on peut appliquées et leurs effets:Si oui mettez 1, si non mettez 0 après le"="NOTE de Rexoshi: Si une consigne ne change pas par rapport au NPC original, n'incluez pas la consigne qui ne doit pas être changée, ça ne vous apportera rien à part une perte de temps ! Par exemple, pour le Giga Goomba de Thom, il a seulement indiqué les consignes de taille, car ce sont les seules qui changent.grabtop= Mario peut-il aller sur le npc et l'attraper?
grabside= Mario peut-il attraper cet npc sur le côté?
jumphurt= Mario peut-il sauter sur cet npc sans dégât?
playerblock= Peut-on traiter cet ennemi comme un bloc?
playerblocktop= Peut-on rester sur cet ennemi?
npcblock= Les autres npc peuvent-il traiter cet ennemi comme un bloc?
npcblocktop= Les autres npc peuvent il rester sur cet ennemi?
noblockcollision= Le npc peut il traverser les blocs?
cliffturn= Quand le npc est à la fin d'un sol, fait il demi-tour?
nohurt= Le npc blesse t-il Mario?
noyoshi= Yoshi peut-il manger cet npc?
nofireball= Le npc est-il affecté par les boules de feu?
noiceball= Le npc est-il affecté par les boules de glace?
nogravity= Le npc est-il affecté par la gravité? (utile pour faire des ennemi volants)
speed= A quelle vitesse le npc va t-il? La vitesse du NPC sera multipliée par le nombre indiqué
score= Quel nombre de points donne le npc?
0=0 pt
1=10 pts
2=100 pts
3=200 pts
4=400 pts
5=800 pts
6=1000 pts
7=2000 pts
8=4000 pts
9=8000 pts
10=1-Up
11=2-Ups
12=3-Ups
13=5-Ups
Tout chiffre au dessus de 13 donnera 5-Ups.foreground= Si vous mettez 1, et que vôtre NPC passe devant quelque chose d'autre (un autre NPC par exemple), ce sera lui qui passera devant.
frames= Combien de positions faut-il au npc pour UNE direction?
framespeed= Quelle est la vitesse de l'animation des frames? 8 est normal, 1 le plus rapide (immobile)
framestyle= 0 -> pas de direction
1 -> positions pour le sens gauche et droite
2 -> les positions gauche et droite sont alternées
3 -> l'animation n'est pas jouée automatiquement (1.4)
4 -> L'animation ne se joue qu'une fois (1.4)
gfxoffsetx= Dans quelle direction bouge les positions du npc? -1= haut, 1=bas
gfxoffsety= Dans quelle direction bouge les positions du npc? -1= gauche, 1=droite
width= Taille en largeur de la hitbox
height= Taille en hauteur de la hitbox
gfxwidth= Taille en largeur du npc si elle est différente de la hitbox.
gfxheight= Taille en hauteur du npc si elle est différente de la hitbox.
Consignes exclusive à la version 1.4 :spinjump= Le NPC peut-il être tué par un saut tournoyant ?
spinjumphurt= Le joueur a-t-il mal s'il fait un saut tournoyant sur un NPC ?
waterjumphurt= Le NPC peut-il être tué dans l'eau quand le joueur le marche dessus ?
nolava= Le NPC est-il invulnérable à la lave ?
nohammer= Le NPC est-il invulnérable aux marteaux ?
health= Modification du nombre de PV d'un npc.
holdgenerator= Le NPC génère d'autre NPC comme lui.
Usage holdgenerator: x , y , id , Temps d'écart , Vitesse , Angle , [Optional L = 1] , [Optional R = 360] , [Optional AC = 1]
Parameters= Position relative du NPC(x,y),Temps d'écart du générateur,Vitesse initial,Angle initial,branches,range,Changements de direction selon le regard du NPC.
Attention ! Faire en sorte que le lakitus lâche d'autre lakitus peut entrainer des lags énormes.
framestyle=5,6,7 même effet que pour framestyle 0,1,2 à la différences que la hauteur des GFX utilisé dépendront du personnage que l'on joue comme les boules de feu (npc-13)
! à vérifier !fireballdmg= Dommage pris quand le NPC est touché par la boule de feu.
jumpdmg= Dommage pris quand le NPC se fait sauter desse
hammerdmg= Dommage pris quand le NPC est touché par un marteau.
shelldmg= Dommage pris quand le NPC est touché par une carapace.
lavadmg= Dommage pris quand le NPC est touché par de la lave.
tailspindmg= Dommage pris quand le NPC est touché par un coup de queue.
blockhitdmg= Dommage pris quand le NPC est touché par block.
explosiondmg= Dommage pris quand le NPC est touché par une explosion.
float= Le NPC flotte dans les airs, ne marche que si nogracity est à 0, par exemple le platforme de SMB3.
Voilà
toutes les consignes que l'on peut attribué au npc de votre choix.
Voilà on est venu à bout de ce tuto. Si vous avez des questions, n'hésitez pas!
EDIT de MaxiMario289: Rajout de la fonction ForegroundEDIT de Romain.XXX: Ajout pour la version 1.4 tout le mérite va à Catskart.