Aller au contenu


[résolu] Ralentissement (très Gros) En Intérieur


  • Veuillez vous connecter pour répondre
16 réponses à ce sujet

#1 N.tox

N.tox

Posté 15 juin 2007 - 01:18

bonsoir tout le monde,

he bien voilà, après avoir rajouter un script ( aproximativement 400 lignes ) à un objet, que ce dernier soit ou non dans l'inventaire, le jeu ralentit et la souris ne répond quasiment plus, mais seulement lorsque je suis en intérieur...
Je me suis alors dit que je devais peut-être rétrecir le dit script en le fractionnant en plusieurs (et mettre des startscript dans le script "principal" et les stopscript dans les "secondaires" ( résultat après ammaigrissement : 42 lignes )... Alors ils marchent bien... mais le problème est toujours présent, toujours aucune amélioration...

Alors voilà, est-ce que quelqu'un sait quel est le problème ? car je ne me l'explique pas...

Modifié par N.tox, 18 juin 2007 - 01:30.


#2 Nenfëa

Nenfëa

    Le poisson bavard de Kalendaar


Posté 15 juin 2007 - 01:54

Hello !

Quelques questions en pagaille. ;)
Utilise tu la fonction GetInterior pour lancer du code seulement en intérieur ? As tu tenté ton intérieur avec/sans le script pour être bien sur que ton script en est la cause ? Quel est le contenu exact du script, quel est son but ?

Bref, quelques précisions s'imposent pour une réponse efficace ! ;)
Nenfëa

- Les yeux, Bouh, vise les yeux!
- Pouiiiiiic!!!

Le monde de Gilbertus devenu réalité : Kalendaar!
Il était une fois un site vachement bien avec plein de nistoires dessus... ah, vous la connaissez déjà ?!

Wiwi d'or 2006 du plus serviable ! Tadaaaaaaaa !

#3 N.tox

N.tox

Posté 15 juin 2007 - 02:06

Salut nenfëa ;) ,
non, pas de get interior, avant l'ajout du script, pas de ralentissement, et ensuite le contenu, je metterais le nouveau si tu pense que c'est necéssaire, mais c'est le même script qu'hier ( avec l'amaigrissement en plus ), d'ailleurs ce problème était déja présent...

le lien :

http://forum.wiwilan...showtopic=39643


voilà voilà...merciiii ;)

Modifié par N.tox, 15 juin 2007 - 02:11.

"E-A-Bug, It's it the game !"
Rejoignez le MJLA
"Mais on ne naît pas con quand même...On l'devient!...Par solidarité très certainement !"-Dieudonné-
"La mort, c'est un peu comme la connerie. Le mort, lui, il ne sait pas qu'il est mort... ce sont les autres qui sont tristes. Le con c'est pareil..." -Philippe Geluck-

#4 Nenfëa

Nenfëa

    Le poisson bavard de Kalendaar


Posté 15 juin 2007 - 02:43

Euh... pourrais tu poster la version simplifiée ? :)
Si tu pouvais aussi donner une explication de ce que tu veux qu'il fasse, je prend ! ;)

Une autre possibilité pour voir d'où ça vient : tu dis que tu as séparé ton script en plusieurs morceaux distincts et vu sa taille, ce n'est pas une mauvaise idée. En plus, tu peux mettre des MessageBox en tête de chaque sous-script pour mieux voir qui est appelé et quand. Il y a peut-être tout bêtement une erreur de logique qui fait que du code est régulièrement appelé sans raison. ;)
Nenfëa

- Les yeux, Bouh, vise les yeux!
- Pouiiiiiic!!!

Le monde de Gilbertus devenu réalité : Kalendaar!
Il était une fois un site vachement bien avec plein de nistoires dessus... ah, vous la connaissez déjà ?!

Wiwi d'or 2006 du plus serviable ! Tadaaaaaaaa !

#5 N.tox

N.tox

Posté 15 juin 2007 - 03:40

Oki ça marche,

alors voilà :

A l'aquisition de l'objet "NTX_VampiriSoul", le joueur reçoit deux objets, (une tunique et un fute). Si le joueur garde cet objet, au bout du premier mois, il reçoit deux sort ( des effets en fait ) et trois pièces d'armure, au bout du deuxième mois d'autres trucs, et pis je sais plus si y'a un troisième mois, enfin bref, si le joueur décide de retirer "NTX_VampiriSoul", il a 3 chance sur 10 de s'en sortir vivant. S'il s'en sort, ça ne retirera de tout façon pas la malédiction (les dégats solaires), il aura donc tout intérêt à le reprendre...

en e qui concerne le code, voici le script attaché à "NTX_VampiriSoul" :

( les variables commençant par NTX_ sont des globales )

Spoiler

Voici maintenant le script d'effacement :

Spoiler

le script du passage OnPCadd :

Spoiler

Ensuite le script qui définit NTX_Stade avec une petite erreur que je corrigerais plus tard ( les objets, sorts, s'ajoutent sans fin toutes les 20sec j'usqu'au changement de valeur de NTX_Stade) :

Spoiler

Et enfin le script qui ajoute :

Spoiler

Et voilà... je vois vraiment pas ce qui occasionne ce ralentissement et cette quasi-perte de contrôle de souris... ;)

Modifié par N.tox, 24 juin 2007 - 18:04.

"E-A-Bug, It's it the game !"
Rejoignez le MJLA
"Mais on ne naît pas con quand même...On l'devient!...Par solidarité très certainement !"-Dieudonné-
"La mort, c'est un peu comme la connerie. Le mort, lui, il ne sait pas qu'il est mort... ce sont les autres qui sont tristes. Le con c'est pareil..." -Philippe Geluck-

#6 Nenfëa

Nenfëa

    Le poisson bavard de Kalendaar


Posté 15 juin 2007 - 04:30

Une petite critique : le "set timer to timer" dans le OnPCDrop ne sert à rien ! ;) (bon, ton problème ne vient clairement pas de là)

Dans ton script NTXVampiriSoulScriptAdd, dans le cas où NTX_Stade vaut zéro, rien n'arrête le script. C'est le même problème dans ton script NTXVampiriSoulScriptDefVar : quand le mois est différent de NTX_ActualMonth et qu'on n'a pas encore atteint le jour NTX_OrigDay, le script continue de tourner. Ton problème vient d'ailleurs peut-être de celui là : si tu en lances un toutes les 20 secondes, tu risques de te retrouver avec 50 scripts de ce type tournant en même temps ! ;)

De même, quand tu fais un Return dans un test "if ( bla )", pas la peine de mettre le code effectué sinon dans un "else". Par exemple, ton :
	if ( timer < 20 )
		return
	else
		[...]
	endif
peut être remplacé par :
	if ( timer < 20 )
		return
	endif
	[...]
Du fait du return, quand la condition est remplie, le code situé en dessous ne sera de toutes façons jamais executé. Celà dit, le gain de mémoire vive est microscopique, aussi ce n'est pas dramatique non plus ! :)

Voili voilà, je reste quand même sceptique sur la résolution de ton problème avec mes remarques. Si ce n'est effectivement pas le cas, des MessageBox en tête de chaque script risquent de s'imposer ! :D
Nenfëa

- Les yeux, Bouh, vise les yeux!
- Pouiiiiiic!!!

Le monde de Gilbertus devenu réalité : Kalendaar!
Il était une fois un site vachement bien avec plein de nistoires dessus... ah, vous la connaissez déjà ?!

Wiwi d'or 2006 du plus serviable ! Tadaaaaaaaa !

#7 N.tox

N.tox

Posté 15 juin 2007 - 14:35

Merci man :) ,
J'ai effectué tes corrections, corriger le problème des objts qui s'ajoutaient indéfiniment toutes les 20 secondes, rajouté des return à la suite de chaque stopscript, mais le problème est toujours là :twisted: ...j'vais faire c'que tu me conseille avec les messagebox...mais il faut savoir que l'obj "NTX_VampiriSoul" n'est nullepart dans le monde, je l'ajoute à la console, et avant meme que je l'ajoute, ça rame en intérieur (nouvelle partie ou pas)... si les messagebox confirment que tout marche au poil, alors j'aurais plus qu'à recréer un nouveau plugin (comme j'avais déja eu une première version de NTXVamiriSoulScript2 qui s'appelait NTXVampiriSoulScript (et ne ralentissait pas le jeu (plus simple aussi...)), et que je l'ai effaçé, y'a peut-être une sorte de "trace fantôme"...)... :angry:

Pour celles et ceux qui, sait-on jamais, se demandent pourquoi de return après des stopscript :

Citation

StopScript Delay
Don't count on stopScript stopping execution immediately. StopScript signals Morrowind not to run the global script again. But it does not stop the current execution of the script.

When calling stopScript from the script being stopped, either make sure that the remaining script is okay to be executed, or use a return statement to force the script to stop executing immediately.

http://www.uesp.net/...ipting_Pitfalls

Ok, problème résolu, un grand merci à toi Nenfëa, pour ta patience essentiellement :huhu: , et même si t'as pas trouvé la source du problème ( ça aurait été dur quand même sans don de voyance...), tu m'aura souligner quelques défauts et motiver le régime du script.


CAUSE DU PROBLEME : :twisted2:
J'avais donc créer un premier script attaché qui utilisait la condition if ( player->getitemcount NomDeL'Objet == 1 ) (il s'appellait NTXVampiriSoulScript), puis je l'ai testé in-game.
J'en ai ensuite crée un deuxième, qui n'était qu'une version évoluée du premier, et utilsait la même condition, il s'appelait NTXVampiriSoulScript2.
Au lieu d'effacer de suite NTXVampiriSoulScript, j'ai édité l'objet auquel il était attaché, et j'ai selectionné NTXVampiriSoulScript2; ensuite j'ai sauvegarder le plug-in, et lancer le jeu...retour au TESCS, et là seulement j'ai éffacé NTXVampiriSoulScript...Ouais, sauf qu'après y'a une sorte de fantôme du premier script qui ralentit le jeu en intérieur :assassin: ... (c'est sûrement pas le bon therme, mais c'est tout comme...)

SOLUTION : :wizard:
Ben si vous avez fait la même erreur que moi, faîtes une liste de tout ce que vous avez ajouter, copier vos script dans des fichiers textes et...re-créer le plug-in sous un nom différent (simple précaution)...

Sinon, pour éviter ce problème, ben...au lieu de créer un script attaché XXXX, en créer un autre XXXX2, et selectionner le 2 à la place du 1; faîtes une sauvegarde du 1 dans un fichier texte, et remplacez l'ancien code...

Il arrive aussi que même le fait de remplacer l'ancien code génère des problèmes donc, faites une copie de sauvegarde de votre plug-in, sous un nom différent, avant chaque modification (je sais c'est une règle élémentaire, mais j'ai toujours du mal à l'appliquer)...

ENIEME EDIT :Hum hum, En fait j'avais pas essayé de sauvegarder et de recharger ( en ayant quitter Morro ou non ). Eh ben le problème est toujours là... :cry:
Et là, la seule question que j'ai c'est : mais pourquoi !?! POUR-QUOI ce #!%ù@ de problème est toujours là !?!
:please: :help: Ch'uis en train de pèter un caaableuuu... :hunter:

FINAL EDIT :

Ca y'est! problème définitivement résolu! :yahoo:
Et devinez c'que c'était...quoi, vous voyez pas ? Allons, ça fait quand même partie des évidences....
Non ? Toujours pas ? Bon, ok... Patch offciel V2 signé UBISOFT :vampire: ! Vraiment, merci ubi, heureusemet que vous êtes là... Et dire que jusqu'a maintenant j'me disais : eh ben qu'est-ce qu'il a de pas bien ce patch... pour une fois y nous en ont fait un qui rajoute pas de bug (à défaut de les corriger...)... :laughing1: La bonne blague...

Modifié par N.tox, 17 juin 2007 - 23:59.

"E-A-Bug, It's it the game !"
Rejoignez le MJLA
"Mais on ne naît pas con quand même...On l'devient!...Par solidarité très certainement !"-Dieudonné-
"La mort, c'est un peu comme la connerie. Le mort, lui, il ne sait pas qu'il est mort... ce sont les autres qui sont tristes. Le con c'est pareil..." -Philippe Geluck-

#8 Gael Drake

Gael Drake

Posté 26 juin 2007 - 12:30

Bonjour à tous !

J'ai exactement le même problème avec Morrowind (ralentissement extrême du mouvement de la souris en intérieur), sauf que je ne suis absolument pas programmeur, je n'ai fait qu'installer le jeu et puis basta... Ce ralentissement n'a d'effet qu'en intérieur, et que sur les mouvements de la souris, lorsque je me déplace en latéral avec les touches directionnelles du clavier ça va (sauf que les touches d'intéraction sont difficillement accessibles, je doit appuyer plusieurs fois avant que leur effet n'agisse...). Et ce probleme n'intervient qu'après mon premier chargement rapide (tant que j'en ai pas fait, tout va bien).

Voila j'espère avoir été assez clair, je ne sais pas trop comment expliquer ce bug, car je ne peux me l'expliquer à moi-même...

Est-ce-quelqu'un pourrait m'aider ?

#9 N.tox

N.tox

Posté 26 juin 2007 - 12:50

Salut,
Alors voici plusieurs questions, as-tu des mod d'installés ? Mais Surtout, as-tu le patch officiel d'installé ? Et enfin, as-tu installé le PNO4 (Patch non-officel 4, disponible sur wiwiland) ?

EDIT: Bon, comme pour l'instant t'es pas là, je précise ma pensée. Je ne saurais trop t'expliquer ce bug moi non plus, mais apparement ton jeu à l'air d'être corrompu, c'était ce qui c'était apparement passé pour moi...Donc, fais une copies de tes sauvegardes, si tu as des mods d'installés, lis-bien les lisez-moi, assures-toi qu'aucun ne requiert une des extensions, désinstalle le jeu, réinstalle-le
Un fois ré-installé, télécharge le PNO4, n'installe en AUCUN CAS de patchs officiels :wizard: ... en ce qui concerne l'instalation du PNO regarde dans le Lisez-moi fourni dans l'archive.
Et remets tes mods... :jester:  (au lancement du jeu, va dans "fichier de données" et coche tes mods avant de valider)

Modifié par N.tox, 26 juin 2007 - 13:03.

"E-A-Bug, It's it the game !"
Rejoignez le MJLA
"Mais on ne naît pas con quand même...On l'devient!...Par solidarité très certainement !"-Dieudonné-
"La mort, c'est un peu comme la connerie. Le mort, lui, il ne sait pas qu'il est mort... ce sont les autres qui sont tristes. Le con c'est pareil..." -Philippe Geluck-

#10 Gael Drake

Gael Drake

Posté 26 juin 2007 - 13:05

Je n'ai aucun mod ni patch installé, le jeu est tel un nouveau né. :wizard:

EDIT: Ca fait déjà 4 fois que je désinstalle est réinstalle le jeu...

Modifié par Gael Drake, 26 juin 2007 - 13:08.


#11 N.tox

N.tox

Posté 26 juin 2007 - 13:52

Excuses-moi, je suis parti prendre mon t'i dej... :huhu:

Citation

le jeu est tel un nouveau né.

Hmmm....pas d'anciennes sauvegardes ?
Si non, est-ce la première fois que tu installe le jeu sur ton PC (hormis les récentes réinstallations évidemment...]?
Si oui ( à le dernière questions ), quelle est la configuration de ton PC ?
Si oui (à la première cette fois-ci...), effaces-les, ré-installes encore une fois etc etc...et surtout n'oublies pas d'installer le PNO ( même si je ne pense pas qu'il résole ton problème...)

EDIT : Encore une chose, une fois désinstallé, avant de ré-installer, va dans C:\Windows\ et execute Regedit.exe ( le nom peut varier légèrment )
Une fois le programme ouvert, dans la partie de gauche ( qui est un explorateur ), double-clic sur HKEY_LOCAL_MACHINE puis sur SOFTWARE Puis sur Bethesda Softworks, si tu n'as pas oblivion d'installé, sélectionne (simple clic gauche) le dossier Bethesda softworks, puis suprimmes-le. Si tu as installé Oblivion, Sélectionne alors Morrowind à la place de Betesda Softworks, et suprimmes-le... C'est ce que je fais après chaque désinstall d'un soft, beaucoup laisses des traces...

Modifié par N.tox, 26 juin 2007 - 14:09.

"E-A-Bug, It's it the game !"
Rejoignez le MJLA
"Mais on ne naît pas con quand même...On l'devient!...Par solidarité très certainement !"-Dieudonné-
"La mort, c'est un peu comme la connerie. Le mort, lui, il ne sait pas qu'il est mort... ce sont les autres qui sont tristes. Le con c'est pareil..." -Philippe Geluck-

#12 Gael Drake

Gael Drake

Posté 28 juin 2007 - 00:14

Désolé de répondre si tard mais les employeurs à auchan se foute de morrowind (les pauvres, ils savent pas ce qu'ils perdent :rolleyes: ).

Alors, j'ai déjà fini le jeu sur ce même pc (dont la config est la suivante : Sony 3 Ghz ; 512 Mo de Ram ; et la carte graphique ATI Radeon 9200 SERIES) il y a un an de ça, et c'est la première fois que j'ai ce problème...

Non je n'ai pas d'anciennes sauvegardes vu que je viens à peine de recommencer le jeu, le ralentissement intervient dès que j'effectue mon premier chargement rapide (et ceci est récurent à chaque nouvelle installation du jeu).

Sinon merci pour le tuyau pour désinstaller à 100% un jeu via la commande execute, ça sera bien utile :blush: .

Modifié par Gael Drake, 28 juin 2007 - 00:15.


#13 N.tox

N.tox

Posté 28 juin 2007 - 02:58

Citation

Désolé de répondre si tard mais les employeurs à auchan se foute de morrowind (les pauvres, ils savent pas ce qu'ils perdent  ).

C'est clair  :blush:

Citation

la config est la suivante : Sony 3 Ghz ; 512 Mo de Ram ; et la carte graphique ATI Radeon 9200 SERIES

Pas de problème de ce côté là... Ben si après ta désinstall t'as pas fait les manips dans le regedit comme je te l'ai dit, ben...fais-les, et ré-installes... Et si ça marche toujours pas, il reste toujours LA solution ultime... le formatage du disque dur  :rolleyes: .... et si après ça marche toujours pas, défonce ton PC à gros coup de lattes (fais gaffes quand même à pas abîmer ton CD de Morro...), et récupères le cuivre (si tu défonce disons heuuu...1000 ou 2000 PC, tu pourra en tirer 200 ou 300 euros) ;)
"E-A-Bug, It's it the game !"
Rejoignez le MJLA
"Mais on ne naît pas con quand même...On l'devient!...Par solidarité très certainement !"-Dieudonné-
"La mort, c'est un peu comme la connerie. Le mort, lui, il ne sait pas qu'il est mort... ce sont les autres qui sont tristes. Le con c'est pareil..." -Philippe Geluck-

#14 Gael Drake

Gael Drake

Posté 28 juin 2007 - 10:39

......heu.......je venait à peine de formater le disque dur..........j'avait un pc "tout neuf" quand j'ai installé morrowind........

Tu saurais ou je pourrai acheter une barre de fer ? :laughing1:

#15 N.tox

N.tox

Posté 28 juin 2007 - 13:09

Citation

Tu saurais ou je pourrai acheter une barre de fer ?  :)

Va la piquée sur un chantier... :rolleyes:

Citation

......heu.......je venait à peine de formater le disque dur..........j'avait un pc "tout neuf"   quand j'ai installé morrowind........
:angry:
Quand tu dis tout neuf, je suppose que c'est à cause du formatage....hmmmmmmm.....Ton disque dur est vieux ? Il se pourrait que t'ai quelques clutters défectueux (même si j'arrive ps trop à voir comment cela pourrait donné ton problème...)
Sinon, Dernière solution, moins onéreuse que le rachat d'un disque dur....J'hésite....Ca paraît dingue quand même...Bon! J'me lance! Essaye d'installer le patch officiel V2 en plus... Non je ne suis pas un hérétique :laughing1: ! A problème désespéré, solution désespérée.... :)
"E-A-Bug, It's it the game !"
Rejoignez le MJLA
"Mais on ne naît pas con quand même...On l'devient!...Par solidarité très certainement !"-Dieudonné-
"La mort, c'est un peu comme la connerie. Le mort, lui, il ne sait pas qu'il est mort... ce sont les autres qui sont tristes. Le con c'est pareil..." -Philippe Geluck-

#16 Keazen

Keazen

Posté 21 décembre 2007 - 20:59

Up ! (j'ai suivis ce link http://forum.wiwilan...howtopic=39837)

Je lis la soluce apporté par N.Tox et je suis perplexe..., pour ma part il ne s'agit pas du patch d'Ubi le responsable (je ne l'ai jamais installé et j'ai connu ce probléme), mais (d'aprés mes conclusions) de notre matos, plus précisement de notre processeur. Alors ma soluce à moi (que j'ai mis plus d'une semaine à trouver) là voila.

J'étais devant mon écran à observé mon PJ se mouvant dans la gélatine quand au 7éme jour (vers 15hrs ou 15hrs30), l'illumination !! On dirait que le jeu ouvre les cells interieures... (oui dis le) dans un processus différent... (#!;)%.) Don't Thread Load !!! (option figurant dans le ini que l'on peut traduire par "ne pas ouvrir les cells dans un processus différent"), je mets 1 en valeur et relance le jeu, Crash, le jeu refuse carrément de se lancer... Ah bon.

Seconde illumination !! Mes docs, outils, options des dossiers, affichage, Oui là ! Ouvrir les fenêtres des dossiers dans un processus différent (option permettant soi disant dixit Crosoft de rendre plus stable l'explorer, un proc gére la barre des tâches, un autre gére les dossiers), clic droit, gestionnaire des tâches et là normalement je devrais voir apparaitre 2 explorer.exe, ben non il n'y en a qu'un. Houlà je brûle ! Google => Xp "dual core", non, non, non, c'est quoi ça ? KB896256-v4-x86-FRA

Patch corrigeant des problémes de compatibilités XP / Dual core, j'installe la bête, je redémarre la machine, je croise les doigts trés fort, je lance Morrow... (Ouais ! Ouais ! Yaaaahaaaaaa !!).

Limpide, Nickel, Impec, Enfin. :lol:

Donc résumons installer la KB896256-v4-x86-FRA, mais auparavant il y a une petite manip à faire dans le registre (touche windows + R, taper regedit puis enter):

Spoiler

Maintenant la question que je pose à ceux qui ont connus ce probléme, c'est est-ce vous avez vous aussi un Dual Core ?

Modifié par Keazen, 22 décembre 2007 - 10:33.


#17 N.tox

N.tox

Posté 21 décembre 2007 - 22:03

le pc ou je jouais à Morro, c'était un multi-coeur ouais. Pour ma part, j'ai réussi en refesant l'esp fautif... Mais c'est sûrement la soluce à suivre pour Gael Drake. :)
"E-A-Bug, It's it the game !"
Rejoignez le MJLA
"Mais on ne naît pas con quand même...On l'devient!...Par solidarité très certainement !"-Dieudonné-
"La mort, c'est un peu comme la connerie. Le mort, lui, il ne sait pas qu'il est mort... ce sont les autres qui sont tristes. Le con c'est pareil..." -Philippe Geluck-




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)