Le bug du lag infini

Aides pour les développeurs de mods (scénarios)
Avatar de l’utilisateur
NatakuSq
Eslodmonaë, archidruide
Messages : 2036
Inscription : mar. juil. 26, 2005 8:01 pm
Localisation : Marseille
Contact :

Le bug du lag infini

Message par NatakuSq »

J'ai souvent rencontré ce bug que je ne savais pas résoudre à l'époque, ça m'a fait arrêté plusieurs modules. Quand on change de secteur pendant le jeu ou qu'on charge la partie, il arrive qu'il y ai un MECHANT MECHANT lag, genre... infini.
Si je postes ici le pourquoi du comment, c'est parce que je me dis que peut-être quelqu'un a rencontré/rencontrara ce bug en créant un module et qu'il viendra peut-être chercher ici la solution.
Au passage, il y a ce bug dans le tombeau de Tol Guldur de Triblonto mais, j'expliquerai après pourquoi, on ne le rencontre pas toujours.

Bon, donc pourquoi ce bug ? Tout simplement parce que vous avec téléporté un scenery. Dès qu'on utilise un script teleport sur un scenery, ça créé un méchant bug qui fait que quand on quitte le secteur (ou qu'on charge la partie), le scenery revient à sa place initiale. Le jeu n'aime pas ça et rame à mort. Bizzare non ?
Alors que ça marche avec les npc, les containers, le player (évidemment), les items, ... ON NE DOIT JAMAIS TELEPORTER UN SCENERY.
Au passage, je l'ai rencontré dans CrossRoad et mon frère dans son module. On a mis un certain temps avant de comprendre (on a testé les sauvegardes à tous les moments du jeu, ...
Donc, pour résoudre le problème, il faut modifier le script qui fait se téléporter le scenery. Pour le remplacer, plusieurs options :
:) Changer d'art un autre scenery à la place de celui qui doit être téléporté et détruire l'autre.
:) Faire apparaître un npc qui a une tête de scenery (mais si le scenery n'est pas click through, il n'apparaîtra pas en surbrillance mais avec la simili-auréole des npc.
:) Remplacer le scenery par un container avec une print line (si on veut masquer le fait le "verrou fermé" ou même le "blocage").
:) Changer d'idée (ce que je n'aime pas faire).
Au passage, c'est le scenery fait des "aller-retours" entre des destinations, le mieux est, je pense, de changer l'art de chacun en un objet quasi-invisible (moi j'utilise un art de pixel) et de les cibler grâce à un internal pour changer d'art. Ah, et s'il a un script à USE, penser à activer un global quand il change d'art et a testé ce global quand on active le script à USE, ça évite de pouvoir utiliser l'objet avant qu'il n'aparaisse (oui, on peut trouver un pixel dans le jeu si on est patient).
Dernière astuce : tester aussi le global flag à EXAMINE et si l'objet n'est pas encore "apparu", vous enclenchez un print line blanche (donc le joueur ne verra rien dans le cadre de description). Ceci est pour le cas où l'on change d'art.
Pour en revenir à Tol Guldur, Triblonto a téléporté la tapisserie, ce qui enclenche le bug. Mais si le joueur la remet en place avant de quitter le secteur/charger la partie, le scenery est à sa place initiale et il n'y a pas de bug (on peut dire que les joueurs qui aiment ranger sont avantagés :duh: ).

Voilà, donc, à l'avenirn évitez de téléporter des scenery ;)
P*T**N de bug :x
"Pray for the children you lost along the way
Still remember the names and faces…
Cold and abandoned they cry, their fate put in your hands.
When it’s over they come to haunt you…"
-One more soul to the call

Avatar de l’utilisateur
Eoliad, Miroir de la nuit
Messages : 799
Inscription : mar. juin 28, 2005 1:35 pm
Localisation : Avignon / Les Terres d' Haholith

Message par Eoliad, Miroir de la nuit »

Ce bug nous a flingué genre au moins 3 mods... :fire:
"Noli me tangere"

Avatar de l’utilisateur
Gorka
Messages : 529
Inscription : jeu. mai 05, 2005 11:01 pm

Message par Gorka »

ah ben, merci ! J'y ferais attention, du coup.

Avatar de l’utilisateur
NatakuSq
Eslodmonaë, archidruide
Messages : 2036
Inscription : mar. juil. 26, 2005 8:01 pm
Localisation : Marseille
Contact :

Message par NatakuSq »

De toute façon, même si tu fais pas attention pendant la création, dès que tu as un énorme lag perpétuel après avoir chargé ou changé de secteur pendant le test, tu peux être sûr que c'est ce bug de m***e :pleurs:
"Pray for the children you lost along the way
Still remember the names and faces…
Cold and abandoned they cry, their fate put in your hands.
When it’s over they come to haunt you…"
-One more soul to the call

Avatar de l’utilisateur
Gorka
Messages : 529
Inscription : jeu. mai 05, 2005 11:01 pm

Message par Gorka »

Mais, du coup... Ca marche comment, la téléportation de scenery ?!
C'est quand on clique sur le mauvais objet (un scenery au lieu d'un autre élément ?)

Avatar de l’utilisateur
NatakuSq
Eslodmonaë, archidruide
Messages : 2036
Inscription : mar. juil. 26, 2005 8:01 pm
Localisation : Marseille
Contact :

Message par NatakuSq »

Je suis pas sur de comprendre la question...
Tu téléportes un scenery quand le script "teleport (obj)..." vise un scenery, que ce soit l'attachee, le current loop object, l'extra object, ...
"Pray for the children you lost along the way
Still remember the names and faces…
Cold and abandoned they cry, their fate put in your hands.
When it’s over they come to haunt you…"
-One more soul to the call

Répondre