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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

À propos du HeartBeat

Par Drakalien o Amlugaer le 19/10/2002 à 18:57:58 (#2364799)

Quelques questions (dont certaines qui ne trouveront pas réponse j'imagine) sur le heartbeat (hb):


1- Le hb est-il temporellement unifié ? C'est-à-dire, est-ce que le hb de chaque créature/objet/etc est lancé en pile en même temps (ce qui doit faire un gros bordel toutes les six secondes), ou bien est-ce que, tandis que le hb de telle créature est lancé à 16h43min12s, celui de telle autre créature peut l'être à 16h43min14s ?

2- Si l'évènement OnHeartBeat est vide de script, est-ce qu'il y a malgré tout un appel toutes les 6s ?

3- Est-ce qu'un script qui se rappelle lui-même à la fin de son exécution est aussi (plus) lourd pour le processeur que le hb?

4- Si dans le OnHeartBeat on met juste:
void main ()
{
if (machin machin)
ExecuteScript("truc", oObject);
}

, est-ce que ça bouffera moins que de mettre directement le script "truc" ?

5- Heu, ça doit être tout pour le moment ? *


PS: tiens c'est marrant, je viens de découvrir qu'on pouvait entrer des caractères zarbis: á æ Æ ¦ Þ Ø × ø wahou

*pas la peine de répondre à cette question

EDIT :: Ahem, ça ne marche pas très bien les balises html dans les titres de sujets... :bouffon:

Par miriandel le 19/10/2002 à 20:41:54 (#2365401)

1. Non. Il intervient 6 secondes après la création d'un objet et dépend donc du moment de cette création. Si tu peuples toute une zone d'un coup, évidement...

2. Non

3. Le heartbeat, c'est la mort des serveurs. Il faut utiliser les userdefined events avec des DelayCommand.

4. Voir 3 :)

5. Bonne soirée.

Par Drakalien o Amlugaer le 20/10/2002 à 12:18:02 (#2368046)

Ok, merci bien.

Heu mais sans hb, je ne vois pas comment déclencher une action, en fonction du jour ou de la nuit par exemple... (hm, si je vois à peu près après reflexion, mais j'apprécierais bien tout de même un peu d'éclaircissement)

Ah et puis je rajoute une question:
6- Qu'est-ce qui bouffe autant ? le hb en lui-même ou bien le fait qu'un script soit lancé très souvent ?

Voilà, et dernière précision: mon module est uniquement destiné au réseau local 100Mbit... donc c'est peut-être moins "la mort", non?

Par miriandel le 20/10/2002 à 14:58:10 (#2368957)

Le jour et la nuit ?
Et bien tu testes le résultat de la fontion GetTimeHour() qui te rend un entier entre 0 et 23.

6. Tout script pompe sur le CPU du serveur. La largeur de ta bande passante n'a rien à y voir, c'est le CPU du serveur qui trinque. Et exécuter 12 fois par minutes une série d'actions sur des centaines d'objets, en plus de gérer les actions des PJs, ça vient à bout des meilleurs serveurs...

Par Drakalien o Amlugaer le 20/10/2002 à 15:26:12 (#2369116)

Le jour et la nuit ?
Et bien tu testes le résultat de la fontion GetTimeHour() qui te rend un entier entre 0 et 23.

Oui, mais ça y'a effectivement pas besoin du hb, si tu appelles le script à un moment précis, seulement si on a un npc avec un script sur le OnSpawn qui lui dit de suivre bêtement ses waypoints sauf s'il fait nuit alors dans ce cas là il fait autre chose, ben la deuxième condition ne sera jamais vérifiée puisqu'il n'y a rien qui permet d'appeler le script à la tombée de la nuit, il est lancé une fois au spawn du npc et c'est tout... d'où l'utilité du hb.

PS: Au fait, merci au modo qui a changé le titre du sujet ;)

JOL Archives 1.0.1
@ JOL / JeuxOnLine