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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

A LA RECHERCHE DU TEMPS PERDU

Par Etienne le 29/10/2002 à 15:33:32 (#2432462)

Bonjour à tous.

Je travaille d'arrache pied à construire 4 variables PJ (PC) qui me permettent de gérer le repos.

J'ai definis un entier (int) ayant ce format AAMMDDHH qui definis une heure absolue. donc les variables int qui suivent possède ce format.

int iHeureDernierRepos;
int iHeureProchainReposPossible; // (iHeureDernierRepos + 16)
int iHeureAlerte; // (iHeureDernierRepos + 24)
int iHeureEcroulement; // (iHeureDernierRepos + CONstitution)

J'explique
Le personnage viens de se reposer, je note l'heure de son réveil et je calcul les autres variables.

je ne veux pas que le personnage spuisse se reposer dans les 16 prochaine heure, mais par contre je veux qu'il dorme ses 6 heures lorsque 24 heures sont passé sans sommeil. et il tiendra le coup jeuqu'a ce que 24 + sa constitution en heure soit passer, passé se délai je l'endort d'office pour six heure.

J'ai fais la fonction suivante pour gérer les heures :
// ========================================================================
// fonction qui va permettre de rajouter un nombre d'heure
// a une heure formater comme suit AAMMDDHH Qui est une varible personnage
// ou AA représente l'année
// ou MM représente le mois
// ou DD représente le jour
// ou HH représente l'heure
// =========================================================================

int AjouteHeure (int NbrHeure, int HeurePJ)
{ // debut de la fonction
// ====================
// declaration des variables decorticant l'Heure Global en entrée
int iAA = (HeurePJ) / 1000000 ;
int iMM = (HeurePJ - iAA * 1000000) / 10000 ;
int iDD = (HeurePJ - iAA * 1000000 - iMM * 10000) / 100 ;
int iHH = (HeurePJ - iAA * 1000000 - iMM * 10000 * iDD * 100) ;
// declaration des variables de calcul
int iAAr ;
int iMMr ;
int iDDr ;
int iHHr ;
int HeurePJr ;

iHHr = NbrHeure % 24;
iDDr = NbrHeure / 24;
// si le nombre d'heure ajoutee donne un résultat supérieur à 24
// -------------------------------------------------------------
if (iHHr + iHH > 24) {
iDDr = iDDr + 1;
iHHr = iHHr + iHH - 24;
}
// si le nombre de jour ajoutee donne un résultat supérieur à 28
// -------------------------------------------------------------
if (iDDr + iDD > 28) {
iMMr = iMMr + 1;
iDDr = iDDr + iDD - 28;
}
// si le nombre de mois ajoutee donne un résultat supérieur à 12
// -------------------------------------------------------------
if (iMMr + iMM > 12) {
iAAr = iAAr + 1;
iMMr = iMMr + iMM - 12;
}
HeurePJr = HeurePJ + (iAAr * 1000000) + (iMMr * 10000) + (iDDr * 100) + iHHr;
return HeurePJr;

// ==================
} // fin de la fonction
// ==================

Mais il me reste a répondre a quelques questions :

1- Suis-je obliger d'utiliser le oneHeartBeat ?
2- Comment synchorniser tous mes Personnages ?
3- quand un module n'est pas finis dans une soirée, si on reviens dessus est-ce que la sauvegarde a bien conserver toutes les variables pour reprendre la partie llà ou on en été.

Merci

Par mobidique le 29/10/2002 à 16:09:50 (#2432759)

Le dodo d'office en plein combat ça va plaire.
Un mois fait 28 jours dans NwN, c'est béton comme info ça ?

1°) je sais pas.
2°) tu fais un levier à actionner par les joueurs ou le DM et qui va initialiser les variables des joueurs.
3°)tu teste en utilisant printstring et en checkant ta log.

Par Etienne le 29/10/2002 à 16:27:09 (#2432877)

Provient du message de mobidique
Le dodo d'office en plein combat ça va plaire.
Un mois fait 28 jours dans NwN, c'est béton comme info ça ?


Oui, Mais ils auront eu des alertes avant. On part pas au combat fatigué par 35 heures de station debout. Ah mais.

Mais t'en fais pas dans mes scénario les personnages gagne plus d'esperience en discutant et résolvants des conflits sans combattre qu'en combatant.

Par mobidique le 29/10/2002 à 16:28:54 (#2432892)

ok et sinon ...

Provient du message de mobidique
Un mois fait 28 jours dans NwN, c'est béton comme info ça ?
? :confus: ?

Par Zariel le 29/10/2002 à 16:36:16 (#2432959)

je trouve que tu te prends la tête pour rien et surtout que ton projet manque cruellement de réalisme pour les joueurs. Comment obligé un personnage à dormir d'un seul coup ?(comment si il s'évanouissait)...

A moins que j'ai louper quelque chose ?

Par eMRaistlin le 29/10/2002 à 16:39:29 (#2432985)

Comment obligé un personnage à dormir d'un seul coup (comment si il s'évanouissait)...


En faisant un ForceRest... c'est pas vraiment le pb...


Le probleme, c'est que en fait, un joueur a qui tu force le rest peut tres bien faire un clearAllAction.

Le seul moyen que je vois de forcer le repos complet serait de coupler ceci avec le script de Mobidique pour enlever le controle d'un PC dans ce cas. (je met pas le lien, j'y fais reference de tet, et je n'ai plus le lien)...

^^

Par Zariel le 29/10/2002 à 17:01:29 (#2433199)

En fait, je ne posais pas la question :D

Je me demandais l'utiliter Role Play d'un tel script, en fait, un joueur peut se reposer quand ca lui plait (suffit de bien gerer les zones ou le repos est interdit). je trouve que c'est une sacrée contrainte dans le game play du module d'obliger un personnage à dormir à un moment précis. Dans les règles HCR, la gestion du repos est tout simplement géniale (sans compter qu'il faut se nourrir pour bien récupérer). Ce n'est qu'un avis personnel, bien sûr et tout le monde s'en fout :p

Par mobidique le 29/10/2002 à 17:04:17 (#2433228)

ok et sinon ...

Provient du message de mobidique
Un mois fait 28 jours dans NwN, c'est béton comme info ça ?
? :confus: ?

:(

Sinon ton repos de 6 heures ... tu vas pas le faire temp réél ... parce que ça fait 12 min de jeu tout de même ... et le temp de rest fait pas 12 min mais quelques secondes ... du coup faut faire avancer le temp de 6 heures sur l'horloge ... Pour ton info le temps idéal de sommeil est de 7 heures ça varie selon les individus, un peu moins un peu plus avec des cas exceptionnels qui dormiront idéalement 4 heures ou alors 10. Enfin je dis ça pour info comme ça ... Parce que j'ai les infos quoi ... pour dire que c'est variable quoi.

Par LeProctophantasmiste le 29/10/2002 à 17:55:19 (#2433786)

de la description de SetCalendar:


// Set the calendar to the specified date.
// - nYear should be from 0 to 32000 inclusive
// - nMonth should be from 1 to 12 inclusive
// - nDay should be from 1 to 28 inclusive


Ca a l'air béton :D
Faudrait changer le script de Fistandantilus (hop sans regarder)...

EDIT: j'ai édité ma version du script dans le fil pour qu'elle en tienne compte.

Par mobidique le 29/10/2002 à 22:11:22 (#2435965)

c'était bien ça que j'avais en tête ;)

Par Etienne le 30/10/2002 à 9:01:29 (#2437852)

Provient du message de Zariel
En fait, je ne posais pas la question :D

Je me demandais l'utiliter Role Play d'un tel script, en fait, un joueur peut se reposer quand ca lui plait (suffit de bien gerer les zones ou le repos est interdit). :p


Dans le principe j'aimias bien la fatigue de Baldur's gate. Au bout d'un certain nombre d'heure sans repos le personnage est fatigué. Il lui faut dormir. Et dormir prend du temps.

Pour mes modules :
Je ne sais pas encore si je devrais faire dormir tout le monde ensemble ou plutot chaque jour faire un rattrapage en temps de ce qui a été perdu par un repos.
Par exemple 4 PC sont ensemble dans mon aventure (au fait je n'ai absolument pas l'intention de faire du maxi PC, je vois les choses plus jdr autour d'une table avec quelques joueurs) chaque 24 heures je regarde le temps maximum de repos pris par un joueur. Et j'avance le temps. Je répéte pour l'ambiance et l'art de RACONTER UNE HISTOIRE le temps est important. Certains événements pourront être louppé par le joueur parce qu'il ne seront pas là au moment voulu.

Mais je n'ai pas encore fais tout mes choix et vos avis me sont d'un grand secours, même quand il croit que tout le monde s'en fou.

Par Stritis le 30/10/2002 à 9:12:40 (#2437899)

Moi j'ai le livret de BG2 et sur le temps il mette (je sais c'est pas la meme edition D&D,AD&D ect...)
"Une année compte 360 jours divise en 12 mois de 30 jours chacun"
voila:merci:

Par Zariel le 30/10/2002 à 9:40:29 (#2438053)

Provient du message de Etienne
même quand il croit que tout le monde s'en fou.


Arg, j'éspère que tu n'a pas pris ça pour toi quand j'ai dis que tout le monde s'en fous (je disais ça pour moi) Je respecte totalement ta vision de la partie Role Play même si elle peut paraitre "original" pour des joueurs débutants débarquant sur ton module ;)

Je n'irai jamais à l'encontre d'un DM qui privilégie l'histoire sur l'action et qui a le soucis du détails dans l'élaboration dans son module :)

Bref, j'éspère que tu trouveras cette solution qui t'échappe pour l'instant.

Par eMRaistlin le 30/10/2002 à 9:46:02 (#2438091)

même quand il croit que tout le monde s'en fou.


Je sais que je repond pas, alors que je post regulierement au autres, mais je lis attentivement...

C'est juste que je maitrise encore mal les process sur le temps de jeu, et donc je ne voudrait pas te raconter de la m****...

Mais si y'a qqchose que je puisse faire, je suis pas loin...

JOL Archives 1.0.1
@ JOL / JeuxOnLine