Normalde hash table kullanırım ama bu kodda sadece komutları sıralamak için alias _queue {
inc %queue.count
if ($timer(.queue) == $null) {
hadd -m queue count 1
hadd -m queue 1 $1-
_doqueue 1
}
else {
var %queue.count = $calc($hget(queue,count) + 1)
hadd -m queue %queue.count $1-
hadd -m queue count %queue.count
}
}
alias _doqueue {
if ($hget(queue,$1) != $null) {
.timer.queue -mo 1 $calc((4 - $gettok(3 2 1,$1,32)) * 60) _doqueue $calc($1 + 1)
$ifmatch
.hdel -s queue $1
}
else hfree queue
}
komut dizisini kullandım. Bu kod PnP 'den geliyor. Açıkçası bu siber2 de var. Ama multi Server kullanımını desteklemiyor malesef. Bu kodun asıl geldiği yer yani PnP de ise multi serverı destekliyor. O kodda şu şekilde _linedance {
if ($timer(.line.dance. $+ $cid) == $null) {
hadd -m pnp.qcommand count. $+ $cid 1
hadd -m pnp.qcommand 1. $+ $cid $1-
_dolinedance 1
}
else {
hinc -m pnp.qcommand count. $+ $cid
hadd -m pnp.qcommand $hget(pnp.qcommand,count. $+ $cid) $+ . $+ $cid $1-
}
}
_dolinedance {
if ($hget(pnp.qcommand,$1 $+ . $+ $cid) != $null) {
var %data = $ifmatch
.timer.line.dance. $+ $cid -m 1 $calc(1500 - $gettok(1250 1000 750 500 250,$1,32)) _dolinedance $calc($1 + 1)
%data
}
else hdel -w pnp.qcommand *. $+ $cid
} Bu multi Server kullanımını destekler. Elimin altında _queue(Sırala) olduğu için onu yazdım. Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. Bu kodu excess flood dan düşmemek için komutların önüne koyduğunuzda komutları sıralar ve flood dan düşmezsiniz... |