Jump to content

[Tuto] Les bases de script


Rivs

Recommended Posts

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 a ce que l'on fait et ne pas se décourager.

Ce tuto servira surtout pour NurZ qui c'est plein de ne pas savoir écrire uen ligne. (quoi je t'ai grillé, naaaaan! lol)

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 type définisse 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éclaré 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é.
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 script
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 script
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 ce qu'il y a dans le ELSE.

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 apros 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.
Pour ceux qui veulent, il y a le tuto de script plus compliquer de mon ami SUUK

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

scn nomduscriptshort DOONCEBEGIN ONACTIVATE  Set DOONCE to 2  Showmessage MYMESSENDBEGIN GAMEMODE  If (DOONCE==2)    activate  ENDIFEND
Link to comment
Share on other sites

Oui c'est pas faut, mais ça risque de les induires en erreur, je vois ça dans mon ancienne classe, un béte probléme de signe peut rendre fou lol.avec le égal c'est mieu défini, et ne porte aucune confusion.

Link to comment
Share on other sites

  • 4 months later...
  • 2 weeks later...

Quel est l'intéret, on peut déjà se mettre accroupi et se mettre a couvert manuellement. A part saboté le jeu, je pense pas a l'utilité d'un tel mod. Et sinon faut voir avec les idles animations, mais bon ce que tu veut faire peut étre tré compliquer.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...