Documentation
Toutes les pages
Player/Spectateur  -  par FSMOD
Sélection rapide Spectateur ou Player

Vous avez constaté sans peine que le passage en mode spectateur nécessitait 3 clics pour y parvenir, à savoir :
  • ECHAP
  • PLAYER
  • SPECTATE
Ainsi que le retour en mode player qui doit suive la même procédure soit::
  • ECHAP
  • PLAYER
  • AUTO JOIN ou BLUE TEAM ou RED TEAM
Jugeant ces actions quelque peu rébarbatives au regard du résultat souhaité, j'ai voulu les simplifier par l'usage de binds très simples.

Le but est de passer rapidement en mode Spectateur et de revenir aussi rapidement en mode Player, en utilisant la même touche.

On supposera bien entendu que vous avez créé depuis longtemps  dans votre répertoire MP,  un fichier autoexec.cfg, lequel aura pour but de lancer au démarrage de SOF2 tous les fichiers de configuration liés aux binds et aux CVARS divers. Je rappelle en effet que l'écriture de vos binds dans le fichier sof2mp.cfg ne relève pas d'un choix des plus judicieux.

Dans le répertoire MP ouvrez votre fichier de configuration (cfg.txt chez moi) et ajouter les lignes suivantes:

 
 
 // commutation spectateur / player *** Touche + clavier numérique

  bind KP_PLUS "vstr spec"
  set spec "vstr specon"
  set specon "exec spec.cfg; set spec vstr specoff"
  set specoff "exec play.cfg; set spec vstr specon"

Dans le répertoire MP créez les 2 fichiers suivants :
  • play.cfg
  • spec.cfg

Ouvrez le fichier play.cfg. Ecrire:

   cmd team p 

Sauvegardez

Ouvrez le fichier spec.cfg. Ecrire:

   cmd team s 

Sauvegardez

C'est terminé


Chaque fois que vous presserez la touche + du clavier numérique, vous passerez alternativement en mode spectateur ou player.

Vous pouvez bien sûr associer à ce bind n'importe quelle autre touche de votre choix.

IMPORTANT:  Il convient de respecter un laps de temps de 5 secondes à chaque nouvelle action sur la touche du bind.

-=smile=-
Publié le 05/02/2019 17:40  Prévisualiser...   Imprimer...   Haut
Divers  -  par FSMOD
LES BINDS - DIVERS



Changement de pseudo
 

 Une petite routine sympa qui permet de changer la couleur de son pseudo pendant le cours du jeu, simplement par des actions consécutives liées à une seule touche. On peut bien entendu changer la nature même du pseudo et passer de Hell Angel à Paradise Demon, mais je ne souscris pas à cette dernière pratique qui me paraît  incorrecte vis à vis des autres joueurs.

Quelques explications pour les curieux:

  1. les 2 // introduisent du texte et ne participent pas à l'exécution de la routine
  2. La fonction vstr introduit une variable nom et l'affecte à la touche n. Cette variable s'incrémente à chaque appui sur n et devient nom01, nom02, etc, pour revenir in fine à nom.
  3. Une première instruction est appliquée à la variable nom, elle fixe le premier seta name, prépare la seconde variable nom01 et l'affecte à la touche n. A ce stade, tant que la touche n'est pas pressée, rien ne se passe et le pseudo conserve le même aspect.
  4. Un nouvel appui sur n envoie l'instruction nom01, c'est à dire affiche les nouvelles couleurs du pseudo, prépare la variable suivante nom02 et l'affecte à la touche n.
  5. Et ainsi de suite jusqu'à la dernière ligne qui revient à l'instruction initiale et par conséquent l'affichage du premier pseudo. On aurait pu augmenter le nombre de cas, l'essentiel étant de toujours incrémenter la variable nom d'une unité et de clore la routine par nom qui fixe la fin de la boucle.

A noter que vous retrouverez souvent cette fonction vstr dans les binds élaborés.

Je précise que ROCMOD d'origine fixe une temporisation de 5 sec entre chaque affichage. Pour ce qui concerne ma version FS, j'ai recodé la tempo à 10 sec.


 


  //  *** initialisation du nom ***

seta name "HellAngel"

// **** changement de couleurs dans le nom *** touche n ***

  bind n "vstr nom"

set nom     "seta name ^1H^7e^1l^7l^E^1A^7n^1g^7e^1l ; bind n vstr nom01"

set nom01 "seta name ^LHell^yAn^Lgel ; bind n vstr nom02"

set nom02 "seta name ^SHe^2ll^S^NAngel ; bind n vstr nom03"

set nom03 "seta name ^)He^*ll^)An^*gel ; bind n vstr nom04"

set nom04 "seta name ^GHell^BAn^Kgel ; bind n vstr nom"
 


-=ooOoo=-
 

Changement d'identité
 

 Au même titre que le bind précédent on peut aussi changer son identité au cours du jeu et revêtir différents uniformes en fonction des théatres opérationnels.

L'instruction echo permet d'afficher un texte de votre choix à l'écran et ainsi de constater votre changement d'uniforme.
 


 

 

// **** changement de tenue *** touche i ***

 

bind i "vstr tenue"

set tenue     "seta identity meninblack1;echo MEN IN BLACK; bind i vstr tenue01"

set tenue01 "seta identity snowsoldier1;echo NEIGE; bind i vstr tenue02"

set tenue02 "seta identity NPC_Marine_Pilot/skip;echo PILOTE; bind i vstr tenue03"

set tenue03 "seta identity female_civilian;echo CIVILE; bind i vstr tenue"
 



-=ooOoo=-

Sélection rapide de la grenade


Dans cet exemple l'appui sur la touche x permet de saisir rapidement la grenade puis de la lancer à l'aide du bouton gauche de la souris


// Grenade  ****  touche x ****

 

bind x "vstr grenade"

set grenade "vstr act1"

 

set act1 "weapon 8;wait 3;+attack;-attack;+attack;bind MOUSE1 vstr act2"

set act2 "+attack;-attack;weaplast;bind x vstr grenade;bind MOUSE1 +attack"
 


-=ooOoo=-

 

Enregistrement d'une démo

 

Lorsque vous appuyez sur la touche p l'enregistrement de la démo demarre, un message "Enregistrement en cours" s'affiche en haut à gauche de l'écran  et un compteur vous renseigne sur le poids de l'enregistrement. Un nouvel appui sur p arrête le processus et un message "Fin d'enregistrement" s'inscrit à l'écran.

Quelques précisions sur les démos. Elles permettent avant tout, lorsqu'une suspiscion de triche plane sur un joueur, d'enregistrer toutes ses actions et de les analyser par la suite en relisant la démo. Les démos sont mémorisées dans le répertoire DEMOS de votre mode de jeu, ROCMOD par exemple. Si ce répertoire n'existe pas, il sera automatiquement créé dès que débutera l'enregistrement. Les fichier de démo sont nommés de cette façon:  demo0000.dm_2004 pour le premier, demo0001.dm_2004 pour le deuxième, etc.. Vous pouvez renommer ces fichiers à condition de garder impérativement l'extension dm_2004.

Pour lire une démo, c'est un petit plus fastidieux. Il convient de connaître préalablement le nom de la démo par un visu du contenu du répertoire démo, puis de la lancer.

Lancement de la démo demo0000.dm_2004: ouvrir la console et taper demo demo0000.dm_2004, validez et regardez........

........à moins que vous n'utilisiez ma version ROCMOD qui propose, d'un simple clic, la liste de toutes les démos enregistrées avec lecture directe de celle qui fera l'objet de votre choix !


 

Avant connexion à un serveur Pendant la connexion à un serveur

  

demo.jpg

demo2.jpg


 


//  **** Enregistrement demo **** touche p
 

 bind p "vstr demo"

set demo "vstr demoon"

set demoon "g_synchronousclients 1; wait; record; wait; g_synchronousclients 0; echo Enregistrement en cours.;set demo vstr demooff"

set demooff "stoprecord; echo Fin Enregistrement.; set demo vstr demoon"
 


 

-=ooOoo=-
 

Spectateur 1ère personne

 

Par défaut, lorsque vous passez en mode spectateur vous êtes à la 3ème personne c'est a dire que vous suivez le sujet et vous le voyez en pied. Il est plus avantageux de le suivre en mode 1ère personne car vous vous retrouvez dans sa peau et vous voyez ce qu'il voit au travers de sa mire.

Le bind est très simple. Un appui sur la touche ENTER et vous passez en mode 1ère personne. Un nouvel appui sur ENTER et vous repasserez en mode 3ème personne.
 


// *** spectateur 1ère personne *** touche ENTER

 

bind ENTER +use
 


 -=ooOoo=-
 

Grand saut
 

Permet d'effectuer un saut bondissant par appui sur la barre ESPACE. Une conjugaison avec la touche affectée à la genuflexion offre des soubresauts impressionnants! De votre dextérité dépendront les résultats.

 


   // *** grand saut *** touche ESPACE

 

bind SPACE "vstr saut"

set saut "+strafe; +moveup; wait 4; -strafe; -moveup; wait 4; +strafe; +movedown; wait 4; -strafe; -movedown"


  -=ooOoo=-
 

 Mode Sniper

 

Après avoir sélectionné votre arme de sniper en entrée de jeu, l'appui sur la touche SUPPR (DEL) vous fait passer en mode sniper:

  • Affichage MODE SNIPER sur l'écran
  • Un appui sur la molette amène la visée lunette
  • Rechargement touche r
  • Un nouvel appui sur la molette repasse en mode vue hors lunette.

Un nouvel appui sur la touche SUPPR vous fait repasser en mode normal:

  • Affichage MODE NORMAL sur l'écran
  • Rechargement arme en appuyant sur la molette souris
  • Arme secondaire touche Z


   // ***  sniper on/off  *** touche SUPPR (DEL)

 

bind DEL "vstr sniper00"

 

set sniper00 "bind MOUSE3 +altattack;bind r +reload;echo MODE SNIPER;bind DEL vstr sniper01"

set sniper01 "bind MOUSE3 +reload;echo MODE NORMAL;bind w +altattack;bind DEL vstr sniper00"
 

-=ooOoo=-


 

Rotation arme primaire / secondaire

 

Pour ceux qui privilégient le choix de ces 2 armes, voici un bind simple qui permet à l'aide de la molette de passer rapidement de l'une à l'autre. Une rotation avant sélectionne l'arme secondaire, une rotation arrière sélectionne l'arme primaire. L'avantage de ce bind est que, dans le feu de l'action, on peut donner des impulsions molette très rapides sans avoir à doser le nombre de clics qui, dans un paramétrage standard, feraient dérouler toutes les armes et grenades de la panoplie.


 


   // *** Sélection armes prim/sec *** molette souris ***

 

bind MWHEELDOWN "vstr primaire"

bind MWHEELUP "vstr secondaire"

 

set primaire "weaptoggle primaire"

set secondaire "weaptoggle secondaire"
 

-=ooOoo=-
 

Rotation arme primaire / secondaire avec choix crosshair

 

On reprend le bind précédent et l'on introduit les paramétres propres au crosshair. Comme précédement une rotation molette vers l'avant sélectionne l'arme secondaire. Si l'on continue de tourner la molette vers l'avant, à chaque nouveau clic correspondra une nouvelle configuration du crosshair. On peut choisir sa nature, sa couleur et sa taille, ou même les 3 à la fois. Une rotation inverse de la molette vers l'arrière provoque le changement d'arme avec laquelle pour chaque clic dans le même sens on peut également associer des nouveaux réglages crosshair.

Je précise les paramétres:

  • cg_drawcrosshair : nature du crosshair
  • cg_crosshairsize : taille du crosshair
  • cg_crosshairRGBA : couleur du crosshair

Concernant la nature du crosshair, voici les codes numériques standards:


        : pas de crosshair
         : point
         : croix inscrite dans un cercle
         3  : croix
         4  : croix inscrite dans un carré

  
Le choix et la conjugaison de tous ces paramétres vous appartient et il vous faudra trouver ce qui vous convient le mieux. L'exemple présenté ci-dessous est très fantaisiste mais son choix a pour but de faciliter la compréhension.


   //  *** Sélection armes prim/sec *** molette souris *** choix crosshair ***

 

  bind mwheeldown "vstr toggle1"
  bind mwheelup "vstr toggle2"
  set toggle1 "vstr primary"
  set toggle2 "vstr secondary"

  set primary "cg_crosshairsize 28; cg_drawcrosshair 3; cg_crosshairRGBA 0,1,0,1; weaptoggle primary; set toggle1 vstr primary2"
  set primary2 "cg_crosshairsize 28; cg_drawcrosshair 3; cg_crosshairRGBA 1,1,0,1; weaptoggle primary; set toggle1 vstr primary3"
  set primary3 "cg_crosshairsize 28; cg_drawcrosshair 3; cg_crosshairRGBA 1,1,1,1; weaptoggle primary; set toggle1 vstr primary4"
  set primary4 "cg_crosshairsize 28; cg_drawcrosshair 3; cg_crosshairRGBA 1,0,0,1; weaptoggle primary; set toggle1 vstr primary"

  set secondary "cg_crosshairsize 20; cg_drawCrosshair 2; cg_crosshairRGBA 0,1,0,1; weaptoggle secondary; set toggle2 vstr secondary2"
  set secondary2 "cg_crosshairsize 20; cg_drawCrosshair 2; cg_crosshairRGBA 1,1,0,1; weaptoggle secondary; set toggle2 vstr secondary"


 

-=ooOoo=-
 

Capture d'écran (screenshot)

 

Ce bind permet de sauvegarder un instantané d'une scène de jeu. Les images en extension jpg sont stockées dans le répertoire SCREENSHOTS, lui même placé dans le répertoire de votre mode, ROCMOD par exemple. Le répertoire SCREENSHOTS n'existe pas à l'origine de votre jeu mais il se crée de lui-même à votre première image capturée.

Remarque sur les instructions suivantes:

        cg_drawgun 0  :  efface l'arme
        cg_drawgun 1  :  restitue l'arme
 


Ces dernières ne sont pas obligatoires et peuvent être omises. Leur but est d'effacer momentanément l'arme de l'image pendant sa capture puis de vous la remettre entre les mains pour la suite du jeu. J'ai conçu ce bind car on voit mieux les détails de l'image sans cette arme qui les cache au premier plan. C'est vous qui voyez.

 


   // *** screenshot *** touche 5 pavé num ***

 

bind KP_5 "vstr capture"

set capture "cg_drawgun 0;wait 10;screenshot;wait 50;cg_drawgun 1"
 

Si vous souhaitez que votre arme reste visible sur l'image mémorisée, votre bind se réduira à la simple expression suivante:

 


  bind KP_5 "screenshot"
 



 -=ooOoo=-

 

Plusieurs sons avec une seule touche
 

Les touches disponibles du clavier, au regard des multiples messages sonores proposés par les packs, ne permettent pas de binder tous les sons que l'on voudrait. Voici deux exemples de bind qui offrent la possibilité de générer des sons, classés par affinités, à l'aide d'une seule touche. Les numéros des exemples correspondent à mes propres binds afférents à un pack particulier. Il vous appartient comme toujours, de sélectionner vos propres numéros en fonction du serveur ou du clan de votre choix.

1er exemple qui permet à chaque appui sur la touche 1 ou 9 de sortir des sons respectivement sur le thème de bienvenue ou celui du départ du jeu


   // *** touches numériques 1 pour bienvenue, 9 pour quitter ***

 

bind 1 "vstr go00"

bind 9 "vstr out00"

 

// messages de bienvenue

 

set go00 "say @145; bind 1 vstr go01"

set go01 "say @430; bind 1 vstr go02"

set go02 "say @602; bind 1 vstr go03"

set go03 "say @610; bind 1 vstr go00"

 

// messages pour quitter

 

set out00 "say @234; bind 9 vstr out01"

set out01 "say @412; bind 9 vstr out02"

set out02 "say @450; bind 9 vstr out00"
 


2ème exemple qui permet à chaque appui sur une des 4 flèches du pavé de direction, de sortir des sons divers, classés sur un même thème.

IMPORTANT : les fichiers cfg sont limités en taille. Il convient en conséquence de ne pas dépasser un certain nombre de lignes "set" sinon le fichier cfg ne sera pas reconnu au lancement par l'autoexec.


 


   // *** flèches haut-bas-droite-gauche ***

 

bind leftarrow "vstr A00"     

bind uparrow "vstr B00"      

bind rightarrow "vstr C00"   

bind downarrow "vstr D00"  

 

// *** expressions diverses *** flèche GAUCHE ***

 

set A00 "say @84; bind leftarrow vstr A01"    

set A01 "say @126; bind leftarrow vstr A02"    

set A02 "say @128; bind leftarrow vstr A03"  

set A03 "say @138; bind leftarrow vstr A04"  

set A04 "say @141; bind leftarrow vstr A05"   

set A05 "say @144; bind leftarrow vstr A06"   

set A06 "say @148; bind leftarrow vstr A07"   

set A07 "say @177; bind leftarrow vstr A08"   

set A08 "say @184; bind leftarrow vstr A09"   

set A09 "say @187; bind leftarrow vstr A00"   

 

 

// *** j'ai tué *** flèche HAUT ***

 

set B00 "say @88; bind uparrow vstr B01"   

set B01 "say @127; bind uparrow vstr B02"    

set B02 "say @129; bind uparrow vstr B03"    

set B03 "say @131; bind uparrow vstr B04"    

set B04 "say @135; bind uparrow vstr B05"    

set B05 "say @137; bind uparrow vstr B06"   

set B06 "say @143; bind uparrow vstr B07"   

set B07 "say @158; bind uparrow vstr B08"   

set B08 "say @163; bind uparrow vstr B09"

set B09 "say @189; bind uparrow vstr B00"

 

 

// *** extraits musicaux ou de films *** flèche DROITE ***

 

set C00 "say @156; bind rightarrow vstr C01"   

set C01 "say @179; bind rightarrow vstr C02"   

set C02 "say @225; bind rightarrow vstr C03"   

set C03 "say @260; bind rightarrow vstr C04"   

set C04 "say @278; bind rightarrow vstr C05"   

set C05 "say @331; bind rightarrow vstr C06"

set C06 "say @364; bind rightarrow vstr C07"

set C07 "say @371; bind rightarrow vstr C08"

set C08 "say @404; bind rightarrow vstr C09"

set C09 "say @407; bind rightarrow vstr C00"

 

 

// *** on m'a tué *** flèche BAS ***

 

set D00 "say @89; bind downarrow vstr D01"   

set D01 "say @151; bind downarrow vstr D02"   

set D02 "say @160; bind downarrow vstr D03"   

set D03 "say @178; bind downarrow vstr D04"   

set D04 "say @207; bind downarrow vstr D05"   

set D05 "say @208; bind downarrow vstr D06"

set D06 "say @228; bind downarrow vstr D07"

set D07 "say @238; bind downarrow vstr D08"

set D08 "say @240; bind downarrow vstr D09"

set D09 "say @243; bind downarrow vstr D00"


 

-=ooOoo=-


 

Conservation des GOGGLES après un RESPAWN


 

Certains joueurs privilégient systématiquement l'usage des GOGGLES (lunettes infrarouges)
Toutefois après chaque respawn (réapparition sur la carte après une défaite) les GOGGLES ne sont plus engagées et il est donc nécessaire de les réactiver par le bind dédié.
Pour gagner du temps, il suffit d'appuyer sur la touche g (ou toute autre touche à votre convenance) pour conserver les GOGGLES aux respawns suivants.
Pour les désactiver un nouvel appui sur g les annulera au prochain respawn.

A noter que pour les désactiver immédiatement il suffira de presser 3 fois sur la touche g.

Il va de soit que les GOGGLES devront être sélectionnées préalablement dans l'interface OUTFITTINGS en début de jeu.


 


  //*** Persistance GOGGLES *** Touche g

  bind g "vstr gog"
  set gog "+goggles;bind g vstr gog2;echo;echo;echo ^3GOGGLES ^$ENABLED"
  set gog2 "-goggles;bind g vstr gog;echo;echo;echo ^3GOGGLES ^$DISABLED NEXT RESPAWN"


 

 
 

-=ooOoo=-


 

Sélection rapide du réglage GAMMA

 

Certaines maps sombres obligent parfois à augmenter la luminosité et le contraste du moniteur. La commande habituelle passe par une manoeuvre assez longue qui consiste à cliquer sur ECHAP, puis OPTIONS, puis MISC SETUP et enfin manoeuvrer le curseur BRIGHTNESS.

Pourquoi se compliquer la vie alors que quelques  binds pourraient très facilement vous la simplifier.
Le CVAR concerné est r_gamma. Sa valeur par défaut est 1 qui correspond à un écran sombre et sa valeur max est 2 qui correspond à un couple luminosité/contraste optimum.

Bien entendu ce CVAR n'agit qu'au cours du jeu. Si vous désirez d'autres valeurs luminosité/contraste il faudra agir sur les réglages de votre moniteur, sans oublier qu'une mise à jour des pilotes de votre carte graphique est un réflexe non négligeable que beaucoup oublient.


Je propose 2 méthodes

puce1.gif Une touche

 


  //*** Réglage GAMMA *** touche g
 

 bind g "vstr gam"
 set gam     "r_gamma 2.0;bind g vstr gam2"
 set gam2   "r_gamma 1.9;bind g vstr gam3"
 set gam3   "r_gamma 1.8;bind g vstr gam4"
 set gam4   "r_gamma 1.7;bind g vstr gam5"
 set gam5   "r_gamma 1.6;bind g vstr gam6"
 set gam6   "r_gamma 1.5;bind g vstr gam7"
 set gam7   "r_gamma 1.4;bind g vstr gam8"
 set gam8   "r_gamma 1.3;bind g vstr gam9"
 set gam9   "r_gamma 1.2;bind g vstr gam10"
 set gam10 "r_gamma 1.1;bind g vstr gam11"
 set gam11 "r_gamma 1.0;bind g vstr gam"

 



 

A chaque appui sur la touche g, le CVAR r_gamma prendra une valeur différente de 2 à 1 par paliers d'un dizième.


puce1.gif Deux touches



  //*** Réglage GAMMA ***
  //*** touche - gamma mini
  //*** touche + gamma maxi
 

 bind KP_MINUS   "r_gamma 1.6"
 bind KP_PLUS     "r_gamma 2.0"

 

Un appui sur la touche - du pavé numérique appliquera la valeur habituelle.
Un appui sur la touche + du pavé numérique appliquera la valeur maximum.

La valeur habituelle, c'est à dire celle que avez choisi pour une optimation de la vidéo sur la plupart des maps, peut être récupérée simplement dans votre fichier sof2mp.cfg du mode considéré.

Cherchez la ligne : seta r_gamma "1.571428"


La valeur 1.571428 est la dernière enregistrée dans le fichier sof2mp.cfg, suite à votre action sur le curseur BRIGHTNESS. Elle comporte 6 décimales. Vous pouvez très bien ne conserver qu'une seule décimale que vous arrondirez par défaut ou par excès selon votre convenance. dans ce cas d'exemple ci-dessus, une valeur retenue de 1.6 est tout a fait convenable.
Votre acuité visuelle même juvénile, ne fera guère la différence au rang des centièmes.

-=cool=-

Publié le 05/02/2019 17:34  Prévisualiser...   Imprimer...   Haut
Les sons  -  par FSMOD
LES BINDS - SONS



Les sons, bruitages et musiques sont encapsulés dans le fichier musicandsounds.pk3. Côté client, c'est-à-dire vous-même, ce fichier est présent dans le répertoire BASE de SOF2. Côté serveur, ce fichier se trouve dans le répertoire propre au jeu (ROCMOD, XSMOD..).

Un fichier voicecmds.cfg uniquement utilisé par le serveur, est nécessaire à la configuration des commandes vocales. Vous avez compris que les fichiers sons (pk3) doivent être absolument identiques entre client et serveur afin que les commandes restituent correctement le son et éventuellement le texte associé et qu'ils soient audibles et visibles par tous les joueurs.
La plupart des clans proposent leur propre pack sons et vous invitent à les installer dans votre répertoire BASE. Ne perdez pas de vue que ce même pack est installé côté serveur.

Je ne déroge pas à cette règle en ayant moi-même élaboré un pack disponible dans la rubrique téléchargements.

Voici une partie des sons et messages standards délivrés par musicandsounds.pk3 et codifiés dans voicecmds.cfg :

1 sound "sound/radio/male/affirm.mp3"
1 text "Affirmative !"

2 sound "sound/radio/male/neg.mp3"
2 text "Negative !"

3 sound "sound/npc/col10/scientist06/01yessir.mp3"
3 text "Yes Sir !"

4 sound "sound/npc/col10/guard/02yessir.mp3"
4 text "Yes Sir !"

5 sound "sound/npc/col3/blakely/02yessir.mp3"
5 text "Yes Sir !"

6 sound "sound/npc/col8/washington/02yessir.mp3"
6 text "Yes Sir !"

7 sound "sound/radio/male/yes_sir.mp3"
7 text "Yes Sir !"

8 sound "sound/npc/col8/blakely/yeah.mp3"
8 text "Yeah !"

9 sound "sound/npc/col8/peterson/yeah.mp3"
9 text "Yeah !"

10 sound "sound/npc/col10/scientist02/02laugh.mp3"
10 text "LooOL !"

11 sound "sound/npc/air1/guard02/laughs.mp3"
11 text "LooOL !"

12 sound "sound/npc/civ/english/male/hello.mp3"
12 text "Hello !"

ooooooo/oooooooo

78 sound "sound/enemy/english/male/medic_medic.mp3"
78 text "Medic, Medic !"

79 sound "sound/enemy/english/male/slaughtered.mp3"
79 text "We're Getting Slaughtered !"

80 sound "sound/enemy/english/male/plug_him.mp3"
80 text "Plug Him !"

81 sound "sound/enemy/english/male/stop.mp3"
81 text "Stop !"

82 sound "sound/enemy/english/male/success.mp3"
82 text "Success !"

83 sound "sound/enemy/english/male/youre_not_supposed.mp3"
83 text "You're Not Supposed To Be Here !"



Tous les textes ci-dessus sont dépourvus de codes couleurs pour vous faciliter la lecture.

Vous remarquez que chaque son mp3 est associé à un texte simple et repéré par un numéro. Considérons le numéro 82. Pour envoyer le son et le texte il suffit de presser la touche t, configurée par défaut pour ouvrir la fonction chat, puis taper après l'invite say: @ suivi du numéro choisi. say82.jpg
Après validation le message apparaîtra en bas de l'écran, précédé du pseudo qui l'a émis et le son sera diffusé. Tous les joueurs de la partie en cours verront et entendront le message. 82son.jpg


Les tokens


Avant d'aborder les binds dédiés aux sons, on va parler des tokens. Le token est un élément de code que l'on ajoute à une ligne de texte et qui permet d'afficher différents paramètres. Il se compose du symbole dièse # suivi d'une lettre en minuscule ou majuscule. Voici un tableau qui résume les principaux tokens.

Tokens Affichage
#n Votre pseudo
#h Votre santé en valeur numérique
#a Votre armure en valeur numérique
#b Votre armure en bargraph
#B Votre santé en bargraph
#d Le nom du joueur qui vient de vous tuer
#t Le nom du joueur que vous venez de tuer
#r Le nom de l'arme qui vient de vous tuer
#l ou #L Votre emplacement actuel sur la map
#g Le nom de votre grenade
#e Le nom de votre équipement actuel (armure, jumelles thermiques ou vision nuit)
#p Le nom de votre arme principale
#s Le nom de votre arme secondaire
#i Le nom de votre arme de poing
#w Le nom de l'arme que vous utilisez en ce moment
#u La partie de votre corps qui a été touchée par l'adversaire
#v La partie du corps de votre adversaire que vous avez touchée
#z Le nom du dernier joueur connecté
# id Le nom du joueur désigné par son ID (l'ID est visible dans le tableau des scores (touche TAB)

Les tokens comme les textes ou les  sons peuvent être saisis en mode chat. Un exemple simple, après l'invite say vous tapez la ligne suivante : ARMURE #b SANTE #B vous obtenez ci-contre : sant.jpg
Un dernier exemple, après avoir noté l'ID numéro 6 du joueur BOT Camelo, tapez la ligne suivante: #6 arrete de tricher , vous obtenez ci-contre: cheat.jpg

On va maintenant passer aux binds pour récapituler tout ce qui précède. Dans le tableau ci-dessous figurent des exemples de binds qui associent des sons, des textes et des tokens. Il reprend suffisamment d'éléments pour que vous puissiez vous-même, créer vos binds. Pour le moment les textes sont dépourvus de couleurs, hormis celles fixées par le serveur dans le fichier voicecmds.cfg.

Pour la compréhension on dira que j'utilise un MP5, que je me trouve dans Main Street, que j'ai tué SARKO, mais que c'est SEGO qui m'a tué et que BORLO vient juste d'entrer dans le jeu.

Respectez la syntaxe des binds et surtout la mise entre guillemets de la ligne.

Bind inscrit dans sof2mp.cfg Son diffusé Affichage
bind F1   "say @12  Good day"  hello.mp3 Hello Good day
bind F2   "say @16 #d" niceshot.mp3 Nice shot SEGO
bind F3   "say @24 #t" yeahthanks.mp3 Yeah thanks SARKO
bind F4   "say @10" 02laugh.mp3 lol
bind F5   "say @42 #d I use #w" careful.mp3 Be careful SEGO I use MP5
bind F6   "say @77"  hey.mp3 Hey!
bind F7   "say @56 #t" excuse_me.mp3 Excuse me SARKO
bind F8   "say @81 Game closed - BB" stop.mp3 Stop Game closed - BB
bind F9   "say @68 #t" bang.mp3 Bang! You're dead SARKO
bind F10 "say @8 I'm happy !!" yeah.mp3 Yeah! I'm happy
bind F11 "say @1" affirm.mp3 Affirmative!
bind F12 "say @2" neg.mp3 Negative!
bind 1 "say @13 #z" good_day.mp3 Good day BORLO
bind 2 "say @9 I'am here: #L" yeah.mp3 Yeah I'm here: Main Street


Il est possible de créer des binds avec les sons du fichier voicecmds.cfg mais associés à vos propres textes et non pas à ceux fixés par le fichier lui-même. Voir en rubrique "Couleurs".
-=mad=-
Publié le 05/02/2019 17:31  Prévisualiser...   Imprimer...   Haut
Les couleurs  -  par FSMOD
LES BINDS - COULEURS

Les textes diffusés dans les binds ainsi que les pseudos peuvent être agrémentés de différentes couleurs. Pour ce faire il suffit d'apposer avant la lettre ou le groupe de lettres un caractère du clavier, lui même précédé du symbole ^.

Le tableau ci-contre représente les couleurs obtenues en fonction des caractères saisis. A remarquer que certains caractères dispensent des couleurs identiques. Préférez toutefois les lettres et chiffres aux autres caractères, lesquels créent parfois des surprises.
Afin d'éviter des saisies fastidieuses on peut avoir recours à des petits logiciels.

Pour ma part mes préférences vont à Infrequents Names Editor

pavcouleurs.jpg


Le pseudo est renseigné dans le fichier sof2mp.cfg. Il est appelé par la commande seta name et doit être placé entre guillemets. Considérons le joueur Hell Angel sous différents aspects de couleurs.

Saisi dans sof2mp.cfg Affichage dans le jeu
   seta name "Hell Angel" hellblanc.jpg
   seta name "^nHel^El An^Kgel" hellvert.jpg
   seta name "^1H^7e^1l^7l^E ^1A^7n^1g^7e^1l" hellrb.jpg

Quant aux textes, ils seront simplement élaborés sur le même principe que le pseudo mais il seront simplement "bindés" à une touche. Comme nous l'avons vu dans l'onglet sons, ils pourront être ajoutés à un son et éventuellement pourront appeler un token.

A ce propos je rappelle que les couleurs fixées dans le texte qui accompagne le son dans le fichier voicecmds.cfg côté serveur, ne peuvent être modifiées par le joueur. Par contre il vous est toujours possible de rajouter du texte avec des couleurs de votre choix. Reprenons le groupe son/texte numéro 8 du fichier voicecmds.cfg et considérons que l'Admin du serveur ait mis de la couleur dans le texte comme suit:

 

 8 sound "sound/npc/col8/blakely/yeah.mp3"

 8 text "^9Y^yeah!"
 


Si vous avez bindé le numéro 8 par la touche F1 dont je rappelle la syntaxe:

bind F1 "say @8"

Lorsque vous presserez la touche F1 le texte suivant apparaîtra:

yeah.jpg


Si vous modifiez votre bind en ajoutant votre propre texte en couleurs de la manière suivante:

bind F1 "say @8   ^TGO^zOD ^:GA^kM^7E"

En pressant la touche F1 voila ce qui apparaîtra à l'écran:

gg.jpg


Si vous ne voulez pas afficher les textes du fichier voicecmds.cfg mais afficher votre propre texte tout en générant le son, il suffit de remplacer l'arobas par le "et" commercial (&) ou esperluette pour les puristes.

bind F1 "say &8   ^1 I am Happy"

En pressant la touche F1 le son "Yeah!" sera émis et voilà ce qui s'affichera:

modgg.jpg




Réticule de visée (crosshair)

Le crosshair par défaut est blanc. Pour changer sa couleur, il suffit d'ouvrir le fichier sof2mp.cfg et de repérer la ligne suivante:

seta cg_crosshairRGBA "1,1,1,1"


Les 4 caractères numériques définissent la couleur. Ils peuvent prendre des valeurs décimales. Plus précisément les 3 premiers sont affectés à la couleur et le dernier fixe le degré de transparence (0 = transparent, 1 = opaque). Malgré l'appellation RGBA, il s'agit en fait du code de couleurs RWX.

Le tableau ci-dessous résume quelques nuances qui devraient largement suffire pour agrémenter votre crosshair . Nous verrons dans un autre volet le moyen de changer cette couleur rapidement par un bind.

Attention aux points et aux virgules !

 1,1,0,1  0,0,1,1  0,1,1,1  1,1,1,1
 1,0.8,0,1  0, 0.8, 0,1  0,0.8,1,1  0,0,0,1
 1,0.6,0,1  0.2,0.6,0,1  0,0.6,1,1  1,0,1,1
 1,0.4,0,1  0.2,0.4,0,1  0,0.4,1,1  1,0,0.6,1
   1,0.2,0,1  0.2,0.2,0,1  0,0.2,1,1  1,0,0.4,1
 1,0,0,1  0,0.2,0,1  0,0,1,1  1,0,0.2,1
 0.8,0,0,1  0,0.2,0.2,1  0,0,0.6,1  0.6,0,0.4,1


A noter également la ligne suivante:

seta cg_crosshairFriendRGBA "1,0,0,1"

qui fixe la couleur du crosshair lorsque votre ligne de mire passe sur un équipier en mode team. Elle est paramétrée ici en rouge par défaut.

 
-=smile=-
Publié le 05/02/2019 17:30  Prévisualiser...   Imprimer...   Haut
Configuration  -  par FSMOD

LES BINDS - CONFIGURATION



Tous les paramètres et instructions de configuration sont inscrits le fichier sof2mp.cfg. Ces instructions sont appelées des CVAR. On y retrouve notamment tous vos binds. Il existe un fichier sof2mp.cfg dans chaque répertoire dédié au mode de jeu comme ROCMOD, GOLDRUSH ou XSMOD par exemple. Il existe également un fichier sof2mp.cfg dans le répertoire MP. Ce dernier fichier peut-être considéré comme un générique qui n'a pas une grande importance.

Tous les CVAR peuvent être bien évidemment modifiés à votre gré et selon vos préférences, toutefois si l'on regarde l'entête d'un fichier sof2mp.cfg on lit ceci:


// generated by soldier of fortune 2, do not modify.
 


Et c'est là tout le problème car ce fichier étant généré et modifié par le programme lui même, il apparaît difficile au gré des connexions, de conserver ses paramètres. Les joueurs qui débutent ont tous été confrontés à ce constat cruel de voir disparaître les réglages qu'ils avaient eu tant de mal à élaborer.

En conséquence il est nécessaire de conserver ses précieux réglages sur un ou plusieurs fichiers annexes qui seront appelés soit automatiquement au lancement du jeu, soit manuellement pendant le jeu.

METHODE

C'est la mienne mais je ne vous l'impose pas. wink

Le but est très simple, il consiste à extraire tous les settings enregistrés dans le fichier sof2mp.cfg et dont vous êtes satisfait de leurs réglages et de les dispatcher dans des fichiers distincts qui ne seront pas altérés par le jeu lui-même.

Récupération des informations d'un fichier sof2mp.cfg valide
Il y a 2 possibilités:

puce1.gif Si vous lancez initialement le jeu en cliquant sur un raccourci bureau créé à partir de l'exécutable sof2mp.exe, vous accéderez à un mode basique. Pour l'heure il n'est pas encore question de mode spécifique comme ROCMOD ou autre. Les premiers réglages que vous allez effectuer avant de vous connecter à un serveur seront enregistrés dans le fichier sof2mp.cfg du répertoire MP.


puce1.gif Si vous avez déjà utilisé un quelconque mode et que vos paramètres de jeu vous semblent satisfaisants, vous pouvez alors récupérer le fichier sof2mp.cfg dans le répertoire du mode considéré.



EXECUTION

Comme je l'ai dit plus haut il convient maintenant de différencier certaines catégories de binds et de les regrouper par affinité dans des fichiers distincts. Pourquoi, mais simplement parce que la création de
fichiers propres à chacun de ses groupes permet une structuration plus claire et plus efficace des différents paramètres et permet leur mise à jour ou leur modification plus aisément. Car vous avez sans doute remarqué en ouvrant sof2mp.cfg,  que vous vous trouviez devant un beau fouillis d'instructions pêle-mêle.

Le plus judicieux est de di
fférencier, les binds d'une part et les autres CVAR. Je dirai même qu'il convient également de différencier les binds sons des autres binds. 
 

  • Ouvrir le répertoire MP
  • Créer un fichier cvar.txt. A noter que vous pouvez appeler ce fichier autrement à la condition absolue que son extension soit txt.
  • A partir du fichier sof2mp.cfg que vous avez récupéré, copier tous les CVAR autres que ceux commençant par bind et les coller dans le le nouveau fichier cvar.txt. sauvegardez et fermez-le.
  • Toujours dans le répertoire MP, créez un fichier binds.txt. Dans sof2mp.cfg repérez tous les binds affectés aux mouvements et actions, les copier et les coller dans le nouveau fichier binds.txt. Sauvegardez et fermez.
  • Pour terminer, toujours dans le répertoire MP, créez un fichier sonsA.txt. Dans sof2mp.cfg copiez les binds dédiés aux sons et les coller dans le nouveau fichier sonsA.txt. On suppose à ce stade que vous ne fréquentez qu'un seul serveur A et que vous avez bindé ses sons propres. Si vous jouez sur d'autres serveurs et utilisez leur sons il vous faudra créer autant de fichiers sons que de serveurs. On pourra trouver alors dans le répertoire MP des fichiers sonsB.txt, sonsC.txt etc... (pour les serveurs B, C etc).


Création du fichier autoexec.cfg

  • Ouvrir le répertoire MP

  • Créez le fichier autoexec.cfg. Respectez cette syntaxe tant pour le nom que pour l'extension.
  • Ouvrir autoexec.cfg.
  • Inscrire tous les fichiers précédemment créés.


RECAPITULATIF

Voici ci-contre une vue sur les fichiers créés dans le répertoire MP.

Les 3 fichiers sons correspondent à 3 serveurs dont on aura bien entendu chargé les packs sons correspondants dans le répertoire BASE.

A noter le fichier sof2key qui renferme le CD KEY de votre jeu et qui se trouve toujours dans le répertoire MP
mp.jpg

Et voici ci-contre ce que nous avons écrit dans le fichier autoexec.cfg.

Je rappelle que les 2 // introduisent simplement un commentaire.

Ici les binds sons relatifs au serveur A sont lancés au démarrage
autoexec.jpg

Raccourci bureau de SOF2
 

Afin de compléter les paramètres de lancement du jeu il est nécessaire de fournir une information supplémentaire au raccourci de SOF2 que vous avez placé sur votre bureau. On admet toujours que vos serveurs préférés travaillent en ROCMOD.

Faîtes un clic droit sur le raccourci. A l'ouverture du menu cliquez sur Propriétés.

Dans la fenêtre Cible, après sof2mp.exe laissez un espace et tapez +set fs_game rocmod +exec autoexec.cfg
 

props.jpg

Analysons le lancement
 

Lorsque vous allez cliquer sur l'icone du raccourci de SOF, le lancement de l'exécutable sof2mp.exe va prendre uniquement en charge le fichier sof2mp.cfg du répertoire ROCMOD.

Le programme pointera ensuite vers le fichier autoexec.cfg et lancera par la commande exec, tous les fichiers qu'il contient. Ainsi seront lancés binds.txt, cvar.txt et sonsA.txt. Toutes les instructions de ses 3 fichiers seront inscrites dans le fichier sof2mp.cfg. A remarquer que si sof2mp.cfg avait absent au démarrage, il aurait été automatiquement créé.

Vous comprenez aisément maintenant qu'il est désormais possible de modifier n'importe quelle instruction dans un fichier texte pour qu'au prochain lancement de SOF, cette instruction soit mémorisée dans sof2mp.cfg. Et même si cette config est altérée au cours du jeu, vous la retrouverez intacte au lancement suivant.

Bien évidemment un seul fichier sons a été lancé car contrairement aux autres binds il est la spécificité d'un seul serveur, le A dans cet exemple. Si vous désirez changer de serveur et utiliser les binds sons du serveur B, il y a 2 solutions:

  •   soit vous quittez SOF. Vous ouvrez votre fichier autoexec.cfg et vous écrivez à la place de exec sonsA.txt, la ligne exec sonsB.txt. Vous validez et quittez. Puis relancez SOF et vous vous connectez au serveur B.
  •   soit pendant le jeu sur le serveur B, vous ouvrez votre console et vous tapez exec sonsB.txt et vous validez. Vous bénéficiez immédiatement de vos binds sons.


La deuxième méthode est bien sûr la plus judicieuse.

Vous trouverez dans un autre volet, mes fichiers principaux de configuration qui finalisent sof2mp.cfg.
 

CAS PARTICULIER


Si vous avez installé d'autres modes, comme GOLDRUSH ou XSMOD, pour le lancement d'un mode choisi vous avez  2 possibilités:
   
     -1)   Soit créer un raccourci sur le bureau pour chaque mode. Dans les propriétés du raccourci, il suffira d'ajouter après SoF2MP.exe, la ligne set fs_game goldrush
+exec autoexec.cfg ou set fs_game xsmod +exec autoexec.cfg précédée d'un espace.

      -2)   Soit créer un seul raccourci dans les propriétés duquel seul l'exécutable SoF2MP.exe apparaîtra sans suffixe set fs_game. Au lancement du jeu cliquer sur le bouton Mods et choisir dans la fenêtre suivante le mode souhaité. Dans ce cas précis c'est le fichier générique sof2mp.cfg du répertoire MP qui sera sollicité en premier. Le choix du mode orientera ensuite le pointeur vers le sof2mp.cfg du mode correspondant.

mod.jpg

choixmod.jpg

-=biggrin=-

Publié le 05/02/2019 17:29  Prévisualiser...   Imprimer...   Haut
Généralités  -  par FSMOD
LES BINDS - GENERALITES

Bind est un terme qui revient souvent dans SOF2, aussi convient-il de bien saisir son utilité.

Lorsque vous avez paramétré la première fois votre jeu à l'aide des interfaces de commande, vous avez créé sans le savoir, des binds, autrement dit, vous avez affecté à une touche du clavier une action bien précise. Ces paramétres ont été inscrits dans le fichier sof2mp.cfg du répertoire MP à défaut des répertoires propres aux modes.

 
controls.jpg

 
 
Ainsi dans l'extrait du fichier sof2mp.cfg ci-contre, on voit  que l'action de se déplacer vers la gauche a été affectée à la touche a, l'action de s'accroupir à la touche c, etc.. A noter que les fichiers cfg s'ouvrent et se modifient avec un simple éditeur de texte.

   bind a "+moveleft"
   bind c "+movedown"
   bind d "+moveright"
   bind e "+leanright"
   bind q "+leanleft"
   bind r  "+reload"

 


REMARQUE IMPORTANTE

Les commandes de SOF2 sont basées sur le clavier QWERTY (anglais). En l'occurrence, dans l'exemple précédent, le déplacement latéral gauche, affecté dans le programme à la touche A, correspond en fait à la touche Q du clavier AZERTY (français). Eh oui, les anglo-saxons nous compliquent la tâche.  Pour vous aider voici 2 vues comparatives des 2 types de clavier. Vous jouez sur le clavier de gauche, vous penserez bind sur le clavier de droite. Pratiquement toutes les touches peuvent être bindées.

azerty.jpg  qwerty.jpg


Voici les principales touches qu'il est possible pour la plupart de binder ainsi que leur code pour le fichier sof2mp.cfg.

 Touches de fonctions  Pavé numérique
 Touche Code  Touche  Code
 F1 à F12  F1 à F12  0  KP_INS
 1  KP_END
Touches numériques   2  KP_DOWNARROW
 Touche  Code  3  KP_PGDN
 0 à 9 0 à 9  4 KP_LEFTARROW
 5  KP_5
  Lettres  6  KP_RIGHTARROW
 Touche  Code  7  KP_HOME
 A q  8  KP_UPARROW
 B  b  9  KP_PGUP
 C  c  /  KP_SLASH
 D  d  *  *
 E  e  -  KP_MINUS
 F  f  + KP_PLUS
 G  g  .  KP_DEL
 H  h  Entr  KP_ENTER
 I  i
J j Navigation 
K k  Touche Code
 L  l  Inser INS
 M  SEMICOLON  Orig  HOME
 N  n  Pg.Préc  PGUP
 O  o PG.Suiv  PGDN
 P  p  Fin  END
 Q  a  Suppr  DEL
 R  r
 S  s Souris
 T  t  Touche Code
 U  u  Bouton Gauche MOUSE1
 V  v Bouton Droit  MOUSE2
 W  z Appui Roulette  MOUSE3
 X  x  Roulette UP MWHEELUP
 Y  y Roulette DOWN  MWHEELDOWN
 Z  w NB: Certaines souris possèdent des boutons supplémentaires qui prendront les codes suivants: MOUSE4, MOUSE5, etc....
  
  Autres
 Touche Code
Ret.Arr  BACKSPACE Direction
Maj  SHIFT Touche Code
Alt  ALT  Flèche haut UPARROW
 Ctrl  CTRL Flèche bas DOWNARROW
 Barre Espace  SPACE Flèche gauche LEFTARROW
 Entr  ENTER Flèche droite  RIGHTARROW 


Il convient de noter les points suivants:

  • Un seul code est délivré par touche quel que soit l'état de CAPSLOCK. Toutefois, en fonction chat, les chiffres ne peuvent être affichés que par l'action de SHIFT + touche numérique.
  • Les touches Entr du clavier principal et du pavé numérique ne délivrent pas le même code.
  • La touche ECHAP est réservée à la sortie de jeu.
  • La touche ² est réservée à l'ouverture/fermeture de la console.
  • La touche Alt Gr a la même action que Ctrl (code de sortie CTRL).
  • La touche * est essentiellement réservée au type de tir, BURST, SINGLE et AUTO.

Binds multiples


Le paramétrage par le biais de l'interface n'attribue qu'une action et une seule à une touche. Il est toutefois possible d'effectuer plusieurs actions avec une seule touche. Ainsi dans l'exemple suivant, la touche f permet de s'abaisser et de se pencher à droite en même temps et la touche s de s'abaisser et de se pencher à gauche en même temps. Notez la syntaxe, les instructions doivent être séparées par un point-virgule et mises entre guillemets.
 
 
  bind f  "+movedown;+leanright"
  bind s  "+movedown;+leanleft"

 

Pour obtenir un tel résultat il est donc nécessaire d'ouvrir le fichier sof2mp.cfg et d'entrer ces codes manuellement. Nous verrons dans un autre sujet, qu'il est plus judicieux et parfois obligatoire, d'écrire les binds dans un fichier annexe. Des essais m'ont permis d'appréhender les limites de ces actions conjuguées qui parfois, ne donnent pas l'efficacité attendue en terme de vélocité.

Considérons l'exemple suivant:

 
 
  bind e "+moveright;+leanright"
  bind q "+moveleft;+leanleft"

 

Quand on appuie sur la touche e on se déplace à droite tout en s'inclinant du même côté. La même association pour la gauche est affectée à la touche q. Toutefois le déplacement latéral est beaucoup moins rapide que si la seule action moveright ou moveleft avait été programmée. Vous objecterez que c'est normal car courir de côté tout en se penchant n'est pas une opération facile même pour un nommé MULLINS LOL ! En tout cas l'effet d'esquive qui découle de cette action peut en surprendre plus d'un.

Un autre exemple:

 
 
  bind e "+moveright;+leanright;+movedown"
  bind q "+moveleft;+leanleft;+movedown"

 

Ca se complique! Aux actions précédentes on ajoute maintenant celle de s'abaisser. La vitesse de ce mouvement global est quasiment la même que précédemment mais l'esquive est encore meilleure. On s'arrêtera à 3 actions de mouvements simultanés car au-delà le résultat n'est plus guère intéressant.

Sans entrer dans les arcanes de la programmation, le signe plus devant chaque instruction veut dire que tant que la touche est pressée le mouvement continue. Ainsi dans l'exemple absurde qui suit, rien ne se passe attendu que les 2 actions s'annulent:

 
 
  bind e "+movedown;-movedown"

 

Si l'on introduit une constante de temps wait entre 2 actions il peut se passer des choses surprenantes.

Si l'on considère l'exemple qui suit:


 
 
  bind e "+movedown;wait 10;-movedown"
 

le mouvement va se décomposer comme suit:

abaissement puis attente de 10 millisecondes puis relèvement. La touche e étant toujours pressée, l'action va reprendre depuis le début, abaissement puis attente et c'est là que ca va se compliquer car la constante wait va être multipliée par le temps durant lequel la touche e sera pressée. Cela va se traduire par un blocage en position abaissée même si l'on relache la pression sur e. Ce blocage s'annulera quand le produit temporel sera écoulé. Un choix subtil des actions et des constantes de temps permet certains résultats sympas comme le grand saut par exemple.

Pour les non-anglicistes voici la traduction des principales actions:

 
speed courir
back reculer
moveleft déplacement latéral gauche
moveright déplacement latéral droit
moveup sauter
movedown s'accroupir
leanleft se pencher à gauche
leanright se pencher à droite
reload recharger
attack tirer
altattack utilisation secondaire arme (lunette, baïonnette, coup de crosse)
forward avancer
screenshot capture écran


Un dernier truc...

Il existe une manière rapide de créer ou modifier un bind pendant le jeu. Il suffit d'ouvrir la console par la touche ² et de saisir le code. Dans l'exemple ci-contre j'ai saisi la ligne suivante:

bind q +moveleft

L'action moveleft a été affectée à la touche a du clavier. La ligne de code a été inscrite dans le fichier sof2mp.cfg.

Les binds multiples ne sont pas possibles par cette méthode.
bindconsole.jpg

-=mad=-

Publié le 05/02/2019 17:28  Prévisualiser...   Imprimer...   Haut
Principe  -  par FSMOD
 RMG

Il existe une option intéressante sur SOF2 qui est la génération aléatoire de map ou Random Map Generated.
Elle a connu ses heures de gloire sous la version 1.01 de SOF mais avec l'avènement de la version gold ou 1.03 il semble qu'elle soit un peu tombée dans l'oubli ou dédaignée par de nombreux sysops.


Principe:

A l'opposé des maps traditionnelles standards ou autres qui doivent êtres identiques et installées à la fois sur le serveur et chez le client, les maps RMG n'existent pas physiquement tant sur le serveur que chez le client.
Leur création est générée par le serveur lui-même grâce a 4 paramètres fixés dans le fichier mapcycle ou éventuellement saisis par l'admin dans la ligne de commande en mode console. Une même map générée plusieurs fois ne présentera pas le même aspect.
En fait le programme crée un terrain aléatoire avec creux et bosses et y place au hasard des batisses, arbres,rochers, clôtures, murs, caisses etc..., et les bots bien entendu. Pour ces derniers il convient de préciser qu'ils restent fixes compte tenu de leurs points de respawn totalement aléatoires.
 

Les paramètres sont codés de 1 à 4 comme suit :

  • 1 - Taille de la map ( small ou medium)
  • 2 - Situation géographique (jungle, hills, snowy ou desert)
  • 3 - Moment (morning, day ou night)
  • 4 - Seed : il s'agit d'un groupe de lettres et de chiffres fantaisistes qui introduisent un algorithme dans le calcul pouvant aboutir à des résultats surprenants. Ces paramètres ne sont pas obligatoires.


Seule contrainte, le serveur passe automatiquement en mode PURE lorsque le mode RMG est activé.
Cela signifie que le client doit avoir la même version que le serveur, en l'occurrence les mêmes fichiers PK3.

Les maps générées nécessitent de bonnes cartes graphiques. Toutefois leur sollicitation est atténuée dans la mesure où les algorithmes de résolution introduisent  un effet brouillard qui permet de limiter les calculs de rendu, en estompant l'horizon.

Si vous avez une RAM suffisante sur votre ordi n'hésitez pas à augmenter la taille allouée à SOF2.
Pour ce faire, dans votre fichier de configuration (sof2mp.cfg ou tout autre fichier personnalisé), recherchez la ligne:

seta com_hunkMegs "256"

et affectez lui une valeur de 256 voire 512.



Bien entendu les maps RMG peuvent être paramétrées dans un fichier mapcycle hébergé par le serveur, au même titre que toutes les autres maps, et se succéder ainsi automatiquement au cours du jeu. Il suffira simplement d'indiquer les 4 paramètres précédemment cités, dans chaque map.

Pour les curieux, voici un exemple qui génère une petite map, dans le décor de GRASSYSHILL, de jour, sans paramètre SEED. L'instruction g_motd affiche simplement un texte informatif au lancement de la carte:

 

 
  rmgmap 1 small 2 grassyhills 3 day 4 ? 0
  g_motd "RMG Grassyhills by day"

 



Un autre exemple présentant une map moyenne, décor de JUNGLE, de nuit, sans paramètre SEED


 

  rmgmap 1 medium 2 jungle 3 night 4 ? 0
  g_motd "RMG Jungle by night"

 



Et pour terminer 4 vues des décors disponibles avec RMG:
  DESERT  
desert.jpg

  GRASSYHILLS  
hills.jpg

  SNOWY  
snow.jpg

  JUNGLE  
jungle.jpg

 


-=cool=-
Publié le 05/02/2019 17:26  Prévisualiser...   Imprimer...   Haut
Comment ça marche  -  par FSMOD
LE LAGOMETRE


Le lagomètre est un petit scope qui peut être affiché pendant le jeu, dans la partie inférieure droite de votre moniteur. Son CVAR est cg_lagometer. Il fournit essentiellement des informations relatives à la qualité de votre connexion sur un serveur, ainsi que la cohérence de vos paramètres.
 
complet.jpg

Vous pouvez l'activer de différentes manières:
 
calendard.gif  Dans la fenêtre de configuration en cliquant sur l'onglet network settings puis show lagometer yes. Il restera actif pendant toute la durée du jeu.
 
on.jpg

calendard.gif En ouvrant la console et en tapant après l'invite la ligne cg_lagometer 1. A l'inverse,pour l'éteindre taper, toujours en mode console, la ligne cg_lagometer 0.

calendard.gif  En incluant dans votre fichier de configuration la routine suivante:


// lagomètre
bind L "vstr lago"
set lago "vstr lago_on"
set lago_on "set cg_lagometer 1; set lago vstr lago_off"
set lago_off "set cg_lagometer 0; set lago vstr lago_on"


A chaque appui sur la touche L vous allumerez ou éteindrez le lagomètre.

Il y a 2 traces horizontales dans le lagomètre, l'une au-dessus de l'autre.

Trace supérieure

Elle se décompose en une ligne de référence virtuelle sur laquelle se superposent une trace jaune et une trace bleue.
La trace bleue fournit l'information sur les trames reçues sans perte et la jaune indique les trames perdues ou corrompues.
La trace bleue est le reflet de la cohérence de votre connexion. Idéalement vous devriez toujours avoir une barre bleue de quelques pixels de hauteur, sans aucun pic jaune.
Si vous obtenez souvent de grands triangles jaunes au-dessus de la ligne de référence, votre connexion est mauvaise ou vos paramètres mal réglés, notamment la valeur de SNAPS dont nous parlerons plus loin.


Trace inférieure

Elle affiche sous forme de spectre, les informations concernant les paquets reçus. Les barres vertes du spectre indiquent que les paquets de données sont bien reçus. Si des barres rouges apparaissent cela signifie que des paquets sont perdus et des barres jaunes indiquent des paquets corrompus que SOF a rejetés.
Dans une partie de jeu assez fournie en action, il arrive que des barres jaunes apparaissent. En général elles repassent au vert quand le jeu se calme.

Si des barres rouges surviennent fréquemment, il convient de revoir les paramétres de configuration et notamment le RATE dont nous parlerons plus loin.
A noter enfin que la hauteur en pixels du spectre est proportionnelle à votre ping sur le serveur.
Voici l'aspect de la trace inférieure sur un serveur affichant un ping de 200. La trace est bien verte mais présente une hauteur très importante.

 
ping200.jpg


LES CVARS

Tous les CVARS suivants peuvent être saisis en mode console ou bien inscrits définitivement, après avoir fixé leur juste valeur, dans votre fichier de configuration.


SNAPS x

x fixe le montant maximal de paquets qui sont envoyés par seconde depuis le serveur vers le client c'est-à-dire vous. Le montant par défaut est 20 (pour les connexions 56k s'il en existe encore).Il est évident que cette valeur doit être augmentée en fonction du débit de votre ligne internet. Une valeur de 35 est un minimum pour les connexions ADSL ou câble. Plus cette valeur est élevée plus vous recevrez de mises à jour du serveur et plus votre jeu sera fluide. Un réglage parfait de cette valeur en fonction de votre débit ADSL vous affranchira des pics jaunes dans la trace supérieure du lagomètre et fera apparaître une ligne bleue constante de quelques pixels de hauteur.

On voit encore trop de débutants qui utilisent un SNAPS de 20 alors qu'ils ont des ADSL performants.
A noter qu'une valeur bien adaptée vous permettra également de diminuer votre ping sur mon serveur.

Voici 2 exemples en images qui illustrent l'impact sur le ping et sur le lagomètre de valeurs extrêmes du SNAPS sur mon serveur.

SNAPS 20 SNAPS 50
Ping élevé, trace bleue épaisse Ping faible, trace bleue fine
snaps 20.jpg snaps50.jpg
hlsnaps20.jpg hlsnaps50.jpg

RATE x

x détermine le nombre maximum d'octets que le serveur peut envoyer au client par seconde. La valeur par défaut pour les connexions 56k est de 4000. Semblable à SNAPS, plus la bande passante de votre connexion est importante, plus vous devriez être en mesure d'augmenter cette valeur. Une connexion ADSL moyenne devrait vous autoriser une valeur de 10000 voire plus sans problème.
Toutefois ne forcez pas trop cette valeur car n'oubliez pas que vous partagez la bande passante du serveur avec tous les autres joueurs.
Si des barres jaunes et même rouges apparaissent sur la trace inférieure du lagomètre, diminuer votre valeur de rate pour obtenir un réglage optimum.
Voici une image d'un lagomètre affichant quelques barres jaunes parmi les vertes dans la trace inférieure. La valeur du RATE est ici un peu trop élevée.

 

barresjaunes.jpg




cl_maxpackets "x"

x indique le nombre maximal de paquets qui sont envoyés au serveur par le client. La valeur par défaut est de 30 pour les connexions 56K, mais tout comme le SNAPS et le RATE si vous avez une bande passante plus grande essayez d'augmenter cette valeur. La bande passante en upload est généralement un peu plus importante que la bande passante en download ce qui ne devrait pas exiger trop de changements.


cl_packetdup "x"

Lorsque x est mis à 1 cela permet la retransmission de paquets de données perdues, ce qui est recommandé pour les jeux multijoueurs sur Internet.


cg_smoothClients "x"

Lorsque x est mis à 1 cela génère un mode plus prédictif pour interpréter les mouvements du joueur, pour lequel la connexion internet n'est pas parfaite. Le déplacement de la cible se présentera moins saccadé. Toutefois l'algorithme d'interprétation prédictive de la cible ne donne pas toujours les résultats escomptés. En LAN il est préférable de laisser à 0.


com_maxfps "x"

La valeur x fixe le nombre de trames par seconde qui peuvent être interprétées par le client. Cette valeur est liée d'une part à la qualité de la connexion internet et d'autre part aux performances de votre carte graphique.
Par défaut la valeur est 85. Cela correspond à la technologie des débuts du jeu tant en performances graphiques qu'en vitesse réseau. Actuellement la grande majorité des joueurs utilisent des composants haut de gamme et surfent sur le très haut débit.
Une valeur de 150 à 200 est tout à fait correcte et certains joueurs privilégiés vont jusqu'à 330.
Les effets d'une valeur élevée vous permettront de sauter beaucoup plus haut et de franchir plus facilement les obstacles.
Un exemple précis: dans la map mp_air1 vous sauterez sans élan sur le sommet des containers.
Attention toutefois à ne pas dépasser une valeur que votre connexion et votre matériel ne pourraient accepter car cela produirait un effet opposé à celui que vous attendez. Le test du saut sur le container est très utile pour fixer la bonne valeur.

devantcontainer.jpg

hautcontainer.jpg

A noter que la valeur du FPS fluctue durant le jeu en fonction des actions, du nombre de joueurs et des variations de flux de votre connexion internet. Si vous désirez bénéficier d'une information permanente sur la valeur instantanée du FPS, vous pourrez l'activer en cliquant sur l'onglet Misc setup puis dispay_fps Yes. La valeur s'affichera en haut à droite de votre moniteur.
 

fps.jpg

-=eek=-
Publié le 05/02/2019 17:25  Prévisualiser...   Imprimer...   Haut
Infra rouges  -  par FSMOD
Jumelles infrarouges

 
Plus connues sous le nom de thermal goggles, elles sont souvent utilisées par des joueurs qui veulent bénéficier d'une meilleure perception visuelle dans certaines maps brumeuses ou sombres.
Par extension elles sont parfois systématiquement utilisées par les mêmes joueurs, quelle que soit la map en cours, favorisant ainsi une visée plus aisée sur un objectif lointain.
Il est utile de préciser que l'usage des jumelles est subordonnée à la validation de leur CVAR correspondant sur le serveur. Cette validation sera justifiée pour des maps à grande profondeur de champ ou nocturnes mais en revanche à proscrire pour de petites maps claires où la signature thermique est parfois visible à travers les murs. C'est le choix du manager du serveur et il doit rester cohérent dans ses réglages.

MODIFICATION

Le but est d'annuler les trames parasites horizontales, au graphisme grossier, qui encombrent le champ visuel scanné par l'infrarouge.
Ces trames sont intégrées dans l'image thermal_background.png. Il suffit de recréer une nouvelle image vierge qui sera considérée par SOF2 comme un calque transparent.
L'image thermal_background.png se situe par défaut dans le fichier système therest.pk3 selon l'arborescence suivante:

gfx / menus / hud / thermal / thermal_background.png

Voici son aspect d'origine:


 
fondorig.jpg

Il s'agit en fait d'un quart d'image que le programme transforme en une image complète.
En utilisant Photoshop, ou tout autre logiciel de retouche, il suffit d'effacer les trames de l'image et de la sauvegarder dans le même format et sous le même nom. La replacer ensuite dans le fichier therest.pk3 à sa place primitive.

C'est simple non?

Je ne saurais trop toutefois, vous recommander d'éviter de modifier les fichiers pk3 d'origine si vous n'êtes pas aguerri à cette pratique, la santé de votre SOF2 pourrait en faire les frais.
Aussi le mieux est de créer un petit addon qui reprendra l'arborescence citée plus haut et qui sera ensuite sauvegardé sous le nom de zzgfx.pk3 par exemple. Il sera simplement placé dans le répertoire du mode choisi, rocmod ou autre.
 
Je précise que si vous utilisez ma version ROCMOD 2.2v, cette modification est déjà incluse.

Fenêtre thermal d'origine Fenêtre thermal modifiée
orig.jpg balay.jpg

Il subsiste néanmoins un balayage horizontal destiné à simuler le rafraîchissement de la zone scannée par l'infrarouge. Dans une de mes version antérieures j'avais recodé le balayage de manière à le rendre totalement invisible. J'ai toutefois jugé que cette modification, dont certains accros aux thermals raffolaient, était plutôt de nature à trop compenser chez ces derniers un manque d'habilité avéré.

Elle a donc été supprimée dans la version actuelle 2.2v.

Un petit coup de pouce pour aider les novices n'est pas à dédaigner mais point trop n'en faut frown



 
-=biggrin=-
Publié le 05/02/2019 17:24  Prévisualiser...   Imprimer...   Haut
La bonne taille  -  par FSMOD

Les fichiers système

Les fichiers système composent la base même de SOF2 en dehors de tous fichiers propres à un mode spécifique. Au nombre de 11, ils sont tous en extension pk3.

Il faut impérativement garder à l'esprit que ces fichiers doivent être identiques entre le serveur et le client. Les fichiers serveur étant la référence.

Pourquoi cette parité indispensable. Tout simplement pour que serveur et client travaillent sur une base commune afin d'échanger des données fiables et exploitables. A l'extrême il ne vous viendrait pas à l'idée de jouer à SOF2 sur un serveur Urban Terror. Et pourtant c'est le même moteur Quake 3 qui équipe les deux. Les discordances entre fichiers pk3 conduiraient à une impossible connexion.

J'ai évoqué dans ma doc la possibilité de modifier certains fichiers pk3 mais en préconisant d'avance de ne pas trop y toucher, mais plutôt d'inclure ces modifications dans un autre pk3 annexe.

L'ouverture d'un de ces fichiers système juste pour voir les données qu'il contient peut engendrer à sa sauvegarde en zip puis en pk3, des espaces parasites de quelques octets qui modifieront le poids final du fichier, le rendant de facto différent de celui du serveur.

Heureusement que les managers de serveurs pour la grande majorité, n'activent jamais le mode PURE car ces quelques octets de différence vous conduiraient directement vers un kick. Toutefois le respect de ces équivalences de poids de fichiers entre serveur et client reste prépondérant dans le mode RMG, qui n'a hélas, plus tellement la cote !

Si vous rencontrez des problèmes de stabilité, de déconnexions intempestives où de messages d'erreur, commencez par vérifier le poids binaire de ces fameux fichiers système, à l'octet près, avant de passer à d'autres investigations.

Pour mémoire, ils sont situés dans le répertoire BASE de votre SOF2

Fichiers Poids en octets Poids en Ko
maps.pk3  102 985 472 100 572
models.pk3    96 636 622 94 372
mp.pk3    31 722 385 30 979
musicandsound.pk3  191 252 236 186 770
skins.pk3    73 241 493 71 525
textures0.pk3  413 194 735 403 511
textures1234.pk3  164 152 653 160 306
therest.pk3    69 463 128 67 836
update101.pk3      9 668 867 9 443
update102.pk3    18 549 884 18 116
update103.pk3    12 886 903 12 585

-=mad=-

Publié le 05/02/2019 17:24  Prévisualiser...   Imprimer...   Haut
Rubriques

Vous êtes ici :   Accueil » Documentation