EpicNet.Ru - Форум IRC Чата

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » EpicNet.Ru - Форум IRC Чата » HELP SCRIPTS - Помощь по mIRC скриптам » Kick count is not counted correctly


Kick count is not counted correctly

Сообщений 1 страница 2 из 2

1

I have some scripts about kick ban blacklisted, and they all set the inc variable %kick.count the same, but why does kick increase the number by 3 or 2 units.
I want each kick to increase %kick.count by 1 unit. Please help me. Thank you very much!

Here is my code:

Код:
alias -l ban_time_blacklist { return $rand(3600,10800) }
ON @*:TEXT:*:#: {
  tokenize 32 $strip($1-)
  if ($1 == .bl) {
    ignore -u5 $nick
    if ($network !== DaVang) || (!$read(userbot.txt,nw,$nick)) || ($nick isreg #userbot) { return }
    if (!$2) && ($2 !== $me) && ($2 !== $nick) && ($2 !ison $chan) && ($2 !isreg $chan) { return }
    if ($read(userbot.txt,nw,$2)) { return }
    inc %kick.count
    var %reason = $read(atb_blacklistreason.txt,nt)
    var %h = $ial($2).host
    var %u = $ial($2).user
    var %t = $ial(*@ $+ %h,0)
    if (%t == 1) { kick_bl $2 $chan $remove(%u,~) %h %kick.count %reason | return }
    var %i = 1
    while (%i <= %t) {
      var %n = $ial(*@ $+ %h,%i).nick 
      var %a = $ial(*@ $+ %h,%i).host
      if (%h == %a) { var %tot = $addtok(%tot,%n,32) }
      inc %i
    }
    if (!%tot) { return }
    var %z = 1
    while (%z <= $numtok(%tot,32)) {
      var %n_name = $gettok(%tot,%z,32)
      var %n_host = $ial(%n_name).host
      var %n_ident = $ial(%n_name).user
      kick_bl %n_name $chan $remove(%n_ident,~) %n_host %kick.count %reason
      inc %z
    }
  }
}

alias -l kick_bl {
  ; /kick_bl <nickname> <#channel> <ident> <host> <ID> <reason>
  if (!$1) || (!$2) || (!$3) || (!$4) || (!$5) || (!$6) { return }
  var %txt_db = atb_blacklistdatabase.txt
  if (*irccloud* iswm $4) || (*Davang-* iswm $4) {
    mode $2 +b $gettok($ial($1).host,1,46) $+ .*
    kick $2 $1 4([Banned] (reason: $6- $+ ) $chr(91) $+ id: $5 $+ $chr(93) - (for more information regarding your ban please join #help to ask for removal))
    var %r = $read(%txt_db,nw,* $+ $gettok($ial($1).host,1,46) $+ .*)
    if (!%r) { write $qt(%txt_db) $+([id:,$chr(32),$5,],$chr(59),$gettok($ial($1).host,1,46) $+ .*,$chr(59),$6-) | .notice $nick Added $+  $gettok($ial($1).host,1,46) $+ .*  $+ to %txt_db successfull. }
    .timer[UNBAN_ $+ $2 $+ _ $+ $gettok($ial($1).host,1,46) $+ ] 1 $ban_time_blacklist mode $2 -b *!*@ $+ $gettok($ial($1).host,1,46) $+ .*
  }
  else {
    ban $+(-ku,$ban_time_blacklist) $2 $1 2 4([Banned] (reason: $6- $+ ) $chr(91) $+ id: $5 $+ $chr(93) - (for more information regarding your ban please join #help to ask for removal))
    var %r = $read(%txt_db,nw,* $+ $4 $+ *)
    if (!%r) { write $qt(%txt_db) $+([id:,$chr(32),$5,],$chr(59),*!*@,$4,$chr(59),$6-) | .notice $nick Added $+  *!*@ $+ $4  $+ to %txt_db successfull. }
  }
}

Here is some example for .bl (blacklisted) command:

1)

[14:57:09] <@Kendy> .bl Test
[14:57:10] * ChanGuard sets mode: +b *!*@Davang-UAICHW.*
[14:57:10] * Test was kicked from #public by ChanGuard (([Banned] (reason: You are no longer welcome here) [id: 11] - (for more information regarding your ban please join #help to ask for removal))) <=== the id is 11, but the next kick is 14. I want add 1 unit is: id 12

2)

[14:58:14] <@Kendy> .bl Test
[14:58:14] * ChanGuard sets mode: +b *!*@Davang-UAICHW.*
[14:58:14] * Test was kicked from #public by ChanGuard (([Banned] (reason: You are no longer welcome here) [id: 14] - (for more information regarding your ban please join #help to ask for removal)))

I WANT THE NEXT KICK INCREASE 1 UNIT.

Note: When my Bot disconnect the reconnect to server. The kick count is increase 2 or 3 Units again.

Отредактировано Robert (08.01.2023 13:45)

2

Я протестировал код скрипта, который вы прислали и он работает исправно. После каждого ввода команды ".bl nick" значение переменной %kick.count увеличивается только на 1 единицу. Так что причина такого поведения точно не в этом скрипте.

Попробуйте воспользоваться встроенным поиском по названию переменной %kick.count, чтобы найти другие скрипты, которые также используют эту переменную и выполняют действие для увеличения её значения "inc %kick.count". После этого внесите необходимые изменения для устранения проблемы.

В любом случае для команды ".bl nick" должен работать только 1 скрипт. Если эту команду выполняют одновременно несколько скриптов, то не удивительно, почему у вас переменная %kick.count каждый раз увеличивает своё значение сразу на 2-3 единицы.

Также проверьте все скрипты, которые используют обработчики событий "ON START" и "ON CONNECT" реагирующие на события включения и подключения mIRC к чату.

Если вам трудно внимательно просматривать каждый скрипт на наличие переменной %kick.count, то вы можете попробовать искать методом исключения - временно отключая один скрипт за другим и каждый раз пробуя вводить команду ".bl nick", чтобы узнать, осталась ли ещё проблема, о которой вы пишите. Таким образом вы сможете найти "виновника" вашей проблемы, т.е. тот скрипт, который дублирует действие для увеличения значения переменной %kick.count.

После этого вы сможете внести все необходимые изменения в найденных скриптах, чтобы решить эту проблему.

Подпись автора

[html]<style>img {vertical-align:middle;}.hnet{color:#FFFFFF;}.hstar{color:#DE0000;}.htext{font-family:Verdana;font-size:13px;color:#6E1E00;}.heading{font-family:Verdana;font-size:13px;font-weight:bold;background-color:#4897E7;}.stitle{font-family:Verdana;font-size:12px;}.dot{color:#808000;}.desc{color:#ADADAD;}a .curl{font-family:Verdana;font-size:13px;color:#3A92CD;}</style><table><tr><td width="20px" height="20px"><img src="http://forumstatic.ru/files/000d/c9/8c/34681.jpg"></td><td><a href="http://forum.epicnet.ru/viewtopic.php?id=234"><span class="heading"> <span class="hstar">★</span> <span class="hnet">EpicNet.Ru</span> <span class="hstar">★</span> </span><span class="htext"> - IRC Чат © 2008</span></a></td></tr><tr><td></td><td><div class="stitle"><span class="dot">•</span> <span class="desc">Вход через вебгейт:</span> <a href="http://irc.epicnet.ru"><span class="curl">http://irc.epicnet.ru</span></a><br><span class="dot">•</span> <span class="desc">Сервер:</span> irc.epicnet.ru <span class="desc">Порты:</span> 6667, 6668 (ssl)<br><div></td></tr></table>[/html]


Вы здесь » EpicNet.Ru - Форум IRC Чата » HELP SCRIPTS - Помощь по mIRC скриптам » Kick count is not counted correctly