Project

Profile

Help

StarWarsProg » History » Sprint/Milestone 2

Vincent Le Goff, 01/24/2017 02:26 AM

1 1 Vincent Le Goff
h1. Programmes et scripts de Star Wars MUD FR
2
3
Scripter dans un MUD permet aux bâtisseurs de rajouter des fonctionnalités personnalisées à l'univers. Ces scripts, ou programmes (le terme est utilisé indifféremment dans ce document) sont reliés à des évènements précis, souvent déclenchés par les actions des joueurs.
4
5
Par exemple, on peut scripter un mobile de l'univers pour qu'il réagisse si un joueur dit quelque chose de précis dans la salle où il se trouve. Des quêtes relativement complexes, des zones un peu particulières, d'autres moyens de déplacement, tout ceci peut être scripté avec plus ou moins de temps. Ce document est fait pour servir de tutoriel au scripting sur Star Wars MUD FR, ainsi que d'index pour retrouver rapidement une fonctionnalité ou une syntaxe.
6
7
h2. Index des commandes de scripting
8
9
Un programme peut ne contenir que des commandes. Ces commandes sont sous la forme que les joueurs connaissent, comme @say@ ou @emote@, mais il y a des commandes particulières que seuls les mobiles, objes ou salles peuvent faire dans leur script.
10
11
Le tableau ci-dessous décrit la liste des commandes spécifiques au scripting. La première colonne contient le nom de la commande, la seconde sa syntaxe, la troisième une description très courte de son utilisation. Le nom de la commande est un lien, vous pouvez cliquer dessus pour avoir une explication plus détaillée, ainsi qu'un exemple de sa syntaxe.
12
13
| Commande | Syntaxe | Utilité |
14
| [[#mpadvance|mpadvance]] | @mpadvance <nom du joueur> <niveau>@ | Change le niveau d'un joueur. |
15
| [[#mpapply|mpapply]] | @mpapply <nom du joueur>@ | Passe un joueur en statut "non autorisé, en attente d'autorisation". |
16
| [[#mpapplyb|mpapplyb]] | @mpapplyb <nom du joueur>@ | Passe un joueur en statut "autorisé à jouer dans l'univers réel". |
17 2 Vincent Le Goff
| [[#mpasound|mpasound]] | @mpasound <phrase>@ | Envoie un message dans les salles alentour. |
18
| [[#mpat|mpat]] | @mpat <vnum de la salle> <commande>@ | Exécute la commande dans la salle indiquée. |
19
| [[#mpdamage|mpdamage]] | @mpdamage <victime> <montant>@ | Inflige des dégâts à la victime. |
20
| [[#mpdeposit|mpdeposit]] | @mpdeposit <montant>@ | Dépose de l'argent dans la zone du script |
21
| [[#mpdream|mpdream]] | @mpdream <victime> <phrase>@ | Envoie un message à un joueur qui dort. |
22 1 Vincent Le Goff
| [[#mpecho|mpecho]] | @mpecho <phrase>@ | Affiche une phrase à la salle dans laquelle se trouve le mobile, objet. |
23 2 Vincent Le Goff
| [[#mpechoaround|mpecharound]] | @mpechoaround <nom> <phrase>@ | Envoie un message à la salle, SAUF au joueur précisé. |
24
| [[#mpechoat|mpechoat]] | @mpechoat <nom> <phrase>@ | Envoie un message uniquement à un joueur. |
25 1 Vincent Le Goff
26
h2. Aide détaillée des commandes
27
28
h3. mpadvance
29
30
Syntaxe : @mpadvance <nom du joueur> <numéro du niveau>@
31
32
Cette commande fait passer le joueur précisé à un niveau indiqué. Cette commande ne marchera pas si le programme est dans un mobile prototype.
33
34
Exemple d'utilisation :
35
36
<pre>
37
mpadvance $n 3
38
</pre>
39
40
h3. mpapply
41
42
Syntaxe : @mpapply <nom du joueur>@
43
44
Cette commande passe un joueur en statut "non autorisé". Il devra être autorisé pour rentrer dans l'univers réel, ce qui peut se faire par script (voir [[#mpapplyb|mpapplyb]]) ou par la commande *authorize*.
45
46
Exemple d'utilisation :
47
48
<pre>
49
mpapply $n
50
</pre>
51
52
h3. mpapplyb
53
54
Syntaxe : @mpapplyb <nom du joueur>@
55
56
Cette commande autorise un joueur, lui permettant d'entrer dans l'univers réel, au-delà de la zone de départ.
57
58
<pre>
59
mpapplyb $n
60
</pre>
61
62 2 Vincent Le Goff
h2. mpasound
63
64
Syntaxe : @mpasound <phrase>@
65
66
Envoie la phrase passée en paramètre aux salles autour de la salle du programme (la salle dans laquelle se trouve le mobile ou objet, par exemple).
67
68
Exemple d'utilisation :
69
70
<pre>
71
mpasound Il commence à faire froid...
72
</pre>
73
74
h3. mpat
75
76
Syntaxe : @mpat <vnum de la salle> <commande>@
77
78
Cette commande permet d'exécuter une autre commande dans une salle différente. C'est l'équivalent de la commande *at* que les immortels peuvent utiliser : elle peut permettre à un mobile d'exécuter une commande dans une salle distante sans avoir à se déplacer.
79
80
Exemple d'utilisation :
81
82
<pre>
83
mpat 2200 drop all
84
</pre>
85
86
(Cette commande, si exécuté dans un programme de mobile, demandra au dit mobile de poser tous eses objets dans la salle de vnum 2200, et ceci sans quitter la salle où il se trouve.
87
88
*note importante*: on utilise souvent @mpat@ pour "cacher" certaines actions au joueur. Par exemple, on demande au mobile d'aller dans une salle fermée au joueur pour exécuter des commandes sans que le joueur ne le voit. Il existe cependant la commande [[#silence|silence]] qui reste plus lisible.
89
90
h3. mpdamage
91
92
Syntaxe : @mpdamage <victime> <montant>@
93
94
Cette commande permet d'infliger des dégâts à la victime précisée en premier argument. L'aide iindique que ces dégâts seront influencés par le sanctuaire, mais pas la protection, saving throws ou résistances.
95
96
Exemple d'utilisation :
97
98
<pre>
99
mpdamage $n 200
100
</pre>
101
102
Il semble que, si le programme inflige des dég6ats au mobile acteur du programme, et si le nombre de dégâts est suffisamment important pour le tuer, le programme fera planter le MUD.
103
104
h3. mpdeposit
105
106
Syntaxe : @mpdeposit <montant>@
107
108
Cette commande permet de déposer de l'argent dans la zone où se trouve le script (la zone de la salle, du mobile ou de l'objet). Elle prend en unique paramètre le montant à déposer dans la zone. Chaque zone a sa propre économie, et les programmes peuvent être utilisés pour influer sur l'économie de zone (par exemple, donner moins d'argent si la zone a moins dans son trésor).
109
110
Exemple d'utilisation :
111
112
<pre>
113
mpdeposit 5000
114
</pre>
115
116
Parmi la plupart des commandes utilisées avec [[#mpat|mpat]], ce..e-ci est peut-être l'une des plus fréquentes. On peut déposer ou retirer de l'argent facilement dans une autre zone :
117
118
<pre>
119
mpat 3311 mpdeposit 5000
120
</pre>
121
122
Voir aussi :
123
124
* [[mpwithdraw|mpdwithdraw]] pour retirer de l'argent de la zone actuelle.
125
126
h3. mpdream
127
128
Syntaxe : @mpdream <victime> <phrase>@
129
130
Cette commande envoie un message à un joueur ou mob qui dort. Par défaut, si on utilise [[#mpecho|mpecho]] o]] par exemple, un joueur qui dort ne voit pas le message. @mpdream@ permet d'envoyer spécifiquement un message à un joueur qui dort.
131
132 1 Vincent Le Goff
h3. mpecho
133
134
Syntaxe : @mpecho <phrase>@
135
136
Cette commande prend en argument une phrase, et affiche cette phrase dans la salle dans laquelle se trouve le programme (la salle du mobile, la salle de l'objet ou la salle-même, pour les programmes de salle). Le message est envoyé sans aucun préfixe, et le joueur n'a pas le moyen de savoir d'où vient le message.
137
138
Exemples d'utilisation :
139
140
<pre>
141
mpecho La vitrine explose dans un vacarme infernal !
142
mpecho $n arrive de nullepart.
143
</pre>
144
145
Voir aussi :
146
147 2 Vincent Le Goff
* [[#mpechoat|mpechoat]] pour afficher un message uniquement à un joueur ;
148 1 Vincent Le Goff
* [[#mpechoaround|mpechoaround]] pour afficher un message pour la salle, à l'exception d'un joueur ;
149
* N'oubliez pas, vous pouvez utiliser les commandes @say@ et @emote@ pour faire dire à un mobile quelque chose, ou le faire agir. Ce sera plus clair qu'utiliser @mpecho@ si c'est tout ce que vous voulez faire ;
150 2 Vincent Le Goff
* Cette commande est identique à la commande d'immortel *recho* que vous ne pouvez pas utiliser dans vos programmes.
151
152
h3. mpechoaround
153
154
Syntaxe : @mpechoaround <nom> <phrase>@
155
156
Cette commande permet d'envoyer un message à la salle du programme, comme [[#mpecho|mpecho]], mais elle permet de ne pas envoyer le message à un joueur précisé en premier paramètre. En combinant [[#mpechoat|mpechoat]] et [[#mpechoaround|mpechoaround]], on peut faire des messages d'ambiance assez personnalisés.
157
158
Exemple d'utilisation :
159
160
<pre>
161
mpdamage $n 30
162
mpechoat $n Vous recevez une fléchette dans la peau, sans doute empoisonnée !
163
mpechoaround $n $n reçoit une fléchette dans la peau, sans doute empoisonnée !
164
</pre>
165
166
Explications :
167
168
# La première ligne inflige 30 de dégâts à @$n@, c'est-à-dire l'acteur du script appelé ;
169
# La ligne 2 envoie le message seulement à @$n@ ;
170
# La ligne 3 envoie un message à toute la salle, sauf à @$n@.
171
172
h3. mpechoat
173
174
Syntaxe : @mpechoat <nom> <phrase>@
175
176
Envoie un message uniquement à la cible passée en premier paramètre. Cette commande peut être utile avec [[#mpechoaround|mpechoaround]] (voir [[#mpechoaround|mpechoaround]] pour un exemple).
177
178
Exemple d'utilisation :
179
180
<pre>
181
mpechoat $n Le jour se lève.
182
</pre>