Login: Pass:
Amo



Inscrit le: 06 Juil 2006
Messages: 37
Localisation: Paris (pas loin)
Message Posté le: 8/03/2007 15:49 Sujet du message:
Mandred
Il y a des scripts qui existent et qui enregistrent le nombre de points de vie, les sorts et les dons restant à la déconnection afin de tout rétablir sur le personnage lors de sa reconnection et ainsi éviter ces déco/reco pour tricher.

Essaye de farfouiller sur le vault, tu devrais trouver ton bonheur Wink


Je pense que la solution est là, dans les scripts de NwN1. Je tacherais de me pencher dessus a l'occasion.
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger
Semcatala



Inscrit le: 08 Aoû 2005
Messages: 282
Message Posté le: 6/04/2007 0:57 Sujet du message:
La meilleure solution est apparement de mémoriser les points de vie avant la déco , et les remettre a l'iddentique quand le joueur revient , ainsi les deco/reco , ne servent plus a rien , sinon a mettre le joueur a l'abri.

Il n'a plus qu'a souhaiter que la bestiole qui l'a amoché ai disparu a son retour , parceque si il quitte avec 1 pts de vie , il reviendra avec 1pts de vie ! Laughing

Citation
c'est difficile de trouver une solution pas trop "chiante" pour l'utilisateur et le développeur

Sinon, faire une save toutes les 6s (dans le OnHeartBeat) c'est pas trop lourd ? Quelqu'un a testé ?


Et bien modder en voulant faire du sur mesure sans avoir a mettre en places des solutions plus ou moins longues a scripter et a tester , c'est plutôt un doux rêve innaccesible ! Wink Souvent c'est long et pénible , mais que de bonheur quand ça marche ENFIN ! Very Happy

Faire une save toutes les 6 secondes , c'est possible mais ensuite tout dépends de ton module et de ta maniére de gérer tes scripts et tes ressources.

En tout cas c'est tout a fait possible a faire ... crois moi , et en poussant la logique plus loin , tu peux faire bien mieux et bien plus ... ! Wink
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Rayek



Inscrit le: 30 Nov 2006
Messages: 134
Localisation: (30) Gard - Pont st Esprit
Message Posté le: 6/04/2007 10:07 Sujet du message:
Semcatala
La meilleure solution est apparement de mémoriser les points de vie avant la déco , et les remettre a l'iddentique quand le joueur revient , ainsi les deco/reco , ne servent plus a rien , sinon a mettre le joueur a l'abri.


Oui, c'est la meilleure solution, si le OnClientExit fonctionnait correctement ...


Semcatala
Il n'a plus qu'a souhaiter que la bestiole qui l'a amoché ai disparu a son retour , parceque si il quitte avec 1 pts de vie , il reviendra avec 1pts de vie ! Laughing


Bin, c'est quand même le but que le joueur "crève pitoyablement" devant le mobs Razz

Semcatala

Citation
c'est difficile de trouver une solution pas trop "chiante" pour l'utilisateur et le développeur

Sinon, faire une save toutes les 6s (dans le OnHeartBeat) c'est pas trop lourd ? Quelqu'un a testé ?


Et bien modder en voulant faire du sur mesure sans avoir a mettre en places des solutions plus ou moins longues a scripter et a tester , c'est plutôt un doux rêve innaccesible ! Wink Souvent c'est long et pénible , mais que de bonheur quand ça marche ENFIN ! Very Happy


"Lourd" était dans le sens de "lourd pour le module" et pas "lourd pour moi à scripter"

Semcatala
Faire une save toutes les 6 secondes , c'est possible mais ensuite tout dépends de ton module et de ta maniére de gérer tes scripts et tes ressources.

En tout cas c'est tout a fait possible a faire ... crois moi , et en poussant la logique plus loin , tu peux faire bien mieux et bien plus ... ! Wink


Je sais que c'est possible à faire, ce que je demandais, c'est si c'était lourd pour le serveur ou non ?
Vu que 6s c'est le temps d'un round, on sauvegarderai le joueur après ses actions de combats, donc au pire le joueur s'il déco/reco serait dans cette période la au niveau PV.

Enfin bon ca serait quand même mieux que cela soit géré directement par Obsidian ...
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Semcatala



Inscrit le: 08 Aoû 2005
Messages: 282
Message Posté le: 6/04/2007 11:04 Sujet du message:
Citation
Je sais que c'est possible à faire, ce que je demandais, c'est si c'était lourd pour le serveur ou non ?


Je pense que tu ne m'a pas entiérement lu , je t'ai répondu là :

Citation
Faire une save toutes les 6 secondes , c'est possible mais ensuite tout dépends de ton module et de ta maniére de gérer tes scripts et tes ressources.


En gros ça veut dire que si tu n'a pas déja consacré pas mal de ressources et d'autres ohb assez lourds , si tu met en place ce systéme , il fonctionne parfaitement sans faire lagger le serveur.

Il reste reste juste bien optimiser tes scripts pour éviter les boucles trop longues et les lignes de code inutiles.
Peerso sur mon module j'évite au maximum d'utiliser le ohb pour justement réserver des ressources exclusivement pour des scripts importants comme celui ci.
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Antilia
Administrateur


Inscrit le: 21 Juin 2005
Messages: 492
Message Posté le: 6/04/2007 15:41 Sujet du message:
On peut sauvegarder les PVs dans le OnClientExit, et ce même sur NWN2.
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Anthraxcite



Inscrit le: 26 Juil 2006
Messages: 94
Message Posté le: 6/04/2007 18:27 Sujet du message:
Oui j confirme, la position par contre, elle, n'est pas récupérable dans cet évènement.
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Nils Jah Sayri



Inscrit le: 30 Oct 2005
Messages: 366
Message Posté le: 7/04/2007 0:04 Sujet du message:
Anthraxcite
Nils Jah Sayri
Semcatala
Moi j'ai bien envie de mettre sur le " onenter " du module un script qui vire tous les sorts et qui ne laisse au joueur que 20% de ses points de vie.

Ca calmera ceux qui veulent faire des décos-reco pour tricher. Laughing


Parfois les déco reco ne sont pas volontaires tu sais.
C'est vrai parfois le joueur se fait éjecté sans le vouloir par un dm^^.


Oui, quand les MD verreux sont frustrés parce qu'ils n'ont plus d'arguments Smile
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Mythyzyn
Modérateur


Inscrit le: 22 Mai 2005
Messages: 416
Localisation: Lyncya
Message Posté le: 23/05/2007 6:39 Sujet du message:
Le problème est que c'est une variable persistance qui te permet de vérifier si le PJ est mort ou pas en entrant sur le module.

Donc il faut soit réservé une colonne dans ta BDD et utiliser nwnx4.

Soit il faut attendre que les Set/Get Campagin fonctionnent.

Soit utiliser un objet qui fait office de variable.

OnDeath = donner l'objet

OnRespawn = reprendre l'objet

OnEnter = vérifier si le PJ a l'objet
_________________
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Semcatala



Inscrit le: 08 Aoû 2005
Messages: 282
Message Posté le: 24/05/2007 17:11 Sujet du message:
Citation
Soit il faut attendre que les Set/Get Campagin fonctionnent


Ils fonctionnent depuis plusieurs mois , depuis le 1.03 je crois;

Je ne peux qu'en être sûr vu que j'utilise pas mal ces fonctions, et dés qu'elles sont absentes , mon module déconne a fond la caisse ! Confused

Je dois dire que c'est avec soulagement que j'ai vu ces corrections arriver.
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Mythyzyn
Modérateur


Inscrit le: 22 Mai 2005
Messages: 416
Localisation: Lyncya
Message Posté le: 25/05/2007 6:23 Sujet du message:
Arf mince Mr. Green j'avais zappé l'info, merci Wink

Ben dans ce cas, vaut mieux utiliser les Set/GetCampaign qu'un item Smile
_________________
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Mythyzyn
Modérateur


Inscrit le: 22 Mai 2005
Messages: 416
Localisation: Lyncya
Message Posté le: 25/05/2007 9:17 Sujet du message:
Voici un petit script qui permet de contrôler la mort d'un PJ à son retour en jeu suite à un reboot.

On Death :

Rajouter la ligne dans le script de l'évènement OnDeath du module

Code:

SetCampaignInt("mort","imort", 1, GetLastPlayerDied());


On Respawn :

Rajouter la ligne dans le script de l'évènement OnRespawn du module

Code:

SetCampaignInt("mort","imort", 0, GetLastRespawnButtonPresser());


On Enter :

Rajouter les lignes dans le script de l'évènement OnClientEnter du module

Code:


if (GetCampaignInt("mort", "imort", GetEnteringObject())!=0)
   { 
      ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDeath(), GetEnteringObject());
   }
   


J'ai fais ça sous le blocnote donc il est possible qu'il y ait quelques erreurs mais sinon ça devrait marcher Smile
_________________
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
nosfe_



Inscrit le: 30 Juin 2007
Messages: 4
Localisation: Belgium, liège
Message Posté le: 30/06/2007 8:43 Sujet du message:
Bonjour,

Désolé de ne pas avoir répondu plus tôt mais avec tout ces forum sur never2 dispersés, je m'y perds.

Bon, concernant le Déco/Reco, il faut savoir que selon mon étude sur les fichiers .BIC, il c'est avéré que :

Au moment de l'exportation d'un personnage, il y a bien l'ENSEMBLE des informations au moment exact de la déconnection, çàd l'état réel du perso, aussi bien au niveau Spell, Skill, Feat, HP etc... le fichier BIC est bien pertinant.

Je sais aussi que c'est au moment de la connection du joueur que le jeu ne va pas rechercher ces informations (spell, skill, hp, feat etc..) mais que quelques'un seulement. Il reset l'utilisation de ceux ci.
Pour moi c'est une erreur de codage, une ligne en trop du coté de chez obsidian, j'ai aussitot fait remonter cette info, en espérant qu'il la prenne en compte.

Cela évitera bien des systèmes, puisque tout est sur le perso déjà...pourquoi faire deux fois le même boulot, c'est ma devise Smile

Ha oui j'en ai la preuve bien sur de ce que j'avance Smile
Et ceux qui ont fait la campagne solo, m'ont dit que ce soucis n'était pas présent dans la solo..encore une façon de détourner du droit chemin les créateurs comme nous ^^

a+
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Antilia
Administrateur


Inscrit le: 21 Juin 2005
Messages: 492
Message Posté le: 30/06/2007 9:10 Sujet du message:

Cela est hérité de NWN1. Obisdian n'a fait que laisser comme tel.

A mon avis, vu que le jeu est principalement voué aux personnes joueant en solo, c'est sans doute pour éviter la mort du perso en perdant des effets qui donnent des PVs. Ce serait quelque chose d'agaçant pour un joueur solo, donc à vrai dire je pense pas que ce soit si involontaire que ça.

De plus, je crois que quand le personnage arrive sur un module, il se connecte d'abord en tant qu'entité à poil (à vérifier avec les appels des évènements modules), puis reçoit son équipement, si tu as dans ton équipement quelque chose donnant de la constitution cela pourrait te faire passer par la case mort pendant un court instant. Si cela était avéré je pense que le comportement actuel est de loin le meilleur.

Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
nosfe_



Inscrit le: 30 Juin 2007
Messages: 4
Localisation: Belgium, liège
Message Posté le: 30/06/2007 9:15 Sujet du message:
Alors là j'ai rien compris Shocked Antilia lol

D'accord pour le fait qu'ils ont gardés (presque toutes) les conneries du 1, mais de là à dire que c'est mieux de favorisé le système Déco/reco et de devoir tout faire sois même pour savoir combien a t'il utilisé des sorts etc.... alors que que tout est correct dans le fichier du personnage là je te suit pas.
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Antilia
Administrateur


Inscrit le: 21 Juin 2005
Messages: 492
Message Posté le: 30/06/2007 9:27 Sujet du message:

Il n'est tout simplement pas tolérable qu'un joueur se retrouve mort à la reco pour une raison X ou Y si il était en vie avant de déconnecter (moi je vois: Perte d'un effet donnant des PVs temporaires, pertes d'un bonus de constitution). Bioware a je pense fait ça pour éviter qu'un joueur tombe dans un de ces cas qui aurait tendance à grandement énerver le dit joueur.

C'est à mon avis une mesure afin d'éviter une floppée de cas chiants à traiter. Le joueur solo est Roi, c'est la règle chez Bioware/Obsidian.

Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Montrer les messages depuis:   

Page 2 sur 3
Sauter vers:  

 

Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum

Traduction par : phpBB-fr.com
Powered by phpBB © 2001, 2007 phpBB Group