[Tutoriel] Base du scripting

Vous trouverez ici les tutoriels et l'entraide sur les outils et techniques de modding spécifiques à Fallout New Vegas.
Rivs
Confrère
Messages : 162

Base du scripting

Message par Rivs »

Salut a tous,
Me revoila pour un nouveau tuto, les bases du script pour les débutants
(pour pas qui nous demandent trop de truk lol)

Nan sérieu, c'est pour donné envie a certain de s'y mettre, c'est pas dur, faut juste être attentif à ce que l'on fait et ne pas se décourager.

Bon le comencement du début!?
Dans le Geck, aller faire un click sur l'onglet GAME SETTING > EDIT SCRIPTS.
Là ya une fenétre d'édition de texte, c'est là que les scripts seront écrit.
Sur la fenétre, clicker sur l'onglet SCRIPT > NEW.

Maintenant nous attaquons le script.

Alors il y a différent type pour le script.
Ces types définissent l'utilisation.
Ya QUEST, pour mettre sur une quéte.
Ya OBJECT, pour mettre sur n'importe quel type d'objet.
Pi EFFECT, pour étre appeler par des effets.

Ecrivez "Scn NomDuScript"
ça donnera un nom au script, c'est son ID si vous voulez, donc UNIQUE.

Maintenant vous allez découvrir les variables, ce sont des stokages de données ou nombre.
Les variables doivent étre déclaré avec leur type.
Il y a FLOAT, pour les nombres a virgule, et SHORT et LONG pour les entiers, leur différence est que le short peut contenir des nombres moin grand. (je n'ai jamais utiliser de LONG dans un script, j'ai pas trouver son utilité dans ces scripts)
Sinon il y a REF, pour les références, on peut y stocker des références éxistentes.
Chaque REF est unique dans le jeu, comme les ID, sauf que une ID peut avoir plein de REF.

Bref.

Donc pour déclarer une variable de type SHORT, on fait:

Short nomdelavariable

On met le nom que long veut, le bute est de mettre un nom logique à son utilité, afin que l'on puisse relire est comprendre direct a quoi elle sert.

Une fois toute les variables déclarée.
On fait un BLOCK.
Un BLOCK est défini par un BEGIN et un END a la fin.
Le script ce situe entre les deux balise (oui on appellera ça comme ça pour la compréhension).
A la suite de BEGIN il faut mettre le type du BLOCK.
ya plein de type, d'ailleur je sais pas combien yen a, je risque d'en oublier.
Alors ya dufférent type pour chaque type de script.
Nous vérons les plus simple et les plus utiliser, GAMEMODE et ONACTIVATE.
Il y a aussi le BLOCK MENUMODE, qui éxécute une partie de script durant un menu, par exemple "dormir", "attendre" ect...
Les types se trouve sur le site du Geck.
Pour comprendre vous iraiez lire les scripts du jeu.

ONACTIVATE veut dire que le script situé dans le BLOCK va s'éxécuté quand l'objet à qui est attacher le script sera activé.

Pour l'exemple, je vais prendre un object MISC, euh on va prendre une assiéte.
(ya pas d'intéret je sais, c'est juste pour montré que avec des objets qui ne servent a rien, ba on leur trouve une utilité)

Alors dans les variables nous allons ajouter une variable de type SHORT et de nom DOONCE.

Pour attribuer une valeur a cette variable, il faut faire:

Set DOONCE to 2

2 étant la valeur que je voulait metre.

Maintenant vous savez attribuer des valeur au variable.
Maintenant vous allez voir qu'il y a des fonctions.

C'est ici que l'on trouve des éxplication.
http://geck.bethsoft.com/index.php/Category:Functions

Je vous éxpliquerais pas à quoi elles servent toutes, a moin que je soit rémunéré, car il y en a trop.
A vous de lire et comprendre.

On va utiliser un SHOWMESSAGE.
(il faut créé un message pour ça, appeller le MYMESS, et marquer "voici une assiétte bien crade" pour son contenue)

Alors a la suite, sur la ligne du dessous, écrivez:

Showmessage MYMESS

Là a ce moment, le message apparaitra quand on click sur l'assiétte et une variable appeler DOONCE sera mis a la valeur 2.

Maintenant fermer votre BLOCK ONACTIVATE avec un END.

Faite un nouveau BLOCK de type GAMEMODE.
Celui là, il se joue en boucle.
Pour ce cas ci, sur un objet, il sera jouer dans la CELL où est l'objet.
Donc si il est jouer en boucle, c'est bien mais c'est chiant, car le script dans ce BLOCK sera jouer en boucle, sans s'arrété.
Faut avoir l'utilité.
Dans l'éxemple, ça sert a rien car on peut tous mettre dans le ONACTIVATE, mais moi je veut vous montrez comment ça marche, alors me cassé pas les C....

Dans ce BLOCK, on va apprendre a faire des conditions.
ça sert a effectuer des tests.

Alors toujour avec un systéme de mini BLOCK.
Voila le IF.
ça veut dire SI.
Donc un BLOCK IF ENDIF.
Voila ce que ça donne.

IF ( DOONCE==2)
bout de script
ENDIF

en cas de plusieur test, faite ça.

IF ( DOONCE>=2)
bout de script1
ELSE (ici on peut méttre un IF pour faire un nouveau test dessus. Dans ce cas, ça sera pour tous les cas où DOONCE ne sera pas égal a 2 ou supérieur à 2)
bout de script2
ENDIF

Dans le premier cas, j'ai mis "==", ça veut dire égal.
Donc si DOONCE égal à 2 on fait le bout de script, dans le cas contraire, on saute à la fin du IF.

Dans le 2eme cas, on fait un bout de script si DOONCE est égal a 2 ou supérieur. Si c'est 1 on ne fait pas ça et on attéri au ELSE.
Le ELSE n'a pas de condition, donc on éffectue ce qui ya dedans.
Si le IF avait une condition DOONCE == 0.
ba on ne ferai pas lebout de script1
.

Donc == c'est un oprérateur.
yen a plein.
==
>=
<=
!= (ça veut dire différent de)

Aprés moi j'en connait plein mais ej sais pas si il sont utilisé dedans.

alors nous on va faire un simple IF ENDIF avec une condition de DOONCE==2.
Dedans on met ACTIVATE.
ACTIVATE c'est pour dire a l'objet de s'activer, donc un PNJ parle, un coffre s'ouvre, une porte te téléporte ect... et oui un objet ce met dans l'inventaire.

Si vous mettez un script sur un objet, il perd ça fonction principal pour faire le script.
SI on met un ACTIVATE on va l'activé malgré le script.
Donc en résumé, quand on active l'assiétte, on affiche un message et on met DOONCE à 2.

Dans le GAMEMODE, quand DOONCE sera à 2, on activera l'objet et il sera dans l'inventaire.

Pour la condition, on peut en mettre plusieur d'affiler en méttant des || ou des &&.

&& c'est pour dire ça et ça.
|| c'est pour dire ça ou ça.

Bon j'admet que c'est con, mais vous avez sans doute apris des trucks.
Aprés pour les fonctions, vous iraiez voir le site du geck.
On peut faire plein de truck avec des scripts.

Bon je vous laisse vous démerdez.
A bientot pour un complément peut étre.

Voici le script en entier pour ceux qui on était perdu.

Code : Tout sélectionner

scn nomduscript

short DOONCE

BEGIN ONACTIVATE

  Set DOONCE to 2
  Showmessage MYMESS

END

BEGIN GAMEMODE

  If (DOONCE==2)
    activate
  ENDIF

END
Modifié en dernier par Rivs le 30 oct. 2010, 22:14, modifié 1 fois.
Avatar du membre
Corax
Légende de la Confrérie
Légende de la Confrérie
Messages : 13024

Re: [TUTO]Base du scripting

Message par Corax »

Tu peux citer tes sources ainsi que l'auteur de tutoriel car je vois d'ici que celui là (et les autres) viennent d'ailleurs. Merci.
Corax, Maître de la Raven Guard.
Vinctorus aut Mortis - Credo de la Raven Guard

Image

Tuto installation mods Fallout 3/NV
Tuto installation mods Skyrim
Rivs
Confrère
Messages : 162

Re: [TUTO]Base du scripting

Message par Rivs »

BA l'auteur c'est moi, et l'endroit où ils étaient c'est Fallout-3.com.

http://www.fallout-3.com/forum/showthread.php?t=1098
http://www.fallout-3.com/forum/showthread.php?t=1920
http://www.fallout-3.com/forum/showthread.php?t=1122
http://www.fallout-3.com/forum/showthread.php?t=1113

Voilà!
Vous pouvez toujours contacter cette personne voir si c'est moi...
Avatar du membre
Corax
Légende de la Confrérie
Légende de la Confrérie
Messages : 13024

Re: [TUTO]Base du scripting

Message par Corax »

Okay (reste juste à mettre les autres tutos alors, car en les lisant je me disais qu'il manquait des choses).
Corax, Maître de la Raven Guard.
Vinctorus aut Mortis - Credo de la Raven Guard

Image

Tuto installation mods Fallout 3/NV
Tuto installation mods Skyrim
Rivs
Confrère
Messages : 162

Re: [TUTO]Base du scripting

Message par Rivs »

Certain n'y sont plus apparement, et un que j'ai cité, contient des photos qui n'éxiste plus, je veux bien le mettre mais sans les photos...
C'est le premier lien, on m'a déjà dit que sans image, c'est pas évident, mais j'ai pas encore le temps de les refaires.
Avatar du membre
apdji
Légende de la Confrérie
Légende de la Confrérie
Messages : 9868

Re: [TUTO]Base du scripting

Message par apdji »

Et c'est bien ça me permet de confirmer que ce pseudo me disait bien quelque chose.
C'était donc là bas que je t'avais croisé et non sur f3f.
Image

"Pas de coercition ... un peu d'éducation ..." Moorelf
Rivs
Confrère
Messages : 162

Re: [TUTO]Base du scripting

Message par Rivs »

Oui, sur F3N tu veux dire, c'était l'ancien nom, et tu étais venu présenter la confrérie des traducteurs là bas.
A l'époque nous étions beaucoup plus, et je menais pas la barque, mais j'étais dans les plus actifs et expérimentés.
Maintenant on est 2 à modder et le reste ne fait que répertorier les mods intérressants de Nexus.
FNV n'est qu'au début, le modding va commencer à arriver, mais le site d'où je viens n'est pas vraiment axé sur le modding, les gens sont de passage, pas vraiment là pour modder longtemps.

C'est pour cela que je vous rejoins, car ici, la communautée est peut être moins grande, mais il y a moins de personnes de passage.
Je préfère m'installer parmis vous, un endroit qui sera sans doute plus fréquenté.

Au passage les tutos sont fait pour F3, mais FNV marche exactement pareil, donc tout à fait utilisable, au pire des cas il y a une case en plus dans la fenêtre traité par les tutos.
Si quelqu'un pouvait me dire si le tuto du premier lien peut être mis sans les images? Car j'ai pas le temps de les refaires, et le tuto est utile pour le tuto des interphones.
Modifié en dernier par Rivs le 20 juin 2015, 16:10, modifié 4 fois.
Raison : passage d'un disciple
Avatar du membre
Corax
Légende de la Confrérie
Légende de la Confrérie
Messages : 13024

Re: [TUTO]Base du scripting

Message par Corax »

Il me semble que les scripts ont changé par rapport à Fallout 3, enfin c'est ce que Gray Wolf m'a dit.
Corax, Maître de la Raven Guard.
Vinctorus aut Mortis - Credo de la Raven Guard

Image

Tuto installation mods Fallout 3/NV
Tuto installation mods Skyrim
Avatar du membre
Shadow she-wolf
Confrère
Messages : 830

Re: [TUTO]Base du scripting

Message par Shadow she-wolf »

Corax a écrit :Il me semble que les scripts ont changé par rapport à Fallout 3, enfin c'est ce que Gray Wolf m'a dit.
Il y a essentiellement des nouvelles fonctions.

Mais heureusement ils n'ont pas changé la structure interne des scripts.
Et ce depuis Oblivion.

Dans l'absolu, en choisissant des fonctions communes aux trois jeux, on peut très bien réaliser un véritable tutoriel de prise en main du scripting pour les trois jeux à la fois, et en toute transparence.
Rivs
Confrère
Messages : 162

Re: [TUTO]Base du scripting

Message par Rivs »

il y a trés peu de fonction en plus sur le GECK FNV, donc la base reste commune aux trois jeux comme le dit Shadow.
La c'est juste voir les bases comme éxpliqué, rien ne vaut l'éxpérience et le test.
Toutes les fonctions sont éxpliquer sur le lien plus haut, certes en anglais, mais trés simple à comprendre.
Le tuto n'est peut étres pas tip top, mais bon une fois que l'on a pigé les scripts, on trouve ça trés simples, si ya des questions, je suis là.

Retourner vers « Modder Fallout New Vegas »