rendered paste bodyalias 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
}
}