Compter les secondes (technique artisanale)

Aides pour les développeurs de mods (scénarios)
Post Reply
Lin Chong
Posts: 102
Joined: Tue Jun 29, 2004 2:00 am

Compter les secondes (technique artisanale)

Post by Lin Chong »

Pour ceux qui ayant vu dans l'éditeur de script "hour: store in", "minutes: store in", et qui, comme moi, se sont demandés (de manière tout à fait légitime): mais où sont donc les secondes???
En effet, compter les heures, c'est bien, mais comme condition de dialogue ça se pose là. Meme compter les minutes est un peu lourd, et c'est un euphémisme.
Alors les secondes, me direz-vous? Eh bien, vu qu'une lecture de script en heartbeat fait plus ou moins une seconde (en tout cas, résolument moins d'une minute), le plus simple est de compter les lectures de script.
Votre script va ressembler à ça (dans le cas d'une float line):

0 /If global flag 100 is set,
THEN return and run default,
ELSE do nothing
1 /global variable 100 = global variable 100 + 1
2 /If global variable 100 = 20,
THEN float line 1 above attachee,
ELSE return and run default
3 /set global flag 100 to true
4 /return and run default

Une fois ce script lu 20 fois, la float line va donc s'afficher au dessus de la tete du personnage auquel elle est attachée en heartbeat.
Quelle utilité? Eh bien, imaginons que vous vouliez que votre personnage, passant incidement auprès d'un attroupement, perçoive une conversation qui ne lui est pas destinée. Pour ce faire, vous allez devoir utiliser des float line.
Maintenant, quel est votre problème? Le TEMPS. En effet, les float line suivantes vont chasser les précédentes si vite que vous n'aurez le temps de lire que la dernière de chaque personnage. En utilisant le petit truc expliqué plus haut, vous pouvez faire en sorte que chaque float line reste affiché une 20aine de secondes. Vous aurez donc le temps de les lire avant de passer à la suivante.
Ce type de script peut aussi servir à gérer des évènement plus complexes; attention toutefois, il est facile de se retrouver avec des scripts d'une 100aine de lignes, et croyez-moi ou non, dans ce genre de situation, on a tendance à se mordre les doigts quand il y a un bug, parce que débusquer l'erreur s'apparente à trouver un grain de sel tombé sur une plage.
"Wen you wen-qu, wu you wu-qu."

User avatar
Eoliad, Miroir de la nuit
Posts: 799
Joined: Tue Jun 28, 2005 1:35 pm
Location: Avignon / Les Terres d' Haholith

Post by Eoliad, Miroir de la nuit »

Ouah ! Encore une astuce de la mort donné par Lin Chong ! :eek:
Merci. :D
"Noli me tangere"

Post Reply