Client-uitbreiding Mod

De Client-uitbreiding ClientMod biedt ten opzichte van de standaard Client vele extra handige instelmogelijkheden. De uitbreiding is of tijdelijk te activeren door /client mod in de hoofdchat te typen of permanent door de regel Client = Mod in het bestand Brettspielwelt.prop toe te veogen. Om (tijdelijk) de ClientMod uit te schakelen eenvoudig /client base in hoofdchat in typen. Alle configuraties voor de ClientMod worden in het bestand ClientMod.prop in de hoofdmap van BrettspielWelt opgeslagen.

Voor vragen over en suggesties voor de ClientMod is er het Forum voor Client-Erweiterungen.

Uiterlijk en positionering

Met de ClientMod kan je het uiterlijk van de hoofdchat en het chatvenster (tell- en channelvenster) naar eigen smaak aanpassen. Daarbij kunnen kleuren en lettertype vrij gekozen worden. Evenzo kunnen aan hoofd- en chatvensters bepaalde grootte en posities worden toegewezen. Om de kleurinstellingen te activeren, is de volgende regel vereist:

colors = on

Voorbeeldinstelling voor het hoofdvenster:

maindefault = 20, 20, 400, 260, 000000, DDDDDD, 000000, DDDDDD

De eerste twee getallen geven de oriëntatie van het hoofdvenster aan (x- en y-positie). De volgende twee getallen staan voor de breedte en de hoogte van het hoofdvenster. Dan volgen de kleurinstellingen in Hex-formaat voor de voor- en achtergrondkleur van het venster, als ook voor de voor- en achtergrondkleur van de invoerregel.

De regel voor het chatvenster is analoog daaraan:

channeldefault = 20, 20, 400, 260, 000000, FFFFDE, 000000, FFFFDE

telldefault = 20, 20, 400, 260, 000000, EBEBFF, 000000, EBEBFF

Om de grootte en positie van een venster te bepalen, eenvoudigweg het venster in de gewenste grootte en positie trekken en dan in dit venster het commando /mod_info geven. De aangegeven positie en grootte kunnen dan eenvoudig in de ClientMod.prop overgenomen worden.

Het vastleggen van het globale font, -groote en attribuut gebeurt door deze (voorbeeld-) regel:

font = "Arial", 10, bu

De eerste waarde is het font, dan volgen de fontgrootte en als laatste de fontattributen "i" (cursief), "u" (onderstrepen) en "b" (vet), die willekeurig gecombineerd kunnen worden.

De beschikbare fonts zijn afhankelijk van het systeem, over het algmeen functioneren niet alle fonts onder Java.

Je kan ook voor een bepaald chatvenster een eigen configuratie instellen, bijvoorbeeld voor het SPV-kanaal:

channel_SPV = "#SPV", 20, 20, 300, 100, #001122, 994455, 447755, 000000

Daarbij moet de kanaalnaam met channel_KanaalNaam aangegeven worden. De eerste waarde is wederom de kanaalnaam (# en "" niet vergeten!), dan volgen zoals hierboven beschreven de waarden voor positie, grootte en kleur.

Uiteraard geldt dit ook voor tellvensters:

tell_UserXY = "XY", 0, 720, 665, 269, 000000, EBEBFF, 000000, EBEBFF

Het is ook mogelijk om complete zinnen of bepaalde uitdrukkingen met kleur te accentueren:

colorline_-- = "--" , 707070,

Hiermee worden alle Clientmeldingen (die met "--" beginnen) grijs (707070) weergegeven.

Of je geeft je eigen zinnen een kleur:

colorline_Dusagst = "Du sagst" , 0080C0,

Of alle tekst die gebruiker XY zegt:

colorline_XY = "XY", #0080C0,

Je kunt hier je fantasie en je kleurwensen de vrije loop laten.

In plaats van complete zinnen, is het ook mogelijk om bepaalde woorden of letterreeksen in kleur weer te geven:

colorkey_Wizard = "Wizard", #0000ff

Hiermee wordt het woord "Wizard" altijd blauw weergegeven, gemakkelijk bijvoorbeeld, als je in het SPV geen oproep voor je lievelings spel wil missen. Let op: er wordt verschil gemaakt tussen hoofd- en kleine letters!

Het is ook mogelijk om reguliere expressies te gebruiken. Hiervan volgen een aantal voorbeelden:

colorkeyregex_mijnnaam = "(?i:mijnnaam)", #0000ff,

Benadrukt altijd "MijnNaam", onafhankelijk van Hoofd- of kleinletter gebruik.

colorkeyregex_nr = "\\b\\d+\\b", ff0000

Markeert alle getallen rood.

colorkeyregex_room = "(?i:C)\\d+-\\d+", #663399

Markeert kamernamen (Cxy-ab) in kleur.

colortime = aaaaaa, , , 9, n

Daarmee wordt bij een ingeschakelde tijdfunctie de klok in kleur getoond.

colorlinks = param1, param2, param3, param4, param5

Deze regel bepaalt de kleur van links.

Bij de kleurkeuze altijd rekening houden met de kleur van het venster, omdat een blauwe tekst op een blauwe achtergrond lastig te lezen is ;-).

javastyle = on

Bepaalt het uiterlijk van knoppen en schuifbalken. Het uiterlijk varieert naargelang de gebruikte Java-versie. Hierbij geldt on=Java-ontwerp, off=systeem-standaard.

vscrollbarsize = 15

Bepaalt de breedte van de verticale schuifbalk.

hscrollbarsize = 12

Bepaalt de hoogte van de horizontale schuifbalk.

Bepaalde chatvensters kunnen binnen of buiten de Collectchat geopend worden. De Collectchat kan met de F11-toets geactiveerd of gedeactiveerd worden.

channeltocollect = "#SPV", "#ClientMod"

Legt bijvoorbeeld vast, dat het kanaal "SPV" en "ClientMod" altijd in de Collectchat geopend worden.

channeltocollect = *

Opent alle kanaalvensters in de Collectchat.

channeltowindow = "#SPV", "#ClientMod"

Omgekeerd: legt vast, dat deze beide kanalen in extra vensters buiten de Collectchat worden geopend. Ook hier kan met "*" ingesteld worden, dat alle kanelen buiten de Collectchat geopend worden. Let op: deze optie werkt alleen, als de Collectchat van de BSW-client gedeactiveerd is.

Hetzelfde geldt ook voor tell-vensters:

telltocollect = "UserA", "UserB"

Opent de tell-vensters van gebruiker A en B in de Collectchat. Met "*" worden alle tell-vensters in de Collectchat ondergebracht.

En ook hier geldt het omgekeerde:

telltowindow = "UserX", "UserY"

Opent de tell-vensters van gebruiker X en Y buiten de Collectchat.

Configuratie algemeen

Voor de configuratie van de contextmenu's en knoppenbalken gelden hoofdzakelijk de volgende regels:

  • *Commando - Commando wordt direct uitgevoerd
  • +Commando - Commando wordt in de invoerregel gezet, de vorige tekst wordt daarbij overschreven
  • -Commando - Commando wordt bij de cursorpositie ingevoegd
  • !Commando - Commando wordt in het hoofdvenster uitgevoerd
  • !+Commando - Commando wordt in het hoofdvenster in de invoerregel gezet, de vorige tekst wordt daarbij overschreven
  • !-Commando - Commando wordt in het hoofdvenster bij de cursorpositie ingevoegd

Als commando's kunnen zowel alle commando's van BrettspielWelt als de specifieke Commando's van de ClientMod gebruikt worden.

Bovendien zijn er nog twee speciale commando's:

  • submenu - maakt een submenu aan
  • separator - Voegt een menu-scheiding toe.

De volgende variabelen kunnen gebruikt worden:

  • $channel$ - wordt door het kanaal-/tellnaam vervangen
  • $selection$ - wordt door het eerste woord van de huidige selectie vervangen
  • $selection100$ - wordt door de eerste 100 tekens van de huidige selectie vervangen

Configuratie van de contextmenu's

Er zijn verschillende vormen van contextmenu's. Hoofdzakelijk worden daarbij alle menuitems doorgenummerd. De nummering kan van 1-35 gaan en hoeft niet aansluitend te zijn.

menu_Nummer = Menutekst, Commando

Hiermee wordt een menutekst voor alle contextmenu's gedefinieerd, dat houdt in dat deze tekst zowel in het contextmenu van het hoofdvenster verschijnt als ook in het contextmenu van het chatvenster (steeds onder de specifieke contextmenu's).

Voorbeeld:

menu_3 = "/whereis $selection$", "!/whereis $selection$"

Daarmee wordt in de hoofdchat getoond, waar de geselecteerde naam zich ophoudt.

Menu's kunnen willekeurig worden geconfigureerd:

menu_1 = "1. Menuitem", "Commando"
menu_2 = "Dit is een submenu", "submenu"
menu_2_1 = "1. Menuitem in het submenu", "Commando"
menu_2_2 = "Submenu", "submenu"
menu_2_2_1 = "1. Menuitem in het submenu", "Commando"
menu_2_3 = "2. Menuitem in het submenu", "Commando"
menu_2_4 = "3. Menuitem in het submenu", "Commando"
menu_3 = "3. Menuitem", "Commando"

Voorbeelden daarvan zijn te vinden in de Voorbeeld.prop.

Analoog daaraan kunnen specifieke contextmenu's geconfigureerd worden:

mainmenu_Nummer = Menutekst, Commando

Voor het contextmenu van de hoofdchat.

channelmenu_Nummer = Menutekst, Commando

Voor het contextmenu van het kanaalvenster.

tellmenu_Nummer = Menutekst, Commando

Voor het contextmenu in het tellvenster.

Het normale contextmenu van de standaardclient verschijnt bij Ctrl+Rechts klik in het corresponderende chatvenster.

Knoppenbalk

Uiterlijk van de knoppenbalk

Je kan een knoppenbalk aan de hoofdchat en aan de chatvensters toevoegen en deze naar eigen wens aanpassen.

mainbutton = on

Schakelt de knoppenbalk in de hoofdchat in. Met off kan deze weer gedeactiveerd worden. Analoog geldt:

channelbuttons = on

tellbuttons = on

Het font van de knoppenbalk wordt als volgt gedefinieerd:

mainbuttonfont = Arial, 10

Analoog daaraan geldt weer:

channelbuttonfont = Fontnaam, Lettergrootte

tellbuttonfont = Fontnaam, Lettergrootte

De grootte van de knoppen kan op twee manieren worden gezet:

buttonoptimalsize = on

Past de knopgrootte automatisch aan de knoptekst aan. Met off worden alle knoppen even grootte getoond, waarbij de grootte wordt bepaald door de langste knoptekst.

buttonshowtooltips = on

Activeert tooltips voor de knoppen.

buttonposition = east

Bepaalt de positie van de knoppenbalk. Mogelijk waarden zijn: 'east', 'north', 'west' en 'south'.

Wil je eigen afbeeldingen in de knoppenbalk gebruiken, dan moet je eerst een map in de BSW hoofdmap aanmaken, bijvoorbeeld C:\BSW\ClientModPics.

Vervolgens moet het betreffende pad nog gedefinieerd worden, bijvoorbeeld zo:

iconpath = C:\BSW\ClientModPics

De afbeeldingen moeten maximaal een formaat van 16x16 pixels hebben. Ondersteund worden .jpg, .gif en .png.

Functies van de knoppenbalk

De inhoud van de knoppenbalk kan naar eigen wens worden aangepast en wordt als volgt gedefinieerd:

mainbutton_1 = Knoptekst, Commando

Dus bijvoorbeeld:

mainbutton_1 = "Help", "!/help"

De nummering loopt van 1 tot 35 en hoeft niet oplopend aansluitend te zijn.

Wil je aan een knop een afbeelding toevoegen, dan wordt de bestandsnaam van de afbeelding, voorafgegaan door een dubbele punt, achteraan de knoptekst toegevoegd.

mainbutton_1 = "Help:help.jpg", "!/help"

Je kan een knop ook twee commando's meegeven, die dan bij het aanklikken afwisselend worden uitgevoerd.

mainbutton_3 = "Scrollen uit:scrollaus.gif", "*/mod_noscroll", "Scrollen aan:scrollan.gif", "*/mod_scroll"

Hierbij schakel je met een klik het scrollen uit, met een volgende weer aan. Het icoon wisselt mee.

Analoog daaraan kunnen natuurlijk ook knoppen voor het chatvenster gedefinieerd worden:

channelbutton_1 = "Huhu", "*Huhu :-)"

Schrijft "Huhu :-)" in het kanaal.

tellbutton_6 = "W:whereis.png", "!/whereis $channel$"

Toont in het hoofdvenster waar zich je tellpartner bevindt.

Diversen

De ClientMod kan bij de start tot tien commando's automatisch uitvoeren:

startup_1 = "/ctell /mode quiet=off"

startup_2 = "/gtell Channelname Hallo allemaal"

De chatgeluiden voor individuele chatvensters (wanneer iets nieuws geschreven wordt) kunnen in ClientMod zowel globaal als ook specifiek ingesteld worden.

channelmsgsound = on

Schakelt het chatgeluid voor kanaalvenster globaal in. Met off wordt het kanaalgeluid overeenkomstig uitgeschakeld. Uitzonderingen doorop worden als volgt gedefinieerd:

channelmsgsoundex = "#SPV", "#Tutoren"

Daarmee worden in het kanaal "SPV" en "Tutoren" geen geluiden gebruikt. Er kunnen willekeurig veel kanalen worden opgegeven. Let bij kanaal altijd op het "#" voor de Naam!

Staat "channelmsgsound" op "off", worden omgekeerd alleen in de onder "channelmgssoundex" gedefinieerde kanalen de geluiden gebruikt.

errorlog = error.txt, on

Daarmee wordt een logbestand aangemaakt, die bij het optreden van fouten van nut kan zijn. De bestandsnaam kan daarbij vrij gekozen worden. In het beschreven geval (met "on") worden nieuwe gegevens aan het bestand toegevoegd. Je kan het "on" ook weglaten, dan wordt het bestand telkens overschreven.

import = "http://www.mijnDomein.nl/Kamerlijst.txt", "menu.prop", "colors.prop"

Met deze optie kunnen instellingen uit externe bestanden ingelezen worden. Zo kun je bijvoorbeeld stadskamerlijsten centraal beheren. Er kunnen zowel bestandsnamen als ook URL's opgegeven worden. De URL's moeten echter naar pure tekstbestanden verwijzen, HTML-sites worden niet ondersteund!

autoscroll = on

De/Activeert de autoscroll-functie. Is autoscroll geactiveerd, wordt het scrollen automatisch uitgeschakeld, zo gauw met de schuifbalk naar boven wordt gescrolld. Het automatisch scrollen wordt weer geactiveerd, als met de schuifbalk naar het einde van de chat wordt gescrolld.

scrollbarcolor = Voorgrondkleur, Achtergrondkleur, Voorgrondkleur gedeactiveerd, Achtergrondkleur gedeactiveerd

Legt de kleuren van de schuifbalk vast, afhankelijk van of het scrollen geactiveerd of gedeactiveerd is.

volume = 100

Legt de geluidssterkte bij het afspelen van wav-bestanden vast. De aanbevolen waarde ligt tussen 0 en 200. Vele geluidsbestanden zijn nog in .au formaat en worden niet door deze instelling beïnvloed.

Speciale commando's voor de ClientMod

De commando's voor de ClientMod zijn te vinden op de Commandosite.

Een uitvoerige beschrijving van de ClientMod is te vinden op de Homepage van DoD, de maker van de ClientMod.