alias quiz.get.rnd.question { var %chan_id = $hfind(quiz.chans,$1).data if (!%chan_id) { return 0 } ;$1 - chanas ;$2- - kur perduot ir kaip ^k - klausimas ^a - atsakymas ^i - id ^c - chan var %rand = $rand(0,$calc($hget(quiz.not.used.questions,$hfind(quiz.chans,$1).data) - 1)) if (!%rand) { echo -s $1 out of questions $replacecs(%quiz.rnd.q. [ $+ [ %c $+ . $+ [ rnd ] ] ],^k,0,^i,0,^a,0,^c,$1) return } sockopen quiz_get_rnd_question. $+ $hfind(quiz.chans,$1).data $+ . $+ %rand localhost 80 set %quiz.rnd.q. [ $+ [ %chan_id $+ . $+ [ rnd ] ] ] $2- } on *:sockopen:quiz_get_rnd_question.*: { if ($sockerr) { echo -s Error geting $sockname $sock($sockname).mark echo -s reatry after 30 secs .timer 1 30 sockopen $sockname localhost 80 .timer -m 1 30010 sockmark $sockname $sock($sockname).mark return } sockwrite -n $sockname GET /quiz/load.user.nfo.php?cmd=getquestion&chan_id= $+ $gettok($sockname,2,46) $+ &rand= $+ $gettok($sockname,3,46) HTTP/1.1 sockwrite -n $sockname Host: localhost sockwrite -n $sockname User-Agent: $quiz.auth sockwrite -n $sockname } on *:sockread:quiz_get_rnd_question.*: { sockread %quiz.rnd.q.tmp. [ $+ [ $gettok($sockname,2,46) ] ] if (ERROR * iswmcs %quiz.rnd.q.tmp. [ $+ [ $gettok($sockname,2,46) ] ]) { echo -s Quiz Error getting info for $sockname $mid(%quiz.rnd.q.tmp. [ $+ [ $gettok($sockname,2,46) ] ],7) echo -s Retry in 5s .timer $+ $sockname 1 5 sockopen $sockname sockclose $sockname return } var %tmp = %quiz.rnd.q.tmp. [ $+ [ $gettok($sockname,2,46) ] ] if ($istok(id a q,$gettok(%tmp,1,124),32)) { set %quiz.rnd.q. [ $+ [ $gettok($sockname,2,46) $+ . $+ [ $gettok(%tmp,1,124) ] ] ] $gettok(%tmp,2,124) } if (* END iswm %tmp) { var %q = %quiz.rnd.q. [ $+ [ $gettok($sockname,2,46) $+ . $+ [ q ] ] ] var %a = %quiz.rnd.q. [ $+ [ $gettok($sockname,2,46) $+ . $+ [ a ] ] ] var %id = %quiz.rnd.q. [ $+ [ $gettok($sockname,2,46) $+ . $+ [ id ] ] ] var %c = $gettok($sockname,2,46) $replacecs(%quiz.rnd.q. [ $+ [ %c $+ . $+ [ rnd ] ] ],^k,%q,^i,%id,^a,%a,^c,%c) hdec quiz.not.used.questions $gettok($sockname,2,46) .unset -s %quiz.rnd.q. $+ $gettok($sockname,2,46) $+ * unset %quiz.rnd.q.tmp. [ $+ [ $gettok($sockname,2,46) ] ] sockclose $sockname } }