Documentation - SERVEUR

Nombre de membres 


SERVEUR

DMFLAGS  -  par FSMOD

DMFLAGS

J'ai constaté que le CVAR dmflags qui fixe le caractère de certains événements, est souvent mal interprété par les managers de serveurs et les valeurs qu'on lui affecte sont souvent très fantaisistes, voire totalement erronées.

Le meilleur moyen de comprendre la fonction de dmflags est encore de recourir à un examen des sources. Dont acte.

Ainsi la biblothèque bg_public.h fixe les valeurs de dmflags comme suit:

code_flags.jpg

puce2.gifInterprétation:

  • dmflags 8   : Le joueur ne subira aucun dommage physique en touchant le sol après avoir sauté depuis un point élevé.
  • dmflags 16 : La valeur de FOV sera fixée à 90 et imposée aux joueurs sans qu'ils puissent en changer.
  • dmflags 32 : Les joueurs se déplaceront sans aucun bruit de pas. A noter que les sauts resteront toutefois audibles.

NOTA :Par défaut, dmflags est fixé à 0 ce qui implique que le capital santé d'un joueur qui se reçoit au sol après avoir sauté d'un point haut sera minoré d'une valeur proportionnelle à la hauteur du saut et à la gravité réglée sur le serveur (g_gravity).

IMPORTANT: Les entiers 8, 16 et 32 peuvent être combinés afin de panacher les différents effets.

Voici un tableau récapitulatif qui reprend toutes les valeurs et rien que les valeurs admises pour dmflags.

DMFLAGS BRUITS DE PAS DOMMAGES SAUT FOV FIXE A 90
0 OUI OUI NON
8 OUI NON NON
16 OUI OUI OUI
24 OUI NON OUI
32 NON OUI NON
40 NON NON NON
48 NON OUI OUI
56 NON NON OUI

Les CVAR dmflags seront de préférence fixés pour chaque map du fichier mapcycle.

puce2.gifPoint particulier

Le CVAR dmflags 16 qui impose un FOV fixe de 90 peut gêner certains joueurs qui trouvent dans d'autres valeurs, un meilleur confort de tir. Je rappelle que les valeurs autorisées sont comprises entre 80 et 100.

Je vous livre un petit truc qui pourra vous affranchir de cette restriction managériale, à condition que vous maitrisiez un peu le langage c.

Cela se passe côté client bien évidement.

   Fichier cg_view.c   

Dans la fonction CG_CalcFov identifiez ce groupe:

  else
    {
        // user selectable
        if ( cgs.dmflags & DF_FIXED_FOV )

        {
            // dmflag to prevent wide fov for all clients
            fov_x = 90;
        }
        else
        {
            fov_x = cg_fov.value;
            if ( fov_x < 1 )
            {
                fov_x = 1;
            }
            else if ( fov_x > 160 )
            {
                fov_x = 160;
            }
        }

Remplacez la valeur 90 par celle de votre choix entre 80 et 100.

Ou bien alors, si vous désirez pouvoir choisir votre FOV en cours de jeu, remplacez tout le texte précédent par celui-ci:

 else
    {

            fov_x = cg_fov.value;
            if ( fov_x < 1 )
            {
                fov_x = 1;
            }
            else if ( fov_x > 160 )
            {
                fov_x = 160;
            }

puce2.gif ATTENTION: Cette modification pourrait être interprétée comme un artifice de triche de la part du manager, car votre action ne s'inscrit pas vraiment dans l'optique de gestion de son serveur. frown

Do as you like !

DRAKKAR n'est pas aussi restrictif, quoique....... cool

-=eek=-

Publié le 17/06/2019 20:04   Toutes les pages   Prévisualiser...   Imprimer...   Haut
Rubriques

Vous êtes ici :   Accueil » Documentation » SERVEUR