Recherche
 
Fermer
Documentation
Toutes les pages
Extra commandes  -  par FSMOD
LES EXTRA COMMANDES


Les extra commandes permettent d'attribuer aux Admins des privilèges qui sont normalement réservés au Sysop.
En d'autres termes un Admin accédera à des CVARS propres au serveur, normalement introduits par le rcon, sans pour autant connaître ce dernier.


calendard.gif EXEMPLE:

Supposons qu'un Admin désire éliminer tous les bots lors d'une partie. les commandes concernées sont:

 Commandes  Effet
  kick allbots  Elimine tous les bots
  bot_minplayers 0  Evite le retour des bots en fixant leur nombre à 0


Puis à l'issue de la partie, aux fins de restituer les réglages d'origine du serveur, il voudra le relancer.
La commande concernée est:

 Commande  Effet
 exec server.cfg  Relance le serveur avec ses paramètres d'origine

     


Or ces commandes, modifiant les réglages serveur ne sont accessibles qu'au Sysop.

Grâce à la commande admrcon on va pouvoir remédier à ce problème.

Mais avant tout il sera nécessaire de créer les fichiers suivants et de les placer dans le répertoire du mode sur le serveur.

Fichiers  Contenu  Action
 bot.cfg  bot_minplayers 0
 kick allbots
 Vire les bots et déclare leur nombre à zéro.
 svr.cfg  exec server.cfg  Relance le serveur.
 extracmds.cfg  exec bot.cfg
 exec svr.cfg
 Déclare les fichiers nécessaires aux actions.


calendard.gif IMPORTANT

Le fichier extracmds.cfg devra être déclaré dans le fichier de configuration du serveur sous cette forme :

seta sv_extracmdsfile "extracmds.cfg"

Tous les outils sont maintenant en place. Le tableau suivant montre les actions que devra accomplir l'Admin pour concrétiser ce qui précède:

 A saisir en mode console  Effet
 admrcon exec bot.cfg  Vire les bots et initialise leur nombre à zéro
 admrcon exec svr.cfg  Relance le serveur


Pour simplifier la saisie, l'Admin pourra créer des binds dans son fichier de configuration personnel comme dans l'exemple suivant:


       bind b "admrcon exec bot.cfg"
       bind s "admrcon exec svr.cfg"

 

 

Fort des principes ci-dessus énoncés, vous pouvez imaginer d'autres CVARS dont vous déléguerez l'usage à vos Admins.

 

-=smile=-
Publié le 05/02/2019 17:47  Prévisualiser...   Imprimer...   Haut
Nom d'appel des maps  -  par FSMOD
Le nom d'appel des maps


J'ai expérimenté de nombreuses maps sur mon serveur et je me suis parfois heurté à des difficultés lorsque j'ai voulu lancer certaines d'entre elles, heureusement peu nombreuses.
Le problème est survenu lorsque j'ai intégré le nom de ces maps dans un cycle (mapcycle) et que le serveur a refusé de les lancer. Même une action directe dans la console par la commande adm map s'est également soldée par un échec. Ces maps n'étant pas corrompues, j'ai découvert la tracasserie en ouvrant le fichier pk3.

Pour ceux que ça intéresse je vous livre la solution.

Je prends pour exemple la map ctvm.pk3. Le fichier est disponible sur le net, sous cette appellation.
Il est logique de lancer cette map en mode console par adm map ctvm et pourtant le serveur refusera de l'admettre.

Ouvrons le fichier ctvm.pk3

1.jpg


C'est le répertoire scripts qui nous intéresse.
Ouvrons le, il contient un fichier du type arena. La racine de ce type de fichier nous éclaire déjà sur le nom réel de la map.

2.jpg


Mais poursuivons en ouvrant le fichier ctvmcastle.arena

3.jpg

La ligne N°2 nous fixe définitivement sur le nom exact de la map, soit mp_ctvmcastle, dont l'extension bsp est encapsulé dans le répertoire maps du fichier cvtm.pk3.
C'est donc le nom mp_ctvmcastle (sans extension) qui devra être saisi en mode console ou inscrit dans une ligne command "map mpcvtmcastle" du fichier mapcycle considéré.

Chaque fois qu'une map connue refusera de se lancer, il faudra toujours pratiquer cette méthode.

Une autre astuce pour pouvoir s'y retrouver plus tard est de renommer le fichier pk3 du même nom que la map. Ainsi, pour reprendre le cas de la map mp_ctvmcastle il suffira de renommer cvtm.pk3 en mp_ctvmcastle.pk3. La portabilité n'en sera que meilleure.


On se demande d'ailleurs pourquoi les concepteurs de maps s'amusent à perpétrer cette incohérence de baptême.


-=biggrin=-
Publié le 05/02/2019 17:47  Prévisualiser...   Imprimer...   Haut
Mode GHOST  -  par FSMOD
Le mode GHOST
 


Ce mode est l'outil idéal pour un Admin désireux de suivre un joueur à son insu.
Sa mise en oeuvre est très simple. Une condition seulement est nécessaire pour accéder à cette fonction, il suffit d'être mort.
Rien de plus facile, d'autant plus que si vous suspectez un joueur d'utiliser un aimbot, vous ne tarderez pas à l'être.

Dès que vous êtes mort, pressez la touche Maj

Vous obtenez cet écran 

shot0139.jpg

A ce stade vous pouvez voler dans la map.

Pour suivre un joueur particulier, la procédure est identique au mode SPECTATEUR, il suffit de cliquer sur ENTREE puis cliquer sur la touche GAUCHE de la souris plusieurs fois jusqu'au joueur choisi.

shot0134.jpg


Pour un même joueur suivi, des pressions successives sur la touche ENTREE commutent le mode GHOST à la 1ère ou 3ème personne.

Si l'on presse à nouveau sur la touche
Maj on passe automatiquement en mode SPECTATEUR, ce qui oblige à cliquer sur l'onglet PLAYER puis  Auto join  pour rejoindre la partie.

Pour plus de discrétion il suffit au préalable de presser la barre ESPACE pour retourner sur l'écran initial. Une pression sur la touche 
Maj  vous réintègre directement dans le jeu sans passer par la case SPECTATEUR.
Pendant toute la période durant laquelle vous aurez le statut de GHOST, votre pseudo sera toujours présent dans le panel des scores faisant croire à votre présence dans le jeu.

look.gif NOTA: J'ai évoqué la touche Maj (SHIFT) car celle-ci est codée par défaut dans les sources pour être associée à la commande WALK/RUN qui permet de passer du statut de marcheur à celui de coureur et inversement.
Toutefois si vous avez bindé cette touche pour une autre action, il est évident que le mode GHOST ne pourra plus être activé par la touche Maj mais plutôt par la touche que vous aurez dédiée au statut WALK/RUN.
Exemple: Vous avez affecté la touche ALT au bind WALK/RUN. Cette touche aura désormais 2 fonctions, la commutation WALK/RUN ou l'activation du mode GHOST.
A remarquer que le bind sera de la forme: bind ALT "+speed" dans votre fichier de configuration sof2mp.cfg.


 



biggrincoolbiggrin

Publié le 05/02/2019 17:46  Prévisualiser...   Imprimer...   Haut
Map mp_barn  -  par FSMOD
la map mp_barn
 

Pour ceux qui ont voulu installer un serveur personnel, vous avez certainement constaté que toutes les maps multijoueurs qui ont été ajoutées dans la version GOLD (1.03) permettaient le "dm", entre autres gametype, excepté mp_barn qui se limitait exclusivement au type "elim".
Pour les curieux ces maps sont encapsulées dans les fichiers système update101, update102 et update103.pk3.

J'ai toutefois constaté que certains gameservers possédaient des fichiers modifiés autorisant la map mp_barn à tourner en dm.
N'ayant pas eu l'opportunité de récupérer ces fichiers, je me suis penché sur le problème pour trouver une solution à cette limitation. La map mp_barn, n'est certes pas la plus intéressante mais les restrictions de gametype qui lui ont été infligés, méritaient une action réparatrice.
biggrin

RESULTAT:

Les 2 fichiers modifiés, à savoir mp_barn.bsp et mp_barn.arena ont été encapsulés dans un fichier que j'ai nommé update104.pk3.
Ce fichier devra être placé dans le répertoire BASE de votre serveur. Il est téléchargeable ICI.

Il n'est pas nécessaire de l'installer côté client dans la mesure où les fichiers d'origine restent compatibles avec mes fichiers modifiés.

barn.jpg




-=smile=-
Publié le 05/02/2019 17:45  Prévisualiser...   Imprimer...   Haut
PACK SONS  -  par FSMOD

ELABORATION D'UN PACK SONS

La conception d'un pack sons n'est guère ardue mais peut toutefois se montrer fastidieuse proportionnellement au nombre de sons qui le composeront.

La principale difficulté consistera à réunir tous les sons qui vous aurez choisis en fouinant sur le net ou en puisant dans d'autres PACKS. Pour les plus avertis ou les plus patients vous pouvez également extraire des fragments vocaux dans des clips vidéo ou des films. A noter qu'il existe de nombreux sites qui proposent des extraits "clefs en main".

 

Pour le découpage des fichiers MP3 j'ai utilisé personnellement un petit logiciel simple et gratuit, Mp3DirectCut

mp3directcut.jpg

suivant.gif Formats des sons

Il existe une foultitude de formats mais SOF2 n'accepte que les suivants:

  • Wav  22 Khz 16 bits mono
  • MP3   44,1 Khz 192 kbps mono

Il est recommandé d'utiliser plutôt le format MP3 qui offre des fichiers moins volumineux que le WAV et dont la qualité est largement suffisante.

suivant.gif Création du pack

Créer un répertoire sound. Copier tous vos fichiers sons dans ce répertoire. A noter que vous pouvez créer dans ce répertoire, des sous-répertoires que vous nommerez à votre convenance et dans lesquels vous pourrez déposer vos fichiers sons par ordre d'affinité. Par exemple un répertoire KillYou qui regroupera tous les sons relatifs à l'élimination de l'ennemi ou un répertoire KillMe renfermant tous les sons relatifs à votre propre élimination. Il conviendra bien entendu de respecter l'arborescence des liens dans le fichier voicecmds.cfg, que nous verrons ci-après, afin que le pointeur de recherche des sons, s'y retrouve. Ce classement permettra surtout une gestion plus aisée de votre pack et notamment dans son débuguage qui fera l'objet d'un développement in fine.

Pour terminer compressez le répertoire sound en ZIP, renommez l'extension en PK3 et renommez sound.pk3 à votre convenance, par exemple MyPack.pk3.

Voici un aperçu avec le logiciel PakScape, du contenu du fichier MyPack.pk3.

pack.jpg

suivant.gif Création du fichier voicecmds.cfg

Ce fichier propre au serveur permet de regrouper tous les sons du pack en les associant à un numéro d'appel et à un texte qui n'est pas obligatoire. Les textes peuvent être agrémentés de couleurs. A noter que le fichier voicecmds.cfg ne nécessite pas d'installation chez le client, sa seule vocation est de le renseigner sur le menu des sons qu'il pourra lister ou imprimer. Certains clans proposent d'ailleurs sur leur site ou leur forum la liste complète des sons inclus dans leur pack.

Je précise que le fichier voicecmds.cfg est lancé sur le serveur par le fichier server.cfg à la ligne seta sv_voicecmdsfile "voicecmds.cfg"

Vous trouverez ICI mon fichier voicecmds.cfg dont vous pourrez vous inspirer pour créer le votre. Quelques précisions, les sons de a à s sont générés automatiquement par le serveur durant le jeu en fonction des événements. Ils devront bien entendu être inclus dans le répertoire sons de votre pack.

Les sons 1 à 83 devront IMPERATIVEMENT être conservés. Il n'est pas nécessaire de les inclure dans votre répertoire sound de votre pack attendu qu'ils sont déjà présents dans le répertoire système musicandsound.pk3 que tous les joueurs possèdent ainsi que le serveur. C'est d'ailleurs un point essentiel qui permet à tout joueur ne possédant pas votre pack de pouvoir émettre des sons de base. Les textes pourront bien entendu, être modifiés et particulièrement au niveau des couleurs.

Les sons à partir du numéro 84 jusqu'à la fin sont à votre discrétion.

Un soin attentif sera apporté dans la rédaction des textes, les principales erreurs sont l'oubli des guillemets, une mauvaise chronologie dans les numéros d'appel ou bien encore un lien incorrect vers le mp3.

Un dernier point: de nombreux concepteurs de packs sons incluent dans le pk3 final, le fichier voicecmds.cfg. Ce n'est pas judicieux surtout en phase de débuguage. Il est préférable de le placer seul dans le répertoire du mode car il est plus facile de modifier un fichier cfg en mode texte qu'un pk3 en mode zip, même avec l'excellent logiciel PakScape.

Enfin  sous ROCMOD d'origine il est préférable de ne pas dépasser 800 sons.

suivant.gif Messages d'erreur

Nous y voilà. Votre fichier MyPack.pk3 tout neuf est fin prêt pour les essais. Ces derniers sont très simples mais ô combien fastidieux. Il suffit, soit sur votre propre serveur distant soit sur session LAN, de lancer successivement les sons du numéro 1 jusqu'au dernier et de voir le résultat à l'écran et dans les hauts-parleurs. Je ne vous ferai pas l'affront de vous rappeler que le fichier MyPack.pk3 devra être installé préalablement sur votre PC dans le répertoire du mode considéré !

Si les formats utilisés sont corrompus ou inadaptés vous obtiendrez des messages en console qui vous aideront à débuguer votre pack.

nosound.jpg

sound.jpg

Pour la conversion des sons vers le bon format j'utilise un logiciel simple et gratuit, FreeMp3WmaConverter

converter.jpg

Bon courage

-=frown=-

Publié le 05/02/2019 17:45  Prévisualiser...   Imprimer...   Haut
Liste  -  par FSMOD
IDENTITES



Voici toutes les identités disponibles dans le jeu.
La colonne de gauche précise l'instruction "prête à l'emploi" qu'il convient d'entrer dans le fichier de configuration pour revêtir l'identité associée, illustrée dans la colonne de droite.

Je précise que ce sont les identités natives de la version standard de SOF2

Vous verrez peut être apparaître d'autres identités dans le bandeau des icônes dans la mesure où certaines maps, autres que les maps standards, contiennent parfois leurs propres identités.


Instruction de configuration
 
Icône
seta identity "marinesoldier1"  NPC_Marine_Soldier ( marine_washington ).jpg
seta identity "marinesoldier2"  NPC_Marine_Soldier ( marine_cam2 ).jpg
seta identity "marinesoldier3"  NPC_Marine_Soldier ( marine_camo3 ).jpg
seta identity "NPC_Prometheus_Soldier/prometheus_soldier"  NPC_Prometheus_Demolitionist ( prometheus_soldier ).jpg
seta identity "snowindoor"  NPC_Pro_In_Snow_Soldier ( pro_snow_indoor_soldier ).jpg
seta identity "snowsoldier1"  NPC_Prometheus_Snow_Soldier ( prometheus_snow1 ).jpg
seta identity "snowsoldier2"  NPC_Prometheus_Snow_Soldier ( prometheus_snow2 ).jpg
seta identity "snowsoldier3"  NPC_Prometheus_Snow_Soldier ( prometheus_snow3 ).jpg
seta identity "colrebel1"  NPC_Colombian_Soldier ( col_rebel_h1 ).jpg
seta identity "colrebel2"  NPC_Colombian_Soldier ( col_rebel_h2 ).jpg
seta identity "colrebel3"  NPC_Colombian_Soldier ( col_rebel_h3 ).jpg
seta identity "colrebel4"  NPC_Colombian_Soldier ( col_rebel_h4 ).jpg
seta identity "colrebel5"  NPC_Colombian_Soldier ( col_rebel_h5 ).jpg
seta identity "civilianmale1"  NPC_Civilian ( civilian_male ).jpg
seta identity "civilianmale2"  NPC_Civilian ( civilian_male_h1 ).jpg
seta identity "civilianmale3"  NPC_Civilian ( civilian_male_b1 ).jpg
seta identity "civilianmale4"  NPC_Civilian ( civilian_male_w2 ).jpg
seta identity "thug1"  NPC_HongKong_Street_Thug ( hk_thug_a1 ).jpg
seta identity "thug2"  NPC_HongKong_Street_Thug ( hk_thug_a2 ).jpg
seta identity "thug3"  NPC_HongKong_Street_Thug ( hk_thug_a3 ).jpg
seta identity "NPC_Prometheus_Sailor/prometheus_sailor"  NPC_Prometheus_Sailor ( prometheus_sailor ).jpg
seta identity "NPC_Prometheus_Sailor/prometheus_sailor_w2"  NPC_Prometheus_Sailor ( prometheus_sailor_w2 ).jpg
seta identity "NPC_Prometheus_Sailor/prometheus_sailor_w3"  NPC_Prometheus_Sailor ( prometheus_sailor_w3 ).jpg
seta identity "NPC_Czech_Soldier/czech_soldier_w1"  NPC_Czech_Soldier ( czech_soldier_w1 ).jpg
seta identity "NPC_Czech_Soldier/czech_soldier_w2"  NPC_Czech_Soldier ( czech_soldier_w2 ).jpg
seta identity "fincaguard1"  NPC_Finca_Guard ( finca_guard_h1 ).jpg
seta identity "fincaguard2"  NPC_Finca_Guard ( finca_guard_h2 ).jpg
seta identity "fincaguard3"  NPC_Finca_Guard ( finca_guard_h3 ).jpg
seta identity "NPC_Virus_Male/virus_male"  NPC_Virus_Male ( virus_male ).jpg
seta identity "NPC_HongKong_Civilian/hk_ped_a1"  NPC_HongKong_Civilian ( hk_ped_a1 ).jpg
seta identity "NPC_HongKong_Civilian/hk_ped_a2"  NPC_HongKong_Civilian ( hk_ped_a2 ).jpg
seta identity "NPC_HongKong_Civilian/hk_ped_a3"  NPC_HongKong_Civilian ( hk_ped_a3 ).jpg
seta identity "NPC_HongKong_Civilian/hk_ped_a4"  NPC_HongKong_Civilian ( hk_ped_a4 ).jpg
seta identity "patient"  NPC_Patient ( patient_w1 ).jpg
seta identity "NPC_Paramedic/paramedic_w1"  NPC_Paramedic ( paramedic_w1 ).jpg
seta identity "NPC_Doctor/doctor_b1"  NPC_Doctor ( doctor_b1 ).jpg
seta identity "doctor1"  NPC_Doctor2 ( doctor_h1 ).jpg
seta identity "scientist1"  NPC_Scientist ( scientist_w1 ).jpg
seta identity "NPC_Train_Worker/conductor"  NPC_Train_Worker ( conductor ).jpg
seta identity "NPC_Deviant1/deviant1"  NPC_Deviant1 ( deviant1 ).jpg
seta identity "NPC_Finca_Maid/finca_maid"  NPC_Finca_Maid ( finca_maid ).jpg
seta identity "NPC_Nurse/nurse_w1"  NPC_Nurse ( nurse_w1 ).jpg
seta identity "NPC_Female_Civilian/female_civilian"  NPC_Female_Civilian ( female_civilian ).jpg
seta identity "NPC_Female_Civilian/female_civilian_h1"  NPC_Female_Civilian ( female_civilian_h1 ).jpg
seta identity "NPC_Female_Civilian/female_civilian_h2"  NPC_Female_Civilian ( female_civilian_h2 ).jpg
seta identity "NPC_Female_Civilian_Pants/female_civilian_w3"  NPC_Female_Civilian_Pants ( female_civilian_w3 ).jpg
seta identity "NPC_Female_Civilian_Pants/female_civilian_w4"  NPC_Female_Civilian_Pants ( female_civilian_w4 ).jpg
seta identity "NPC_HongKong_Female_Civilian/hk_female_civilian"  NPC_HongKong_Female_Civilian ( hk_female_civilian ).jpg
seta identity "NPC_HongKong_Thug_Female/hk_female_thug_a1"  NPC_HongKong_Thug_Female ( hk_female_thug_a1 ).jpg
seta identity "NPC_Virus_Villager_Female/virus_female"  NPC_Virus_Villager_Female ( virus_female ).jpg
seta identity "NPC_Prometheus_Soldier_Female/female_prometheus_armor"  NPC_Prometheus_Soldier_Female ( female_prometheus_armor ).jpg
seta identity "NPC_Prometheus_Soldier_Female2/female_prometheus_soldier"  NPC_Prometheus_Soldier_Female2 ( female_prometheus_soldier ).jpg
seta identity "thugleader"  NPC_HongKong_Thug_Leader ( hk_gang_leader_a1 ).jpg
seta identity "marinescout"  NPC_Marine_Scout ( marine_camo1 ).jpg
seta identity "NPC_Marine_Pilot/skip"  NPC_Marine_Pilot ( skip ).jpg
seta identity "marinesergeant"  NPC_Marine_Sergeant ( marine_sarge ).jpg
seta identity "shopguard1"  NPC_Shop_Guards ( shop_guard_w1 ).jpg
seta identity "NPC_Fireman/firefighter"  NPC_Fireman ( firefighter ).jpg
seta identity "meninblack1"  NPC_Men_in_Black1 ( men_in_black1 ).jpg
seta identity "meninblack2"  NPC_Men_in_Black2 ( men_in_black2 ).jpg
seta identity "NPC_Swiss_Police/swiss_police"  NPC_Swiss_Police ( swiss_police ).jpg
seta identity "NPC_Swiss_Police/swiss_police_b1"  NPC_Swiss_Police ( swiss_police_b1 ).jpg
seta identity "NPC_Honor_Guard/honor_guard_w1"  NPC_Honor_Guard ( honor_guard_w1 ).jpg
seta identity "NPC_Priest/priest"  NPC_Priest ( priest ).jpg
seta identity "mullinssnow"  NPC_Mullins_Snow ( mullins_snow ).jpg
seta identity "mullinsjungle"  NPC_Mullins_Jungle ( mullins_jungle ).jpg
seta identity "NPC_Mullins_Non_Combat/mullins_non_combat"  NPC_Mullins_Non_Combat ( mullins_non_combat ).jpg
seta identity "mullinssuit"  NPC_Mullins_Suit ( mullins_suit ).jpg
seta identity "mullinsurban"  NPC_Mullins_Urban ( mullins_urban ).jpg
seta identity "NPC_Mullins_Young/mullins_young"  NPC_Mullins_Young ( mullins_young ).jpg
seta identity "NPC_Czech_Sergeant/czech_sergeant_w1"  NPC_Czech_Sergeant ( czech_sergeant_w1 ).jpg
seta identity "prometheus1"  NPC_Prometheus_Thug ( prometheus_guard ).jpg
seta identity "prometheus2"  NPC_Prometheus_Thug ( prometheus_guard_w2 ).jpg
seta identity "prometheus3"  NPC_Prometheus_Thug ( prometheus_guard_w3 ).jpg
seta identity "prometheusguard"  NPC_Prometheus_Thug ( prometheus_guard_b2 ).jpg
seta identity "prometheusheavy1"  NPC_Prometheus_Heavy_Weapons ( prometheus_heavy ).jpg
seta identity "prometheusheavy2"  NPC_Prometheus_Heavy_Weapons ( prometheus_heavy2 ).jpg
 seta identity "prometheustech"  NPC_Prometheus_Tech ( prometheus_tech ).jpg
seta identity "NPC_Prometheus_Shielded/prometheus_shielded"  NPC_Prometheus_Shielded ( prometheus_shielded ).jpg
seta identity "NPC_Order_Soldier/order_soldier"  NPC_Order_Soldier ( order_soldier ).jpg
seta identity "snowsergeant"  NPC_Prometheus_Snow_Sergeant ( prometheus_snow3 ).jpg
seta identity "NPC_Taylor_Urban/taylor_armor"  NPC_Taylor_Urban ( taylor_armor ).jpg
seta identity "NPC_Taylor_Lab/taylor_lab"  NPC_Taylor_Lab ( taylor_lab ).jpg
seta identity "NPC_Shop_Contact/shop_contact"  NPC_Shop_Contact ( shop_contact ).jpg
seta identity "NPC_Domovni_Nemec/domovni_nemec"  NPC_Domovni_Nemec ( domovni_nemec ).jpg
seta identity "NPC_Taxi_Driver/cab_driver"  NPC_Taxi_Driver ( cab_driver ).jpg
seta identity "fakeivanovich"  NPC_Fake_Ivanovich ( fake_ivanovich ).jpg
seta identity "ivanovich"  NPC_Piotr_Ivanovich ( ivanovich ).jpg
seta identity "directormichaels"  NPC_Director_Michaels ( director_michaels ).jpg
seta identity "NPC_Aaron_Wilson/aaron_wilson"  NPC_Aaron_Wilson ( aaron_wilson ).jpg
seta identity "NPC_Jack_Anderson/marine_jack"  NPC_Jack_Anderson ( marine_jack ).jpg
seta identity "NPC_Butch/marine_butch"  NPC_Butch ( marine_butch ).jpg
seta identity "NPC_PFC_David_Williams/pcf_williams"  NPC_PFC_David_Williams ( pcf_williams ).jpg
seta identity "NPC_POW1/pow_w1"  NPC_POW1 ( pow_w1 ).jpg
seta identity "manuelvergara"  NPC_Manuel_Vergara ( manuel_vergara ).jpg
seta identity "domingosanchez"  NPC_Domingo_Sanchez ( domingo_sanchez ).jpg
seta identity "alexei"  NPC_Alexi_Nachrade ( alexei_nachrade ).jpg
seta identity "NPC_Sam/sam_gladstone"  ORIG_NPC_Sam ( sam_gladstone ).jpg
seta identity "NPC_Junk_Captain/junk_captain"  NPC_Junk_Captain ( junk_captain ).jpg
seta identity "NPC_Huang_Zhenmeng/huang_zhenmeng"  NPC_Huang_Zhenmeng ( huang_zhenmeng ).jpg
seta identity "NPC_Interrogator/interrogator"  NPC_Interrogator ( interrogator ).jpg
seta identity "dmitri"  NPC_Dmitri_Sestrogor ( dr_stestrogor ).jpg
seta identity "NPC_Sebastian_Jenzer/sebastian_jenzer"  NPC_Sebastian_Jenzer ( sebastian_jenzer ).jpg
seta identity "NPC_Stefan_Fritsch/stefan_fritsch"  NPC_Stefan_Fritsch ( stefan_fritsch ).jpg
seta identity "NPC_DeadMeat/deadmeat2"  NPC_DeadMeat ( deadmeat2 ).jpg
seta identity "NPC_ChemSuit_Mullins/chem_mullins" NPC_ChemSuit_Mullins ( chem_mullins ).jpg
seta identity "NPC_ChemSuit_Russian/chem_russian" NPC_ChemSuit_Russian ( chem_russian ).jpg
seta identity "NPC_ChemSuit1/chem_male_w1" NPC_ChemSuit1 ( chem_male_w1 ).jpg
seta identity "NPC_ChemSuit2/chem_male_b1" NPC_ChemSuit2 ( chem_male_b1 ).jpg
seta identity "NPC_Taylor_Chem/chem_taylor" NPC_Taylor_Chem ( chem_taylor ).jpg

-=rolleyes=-

Publié le 05/02/2019 17:43  Prévisualiser...   Imprimer...   Haut
Choix des armes  -  par FSMOD
Le choix des armes
 
En préambule il convient de ne pas confondre les réglages serveur des réglages client.
 
 
  Du côté serveur  


D'une manière générale le choix d'une arme par le client est subordonné à son autorisation délivrée par le serveur.

Voici une liste de CVAR inscrits dans la configuration de mon serveur fixant la condition d'accès aux armes pour les clients :

 
      seta g_pickupsdisabled  "1"
      disable_weapon_knife  "0"
      disable_pickup_weapon_US_SOCOM  "0"
      disable_pickup_weapon_M19  "0"
      disable_pickup_weapon_silvertalon  "0"
      disable_pickup_weapon_microuzi  "0"
      disable_pickup_weapon_M3A1  "0"
      disable_pickup_weapon_MP5  "0"
      disable_pickup_weapon_USAS_12  "1"
      disable_pickup_weapon_M590  "0"
      disable_pickup_weapon_MSG90A1  "0"
      disable_pickup_weapon_M4  "0"
      disable_pickup_weapon_AK_74  "0"
      disable_pickup_weapon_SIG551  "0"
      disable_pickup_weapon_M60  "1"
      disable_pickup_weapon_RPG_7  "1"
      disable_pickup_weapon_MM_1  "1"
      disable_pickup_weapon_M84  "0"
      disable_pickup_weapon_SMOHG92  "0"
      disable_pickup_weapon_AN_M14  "0"
      disable_pickup_weapon_M15  "0
"

 


Dans cet exemple, toutes les armes sont autorisées sauf le USAS12, le M60, le RPG7 et le MM1.  Par ailleurs le ramassage des armes abandonnées est interdit (g_pickupsdisabled  "1")

Je rappelle pour ceux qui possèdent quelques rudiments de programmation, que la valeur 1 représente une condition vraie (true) et la valeur 0 une condition fausse (false).

Ainsi dans la ligne suivante prise dans le tableau ci-dessus :

 
 disable_pickup_weapon_MP5  "0" 

soit en équivalent  français
 
 Désactivation_sélection_arme MP5 = 0 


se traduit par :

si la désactivation est fausse (0), l'activation est vraie, donc on autorise l'arme.
C'est de la logique pure qui se vérifie tout au long des différentes configurations que vous rencontrerez dans SOF.

A noter que le programmeur aurait pu coder de cette manière:

 
 enable_pickup_weapon_MP5  "1"

Ce qui revient au même et participe à une plus grande lisibilité mais qui nous fait sortir du cadre de ce topic.

Les accessoires peuvent également faire l'objet  d'une autorisation d'accès au client sous la forme suivante:


 
 
 disable_thermal  "1"
 disable_NightVision  "1"
 disable_armor  "0"

 


Dans cet exemple les clients pourront bénéficier uniquement de l'armure.


 
  Du côté client  

Les armes sont sélectionnées à partir de l'onglet PLAYER puis OUTFITTING
 
1.jpg

Comme évoqué plus haut les armes visibles sont celles que le serveur a fixé.
Dans l'exemple suivant, voilà comment apparaîtrait l'interface OUTFITTING chez le client connecté à mon serveur, lequel n'autoriserait que la grenade à fragmentation. Il ne pourrait en aucun cas en choisir d'autres.

 
2.jpg


Lorsque vous sélectionnez vos armes et vos accessoires une ligne s'inscrit dans votre fichier sof2mp.cfg afin de mémoriser votre choix. A la prochaine connexion vous retrouvez ainsi vos armes et accessoires préférés.

Cette ligne se présente sous la forme:


 
 seta outfitting "GACDA"

Chaque lettre majuscule correspond aux 5 cases de l'interface OUTFITTING

Voici résumé dans le tableau suivant leur signification
.

 
LETTRE 1.PRIMARY 2.SECONDARY 3.PISTOL 4.GRENADE 5.ACCESSORY
 A  AK47  M590  M1911A1  SMOHG 92  ARMOR
 B  M4  UZI  US SOCOM  M84  NIGHT VISION
 C  SIG551  M3A1  TALON  M15  THERMAL
 D  USAS12  ANM14
 E  MSG9041
 F  M60
 G  MP5
 H  RPG7
 I  MM1

Ainsi dans la suite GACDA précitée, les armes et accessoires sélectionnés sont respectivement :
MP5, M590, TALON, ANM14 et ARMURE. Cela correspond d'ailleurs à la première image de l'interface OUTFITTING ci-dessus illustrée.

Vous pouvez également écrire cette ligne dans votre fichier personnel de configuration de la forme .txt et qui sera lancé par un autoexec.cfg au démarrage du jeu. Rien ne vous empêchera alors de changer vos armes en cours de jeu mais votre dernière configuration inscrite dans sof2mp.cfg sera écrasée lors du lancement ultérieur. Le choix de la méthode vous appartient.

Un dernier point qui ne vous aura pas échappé, une arme sélectionnée au cours du jeu ne sera active qu'après votre respawn (réapparition sur la map après une défaite).
fin_n.gif Particularité de ma version FSMOD

La plupart des armes originelles ont été modifiées, à savoir que certaines d'entre elles ont cédé leur place à de nouvelles armes comme le montre le tableau suivant:

 

ROCMOD FSMOD
  Pistolet US SOCOM   Pistolet mitrailleur P90
  Pistolet M19   Fusil mitrailleur RPK
  Pistolet TALON   Fusil d'assaut M16
  Pistolet mitrailleur Micro UZI   Fusil semi-automatique XM1014
  Pistolet mitrailleur M3A1     Fusil de combat FAL
  Fusil automatique USAS12   Fusil d'assaut FAMAS
  Mitrailleuse M60   Mitrailleuse M249
  Lance roquette RPG7   Fusil d'assaut GALIL
  Lance grenades MM1   Fusil d'assaut OICW
  Grenade flash M84   Grenade défensive M67
  Grenade phosphore M15   Bouteille nitro

Les armes suivantes ont été conservées

MP5
M590 SHOTGUN
MSG90A1 Sniper
M4
AK47
SIG 551
SMOHG92
ANM14
 

Voir ici ed_copy.gif
 

  Les classes d'armes  

Les armes sont réparties suivant 8 classes comme suit:

 
Numéro  A R M E S 
1  Couteau
2  Toutes les armes de poing
3  USAS12  -  M590A
4  UZI   -  MP5  -  M3A1
5  AK47  -  M4  -  SIG551
6  MSG90A1
7  RPG7  -  M60 (M249)  -  MM1
8  Tous les types de grenades


Si vous désirez avoir un accès rapide vers une arme particulière, sous réserve bien entendu, qu'elle ait été préalablement sélectionnée dans OUTFITTING, sauf pour le couteau qui est unique, vous pouvez créer un bind spécifique dans votre fichier de configuration.


Exemple :
 

 // sélection couteau
 bind k "weapon 1"

 // sélection arme de poing
 bind u "weapon 2"

 


Un appui sur la touche k vous donnera immédiatement le couteau et sur la touche u, l'arme de poing.

 
-=frown=-
Publié le 05/02/2019 17:42  Prévisualiser...   Imprimer...   Haut
Seta ou Set  -  par FSMOD
SETA OU SET

Les instructions set et seta introduisent les BINDS et les CVARS ainsi que leurs valeurs associées.
Elles se résument comme suit:

  • set   : définit des variables temporaires qui ne seront pas enregistrées.
  • seta : définit des variables fixes qui seront enregistrées.


Leur enregistrement s'inscrit dans le fichier sof2mp.cfg du mode considéré.
Ce sont les définitions annoncées par les concepteurs du moteur quake 3 qui anime SOF2, ainsi que de nombreux autres jeux. Toutefois dans SOF2 les instructions
set et seta ne répondent pas vraiment à ces définitions de base.

Pour comprendre il est nécessaire de commencer par le début, c'est à dire le moment où vous avez installé votre jeu et que vous vous apprêtez à le lancer pour la première fois en mode ROCMOD par exemple. A ce stade le fichier sof2mp.cfg n'existe pas encore dans le dossier ROCMOD.
SOF est maintenant lancé et sof2mp.cfg vient de se créer. Il renferme déjà de nombreux CVARS, bien avant que vous ayez paramétré vos touches, caractères graphiques, volume son, etc....
Même votre pseudo est définit par l'appellation UnnamedPlayer, appellation que l'on voit trop souvent sur les serveurs, indiquant ipso facto que des débutants sont pressés de jouer sans s'attarder sur des configurations dont l'élémentaire compréhension ne s'inscrit pas vraiment dans leur processus intellectuel.

Si vous quittez SOF maintenant et que vous ouvrez le fichier sof2mp.cfg fraîchement créé dans le répertoire ROCMOD, vous vous apercevrez qu'un nombre impressionnant de paramètres ont été sauvegardés, tous précédés de l'instruction seta. C'est bien la preuve que le programme a lui-même sauvegardé dans le fichier sof2mp.cfg, tous les paramètres qui lui seront nécessaires pour les lancements ultérieurs.
Vous noterez au passage la ligne suivante:


seta name "UnnamedPlayer"

qui indique bien qu'en l'absence de la définition d'un pseudo précis, le programme vous a affublé par défaut d'un pseudo anonyme.

Premier test

Si l'on relance SOF2 et que l'on tape en mode console l'une de ces 3 instructions

  • name TOTO
  • seta name TOTO
  • set name TOTO

Le fichier sof2mp.cfg présentera dans ces 3 cas la ligne suivante:seta name "TOTO"

Ce qui démontre d'une part, que la redéfinition du pseudo en mode console (et des autres CVARS en général) ne nécessite pas l'usage des instructions set ou seta. Et surtout d'autre part, que l'instruction set s'est transformée en seta d'office.
Ce qui tendrait à infirmer la définition initiale du terme set énoncée par le mode d'emploi de SOF et citée en préambule :


  SET: définit des variables temporaires qui ne seront pas enregistrées 

En fait l'utilisation de l'instruction set sera plus probante dans le cas où les paramètres et les binds seront inscrits dans un fichier de configuration autre que sof2mp.cfg. J'ai déjà évoqué dans ma doc la quasi nécessité de créer un fichier de configuration afin que les paramètres que vous avez soigneusement fixés soient protégés. Je rappelle en effet que l'on ne devrait jamais écrire dans sof2mp.cfg attendu que ce fichier est renseigné et modifié automatiquement par SOF2. D'ailleurs un avertissement figure en en-tête sous la forme :

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

soit en bon français

 
   // généré par soldier of fortune 2, ne pas modifier    
Bien entendu sof2mp.cfg sera toujours en mesure de sauvegarder les informations issues de votre propre fichier de configuration qui sera lui-même lancé automatiquement par un autoexec.cfg au démarrage du jeu. 


On considère donc que vous avez opté pour la création d'un fichier de configuration (cfg.txt pour l'exemple). Grâce à lui il sera plus aisé de saisir le distinguo entre set et seta, aussi ténu soit-il.

Ouvrons cfg.txt et considérons le bind lié à la modification de la profondeur de champ (Field of View ou FOV) ainsi que sa boucle vstr associée qui renferme des instructions set.

 
  bind b "vstr fov"
  set fov "cg_fov 80;bind b vstr fov1"
  set fov1 "cg_fov 90;bind b vstr fov2"
  set fov2 "cg_fov 100;bind b vstr fov"

 


Le tableau suivant résume les incidences de modifications dans la boucle vstr sur le fichier sof2mp.cfg.

Rédaction dans cfg.txt Résultats dans sof2mp.cfg Interprétation
 
  bind b "vstr fov"
  set fov "cg_fov 80;bind b vstr fov1"
  set fov1 "cg_fov 90;bind b vstr fov2"
  set fov2 "cg_fov 100;bind b vstr fov"

 
 bind b "vstr fov1"
 seta cg_fov "80"
 
 Le bind a été activé durant le jeu et le joueur a sélectionné
 la valeur 80. C'est donc la première ligne de la boucle qui
 sera mémorisée (80 = palier fov1).
 La ligne seta cg_fov "80" mémorise donc l'état de FOV qui
 sera lancé au prochain démarrage de SOF


 
 
 bind b "vstr fov"
 seta fov "cg_fov 80;bind b vstr fov1"
 seta fov1 "cg_fov 90;bind b vstr   fov2"
 seta fov2 "cg_fov 100;bind b vstr fov"


 
 bind b "vstr fov"
 seta cg_fov "80"
 seta fov2 "cg_fov 100;bind b vstr fov"
 seta fov1 "cg_fov 90;bind b vstr fov2"
 seta fov "cg_fov 80;bind b vstr fov1"

 
 Les instructions set ont été remplacées par seta.
 Le bind n'a pas été activé et SOF a été lancé avec la valeur
 précédente soit un FOV=80. Toutefois on constate que
 toutes les phases de la boucle ont été mémorisées dans
 sof2mp.cfg, alourdissant ce fichier.



On conclusion, on s'aperçoit qu'il est possible de remplacer toutes les instructions set par seta au sein d'un fichier de configuration. Toutefois, le deuxième exemple du tableau montre qu'il convient de ne pas en abuser sous peine de générer un fichier sof2mp.cfg d'une taille prohibitive pour SOF2.
Remplacer tous les set par des seta est de toute façon, systématiquement déconseillé dans un fichier liè aux binds sons.
En effet si votre fichier renferme 40 sons dans une boucle de cette forme :

bind KP_LEFTARROW "vstr E00"


set E00 "say @820; bind KP_LEFTARROW vstr E01" 
set E01 "say @821; bind KP_LEFTARROW vstr E02"
set E02 "say @826; bind KP_LEFTARROW vstr E03"
set E03 "say @827; bind KP_LEFTARROW vstr E04"
...............................................................................
set E41 "say @954; bind KP_LEFTARROW vstr E40"
set E42 "say @958; bind KP_LEFTARROW vstr E00
"


la seule ligne mémorisée dans sof2mp.cfg correspondra au dernier son que vous avez envoyé (le numéro 3 pour l'exemple). Elle apparaîtra comme suit:

bind KP_LEFTARROW "vstr E03"

Alors que si aviez remplacé tous les set par des seta, il y aurait 40 lignes inscrites dans sof2mp.cfg, augmentant dangereusement son poids au risque de planter SOF2.

Ce qu'il faut donc retenir:

  • On utilise set uniquement dans les boucles vstr
  • on utilise seta pour tout le reste

-=rolleyes=-
 

Publié le 05/02/2019 17:41  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     "set name ^1H^7e^1l^7l^E^1A^7n^1g^7e^1l ; bind n vstr nom01"

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

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

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

set nom04 "set 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     "set identity meninblack1;echo MEN IN BLACK; bind i vstr tenue01"

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

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

set tenue03 "set 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 optimisation 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.

Dans le cas de maps très sombres, il est encore possible de pousser d'avantage la valeur de r_gamma. Un index de 3 représentant un maximum. Ainsi le bind précédent pourrait se résumer comme suit:


 



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

 bind KP_MINUS   "r_gamma 1.6"
 bind KP_PLUS     "r_gamma 3.0"

 

Les captures comparatives suivantes démontrent l'efficacité d'un r_gamma élevé dans une map sombre, ici la map SP finca1.

1.6.jpg 3.jpg

-=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
Rubriques

Vous êtes ici :   Accueil » Documentation