Forum

Tweakcraft => Support => Topic started by: WouterH on 1 March 2011, 22:53:11

Title: TUTORIAL: Improved Chat (SMP Mod)
Post by: WouterH on 1 March 2011, 22:53:11
Improved Chat

In mijn zoektocht naar chat plugins ben ik recentelijk een zeer mooie plugin/mod tegengekomen genaamd Improved Chat. Hier even wat tips en trucs die ik zoal heb gevonden in het gebruik van deze mod.
(http://i1195.photobucket.com/albums/aa398/WouterH/Minecraft/ImCshowoff2.png)
Hoe te downloaden?
Improved Chat wordt op dit moment up to date gehouden door GuntherDW. De nieuwste plugin kun je altijd op zijn filehost (http://www.wrongplace.be/files/minecraft_patches/?dir=) vinden. Installeer altijd ook Modloader (http://www.minecraftforum.net/topic/75440-v181-risugamis-mods-everything-updated/). Dit is verplicht, anders werkt Improved Chat niet! Download de mod en kopieer de files van het .rar archief in je minecraft.jar. Verwijder de META-INF folder uit je minecraft.jar (erg belangrijk!)

Je kan ook de Tweakcraft Essentials Client (http://www.tweakcraft.net/forum/index.php?topic=995.0) gebruiken, daar zit Improved Chat standaard in.

Wat doet het?
De features van ImC zijn erg divers, hier zijn de belangrijkste:

Commando's
Nou, hoe maak je nou zoiets functioneel? Alle commando's voor ImC beginnen met ~. Dus ~help geeft de helpfile. Ik zal nu wat belangrijke functies toelichten:

Let op, de scripttaal die gebruikt wordt voor de meeste commando's en functies zijn regular expressions (regex). Wellicht lastig te begrijpen, dus hier een tutorial: http://www.regular-expressions.info/tutorial.html (http://www.regular-expressions.info/tutorial.html)

(http://i1195.photobucket.com/albums/aa398/WouterH/Minecraft/ImCshowoff.png)

Nuttige commando's
Nou, wat kun je nou met al deze commando's en dingen? Heel simpel. Ik zal een aantal voorbeelden geven en steeds zeggen wat je moet kopiëren in je chatvenster. Dit zal in codevensters staan.

Chatvenster openen met ~
Om je chatvenster te openen met een ~ aan het begin voer je deze code in:
Code: [Select]
~bind grave ~\Uitleg: met ~bind koppel je een code aan een toets. Deze toets is in dit geval de ~. De laatste \ aan het eind zorgt dat het typvenster openblijft.

Chatvenster openen met /
Om je chatvenster te openen met een / aan het begin (heel handig voor homes en msg etc.) voer je dit in:
Code: [Select]
~bind slash /\Uitleg: zie hierboven eigenlijk. Is hetzelfde principe.

Key to msg!
Nou komt het leuke. Dit betekend dat je een bepaalde toets kan indrukken en dat je dan automatisch reageert op de laatste persoon die je gewhispered heeft (msg heeft verstuurd). De toetscombinatie kan van alles zijn. Bijvoorbeeld tab, of een letter of cijfer. Een functietoets zoals <ctrl-><shift-> of een combinatie: <ctrl->r

In het voorbeeld gebruik ik de toets TAB. Maar je kan dit dus vervangen door je eigen keuze. Voer de volgende 2 commando's in:
Code: [Select]
~var playerMsg (?<=\[§.).*?(?=§f -> Me\])
~bind tab /msg '$playerMsg' \
Uitleg: met ~var maak je een variabele. playerMsg is de naam daarvan. Het stuk dat volgt is een regex en gaat te diep om nu uit te leggen. Het tweede commando zorgt voor de toetscombinatie. tab is de toetsnaam. /msg natuurlijk het whisper commando. $playerMsg zorgt dat de naam (de speler) uit de variable wordt gehaald. De 2 ' ' om de $playerMsg heen zorgen ervoor dat je gelijk de naam van de speler naar wie je toe whispered ziet in je chatvenster. \ zorg weer dat het chatvenster openblijft

Kleuren en alerts
Nog een zeer handige feature is dat je op bepaalde woorden alerts in kan stellen. Stel nou dat ik mijn eigen naam in de chat rood wil hebben zodat het lekker duidelijk is wanneer iemand om  mij vraagt? Dan voer ik dit in (let op de dubbele spatie tussen /b en &c):
Code: [Select]
~input \bWoord\b  &c4Woord/&cUitleg: ~input bekijkt alle input die binnenkomt. \bWoord\b is het woord waarnaar wordt gekeken. &c4 zorgt voor de rode kleur (4 is rood, mogelijke kleuren zijn: 0-9 en a-f). Woord is dit keer het woord waarmee de eerste \bWoord\b vervangen wordt. Ik vervang dit natuurlijk door hetzelfde woord. Maar je kan het ook door iets anders laten vervangen. /&c zorgt vervolgens weer dat de kleur "weg" gaat zodat niet je hele chat rood wordt. :P

Allemaal lastig lastig lastig, maar wat betekend dit nou concreet. Nou, ik wil zelf graag dat JelmarG en gravitone erg duidelijk weergegeven worden in rood in de chat. Ook mijn naam en alle mogelijke varianten daarop wil ik duidelijk in rood hebben in de chat. Wat doe ik? Dit:
Code: [Select]
~input \bJelmarG\b  &c4JelmarG/&c
~input \bgravitone\b  &c4gravitone/&c
~input \bWouterH\b  &c4WouterH/&c
~input \bwouter\b  &c4wouter/&c
~input \bWouter\b  &c4Wouter/&c
~input \bwouterh\b  &c4wouterh/&c

Nou zal dus jelmar's naam, gravitone's naam en mijn naam (+ varianten) in rood worden weergegeven.

Alternatief:
Als je niet voor alle mogelijke variaties input regels wilt maken kun je het volgende trukje toepassen.

Code: [Select]
~input [Jj]elmar[Gg]?  &c4JelmarG/&cUitleg: Het [Jj] deel zegt eigenlijk dat de naam met een hoofletter én een kleine letter kan beginnen. Het [Gg]? deel doet eigenlijk hetzelfde (dus een G of een g), het vraagteken zorgt er echter voor dat dit laatste deel (de G of g dus) optioneel is. Dit input command registreert dus Jelmar, jelmar, JelmarG, Jelmarg, jelmarG, jelmarg. Lekker makkelijk dus. Er is echter 1 groot nadeel. De output (het &c4JelamrG/&c gedeelte) kan niet aangepast worden dus je zal iedere variant op jelmar's naam dus in je chatvenster zien als JelmarG. Niet heel erg natuurlijk maar wel even handig om te vermelden.

Spelers negeren
Voor die paar spelers die anderen willen negeren is er de ignore functie. Deze werkt als volgt:
Code: [Select]
~ignore <spelerNaam
Vervang spelerNaam met de naam van diegene die je wilt negeren
Om de ignore's te verwijderen moet je nu nog een omweg nemen en het handmatig doen buiten minecraft om. Dit omdat de delete functie van ImC ignores nog niet delete. Doe het volgende:
Code: [Select]
Ga naar je .minecraft map in appdata
Open de map mods en dan de map wd1966
Open het ImprovedChat.xml bestand
Verwijder de <ignore>blablabla</ignore> stukken uit dit bestand. LET OP! Je moet ook de <ignore> en </ignore> tags verwijderen anders zie je helemaal niks meer.

Automatische homes en tijdelijk homes gebruiken
Met behulp van de ~script functionaliteit kun je automatisch een tijdelijke home maken als je ergens anders heen wilt. Stel je bent bijvoorbeeld aan het hakken en je moet even je inventory legen, normaal moet je dan "/homes add temp, /homes use storage, /home, /homes use temp, /home" doen. Dit is veel werkt natuurlijk, vooral voor veelgebruikte homes. Om dit op te lossen maak je dus een script.

Ga naar je .minecraft folder (te vinden in je app data), zoek daar de map mods op en open dan de map wd1966. Maak hier een leeg txt bestandje aan en geef het een mooie naam. In het tekst bestand zet je vervolgens onderstaande code (vervang home_naam door de naam van de gewenste home):
Code: [Select]
/homes add temp
/homes use home_naam
/home
/homes use temp
Dit script zal dus een nieuwe, tijdelijke home aanmaken, vervolgens laad het script de gewenste home (je storage bijvoorbeeld) in en warpt ie je er heen. Tot slot laad ie dan de tijdelijke home alvast in. Het enige wat je nu nog moet doen is /home te doen en je staat weer op de plek waar je net vandaan bent gekomen.

Je kunt het script op 2 manieren gebruiken. Je kan iedere keer ~script script_naam.txt gebruiken maar dit is natuurlijk lang typen. Idealiter wil je het script binden aan een bepaalde toets of toetscombinatie (bijvoorbeeld ctrl 1). Om dit te doen kopieer je het volgende:

Code: [Select]
~bind ctrl-1 ~script script_naam.txtVervang hierin natuurlijk ctrl-1 door je eigen gekozen toetscombinatie en vervang script_naam door de naam van je script.

Je kan dus op deze manier een hele reeks homes binden aan de toetsen ctrl 1 t/m 0 als je zou willen. Let erop dat je voor ieder script een nieuwe .txt moet maken.


Er zijn nog wel meer functies, onder andere de tab functionaliteit. Hier heb ik zelf echter nog niet echt aandacht aan besteed. Mocht iemand graag een functie of commando toegevoegd willen zien. Vraag gerust, ik kan altijd even kijken hoe ver ik kom met regex.

TlDr: Kopieer de code uit de code blokken in je chatvenster!
Title: Re: Improved chat
Post by: Sedative Svardskampe on 2 March 2011, 01:12:14
Dank je voor de verhelderende uitleg. Bij de volgende upload van mijn custom client zal tab to autoreply er automatisch inzitten voor tweakcraft

Er staat in de help ook dat je commando's in een vars.txt bestand kan zetten. Misschien ook wel handig te vermelden om servers te overlappen?
Title: Re: Improved chat
Post by: WouterH on 2 March 2011, 10:37:53
Hmm, voor zover ik heb kunnen vinden zijn de ~bind en ~var commands zowieso al server specific. Je kan dit veranderen door ze global te maken in de AppData\Roaming\.minecraft\mods\wd1966\ImprovedChat.xml file. Hier staan alle commands in en hier kun je dus ook commands toevoegen buiten minecraft om. Alle ~input en ~output commands zijn wel universeel voor alle servers. Maar ~bind en ~var zijn dus per server anders (je kan per server iets anders instellen).

Edit: Ik heb tevens nog een commando toegevoegd waarmee je de regions enter en exit teksten kan aanpassen en mooier maken. Het staat in de startpost!
Title: Re: Improved chat (mod voor smp)
Post by: Milenco on 2 March 2011, 13:59:04
Thanks Wouter voor je duidelijke tutorial! Ik vroeg me al af hoe ik TAB kon binden om automatisch te reageren op PM's. Top! :)
Title: Re: Improved chat (mod voor smp)
Post by: WouterH on 6 April 2011, 20:34:27
Zo, heb even wat informatie toegevoegd over modloader en improved chat. Ook heb ik nog een alternatief toegevoegd voor het kleuren van de chat.

Mochten er vragen zijn, ik hoor ze graag.
Title: Re: Improved chat (mod voor smp)
Post by: Milenco on 6 April 2011, 22:16:50
Ik zou graag met 1 knop m'n vorige 'chat-actie' herhalen (zei het een command of een tekstbericht). Is dat mogelijk te realiseren met ImprovedChat?
Title: Re: Improved chat (mod voor smp)
Post by: WouterH on 7 April 2011, 12:12:56
Ja, pijltje omhoog ;)

Zit er standaard in :P
Title: Re: Improved chat (mod voor smp)
Post by: Milenco on 7 April 2011, 12:25:45
Ohw, das handig :) Maar ik bedoelde eigenlijk met één knop (ipv T, pijltje omhoog, enter), kan dat ook?
Title: Re: Improved chat (mod voor smp)
Post by: WouterH on 7 April 2011, 17:46:04
Hehe, eindelijk dat mysterie ook opgelost. Blijkbaar zit er een "hidden" stukje tekst in alle chatcommands door de kleuren van bukkit (§6 bijvoorbeeld voor vip-geel). Hierdoor was het een aardig gepuzzel om jou probleem op te lossen Milenco. Maar hier komt de command:

Vervang de "R" in het tweede command voor de letter of toets naar keuze.
Code: [Select]
~var lastchat (?<=<§[0-9a-f]Milenco§f> ).*
~bind R '$lastchat'
Uitleg: De var slaat steeds de tekst op die je typt in het chatvenster. Druk je dan op R (of een toets naar keuze) dan verschijnt dus de tekst in het chatvenster.

Hopelijk werkt het zo?
Title: Re: Improved chat (mod voor smp)
Post by: Milenco on 7 April 2011, 18:44:32
Hehe, eindelijk dat mysterie ook opgelost. Blijkbaar zit er een "hidden" stukje tekst in alle chatcommands door de kleuren van bukkit (§6 bijvoorbeeld voor vip-geel). Hierdoor was het een aardig gepuzzel om jou probleem op te lossen Milenco. Maar hier komt de command:

Vervang de "R" in het tweede command voor de letter of toets naar keuze.
Code: [Select]
~var lastchat (?<=<§[0-9a-f]Milenco§f> ).*
~bind R '$lastchat'
Uitleg: De var slaat steeds de tekst op die je typt in het chatvenster. Druk je dan op R (of een toets naar keuze) dan verschijnt dus de tekst in het chatvenster.

Hopelijk werkt het zo?

Code: [Select]
~var lastchat (?<=<§[0-9a-f]Milenco§f> ).*
~bind R $lastchat

Zo werkt het wel, anders krijg je quotes erbij :) Thanks! Is het ook mogelijk dit te maken zodat het ook met commando's werkt? Zodat je sneller naar iemand kan tp'en als je eenmaal het commando hebt ingevoerd? (Dus dat het bovenstaande werkt met zowel chat als commando's)
Title: Re: Improved chat (mod voor smp)
Post by: WouterH on 7 April 2011, 19:48:57
Die quotes zijn er juist voor zodat je de zin ook in je chatvenster te zien krijgt. Zonder quotes krijg je $lastchat te zien in je tekstvak. Met quotes krijg je de eigenlijke tekst zelf te zien. Probeer het maar eens. ;)

Wat betreft ditzelfde trukje voor commands. Dat gaat wat minder goed, het nadeel van improved chat is dat de ~var command alleen de chat zelf bekijkt. Aangezien tp geen bericht geeft in de chat (behalve dus als iemand NAAR je toe tp-ed) kan de var het niet zien en dus niks opslaan. Wat je wel kan doen is bijvoorbeeld veelgebruikte tp's aan toetsen binden. Voorbeeldje:
Code: [Select]
~bind J /tp JelmarG
Nu tp je automatisch naar JelmarG toe als je op J drukt.

Om het voor commands mogelijk te maken moet het command dus iets terug geven in de chat zelf. Anders kan je niks met ~var doen.

Je kan het evt wel setten. Dan zou je bijvoorbeeld zoiets moeten doen:

Code: [Select]
~var tptarget (?<=[§[0-9a-f]Milenco§f -> Me]) settptarget .*
~bind P /tp $tptarget

Nu zou je dus dmv "/msg Milenco settptarget JelmarG" Jelmar als een soort target kunnen setten die wordt opgeslagen in de ~var. Deze gebruik je vervolgens weer voor de ~bind. Nu heb je dus wel een input van de chat dus kan je ~var gebruiken. Op een andere manier is het niet mogelijk.

Ik heb trouwens in de startpost ook een commando toegevoegd voor het gebruik van homes en tijdelijk homes. Het gebruikt de ~script functionaliteit en zorgt ervoor dat als je een bepaalde home gebruikt je eerst een tijdelijk home aanmaakt waar je staat zodat je er later makkelijk naar terug kan.
Title: Re: Improved chat (mod voor smp)
Post by: Milenco on 8 April 2011, 07:49:35
Ik had het geprobeerd met quotes en daarbij kreeg ik juist de quotes óók te zien in de chat, zonder de quotes werkte het wel goed. :)

Hotkeys voor macro's en homes had ik al ingesteld met een eigen macro. Jammer dat je commando's niet kan 'repeaten' met een knop. Toch bedankt voor het uitzoeken! :)
Title: Re: Improved chat (mod voor smp)
Post by: Knakworst on 8 April 2011, 08:08:14
Mischien een probleem dat al een keer aan bot is geweest maar als ik een zone verlaat staat er:
Code: [Select]
You left $regionsExit, goodbye!
En als je zone inloopt zie je:
Code: [Select]
Welcome, you entered $regionsEnter!
Ik denk dat het heeft te maken met deze mod want daarvoor was het er nog niet. is dit op te lossen dat je wel de naam van de zone krijgt.

Knakworst
PS ik heb de .minecraft map van de voorpagina gedownload
Title: Re: Improved chat (mod voor smp)
Post by: WouterH on 8 April 2011, 11:33:15
Hmm vreemd, in principe hoort er ipv de $regionsExit en $regionsEnter de naam van de region te staan. Bij mij werkt het wel (en ik heb ook de .jar van de voorpagina, van Svards).

Zou je eens kunnen kijken wat de output is als je ~list var doet en als je ~list input doet? Als het goed is hoort er bij ~list var dan iets te staan als: regionsExit (?<=^[eE]xited ).* en ongeveer hetzelfde voor regionsEnter.

Krijg je dit bij elke zone? Of alleen bij een aantal zones, en welke zijn dit dan? Dan kan ik eens kijken of ik het daar ook krijg.

Als het je echt heel erg stoort dan kun je altijd ~delete input {nummer} doen waarbij {nummer} het nummer is van de commands voor het zone enter en exit gebeuren (waarschijnlijk zijn dit 0 en 1).
Title: Re: Improved chat (mod voor smp)
Post by: Sedative Svardskampe on 16 August 2011, 20:13:51
bump zodat het niet onder al die moved topics komt te staan op de tweede pagina
Title: Re: TUTORIAL: Improved Chat (SMP Mod)
Post by: WouterH on 4 October 2011, 22:00:37
Heb ff de post aangepast met de juiste download linkjes.

Ook heb ik heel kort iets over scripts toegevoegd.
Title: Re: TUTORIAL: Improved Chat (SMP Mod)
Post by: Dragon9112 on 7 October 2011, 21:17:04
Edit: na dat ik chathook_preader er ook op het gezet werkt improved chat wel !.


geen idee of ik nu iets verkeerd doe maar ik krijg steeds een zwart scherm als ik improvedchat installeer.

eerst heb ik modloader geinstalleert op een schone minecarft.jar. daarna minecraft opstarten en effe spelen, en daarna improvedchat geinstalleert in de jar file. vervolgens krijg ik een zwart scherm als ik minecraft wil spelen.
er worden ook geen mappen en files aangemaakt in de mod folder.  :no

ik gebruikt versie 2.4.9R1 van GuntherDW.

ik kan ook niks van een log file vinden waar errors in staan.
Title: Re: TUTORIAL: Improved Chat (SMP Mod)
Post by: Gazeebo on 3 November 2011, 16:06:45
~var playerMsg (?<=\[§.).*?(?=§f -> Me\])
~bind tab /msg '$playerMsg' \

Wat is nou de nieuwe code om met kleuren om te gaan ?
Title: Re: TUTORIAL: Improved Chat (SMP Mod)
Post by: Jelmar on 21 December 2011, 05:59:07
Paar kleine updates doorgevoerd in de start post.
Title: Re: TUTORIAL: Improved Chat (SMP Mod)
Post by: Milenco on 15 January 2012, 00:09:43
Dit is erg handig als je handmatig de configfile wilt aanpassen:
http://super-earth.net/showthread.php?12016-Improved-Chat-KeyBoard-Reference