<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://forum.eggheads.org/app.php/feed/topic/12739" />

	<title>egghelp/eggheads community</title>
	<subtitle>Discussion of eggdrop bots, shell accounts and tcl scripts.</subtitle>
	<link href="https://forum.eggheads.org/index.php" />
	<updated>2010-11-28T08:38:05-04:00</updated>

	<author><name><![CDATA[egghelp/eggheads community]]></name></author>
	<id>https://forum.eggheads.org/app.php/feed/topic/12739</id>

		<entry>
		<author><name><![CDATA[kwen]]></name></author>
		<updated>2010-11-28T08:38:05-04:00</updated>

		<published>2010-11-28T08:38:05-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=95209#p95209</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=95209#p95209"/>
		<title type="html"><![CDATA[Kaos Script with no Colors]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=95209#p95209"><![CDATA[
Hello,<br><br>The problem arises again about the colors of the users.<br><br>The robot does not have the colors of the users during the game<br>Alchera had given a code that worked well.<br><blockquote class="uncited"><div>You'd need to insert the following in the appropriate place(s):<div class="codebox"><p>Code: </p><pre><code>set args [stripcodes bcruag $args]</code></pre></div>Example:<div class="codebox"><p>Code: </p><pre><code>proc KAOS_Start {nick uhost hand chan args} {global KAOSChannel KAOSRunning KAOSQCount KAOSQNumber KAOSQuestionFile KAOSAdNumber KAOSVersion KDebugset args [stripcodes bcruag $args]</code></pre></div>There are 10 locations for doing this. Simply search for '{nick uhost hand chan args}' and then <em class="text-italics">after</em> the 'global' line add the stripcodes setting (as indcated).<br><br>Save and reload the edited file in your bot (<em class="text-italics">.rehash</em>).<br><br>The colour problem should then be solved. <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile"></div></blockquote>Since 1.6.19 eggdrop is passed.<br>I tested this code found on this site, but does not work.<br><blockquote class="uncited"><div>I created strip.tcl like this<div class="codebox"><p>Code: </p><pre><code>catch {unbind raw - PRIVMSG *raw:irc:msg}catch {unbind raw - PRIVMSG *raw:PRIVMSG}bind raw - PRIVMSG striprivmsgproc striprivmsg {f k a} {   set a [stripcodes abcgru $a]   *raw:irc:msg $f $k $a   *raw:PRIVMSG $f $k $a}putlog "colourstripper... Loaded"</code></pre></div>Added to egggdrop.conf<br><br>But triviascript still doesn't react to users answering in coloured text. Am i doing something wrong? Help would be greatly apreciated<br><br>Peer</div></blockquote>Users are forced to type /say &lt;answer&gt; or .answer<br><br>Can you help me please?<br><br>Thank you.<br><br>Regards.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=9144">kwen</a> — Sun Nov 28, 2010 8:38 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Zircon]]></name></author>
		<updated>2007-10-22T13:51:45-04:00</updated>

		<published>2007-10-22T13:51:45-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=77018#p77018</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=77018#p77018"/>
		<title type="html"><![CDATA[Kaos Script with no Colors]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=77018#p77018"><![CDATA[
Hello Kwen<br><br>      Thanks for the reply. But actually i m not interested  in the script itself, cause i use another script quiz. What i am interested in is that file "kaos.db", that you have in french <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile"> Like i told you, i m ready to exchange with you the trivia files i have. thanks in advance.<br><br>IN FRENCH :<br><br>      Salut, merci pour ta réponse, mais au fait moi je suis interessé par le fichier de questions qui est en Francais, et non pas le script du quizz. Dans le lien que tu m as filé, kaos.db est en anglais, je cherche kaos.db en Francais. Je suis prêt à échanger avec toi les fichiers des questions que j ai. Merci d avance.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=8115">Zircon</a> — Mon Oct 22, 2007 1:51 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[kwen]]></name></author>
		<updated>2007-10-22T10:38:55-04:00</updated>

		<published>2007-10-22T10:38:55-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=77009#p77009</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=77009#p77009"/>
		<title type="html"><![CDATA[Jeu or Game]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=77009#p77009"><![CDATA[
For the community that interests, here the bond "kaos" :<br><br><a href="http://home.earthlink.net/~techwhiz/uno/" class="postlink">http://home.earthlink.net/~techwhiz/uno/</a><br><br><br>Good Day...<br> <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_biggrin.gif" width="15" height="15" alt=":D" title="Very Happy"><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=9144">kwen</a> — Mon Oct 22, 2007 10:38 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Alchera]]></name></author>
		<updated>2007-10-22T03:34:35-04:00</updated>

		<published>2007-10-22T03:34:35-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=76996#p76996</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=76996#p76996"/>
		<title type="html"><![CDATA[Kaos Script with no Colors]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=76996#p76996"><![CDATA[
<blockquote class="uncited"><div>Hello Alchera,<br><br>The problem of the colors is solved thanks to your code.<br><br>Thank you very much of your assistance…  <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_biggrin.gif" width="15" height="15" alt=":D" title="Very Happy"></div></blockquote>My pleasure.  <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile"><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=3646">Alchera</a> — Mon Oct 22, 2007 3:34 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Zircon]]></name></author>
		<updated>2007-10-22T03:34:22-04:00</updated>

		<published>2007-10-22T03:34:22-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=76995#p76995</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=76995#p76995"/>
		<title type="html"><![CDATA[Kaos Script with no Colors]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=76995#p76995"><![CDATA[
Hello Kwen<br><br>     My post dont concern your question about colors, but i see that you use a KAOS questions in french, that i was lookin for quite a while now. Can you be enough kind to tell me where i can get them, or maybe send them to me. Of course, i can give you all the trivia files i have with no problem. Thanks in advance !<br><br>IN FRENCH :<br><br>   Bonjour, je vois que tu utilises un KAOS en francais, ce que je cherche depuis longtemps pour alimenter mon canal de quizz. Ca t embeterai de me dire ou est ce que je pourrai me les procurer, ou carrement me les envoyer ? je suis pret a t envoyer toutes les questions que j ai. Merci d avance !<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=8115">Zircon</a> — Mon Oct 22, 2007 3:34 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[kwen]]></name></author>
		<updated>2007-10-22T02:31:16-04:00</updated>

		<published>2007-10-22T02:31:16-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=76994#p76994</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=76994#p76994"/>
		<title type="html"><![CDATA[Kaos Script with no Colors]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=76994#p76994"><![CDATA[
Hello Alchera,<br><br>The problem of the colors is solved thanks to your code.<br><br>Thank you very much of your assistance…  <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_biggrin.gif" width="15" height="15" alt=":D" title="Very Happy"><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=9144">kwen</a> — Mon Oct 22, 2007 2:31 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Alchera]]></name></author>
		<updated>2007-10-20T18:45:02-04:00</updated>

		<published>2007-10-20T18:45:02-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=76924#p76924</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=76924#p76924"/>
		<title type="html"><![CDATA[Kaos Script with no Colors]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=76924#p76924"><![CDATA[
You'd need to insert the following in the appropriate place(s):<div class="codebox"><p>Code: </p><pre><code>set args [stripcodes bcruag $args]</code></pre></div>Example:<div class="codebox"><p>Code: </p><pre><code>proc KAOS_Start {nick uhost hand chan args} {global KAOSChannel KAOSRunning KAOSQCount KAOSQNumber KAOSQuestionFile KAOSAdNumber KAOSVersion KDebugset args [stripcodes bcruag $args]</code></pre></div>There are 10 locations for doing this. Simply search for '{nick uhost hand chan args}' and then <em class="text-italics">after</em> the 'global' line add the stripcodes setting (as indcated).<br><br>Save and reload the edited file in your bot (<em class="text-italics">.rehash</em>).<br><br>The colour problem should then be solved. <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile"><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=3646">Alchera</a> — Sat Oct 20, 2007 6:45 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[kwen]]></name></author>
		<updated>2007-10-19T21:02:01-04:00</updated>

		<published>2007-10-19T21:02:01-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=76897#p76897</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=76897#p76897"/>
		<title type="html"><![CDATA[Kaos Script with no Colors]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=76897#p76897"><![CDATA[
Desolate iamdeath, but problem does not regulate... <br><br>My problem is that the users of the club foot use colours in their messages. <br><br>The club foot therefore does not discern the colours of these users. <br><br>The users owe répondrent by typing a point in front of their sentence... <br><br>[18:40:40] &lt;Pirlouis&gt; .chine <br><br>I do not find resolution... <br><br>Thanks<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=9144">kwen</a> — Fri Oct 19, 2007 9:02 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[iamdeath]]></name></author>
		<updated>2007-10-18T13:49:40-04:00</updated>

		<published>2007-10-18T13:49:40-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=76857#p76857</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=76857#p76857"/>
		<title type="html"><![CDATA[Kaos Script with no Colors]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=76857#p76857"><![CDATA[
When you put the script .restart your bot dont rehash. The colors are completely gone from the script, so it should not show any color anymore.<br><br><br>Thanks<br>iamdeath<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5982">iamdeath</a> — Thu Oct 18, 2007 1:49 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[kwen]]></name></author>
		<updated>2007-10-18T12:59:35-04:00</updated>

		<published>2007-10-18T12:59:35-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=76856#p76856</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=76856#p76856"/>
		<title type="html"><![CDATA[Kaos Script with no Colors]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=76856#p76856"><![CDATA[
Thank you for your answer iamdeath, purpose is not exactly what I searched... I make you un copy one  example... <br><br>[18:40:28] &lt;Robot&gt;  K0079  Pays ayant la plus grande superficie :  [10 Réponses]<br>[18:40:28] &lt;Robot&gt; 10 Blues pour chaque réponse(s) trouvée(s). Total: 100 Blues<br>[18:40:34] &lt;Pirlouis&gt;  <span style="color:blue">Chine </span><br>[18:40:36] &lt;Anna&gt; <span style="color:red">chine</span><br>[18:40:37] &lt;Pirlouis&gt;  <span style="color:blue">Russie </span><br>[18:40:40] &lt;Pirlouis&gt; .chine<br><br>Colours are not taken into account by the Robot, only if we put a full stop in front of our answers... <br><br>Thank you for your help<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=9144">kwen</a> — Thu Oct 18, 2007 12:59 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[iamdeath]]></name></author>
		<updated>2007-10-17T17:55:06-04:00</updated>

		<published>2007-10-17T17:55:06-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=76828#p76828</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=76828#p76828"/>
		<title type="html"><![CDATA[Kaos Script with no Colors]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=76828#p76828"><![CDATA[
<div class="codebox"><p>Code: </p><pre><code># # Marky's KAOS v0.92 # Copyright (C) 2004 Mark A. Day (techwhiz@earthlink.net) # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # Default Settings set KAOSChannel "#madlibs" set KAOSPointsName "Points" set KAOSPointsPerAnswer 10 set KAOSQuestionTime 60 set KAOSMarker "*" set KAOSScoreFile "scores/KAOS_Scores" set KAOSAskedFile "scores/Kaos.Asked" set KAOSQuestionFile "scores/Kaos.db" set KAOSCFGFile "scripts/Kaos.cfg" # Channel Triggers bind pub - !kaostop10 KAOSTop10 bind pub - !kaostoplast KAOSLastMonthTop3 bind pub - !kaoswon KAOSPlayerScore bind pub - !kaosrepeat KAOS_Repeat bind pub - !kaoscmds KAOSCmds bind pub - !asked KAOS_ShowAsked bind pub - !kaosversion KAOS_ShowVersion bind pub - !kaos KAOS_Start bind pub - !stop KAOS_Stop # DCC Commands bind dcc - kaosrehash dcc_kaosrehash bind dcc - kaosanswer dcc_kaosanswer bind dcc - kaosreset dcc_kaosresetasked bind dcc - kaosasked dcc_kaosshowasked bind dcc - kaosforce dcc_kaosforce # Cron Bind For Monthly Score Reset bind time - "00 00 01 * *" KAOS_NewMonth # Global Variables set KAOSRunning 0 set KAOSAllAnswered 0 set KAOSRoundOver 0 set KAOSQNumber 0 set KAOSQuestion "" set KAOSQuestions(0) "" set KAOSAsked "" set KAOSMonthFileName "" set KAOSQCount 0 set KAOSAnswerCount 0 set KAOSDisplayNum 0 set KAOSNumAnswered 0 set KAOSForced 0 set KAOSForcedQuestion "" set KAOSAutoStart 0 # Scores And Ads set KAOSAdNumber 0 set KAOSLastMonthScores(0) "Nobody 0" set KAOSLastMonthScores(1) "Nobody 0" set KAOSLastMonthScores(2) "Nobody 0" # Timers set KAOSAdTimer "" set KAOSQuestionTimer "" # Version set KDebug 1 set KAOSVersion "0.92" # # Start KAOS # proc KAOS_Start {nick uhost hand chan args} { global KAOSChannel KAOSRunning KAOSQCount KAOSQNumber KAOSQuestionFile KAOSAdNumber KAOSVersion KDebug if {($chan != $KAOSChannel)||($KAOSRunning != 0)} {return} set KAOSQCount 0 set KAOSAdNumber 0 KAOS_ReadCFG if {![file exist $KAOSQuestionFile]} { putcmdlog "\[KAOS\] Question File: $KAOSQuestionFile Unreadable Or Does Not Exist" return 0 } set KAOSQCount [KAOS_ReadQuestionFile] if {$KAOSQCount &lt; 2} { putcmdlog "\[KAOS\] Not Enough Questions in Question File $KAOSQuestionFile" return 0 } set KAOSAskedFileLen [KAOS_ReadAskedFile] if {$KAOSAskedFileLen &gt;= $KAOSQCount} { kaosmsg "[kaos] [kcr] All Questions Asked: Resetting \003" KAOS_ResetAsked return 0 } set KAOSRunning 1 kaosmsg "[kaos] [kcm] v$KAOSVersion by Marky \[$KAOSQCount Questions\] \003" bind pubm - "*" KAOSCheckGuess KAOSAskQuestion return 1 } # # Stop KAOS # proc KAOS_Stop {nick uhost hand chan args} { global KAOSChannel KAOSRunning KAOSQuestionTimer KAOSAdTimer if {($chan != $KAOSChannel)||($KAOSRunning != 1)} {return} set KAOSRunning 0 catch {killutimer $KAOSQuestionTimer} catch {killutimer $KAOSAdTimer} catch {unbind pubm - "*" KAOSCheckGuess} kaosmsg "[kaos] stopped by \[$nick!$uhost\]" return 1 } # # Pick Question # proc KAOSPickQuestion {} { global KAOSAsked KAOSQCount KDebug set KAOSUnasked [expr ($KAOSQCount - [llength $KAOSAsked])] if {$KAOSUnasked &lt; 1} { kaosmsg "[kaos] [kcr] All Questions Asked: Resetting \003" KAOS_ResetAsked } set pickdone 0 while {$pickdone == 0} { set kidx 0 set foundinasked 0 set pick [rand $KAOSQCount] while {[lindex $KAOSAsked $kidx] != ""} { if {[lindex $KAOSAsked $kidx] == $pick} { set foundinasked 1 # kaoslog "KAOS" "Found Pick:$pick in Asked" break } incr kidx } if {$foundinasked == 0} {incr pickdone} } # kaoslog "KAOS" "Picked Question:$pick" KAOS_AddAsked $pick return $pick } # # Parse Question # proc KAOSParseQuestion {QNum} { global KAOSMarker KAOSQuestions KAOSQuestion KAOSAnswers KAOSAnswerCount KAOSForcedQuestion KDebug set KAnswersLeft "" if {$QNum &lt; 0} { set KAOSFileQuestion $KAOSForcedQuestion } { set KAOSFileQuestion $KAOSQuestions($QNum) } if {$KDebug &gt; 1} {kaoslog "kaos" "Picked:$QNum Question:$KAOSFileQuestion"} if [info exists KAOSAnswers] {unset KAOSAnswers} # Position of first "*" set KAOSMarkerIDX [string first $KAOSMarker $KAOSFileQuestion] if {$KAOSMarkerIDX &lt; 1} { kaoslog "KAOS" "Malformed Question #$QNum" } set KAOSQuestionEndIDX [expr $KAOSMarkerIDX - 1] set KAOSQuestion [string range $KAOSFileQuestion 0 $KAOSQuestionEndIDX] # Move to first character in answers incr KAOSMarkerIDX set KAnswersLeft [string range $KAOSFileQuestion $KAOSMarkerIDX end] set KDoneParsing 0 set KAOSAnswerCount 0 # Parse all answers while {$KDoneParsing != 1 } { set KAnswerEnd [string first $KAOSMarker $KAnswersLeft] if {$KAnswerEnd &lt; 1} { set KDoneParsing 1 set KAnswerEnd [string length $KAnswersLeft] } set KAnswer [string range $KAnswersLeft 0 [expr $KAnswerEnd -1]] set KAOSAnswers($KAOSAnswerCount) "# $KAnswer" set KAOSMarkerIDX [expr $KAnswerEnd +1] set KAnswersLeft [string range $KAnswersLeft $KAOSMarkerIDX end] incr KAOSAnswerCount } } # # Ask Question # proc KAOSAskQuestion {} { global KAOSRunning KAOSQNumber KAOSAllAnswered KAOSRoundOver KAOSQuestion global KAOSPointsPerAnswer KAOSPointsName KAOSNumAnswered KAOSAnswerCount global KAOSQuestionTimer KAOSQuestionTime KAOSDisplayNum KAOSForced KAOSLastGuesser if {$KAOSRunning != 1} {return} # Get The Current Scores read_KAOSScore # Pick Next Question if {$KAOSForced == 1} { KAOSParseQuestion -1 set KAOSQNumber 0 set KAOSForced 0 set KAOSForcedQuestion "" } { set KAOSQNumber [KAOSPickQuestion] KAOSParseQuestion $KAOSQNumber } set KAOSAllAnswered 0 set KAOSLastGuesser "" set KAOSDisplayNum 0 set KAOSNumAnswered 0 set KAOSRoundOver 0 # Choose Points Value For This Round set KAOSPointsPerAnswer [rand 10] if {$KAOSPointsPerAnswer &lt; 1} {set KAOSPointsPerAnswer 10} set KAOSPointsPerAnswer [expr $KAOSPointsPerAnswer * 10] set KAOSPointTotal [expr $KAOSPointsPerAnswer *$KAOSAnswerCount] kaosmsg "[kcg] K[format "%04d" $KAOSQNumber] [kcb] $KAOSQuestion \003 \[$KAOSAnswerCount Answers\]" kaosmsg "$KAOSPointsPerAnswer $KAOSPointsName for each matching answer. Total: $KAOSPointTotal $KAOSPointsName" set KRemain [expr int([expr $KAOSQuestionTime /2])] set KAOSQuestionTimer [utimer $KRemain "KAOSDisplayRemainingTime $KRemain"] } # # Get Player Guess # proc KAOSCheckGuess {nick uhost hand chan args} { global KAOSChannel KAOSRunning KAOSScore KAOSAnswerCount KAOSAnswers KAOSRoundOver global KAOSPointsName KAOSPointsPerAnswer KAOSNumAnswered KAOSAllAnswered KAOSLastGuesser KDebug if {($chan != $KAOSChannel)||($KAOSRunning != 1)||($KAOSRoundOver == 1)} {return} regsub -all \[{',.!}] $args "" args if {[string length args] == 0} {return} set KAOSGuessOld $args set KAOSGuess [string tolower $KAOSGuessOld] if {$KDebug &gt; 1} {kaoslog "KAOS" "Guess: $nick $KAOSGuess"} foreach z [array names KAOSAnswers] { set KAOSTry [lrange $KAOSAnswers($z) 1 end] set KAOSTryOld $KAOSTry regsub -all \[{',.!}] $KAOSTry "" KAOSTry set KAOSTry [string tolower $KAOSTry] if {$KDebug &gt; 1} {kaoslog "KAOS" "Try: $KAOSTry"} if {$KAOSTry == $KAOSGuess} { if {[lindex $KAOSAnswers($z) 0] == "#"} { set KAOSAnswers($z) "$nick $KAOSGuessOld" kaosmsg "[knikclr $nick] wins $KAOSPointsPerAnswer $KAOSPointsName for $KAOSTryOld" incr KAOSNumAnswered if {$KAOSNumAnswered == $KAOSAnswerCount} { set KAOSAllAnswered 1 set KAOSRoundOver 1 set KAOSLastGuesser $nick kaosmsg "[kaos] [kcr]Vous avez tout deviné, bravo" KAOS_ShowResults KAOS_Recycle } return } } } } # # Display Remaining Time And Answer Stats # proc KAOSDisplayRemainingTime {remaining} { global KAOSRunning KAOSAllAnswered KAOSNumAnswered KAOSAnswerCount KAOSQuestionTimer KAOSQuestionTime KAOSDisplayNum if {($KAOSRunning != 1)||($KAOSAllAnswered == 1)} {return} kaosmsg "Matching answers: $KAOSNumAnswered from a possible $KAOSAnswerCount $remaining secs remaining" incr KAOSDisplayNum set KRemain [expr int([expr $KAOSQuestionTime /4])] if {$KAOSDisplayNum &lt; 2} { set KAOSQuestionTimer [utimer $KRemain "KAOSDisplayRemainingTime $KRemain"] } { set KAOSQuestionTimer [utimer $KRemain KAOSTimesUp] } } # # Show Results Of Round # proc KAOSTimesUp {} { global KAOSAnswers KAOSAllAnswered KAOSRoundOver KAOSNumAnswered KAOSAnswerCount KAOSQuestionTimer KAOSAdTimer if {$KAOSAllAnswered == 1} { return 1} set KAOSRoundOver 1 set kaosmissed "[kcg] Time's Up! " append KMissed "You Missed:" set KAnswersRemaining [expr ($KAOSAnswerCount - $KAOSNumAnswered)] set kcount 0 foreach z [array names KAOSAnswers] { if {[lindex $KAOSAnswers($z) 0] == "#"} { append KMissed "[lrange $KAOSAnswers($z) 1 end]" incr kcount if {$kcount &lt; $KAnswersRemaining} {append KMissed " | "} } } kaosmsg "$KMissed" KAOS_ShowResults if {$KAOSNumAnswered &gt; 0} { kaosmsg "[kcs] Total Number Answered Correctly: $KAOSNumAnswered from a possible $KAOSAnswerCount!" } { kaosmsg "[kaos] Bummer! Nobody got a single Answer " } set KAOSAdTimer [utimer 10 KAOS_ShowAd] set KAOSQuestionTimer [utimer 20 KAOSAskQuestion] } # # All Answers Gotten, Next Question # proc KAOS_Recycle {} { global KAOSAnswers KAOSNumAnswered KAOSQuestionTimer KAOSAdTimer catch {killutimer $KAOSQuestionTimer} if [info exists KAOSAnswers] {unset KAOSAnswers} set KAOSAdTimer [utimer 10 KAOS_ShowAd] set KAOSQuestion "" set KAOSNumAnswered 0 set KAOSQuestionTimer [utimer 20 KAOSAskQuestion] } # # Total Answers and Points # proc KAOS_ShowResults {} { global KAOSAnswers KAOSPointsPerAnswer KAOSPointsName KAOSScore KAOSAllAnswered KAOSLastGuesser set NickCounter 0 set KAOSCounter 0 if {$KAOSAllAnswered == 1} { set KAOSBonus [expr $KAOSPointsPerAnswer *10] kaosmsg "[knikclr $KAOSLastGuesser] Wins $KAOSBonus Bonus $KAOSPointsName For Getting The Final Answer!" set KNickTotals($KAOSLastGuesser) $KAOSBonus set KNickList($NickCounter) $KAOSLastGuesser incr NickCounter } foreach z [array names KAOSAnswers] { if {[lindex $KAOSAnswers($z) 0] != "#"} { set cnick [lindex $KAOSAnswers($z) 0] if {[info exists KNickTotals($cnick)]} { incr KNickTotals($cnick) $KAOSPointsPerAnswer } { set KNickTotals($cnick) $KAOSPointsPerAnswer set KNickList($NickCounter) $cnick incr NickCounter } incr KAOSCounter } } if {$KAOSCounter &gt; 0} { set ncount 0 set nicktotal "[kcm] $KAOSPointsName This Round " while {$ncount &lt; $NickCounter} { set cnick $KNickList($ncount) if {[info exists KAOSScore($cnick)]} { incr KAOSScore($cnick) $KNickTotals($cnick) } { set KAOSScore($cnick) $KNickTotals($cnick) } append nicktotal "[kcc] $cnick [kcm] $KNickTotals($cnick) " incr ncount } kaosmsg $nicktotal write_KAOSScore } } # # Read Scores # proc read_KAOSScore { } { global KAOSScore KAOSScoreFile if [info exists KAOSScore] { unset KAOSScore } if {[file exists $KAOSScoreFile]} { set f [open $KAOSScoreFile r] while {[gets $f s] != -1} { set KAOSScore([lindex $s 0]) [lindex $s 1] } close $f } { set f [open $KAOSScoreFile w] puts $f "Nobody 0" close $f } } # # Write Scores # proc write_KAOSScore {} { global KAOSScore KAOSScoreFile set f [open $KAOSScoreFile w] foreach s [lsort -decreasing -command sort_KAOSScore [array names KAOSScore]] { puts $f "$s $KAOSScore($s)" } close $f } # # Score Sorting # proc sort_KAOSScore {s1 s2} { global KAOSScore if {$KAOSScore($s1) &gt; $KAOSScore($s2)} {return 1} if {$KAOSScore($s1) &lt; $KAOSScore($s2)} {return -1} if {$KAOSScore($s1) == $KAOSScore($s2)} {return 0} } # # Add Question Number To Asked File # proc KAOS_AddAsked {KQnum} { global KAOSAsked KAOSAskedFile set f [open $KAOSAskedFile a] puts $f $KQnum close $f lappend KAOSAsked $KQnum } # # Parse Asked Questions # proc KAOS_ReadAskedFile {} { global KAOSAsked KAOSAskedFile set KAsked 0 set KAOSAsked "" if {![file exists $KAOSAskedFile]} { set f [open $KAOSAskedFile w] } { set f [open $KAOSAskedFile r] while {[gets $f KQnum] != -1} { lappend KAOSAsked "$KQnum" incr KAsked } } close $f return $KAsked } # # Reset Asked File # proc KAOS_ResetAsked {} { global KAOSAskedFile KAOSAsked set f [open $KAOSAskedFile w] puts $f "0" close $f set KAOSAsked "" } # # Read Question File # proc KAOS_ReadQuestionFile {} { global KAOSQuestionFile KAOSQuestions set KQuestions 0 set f [open $KAOSQuestionFile r] while {[gets $f q] != -1} { set KAOSQuestions($KQuestions) $q incr KQuestions } close $f return $KQuestions } # # Show Asked # proc KAOS_ShowAsked {nick uhost hand chan args} { global KAOSQCount KAOSAsked KAOSQuestions set KAOSStatsAsked [llength $KAOSAsked] set KAOSStatsUnasked [expr ($KAOSQCount - $KAOSStatsAsked)] kaosmsg "[kaos] [kcm] Total: [kcc] $KAOSQCount [kcm] Asked: [kcc] $KAOSStatsAsked [kcm] Remaining: [kcc] $KAOSStatsUnasked \003" } # # Repeat Question # proc KAOS_Repeat {nick uhost hand chan args} { global KAOSChannel KAOSQuestion KAOSRunning KAOSQNumber KAOSAllAnswered global KAOSPointsName if {($chan != $KAOSChannel)||($KAOSRunning != 1)} {return} if {$KAOSAllAnswered == 1} {return } kaosmsg "K[format "%04d" $KAOSQNumber] $KAOSQuestion" } # # Display User's Score # proc KAOSPlayerScore {nick uhost hand chan args} { global KAOSChannel KAOSScoreFile KAOSPointsName if {$chan != $KAOSChannel} {return} regsub -all \[`,.!{}] $args "" args if {[string length $args] == 0} {set args $nick} set scorer [string tolower $args] set kflag 0 set f [open $KAOSScoreFile r] while {[gets $f sc] != -1} { set cnick [string tolower [lindex $sc 0]] if {$cnick == $scorer} { kaosmsg "[kcm] [lindex $sc 0] [kcc] [lindex $sc 1] $KAOSPointsName " set kflag 1 } } if {$kflag == 0} {kaosmsg "[kcm] $scorer [kcc] No Score "} close $f } # # Display Top 10 Scores To A Player # proc KAOSTop10 {nick uhost hand chan args} { global KAOSChannel KAOSScoreFile KAOSPointsName if {$chan != $KAOSChannel} {return} set KWinners "[kcm] Top10 KAOS $KAOSPointsName " set f [open $KAOSScoreFile r] for { set s 0 } { $s &lt; 10 } { incr s } { gets $f KAOSTotals if {[lindex $KAOSTotals 1] &gt; 0} { append KWinners "[kcm] #[expr $s +1] [kcc] [lindex $KAOSTotals 0] [lindex $KAOSTotals 1] " } { append KWinners "[kcm] #[expr $s +1] [kcc] Nobody 0 " } } kaosmsg "$KWinners" close $f } # # Last Month's Top 3 # proc KAOSLastMonthTop3 {nick uhost hand chan args} { global KAOSChannel KAOSLastMonthScores if {$chan != $KAOSChannel} {return} if [info exists KAOSLastMonthScores] { set KWinners "[kcm] Last Month's KAOS Top 3 " for { set s 0} { $s &lt; 3 } { incr s} { append KWinners "[kcm] #[expr $s +1] [kcc] $KAOSLastMonthScores($s) " } kaosmsg "$KWinners" } } # # Read Config File # proc KAOS_ReadCFG {} { global KAOSCFGFile KAOSChannel KAOSAutoStart KAOSScoreFile KAOSAskedFile KAOSQuestionFile KAOSLastMonthScores KAOSPointsName if {[file exist $KAOSCFGFile]} { set f [open $KAOSCFGFile r] while {[gets $f s] != -1} { set kkey [string tolower [lindex [split $s "="] 0]] set kval [lindex [split $s "="] 1] switch $kkey { points { set KAOSPointsName $kval } channel { set KAOSChannel $kval } autostart { set KAOSAutoStart $kval } scorefile { set KAOSScoreFile $kval } askedfile { set KAOSAskedFile $kval } kaosfile { set KAOSQuestionFile $kval } lastmonth1 { set KAOSLastMonthScores(0) $kval } lastmonth2 { set KAOSLastMonthScores(1) $kval } lastmonth3 { set KAOSLastMonthScores(2) $kval } } } close $f if {($KAOSAutoStart &lt; 0)||($KAOSAutoStart &gt; 1)} {set KAOSAutoStart 1} return } kaoslog "KAOS" "Config file $KAOSCFGFile not found... using defaults" } # # Write Config File # proc KAOS_WriteCFG {} { global KAOSCFGFile KAOSChannel KAOSAutoStart KAOSScoreFile KAOSAskedFile KAOSQuestionFile KAOSLastMonthScores KAOSPointsName set f [open $KAOSCFGFile w] puts $f "# This file is automatically overwritten" puts $f "Points=$KAOSPointsName" puts $f "Channel=$KAOSChannel" puts $f "AutoStart=$KAOSAutoStart" puts $f "ScoreFile=$KAOSScoreFile" puts $f "AskedFile=$KAOSAskedFile" puts $f "KAOSFile=$KAOSQuestionFile" puts $f "LastMonth1=$KAOSLastMonthScores(0)" puts $f "LastMonth2=$KAOSLastMonthScores(1)" puts $f "LastMonth3=$KAOSLastMonthScores(2)" close $f } # # Clear Month's Top 10 # proc KAOS_NewMonth {min hour day month year} { global KAOSScoreFile KAOSScore KAOSLastMonthScores set lmonth [KAOSLastMonthName $month] kaosmsg "[kaos] [kcr] Clearing Monthly Scores " set KAOSMonthFileName "$KAOSScoreFile.$lmonth" set f [open $KAOSMonthFileName w] set s 0 foreach n [lsort -decreasing -command sort_KAOSScore [array names KAOSScore]] { puts $f "$n $KAOSScore($n)" if {$s &lt; 3} { if {$KAOSScore($n) &gt; 0} { set KAOSLastMonthScores($s) "$n $KAOSScore($n)" } { set KAOSLastMonthScores($s) "Nobody 0" } } incr s } close $f KAOS_WriteCFG if [info exists KAOSScore] {unset KAOSScore} set f [open $KAOSScoreFile w] puts $f "Nobody 0" close $f putcmdlog "\[KAOS\] Cleared Monthly Top10 Scores: $KAOSMonthFileName" } # # Command Help # proc KAOSCmds {nick uhost hand chan args} { global KAOSChannel if {$chan != $KAOSChannel} {return} kaosntc $nick "KAOS Commands: !kaostop10 !kaoswon \[nick\] !kaosrepeat !asked" } # # KAOS Version # proc KAOS_ShowVersion {nick uhost hand chan args} { global KAOSChannel KAOSVersion KAOSQCount if {$chan != $KAOSChannel} {return} kaosmsg "[kaos] [kcm] v$KAOSVersion by Marky \[$KAOSQCount Questions\] " } # # Color Routines # proc kcb {} { return "" } proc kcg {} { return "" } proc kcr {} { return "" } proc kcm {} { return "" } proc kcc {} { return "" } proc kcs {} { return "" } proc kaos {} { return "KAOS" } # Channel Message proc kaosmsg {what} { global KAOSChannel putquick "PRIVMSG $KAOSChannel :$what" } # Notice Message proc kaosntc {who what} { putquick "NOTICE $who :$what" } # Command Log proc kaoslog {who what} { putcmdlog "\[$who\] $what" } # Name Of Last Month proc KAOSLastMonthName {month} { switch $month { 00 {return "Dec"} 01 {return "Jan"} 02 {return "Feb"} 03 {return "Mar"} 04 {return "Apr"} 05 {return "May"} 06 {return "Jun"} 07 {return "Jul"} 08 {return "Aug"} 09 {return "Sep"} 10 {return "Oct"} 11 {return "Nov"} default {return "???"} } } # Assign Nickname Color proc knikclr {nick} { set nicklen [strlen $nick] set nicktot 0 set c 0 while {$c &lt; $nicklen} { binary scan [string range $nick $c $c] c nv incr nicktot [expr $nv -32] incr c } set nickclr [expr $nicktot %13] switch $nickclr { 0 {set nickclr 10} 1 {set nickclr 11} 2 {set nickclr 12} 5 {set nickclr 13} } set nik [format "%02d" $nickclr] return "$nik$nick" } # # Show Ad # proc KAOS_ShowAd {} { global botnick KAOSAdNumber KAOSChannel switch $KAOSAdNumber { 0 { KAOSTop10 $botnick none none $KAOSChannel none } 4 { KAOSLastMonthTop3 $botnick none none $KAOSChannel none } 8 { KAOS_ShowVersion $botnick none none $KAOSChannel none } default {} } incr KAOSAdNumber if {$KAOSAdNumber &gt; 10} {set KAOSAdNumber 0} } # # Rehash KAOS Config # proc dcc_kaosrehash {hand idx arg} { global KAOSQCount putcmdlog "#$hand# Rehashing KAOS config" KAOS_ReadCFG set KAOSQCount [KAOS_ReadQuestionFile] if {$KAOSQCount &lt; 2} { kaoslog "KAOS" "Not Enough Questions in Question File $KAOSQuestionFile" return 0 } set KAOSAskedFileLen [KAOS_ReadAskedFile] if {$KAOSAskedFileLen &gt;= $KAOSQCount} { kaoslog "KAOS" "Asked file out of sync with question database: resetting" KAOS_ResetAsked return 0 } kaoslog "KAOS" "Questions:$KAOSQCount Asked:$KAOSAskedFileLen Remaining:[expr ($KAOSQCount - $KAOSAskedFileLen)]" } # # Show Current Answers # proc dcc_kaosanswer {hand idx arg} { global KAOSAnswers set ans "" foreach z [array names KAOSAnswers] { if {[lindex $KAOSAnswers($z) 0] == "#"} { append ans "[lrange $KAOSAnswers($z) 1 end] | " } } kaoslog "KAOS" $ans } # # Reset Asked File # proc dcc_kaosresetasked {hand idx arg} { KAOS_ResetAsked kaoslog "KAOS" "#$hand# Reset Asked File" } # # Show Asked # proc dcc_kaosshowasked {hand idx arg} { global KAOSQCount KAOSAsked KAOSQuestions set KAOSStatsAsked [llength $KAOSAsked] set KAOSStatsUnasked [expr ($KAOSQCount - $KAOSStatsAsked)] kaoslog "KAOS" "Total:$KAOSQCount Asked:$KAOSStatsAsked Remaining:$KAOSStatsUnasked" } # # Force A Question # proc dcc_kaosforce {hand idx arg} { global KAOSRunning KAOSMarker KAOSForced KAOSForcedQuestion if {$KAOSRunning != 1} {return} regsub -all \[`,.!{}] $arg "" arg if {$arg == ""} {return} set KAOSMarkerIDX [string first $KAOSMarker $arg] if {$KAOSMarkerIDX &lt; 2} { kaoslog "KAOS" "Malformed question: Format: Question*Answer1*Answer2..." return } set KAOSForcedQuestion $arg set KAOSForced 1 kaoslog "KAOS" "Forcing A Question Next Round" } KAOS_ReadCFG putcmdlog "Loaded KAOS $KAOSVersion by Marky" </code></pre></div>No guarante if it works or not.<br><br>iamdeath<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5982">iamdeath</a> — Wed Oct 17, 2007 5:55 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[kwen]]></name></author>
		<updated>2007-10-17T17:13:42-04:00</updated>

		<published>2007-10-17T17:13:42-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=76827#p76827</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=76827#p76827"/>
		<title type="html"><![CDATA[Kaos Script with no Colors]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=76827#p76827"><![CDATA[
Hello, okay...<br>Thank you...<br><blockquote class="uncited"><div>#<br># Marky's KAOS v0.92<br># Copyright (C) 2004 Mark A. Day (<a href="mailto:techwhiz@earthlink.net">techwhiz@earthlink.net</a>)<br>#<br># This program is free software; you can redistribute it and/or modify<br># it under the terms of the GNU General Public License as published by<br># the Free Software Foundation; either version 2 of the License, or<br># (at your option) any later version.<br>#<br># This program is distributed in the hope that it will be useful,<br># but WITHOUT ANY WARRANTY; without even the implied warranty of<br># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the<br># GNU General Public License for more details.<br>#<br># You should have received a copy of the GNU General Public License<br># along with this program; if not, write to the Free Software<br># Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA<br>#<br><br># Default Settings<br>set KAOSChannel "#madlibs"<br>set KAOSPointsName "Points"<br>set KAOSPointsPerAnswer 10<br>set KAOSQuestionTime 60<br>set KAOSMarker "*"<br>set KAOSScoreFile "scores/KAOS_Scores"<br>set KAOSAskedFile"scores/Kaos.Asked"<br>set KAOSQuestionFile"scores/Kaos.db"<br>set KAOSCFGFile"scripts/Kaos.cfg"<br><br># Channel Triggers<br>bind pub - !kaostop10 KAOSTop10<br>bind pub - !kaostoplast KAOSLastMonthTop3<br>bind pub - !kaoswon KAOSPlayerScore<br>bind pub - !kaosrepeat KAOS_Repeat<br>bind pub - !kaoscmds KAOSCmds<br>bind pub - !asked KAOS_ShowAsked<br>bind pub - !kaosversion KAOS_ShowVersion<br>bind pub - !kaos KAOS_Start<br>bind pub - !stop KAOS_Stop<br><br># DCC Commands<br>bind dcc - kaosrehash dcc_kaosrehash<br>bind dcc - kaosanswer dcc_kaosanswer<br>bind dcc - kaosreset dcc_kaosresetasked<br>bind dcc - kaosasked dcc_kaosshowasked<br>bind dcc - kaosforce dcc_kaosforce<br><br># Cron Bind For Monthly Score Reset<br>bind time - "00 00 01 * *" KAOS_NewMonth<br><br># Global Variables<br>set KAOSRunning 0<br>set KAOSAllAnswered 0<br>set KAOSRoundOver 0<br>set KAOSQNumber 0<br>set KAOSQuestion ""<br>set KAOSQuestions(0) ""<br>set KAOSAsked ""<br>set KAOSMonthFileName ""<br>set KAOSQCount 0<br>set KAOSAnswerCount 0<br>set KAOSDisplayNum 0<br>set KAOSNumAnswered 0<br>set KAOSForced 0<br>set KAOSForcedQuestion ""<br>set KAOSAutoStart 0<br><br># Scores And Ads<br>set KAOSAdNumber 0<br>set KAOSLastMonthScores(0) "Nobody 0"<br>set KAOSLastMonthScores(1) "Nobody 0"<br>set KAOSLastMonthScores(2) "Nobody 0"<br><br># Timers<br>set KAOSAdTimer ""<br>set KAOSQuestionTimer ""<br><br># Version<br>set KDebug 1<br>set KAOSVersion "0.92"<br><br>#<br># Start KAOS<br>#<br>proc KAOS_Start {nick uhost hand chan args} {<br> global KAOSChannel KAOSRunning KAOSQCount KAOSQNumber KAOSQuestionFile KAOSAdNumber KAOSVersion KDebug<br><br> if {($chan != $KAOSChannel)||($KAOSRunning != 0)} {return}<br><br> set KAOSQCount 0<br> set KAOSAdNumber 0<br><br> KAOS_ReadCFG<br><br> if {![file exist $KAOSQuestionFile]} {<br>   putcmdlog "\[KAOS\] Question File: $KAOSQuestionFile Unreadable Or Does Not Exist"<br>   return 0<br> }<br><br> set KAOSQCount [KAOS_ReadQuestionFile]<br><br> if {$KAOSQCount &lt; 2} {<br>   putcmdlog "\[KAOS\] Not Enough Questions in Question File $KAOSQuestionFile"<br>   return 0<br> }<br><br> set KAOSAskedFileLen [KAOS_ReadAskedFile]<br><br> if {$KAOSAskedFileLen &gt;= $KAOSQCount} {<br>   kaosmsg "[kaos] [kcr] All Questions Asked: Resetting \003"<br>   KAOS_ResetAsked<br>   return 0<br> }<br><br> set KAOSRunning 1<br><br> kaosmsg "[kaos] [kcm] v$KAOSVersion by Marky \[$KAOSQCount Questions\] \003"<br><br> bind pubm - "*" KAOSCheckGuess<br><br> KAOSAskQuestion<br><br> return 1<br>}<br><br>#<br># Stop KAOS<br>#<br>proc KAOS_Stop {nick uhost hand chan args} {<br> global KAOSChannel KAOSRunning KAOSQuestionTimer KAOSAdTimer<br><br> if {($chan != $KAOSChannel)||($KAOSRunning != 1)} {return}<br><br> set KAOSRunning 0<br><br> catch {killutimer $KAOSQuestionTimer}<br> catch {killutimer $KAOSAdTimer}<br><br> catch {unbind pubm - "*" KAOSCheckGuess}<br><br> kaosmsg "[kaos] \00306stopped by \00304\[\00312$nick!$uhost\00304\]"<br> return 1<br>}<br><br>#<br># Pick Question<br>#<br>proc KAOSPickQuestion {} {<br> global KAOSAsked KAOSQCount KDebug<br> set KAOSUnasked [expr ($KAOSQCount - [llength $KAOSAsked])]<br> if {$KAOSUnasked &lt; 1} {<br>   kaosmsg "[kaos] [kcr] All Questions Asked: Resetting \003"<br>   KAOS_ResetAsked<br> }<br> set pickdone 0<br> while {$pickdone == 0} {<br>  set kidx 0<br>  set foundinasked 0<br>  set pick [rand $KAOSQCount]<br>  while {[lindex $KAOSAsked $kidx] != ""} {<br>    if {[lindex $KAOSAsked $kidx] == $pick} {<br>     set foundinasked 1<br>     # kaoslog "KAOS" "Found Pick:$pick in Asked"<br>     break<br>    }<br>    incr kidx<br>  }<br>  if {$foundinasked == 0} {incr pickdone}<br> }<br> # kaoslog "KAOS" "Picked Question:$pick"<br> KAOS_AddAsked $pick<br> return $pick<br>}<br><br>#<br># Parse Question<br>#<br>proc KAOSParseQuestion {QNum} {<br> global KAOSMarker KAOSQuestions KAOSQuestion KAOSAnswers KAOSAnswerCount KAOSForcedQuestion KDebug<br><br>  set KAnswersLeft ""<br><br>  if {$QNum &lt; 0} {<br>   set KAOSFileQuestion $KAOSForcedQuestion<br>  } {<br>   set KAOSFileQuestion $KAOSQuestions($QNum)<br>  }<br><br>  if {$KDebug &gt; 1} {kaoslog "kaos" "Picked:$QNum Question:$KAOSFileQuestion"}<br><br>  if [info exists KAOSAnswers] {unset KAOSAnswers}<br><br>  # Position of first "*"<br><br>  set KAOSMarkerIDX [string first $KAOSMarker $KAOSFileQuestion]<br><br>  if {$KAOSMarkerIDX &lt; 1} {<br>   kaoslog "KAOS" "Malformed Question #$QNum"<br>  }<br><br>  set KAOSQuestionEndIDX [expr $KAOSMarkerIDX - 1]<br><br>  set KAOSQuestion [string range $KAOSFileQuestion 0 $KAOSQuestionEndIDX]<br><br>  # Move to first character in answers<br>  incr KAOSMarkerIDX<br>  set KAnswersLeft [string range $KAOSFileQuestion $KAOSMarkerIDX end]<br><br>  set KDoneParsing 0<br>  set KAOSAnswerCount 0<br><br>  # Parse all answers<br><br>  while {$KDoneParsing != 1 } {<br>   set KAnswerEnd [string first $KAOSMarker $KAnswersLeft]<br><br>   if {$KAnswerEnd &lt; 1} {<br>    set KDoneParsing 1<br>    set KAnswerEnd [string length $KAnswersLeft]<br>   }<br><br>   set KAnswer [string range $KAnswersLeft 0 [expr $KAnswerEnd -1]]<br><br>   set KAOSAnswers($KAOSAnswerCount) "# $KAnswer"<br><br>   set KAOSMarkerIDX [expr $KAnswerEnd +1]<br><br>   set KAnswersLeft [string range $KAnswersLeft $KAOSMarkerIDX end]<br>   incr KAOSAnswerCount<br>  }<br>}<br><br>#<br># Ask Question<br>#<br>proc KAOSAskQuestion {} {<br> global KAOSRunning KAOSQNumber KAOSAllAnswered KAOSRoundOver KAOSQuestion<br> global KAOSPointsPerAnswer KAOSPointsName KAOSNumAnswered KAOSAnswerCount<br> global KAOSQuestionTimer KAOSQuestionTime KAOSDisplayNum KAOSForced KAOSLastGuesser<br><br> if {$KAOSRunning != 1} {return}<br><br> # Get The Current Scores<br> read_KAOSScore<br><br> # Pick Next Question<br><br> if {$KAOSForced == 1} {<br>  KAOSParseQuestion -1<br>  set KAOSQNumber 0<br>  set KAOSForced 0<br>  set KAOSForcedQuestion ""<br> } {<br>  set KAOSQNumber [KAOSPickQuestion]<br>  KAOSParseQuestion $KAOSQNumber<br> }<br><br> set KAOSAllAnswered 0<br> set KAOSLastGuesser ""<br> set KAOSDisplayNum 0<br> set KAOSNumAnswered 0<br> set KAOSRoundOver 0<br><br> # Choose Points Value For This Round<br> set KAOSPointsPerAnswer [rand 10]<br> if {$KAOSPointsPerAnswer &lt; 1} {set KAOSPointsPerAnswer 10}<br> set KAOSPointsPerAnswer [expr $KAOSPointsPerAnswer * 10]<br><br> set KAOSPointTotal [expr $KAOSPointsPerAnswer *$KAOSAnswerCount]<br><br> kaosmsg "[kcg] K[format "%04d" $KAOSQNumber] [kcb] $KAOSQuestion \003 \00306\[\00310$KAOSAnswerCount \00306Answers\]\003"<br> kaosmsg "\00313$KAOSPointsPerAnswer \00312$KAOSPointsName \00306for each matching answer. \00310Total: \00313$KAOSPointTotal \00312$KAOSPointsName\003"<br><br> set KRemain [expr int([expr $KAOSQuestionTime /2])]<br> set KAOSQuestionTimer [utimer $KRemain "KAOSDisplayRemainingTime $KRemain"]<br>}<br><br>#<br># Get Player Guess<br>#<br><br>proc KAOSCheckGuess {nick uhost hand chan args} {<br> global KAOSChannel KAOSRunning KAOSScore KAOSAnswerCount KAOSAnswers KAOSRoundOver<br> global KAOSPointsName KAOSPointsPerAnswer KAOSNumAnswered KAOSAllAnswered KAOSLastGuesser KDebug<br><br> if {($chan != $KAOSChannel)||($KAOSRunning != 1)||($KAOSRoundOver == 1)} {return}<br><br> regsub -all \[{',.!}] $args "" args<br><br> if {[string length args] == 0} {return}<br><br> set KAOSGuessOld $args<br> set KAOSGuess [string tolower $KAOSGuessOld]<br><br> if {$KDebug &gt; 1} {kaoslog "KAOS" "Guess: $nick $KAOSGuess"}<br><br> foreach z [array names KAOSAnswers] {<br>  set KAOSTry [lrange $KAOSAnswers($z) 1 end] <br>  set KAOSTryOld $KAOSTry<br><br>  regsub -all \[{',.!}] $KAOSTry "" KAOSTry<br><br>  set KAOSTry [string tolower $KAOSTry]<br>  if {$KDebug &gt; 1} {kaoslog "KAOS" "Try: $KAOSTry"}<br><br>  if {$KAOSTry == $KAOSGuess} {<br>   if {[lindex $KAOSAnswers($z) 0] == "#"} {<br>    set KAOSAnswers($z) "$nick $KAOSGuessOld"<br>    kaosmsg "[knikclr $nick]\00306 wins \00313$KAOSPointsPerAnswer \00312$KAOSPointsName \00306for \00310$KAOSTryOld"<br>    incr KAOSNumAnswered<br>    if {$KAOSNumAnswered == $KAOSAnswerCount} {<br>     set KAOSAllAnswered 1<br>     set KAOSRoundOver 1<br>     set KAOSLastGuesser $nick<br>     kaosmsg "[kaos] [kcr]Vous avez tout deviné, bravo\003"<br>     KAOS_ShowResults<br>     KAOS_Recycle<br>    }<br>    return<br>   }<br>  }<br> }<br>}<br><br>#<br># Display Remaining Time And Answer Stats<br>#<br>proc KAOSDisplayRemainingTime {remaining} {<br> global KAOSRunning KAOSAllAnswered KAOSNumAnswered KAOSAnswerCount KAOSQuestionTimer KAOSQuestionTime KAOSDisplayNum<br><br> if {($KAOSRunning != 1)||($KAOSAllAnswered == 1)} {return}<br><br> kaosmsg "\00306Matching answers: \00308,02 $KAOSNumAnswered from a possible $KAOSAnswerCount \003 \00312$remaining \00306secs remaining"<br><br> incr KAOSDisplayNum<br><br> set KRemain [expr int([expr $KAOSQuestionTime /4])]<br><br> if {$KAOSDisplayNum &lt; 2} {<br>  set KAOSQuestionTimer [utimer $KRemain "KAOSDisplayRemainingTime $KRemain"]<br> } {<br>  set KAOSQuestionTimer [utimer $KRemain KAOSTimesUp]<br> }<br>}<br><br>#<br># Show Results Of Round<br>#<br>proc KAOSTimesUp {} {<br> global KAOSAnswers KAOSAllAnswered KAOSRoundOver KAOSNumAnswered KAOSAnswerCount KAOSQuestionTimer KAOSAdTimer<br><br> if {$KAOSAllAnswered == 1} { return 1}<br><br> set KAOSRoundOver 1<br><br> set kaosmissed "[kcg] Time's Up! \003 "<br><br> append KMissed "\00304You Missed: \00312"<br><br> set KAnswersRemaining [expr ($KAOSAnswerCount - $KAOSNumAnswered)]<br><br> set kcount 0<br> foreach z [array names KAOSAnswers] {<br>  if {[lindex $KAOSAnswers($z) 0] == "#"} {<br>   append KMissed "\00312[lrange $KAOSAnswers($z) 1 end]"<br>   incr kcount<br>   if {$kcount &lt; $KAnswersRemaining} {append KMissed " \00311| "}<br>  }<br> }<br><br> kaosmsg "$KMissed\003"<br><br> KAOS_ShowResults<br><br> if {$KAOSNumAnswered &gt; 0} {<br>  kaosmsg "[kcs] Total Number Answered Correctly:  $KAOSNumAnswered from a possible $KAOSAnswerCount! \003"<br> } {<br>  kaosmsg "[kaos] \00304Bummer! \00310Nobody got a single Answer \003"<br> }<br><br> set KAOSAdTimer [utimer 10 KAOS_ShowAd]<br><br> set KAOSQuestionTimer [utimer 20 KAOSAskQuestion]<br>}<br><br>#<br># All Answers Gotten, Next Question<br>#<br>proc KAOS_Recycle {} {<br> global KAOSAnswers KAOSNumAnswered KAOSQuestionTimer KAOSAdTimer<br> catch {killutimer $KAOSQuestionTimer}<br> if [info exists KAOSAnswers] {unset KAOSAnswers}<br> set KAOSAdTimer [utimer 10 KAOS_ShowAd]<br> set KAOSQuestion ""<br> set KAOSNumAnswered 0<br> set KAOSQuestionTimer [utimer 20 KAOSAskQuestion]<br>}<br><br>#<br># Total Answers and Points<br>#<br>proc KAOS_ShowResults {} {<br> global KAOSAnswers KAOSPointsPerAnswer KAOSPointsName KAOSScore KAOSAllAnswered KAOSLastGuesser<br><br> set NickCounter 0<br> set KAOSCounter 0<br><br> if {$KAOSAllAnswered == 1} {<br>  set KAOSBonus [expr $KAOSPointsPerAnswer *10]<br>  kaosmsg "[knikclr $KAOSLastGuesser]\00306 Wins \00313$KAOSBonus \00312Bonus $KAOSPointsName \00306For Getting The Final Answer!"<br>  set KNickTotals($KAOSLastGuesser) $KAOSBonus<br>  set KNickList($NickCounter) $KAOSLastGuesser<br>  incr NickCounter<br> }<br><br> foreach z [array names KAOSAnswers] {<br>  if {[lindex $KAOSAnswers($z) 0] != "#"} {<br>   set cnick [lindex $KAOSAnswers($z) 0]<br>   if {[info exists KNickTotals($cnick)]} {<br>    incr KNickTotals($cnick) $KAOSPointsPerAnswer<br>   } {<br>    set KNickTotals($cnick) $KAOSPointsPerAnswer<br>    set KNickList($NickCounter) $cnick<br>    incr NickCounter<br>   }<br>   incr KAOSCounter<br>  }<br> }<br><br> if {$KAOSCounter &gt; 0} {<br>  set ncount 0<br>  set nicktotal "[kcm] $KAOSPointsName This Round "<br>  while {$ncount &lt; $NickCounter} {<br>   set cnick $KNickList($ncount)<br>   if {[info exists KAOSScore($cnick)]} {<br>     incr KAOSScore($cnick) $KNickTotals($cnick)<br>   } {<br>     set KAOSScore($cnick) $KNickTotals($cnick)<br>   }<br>   append nicktotal "[kcc] $cnick [kcm] $KNickTotals($cnick) "<br>   incr ncount<br>  }<br>  kaosmsg $nicktotal<br>  write_KAOSScore<br> }<br>}<br><br>#<br># Read Scores<br>#<br>proc read_KAOSScore { } {<br> global KAOSScore KAOSScoreFile<br> if [info exists KAOSScore] { unset KAOSScore }<br> if {[file exists $KAOSScoreFile]} {<br>  set f [open $KAOSScoreFile r]<br>  while {[gets $f s] != -1} {<br>   set KAOSScore([lindex $s 0]) [lindex $s 1]<br>  }<br>  close $f<br>  } {<br>   set f [open $KAOSScoreFile w]<br>   puts $f "Nobody 0"<br>   close $f<br>  }<br>}<br><br>#<br># Write Scores<br>#<br>proc write_KAOSScore {} {<br> global KAOSScore KAOSScoreFile<br> set f [open $KAOSScoreFile w]<br> foreach s [lsort -decreasing -command sort_KAOSScore [array names KAOSScore]] {<br>  puts $f "$s $KAOSScore($s)"<br> }<br> close $f<br>}<br><br>#<br># Score Sorting<br>#<br>proc sort_KAOSScore {s1 s2} {<br> global KAOSScore<br> if {$KAOSScore($s1) &gt;  $KAOSScore($s2)} {return 1}<br> if {$KAOSScore($s1) &lt;  $KAOSScore($s2)} {return -1}<br> if {$KAOSScore($s1) == $KAOSScore($s2)} {return 0}<br>}<br><br>#<br># Add Question Number To Asked File<br>#<br>proc KAOS_AddAsked {KQnum} {<br> global KAOSAsked KAOSAskedFile<br> set f [open $KAOSAskedFile a]<br> puts $f $KQnum<br> close $f<br> lappend KAOSAsked $KQnum<br>}<br><br>#<br># Parse Asked Questions<br>#<br>proc KAOS_ReadAskedFile {} {<br> global KAOSAsked KAOSAskedFile<br> set KAsked 0<br> set KAOSAsked ""<br> if {![file exists $KAOSAskedFile]} {<br>  set f [open $KAOSAskedFile w]<br> } {<br>  set f [open $KAOSAskedFile r]<br>  while {[gets $f KQnum] != -1} {<br>   lappend KAOSAsked "$KQnum"<br>   incr KAsked<br>  }<br> }<br> close $f<br> return $KAsked<br>}<br><br>#<br># Reset Asked File<br>#<br>proc KAOS_ResetAsked {} {<br> global KAOSAskedFile KAOSAsked<br> set f [open $KAOSAskedFile w]<br> puts $f "0"<br> close $f<br> set KAOSAsked ""<br>}<br><br>#<br># Read Question File<br>#<br>proc KAOS_ReadQuestionFile {} {<br> global KAOSQuestionFile KAOSQuestions<br> set KQuestions 0<br> set f [open $KAOSQuestionFile r]<br> while {[gets $f q] != -1} {<br>  set KAOSQuestions($KQuestions) $q<br>  incr KQuestions<br> }<br> close $f<br> return $KQuestions<br>}<br><br>#<br># Show Asked<br>#<br>proc KAOS_ShowAsked {nick uhost hand chan args} {<br> global KAOSQCount KAOSAsked KAOSQuestions<br> set KAOSStatsAsked [llength $KAOSAsked]<br> set KAOSStatsUnasked [expr ($KAOSQCount - $KAOSStatsAsked)]<br> kaosmsg "[kaos] [kcm] Total: [kcc] $KAOSQCount [kcm] Asked: [kcc] $KAOSStatsAsked [kcm] Remaining: [kcc] $KAOSStatsUnasked \003"<br>}<br><br>#<br># Repeat Question<br>#<br>proc KAOS_Repeat {nick uhost hand chan args} {<br> global KAOSChannel KAOSQuestion KAOSRunning KAOSQNumber KAOSAllAnswered<br> global KAOSPointsName<br> if {($chan != $KAOSChannel)||($KAOSRunning != 1)} {return}<br> if {$KAOSAllAnswered == 1} {return }<br> kaosmsg "\00300,03 K[format "%04d" $KAOSQNumber] \00308,02 $KAOSQuestion \003"<br>}<br><br>#<br># Display User's Score<br>#<br>proc KAOSPlayerScore {nick uhost hand chan args} {<br> global KAOSChannel KAOSScoreFile KAOSPointsName<br><br> if {$chan != $KAOSChannel} {return}<br><br> regsub -all \[`,.!{}] $args "" args<br><br> if {[string length $args] == 0} {set args $nick}<br><br> set scorer [string tolower $args]<br><br> set kflag 0<br><br> set f [open $KAOSScoreFile r]<br> while {[gets $f sc] != -1} {<br>  set cnick [string tolower [lindex $sc 0]]<br>  if {$cnick == $scorer} {<br>   kaosmsg "[kcm] [lindex $sc 0] [kcc] [lindex $sc 1] $KAOSPointsName \003"<br>   set kflag 1<br>  }<br> }<br> if {$kflag == 0} {kaosmsg "[kcm] $scorer [kcc] No Score \003"}<br> close $f<br>}<br><br>#<br># Display Top 10 Scores To A Player<br>#<br>proc KAOSTop10 {nick uhost hand chan args} {<br> global KAOSChannel KAOSScoreFile KAOSPointsName<br> if {$chan != $KAOSChannel} {return}<br> set KWinners "[kcm] Top10 KAOS $KAOSPointsName "<br> set f [open $KAOSScoreFile r]<br> for { set s 0 } { $s &lt; 10 } { incr s } {<br>  gets $f KAOSTotals<br>  if {[lindex $KAOSTotals 1] &gt; 0} {<br>   append KWinners "[kcm] #[expr $s +1] [kcc] [lindex $KAOSTotals 0] [lindex $KAOSTotals 1] "<br>  } {<br>   append KWinners "[kcm] #[expr $s +1] [kcc] Nobody 0 "<br>  }<br> }<br> kaosmsg "$KWinners"<br> close $f<br>}<br><br>#<br># Last Month's Top 3<br>#<br>proc KAOSLastMonthTop3 {nick uhost hand chan args} {<br> global KAOSChannel KAOSLastMonthScores<br> if {$chan != $KAOSChannel} {return}<br> if [info exists KAOSLastMonthScores] {<br>  set KWinners "[kcm] Last Month's KAOS Top 3 "<br>  for { set s 0} { $s &lt; 3 } { incr s} {<br>   append KWinners "[kcm] #[expr $s +1] [kcc] $KAOSLastMonthScores($s) "<br>  }<br>  kaosmsg "$KWinners"<br> }<br>}<br><br>#<br># Read Config File<br>#<br>proc KAOS_ReadCFG {} {<br> global KAOSCFGFile KAOSChannel KAOSAutoStart KAOSScoreFile KAOSAskedFile KAOSQuestionFile KAOSLastMonthScores KAOSPointsName<br> if {[file exist $KAOSCFGFile]} {<br>  set f [open $KAOSCFGFile r]<br>  while {[gets $f s] != -1} {<br>   set kkey [string tolower [lindex [split $s "="] 0]]<br>   set kval [lindex [split $s "="] 1]<br>   switch $kkey {<br>    points { set KAOSPointsName $kval }<br>    channel { set KAOSChannel $kval }<br>    autostart { set KAOSAutoStart $kval }<br>    scorefile { set KAOSScoreFile $kval }<br>    askedfile { set KAOSAskedFile $kval }<br>    kaosfile { set KAOSQuestionFile $kval }<br>    lastmonth1 { set KAOSLastMonthScores(0) $kval }<br>    lastmonth2 { set KAOSLastMonthScores(1) $kval }<br>    lastmonth3 { set KAOSLastMonthScores(2) $kval }<br>   }<br>  }<br>  close $f<br>  if {($KAOSAutoStart &lt; 0)||($KAOSAutoStart &gt; 1)} {set KAOSAutoStart 1}<br>  return<br> }<br> kaoslog "KAOS" "Config file $KAOSCFGFile not found... using defaults"<br>}<br><br>#<br># Write Config File<br>#<br>proc KAOS_WriteCFG {} {<br> global KAOSCFGFile KAOSChannel KAOSAutoStart KAOSScoreFile KAOSAskedFile KAOSQuestionFile KAOSLastMonthScores KAOSPointsName<br> set f [open $KAOSCFGFile w]<br> puts $f "# This file is automatically overwritten"<br> puts $f "Points=$KAOSPointsName"<br> puts $f "Channel=$KAOSChannel"<br> puts $f "AutoStart=$KAOSAutoStart"<br> puts $f "ScoreFile=$KAOSScoreFile"<br> puts $f "AskedFile=$KAOSAskedFile"<br> puts $f "KAOSFile=$KAOSQuestionFile"<br> puts $f "LastMonth1=$KAOSLastMonthScores(0)"<br> puts $f "LastMonth2=$KAOSLastMonthScores(1)"<br> puts $f "LastMonth3=$KAOSLastMonthScores(2)"<br> close $f<br>}<br><br>#<br># Clear Month's Top 10<br>#<br>proc KAOS_NewMonth {min hour day month year} {<br> global KAOSScoreFile KAOSScore KAOSLastMonthScores<br><br> set lmonth [KAOSLastMonthName $month]<br><br> kaosmsg "[kaos] [kcr] Clearing Monthly Scores \003"<br><br> set KAOSMonthFileName "$KAOSScoreFile.$lmonth"<br><br> set f [open $KAOSMonthFileName w]<br> set s 0<br> foreach n [lsort -decreasing -command sort_KAOSScore [array names KAOSScore]] {<br>  puts $f "$n $KAOSScore($n)"<br>  if {$s &lt; 3} {<br>   if {$KAOSScore($n) &gt; 0} {<br>    set KAOSLastMonthScores($s) "$n $KAOSScore($n)"<br>   } {<br>    set KAOSLastMonthScores($s) "Nobody 0"<br>   }<br>  }<br>  incr s<br> }<br> close $f<br><br> KAOS_WriteCFG<br><br> if [info exists KAOSScore] {unset KAOSScore}<br><br> set f [open $KAOSScoreFile w]<br> puts $f "Nobody 0"<br> close $f<br><br> putcmdlog "\[KAOS\] Cleared Monthly Top10 Scores: $KAOSMonthFileName"<br>}<br><br>#<br># Command Help<br>#<br>proc KAOSCmds {nick uhost hand chan args} {<br> global KAOSChannel<br> if {$chan != $KAOSChannel} {return}<br> kaosntc $nick "KAOS Commands: !kaostop10 !kaoswon \[nick\] !kaosrepeat !asked"<br>}<br><br>#<br># KAOS Version<br>#<br>proc KAOS_ShowVersion {nick uhost hand chan args} {<br> global KAOSChannel KAOSVersion KAOSQCount<br> if {$chan != $KAOSChannel} {return}<br> kaosmsg "[kaos] [kcm] v$KAOSVersion by Marky \[$KAOSQCount Questions\] \003"<br>}<br><br>#<br># Color Routines<br>#<br>proc kcb {} {<br> return "\0038,2"<br>}<br>proc kcg {} {<br> return "\0030,3"<br>}<br>proc kcr {} {<br> return "\0030,4"<br>}<br>proc kcm {} {<br> return "\0030,6"<br>}<br>proc kcc {} {<br> return "\0030,10"<br>}<br>proc kcs {} {<br> return "\0030,12"<br>}<br>proc kaos {} {<br> return "\00308K\00307A\00313O\00306S\003"<br>}<br><br># Channel Message<br>proc kaosmsg {what} {<br> global KAOSChannel<br> putquick "PRIVMSG $KAOSChannel :$what"<br>}<br><br># Notice Message<br>proc kaosntc {who what} {<br> putquick "NOTICE $who :$what"<br>}<br># Command Log<br>proc kaoslog {who what} {<br> putcmdlog "\[$who\] $what"<br>}<br><br># Name Of Last Month<br>proc KAOSLastMonthName {month} {<br> switch $month {<br>  00 {return "Dec"}<br>  01 {return "Jan"}<br>  02 {return "Feb"}<br>  03 {return "Mar"}<br>  04 {return "Apr"}<br>  05 {return "May"}<br>  06 {return "Jun"}<br>  07 {return "Jul"}<br>  08 {return "Aug"}<br>  09 {return "Sep"}<br>  10 {return "Oct"}<br>  11 {return "Nov"}<br>  default {return "???"}<br> }<br>}<br><br># Assign Nickname Color<br>proc knikclr {nick} {<br>  set nicklen [strlen $nick]<br>  set nicktot 0<br>  set c 0<br>  while {$c &lt; $nicklen} {<br>   binary scan [string range $nick $c $c] c nv<br>   incr nicktot [expr $nv -32]<br>   incr c<br>  }<br>  set nickclr [expr $nicktot %13]<br>  switch $nickclr {<br>   0 {set nickclr 10}<br>   1 {set nickclr 11}<br>   2 {set nickclr 12}<br>   5 {set nickclr 13}<br>  }<br>  set nik [format "%02d" $nickclr]<br>  return "\003$nik$nick"<br>}<br><br>#<br># Show Ad<br>#<br>proc KAOS_ShowAd {} {<br> global botnick KAOSAdNumber KAOSChannel<br> switch $KAOSAdNumber {<br>  0 { KAOSTop10 $botnick none none $KAOSChannel none }<br>  4 { KAOSLastMonthTop3 $botnick none none $KAOSChannel none }<br>  8 { KAOS_ShowVersion $botnick none none $KAOSChannel none }<br>  default {}<br> }<br> incr KAOSAdNumber<br> if {$KAOSAdNumber &gt; 10} {set KAOSAdNumber 0}<br>}<br><br>#<br># Rehash KAOS Config<br>#<br>proc dcc_kaosrehash {hand idx arg} {<br> global KAOSQCount<br><br> putcmdlog "#$hand# Rehashing KAOS config"<br><br> KAOS_ReadCFG<br><br> set KAOSQCount [KAOS_ReadQuestionFile]<br><br> if {$KAOSQCount &lt; 2} {<br>   kaoslog "KAOS" "Not Enough Questions in Question File $KAOSQuestionFile"<br>   return 0<br> }<br><br> set KAOSAskedFileLen [KAOS_ReadAskedFile]<br><br> if {$KAOSAskedFileLen &gt;= $KAOSQCount} {<br>   kaoslog "KAOS" "Asked file out of sync with question database: resetting"<br>   KAOS_ResetAsked<br>   return 0<br> }<br> kaoslog "KAOS" "Questions:$KAOSQCount Asked:$KAOSAskedFileLen Remaining:[expr ($KAOSQCount - $KAOSAskedFileLen)]"<br>}<br><br>#<br># Show Current Answers<br>#<br>proc dcc_kaosanswer {hand idx arg} {<br> global KAOSAnswers<br> set ans ""<br> foreach z [array names KAOSAnswers] {<br>  if {[lindex $KAOSAnswers($z) 0] == "#"} {<br>   append ans "[lrange $KAOSAnswers($z) 1 end] | "<br>  }<br> }<br> kaoslog "KAOS" $ans<br>}<br><br>#<br># Reset Asked File<br>#<br>proc dcc_kaosresetasked {hand idx arg} {<br> KAOS_ResetAsked<br> kaoslog "KAOS" "#$hand# Reset Asked File"<br>}<br><br>#<br># Show Asked<br>#<br>proc dcc_kaosshowasked {hand idx arg} {<br> global KAOSQCount KAOSAsked KAOSQuestions<br> set KAOSStatsAsked [llength $KAOSAsked]<br> set KAOSStatsUnasked [expr ($KAOSQCount - $KAOSStatsAsked)]<br> kaoslog "KAOS" "Total:$KAOSQCount  Asked:$KAOSStatsAsked  Remaining:$KAOSStatsUnasked"<br>}<br>#<br># Force A Question<br>#<br>proc dcc_kaosforce {hand idx arg} {<br> global KAOSRunning KAOSMarker KAOSForced KAOSForcedQuestion<br> if {$KAOSRunning != 1} {return}<br> regsub -all \[`,.!{}] $arg "" arg<br> if {$arg == ""} {return}<br> set KAOSMarkerIDX [string first $KAOSMarker $arg]<br> if {$KAOSMarkerIDX &lt; 2} {<br>  kaoslog "KAOS" "Malformed question: Format: Question*Answer1*Answer2..."<br>  return<br> }<br> set KAOSForcedQuestion $arg<br> set KAOSForced 1<br> kaoslog "KAOS" "Forcing A Question Next Round"<br>}<br><br>KAOS_ReadCFG<br><br>putcmdlog "Loaded KAOS $KAOSVersion by Marky"</div></blockquote><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=9144">kwen</a> — Wed Oct 17, 2007 5:13 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[iamdeath]]></name></author>
		<updated>2007-10-17T11:29:07-04:00</updated>

		<published>2007-10-17T11:29:07-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=76822#p76822</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=76822#p76822"/>
		<title type="html"><![CDATA[Kaos Script with no Colors]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=76822#p76822"><![CDATA[
or atleast show us the code might someone in his free time do it for you?<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5982">iamdeath</a> — Wed Oct 17, 2007 11:29 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[kwen]]></name></author>
		<updated>2007-10-17T09:56:40-04:00</updated>

		<published>2007-10-17T09:56:40-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=76821#p76821</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=76821#p76821"/>
		<title type="html"><![CDATA[Kaos ...]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=76821#p76821"><![CDATA[
Hello, with Kaos0.92, the answers of the users are done with a point in front of the answer (.reponse)… Why doesn't take-til the colors…? Does somebody have an idea?<br>Thank you for your answers.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=9144">kwen</a> — Wed Oct 17, 2007 9:56 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Alchera]]></name></author>
		<updated>2006-11-28T01:51:47-04:00</updated>

		<published>2006-11-28T01:51:47-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=68527#p68527</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=68527#p68527"/>
		<title type="html"><![CDATA[Kaos Script with no Colors]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=68527#p68527"><![CDATA[
<blockquote class="uncited"><div>I need the font to be black</div></blockquote>What mean is you want the font to be neutral (default).<br><br>Doing as rosc2112 suggested will do that. <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_biggrin.gif" width="15" height="15" alt=":D" title="Very Happy"><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=3646">Alchera</a> — Tue Nov 28, 2006 1:51 am</p><hr />
]]></content>
	</entry>
	</feed>
