Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Du nouveau pour les grosses saves !

Par Claedeus le 23/12/2002 à 17:38:11 (#2862897)

Bon , alors voila .. le problème des save de Mersifall semble 'presque' reglé

Mais il y a encore un soucis , voila le chmilblik :


La source des grosses saves venait du script de Polar qui gere le repop des monstres ainsi que des dizaines d'options etc etc
La codification de son script ( qui se place dans un objets de chaque zone ) fesait que les WP ( utiliser pour faire spawner un/plusieur monstres ) generaient des save allant juska 3 giga ( et qui duraient 5 min fesant crasher le server )

Bcp de joueurs ont utilisé ce script et ce trouvent donc 'piégés' ( comme moi hehe )
c'est pkoi kkun a decidé de 'modifier le script' ( car il semblerait que polar est abandonné )

et le resultat est pas mal .. les save marchent tres bien ( 22 mega pour un module de 15 meg et 8 sec la save )

Mais voila le hic ... il y a des erreurs et le jeu sacade enormement


La honnetement .. c est arrivé a un niveau ou mes competences en script sont totalement dépassées

voila les erreur a l entrée du module :

*Script Repophauteville, OID: 80000f58 Tag : invisible objet erreur : TOO MANY INSTRUCTIONS

*Script Repophauteville, OID: 8000053f Tag : invisible objet erreur : TOO MANY INSTRUCTIONS

*Script Repophauteville, OID: 800000c3 Tag : invisible objet erreur : TOO MANY INSTRUCTIONS

*Script Repophauteville, OID: 80000394 Tag : invisible objet erreur : TOO MANY INSTRUCTIONS

*Script Repophauteville, OID: 80000610 Tag : invisible objet erreur : TOO MANY INSTRUCTIONS

*Script Repophauteville, OID: 8000071c Tag : invisible objet erreur : TOO MANY INSTRUCTIONS

*Script Repophauteville, OID: 800009b2 Tag : invisible objet erreur : TOO MANY INSTRUCTIONS

****a noter que l erreur xxxxxxx53f se repete dans le temp

Bon , quelques petites précisions :

Script repophauteville : c est le nom du script qui a ete modifé afin de regler le prob des save

Tag : invisible objets : c est dans cette qu'il faut placer le script dans chake zone




Je ne sais pas si je peux poster les script ici car ils sont un peu long , mais sinon je les mail avec plaisir si kkun veux aider

Merci d avance .. si il vous manque des infos demander je posterais ca tres vite


Merci d avance .. c est la derniere ligne droite avant de regler definitivement ce prob de save qui gache la vie des joueurs ((

Par coolstar le 23/12/2002 à 17:49:00 (#2862971)

Hi Claedeus!


J'y ai déjà goûté moi aussi à ce genre de message gracieux...


*Script Repophauteville, OID: 80000f58 Tag : invisible objet erreur : TOO MANY INSTRUCTIONS


Cela signifie que tu demande à NWN (et donc au CPU!) une tâche qui passe en revu tellement d'éléments que ça sature complet, tout bonnement... :D

Le mieux encore et de voir ton Script... car il suffit parfois d'une seule ligne perfide (et non flagrante!) pour se retrouver ainsi dans la mélasse la plus soudaine (par un phénomène indéniable de Boucle "incontrôlée"!)... ;)


...

voila

Par Claedeus le 23/12/2002 à 17:55:05 (#2863022)

Impossible de le poster .. il fait 63000 caractère et le forum limite a 25000 (

je te le mail ?

Par coolstar le 23/12/2002 à 17:56:34 (#2863028)

Glurps!! :D



k! :hardos: :hardos: :hardos:

Par Ormus le 23/12/2002 à 18:03:14 (#2863082)

Au boulot Coolstar :D :mdr: :mdr:

Par Claedeus le 23/12/2002 à 23:24:01 (#2865582)

Sinon un dev de bioware ma dit qu'il y avais une solution de 'remplacement' pour mon soucis ..

en effet lorsqu'un joueur quit le jeu ca le save automatiquement , et il ma dit d'utiliser ca :

ExportAllCharacters()

est-ce corect ?? comment l utiliser ?

Par RAT le 24/12/2002 à 4:28:31 (#2867259)

Excuse moi Qestion comme cela. Ton script gère pour des sauvegardes persistantes????
les variables, la position du personnage etc.....?

Par coolstar le 24/12/2002 à 11:26:36 (#2868302)

Si je puis me permettre...


Que l'on me reprenne, que je ne me méprenne... une de causes majeures de ce type d'incident et donc la "Mise en boucle" in-di-gérable... en l'occurrence, j'avais rencontré le même type de prob en mettant un While avec un GetItemInSlot... pour le même résultat Apocalyptique!! Je ne dis pas que ça vient de là, mais sur un Script de 2071 Lignes ça peut être une piste à suivre, non?? Et, quoi qu'il en soit, partant de là j'ai pu dénombrer 11 While... 8 For... &
7 Switch... Avec une question au passage Claedeus?? Qu'en pense au fait celui qui est passé derrière Palor??? :D



A creuser donc! :maboule:

Par Claedeus le 24/12/2002 à 11:42:16 (#2868440)

A vrai dire coolstar, hier j ai discuter avec un americain qui utilisait ce script aussis et qui bien sur a eu le meme problem ..

Voi la ca solution :
1) oublier les save pure et dure
2) utiliser le script ExportAllcharacter
3) et donc la .. ya un avantage .. deja ce script (qui est une save ) n' a pas besoin de loading car il 'simule' le fait qu'un joueur quitte la partie
4) par contre .. comme il ne sagit pas de save pure .. il y a quelque choses manquante .. genre Les maps, variable etc etc

Dans mon cas .. les variables je m en fiche .. j en utilise tres peu .. et le fait qu'elles soient remises a zero tous les jours ( Mersifall reboot tous les matin a 8 heures ) n'est vraiment pas un soucis

en fait .. maintenant il me manque juste un script qui permetrait de garder la maps pour chaque joueurs ( genre le mettre sur un objets invible des joueurs avec le script , chose qui suffirait car le perso lui est maintenant auto save toutes les 3 min ( encore une fois sans temp de chargement ..

5) donc au final .. on arriverais a faire l equivalent d une save sans aucun temp de save .. juste avec des export , ce qui serait vraiment top

Voila le script des export chars ( qui sera utile a bcp de createurs je pense )

dans le onload :

void main()
{
DelayCommand(180.0, SignalEvent(OBJECT_SELF, EventUserDefined(200)));
}


dans le OnUserDefined :


void main()
{
switch (GetUserDefinedEventNumber())
{
case 200:
ExportAllCharacters();
DelayCommand(180.0, SignalEvent(OBJECT_SELF, EventUserDefined(200)));
break;
}
}



voila ) donc maintenant .. juste un script qui gere les maps .. et c est une save quasi identique sans temp de chargement !!

o boulot coolstar !!

*prend son fouet*
:ange:

Par coolstar le 24/12/2002 à 11:53:05 (#2868536)

Provient du message de Claedeus

*prend son fouet*

Mais te flagelles pas... c'est pas si grave hein?! :D

Par RAT le 24/12/2002 à 11:56:34 (#2868563)

L'idée de remplacer des sauvegardes bio par des ExportAll () est très intéressante je dois avouer. Cela permettrait de ne plus voir cet écran s'afficher.

Mais au sujet des variables persistantes et la position du personnage, je trouve cela très important pour un module, mais bon cela doit être different suivant le module.

JOL Archives 1.0.1
@ JOL / JeuxOnLine