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

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

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



script for ident

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

1

Код:
alias fabian {
  if $exists(@ident) = $false { .window @ident 400 400 200 200 }
  var %i = 1
  while (%i <= 10) {
    var %data c:\i\mirc\ident\ $+ $1 $+ .txt | set %info $read %data
    if $1 isin %data { aline @ident 0,1 %Info }
    inc %i
  }
}

$read c:\i\mirc\ident\ircap.txt - how i know the total number of lines?

2

thnx for the fast answer in IRC chat on the channel #Code, cheers   http://www.kolobok.us/smiles/icq/good.gif

3

1201,351 написал(а):

$read c:\i\mirc\ident\ircap.txt - how i know the total number of lines?

Для подсчёта общего числа строк в текстовом документе вы можете использовать идентификатор $lines
Просто заключите путь к вашему файлу в скобки этого идентификатора: $lines(c:\i\mirc\ident\ircap.txt)
Подробнее об этом здесь: https://en.wikichip.org/wiki/mirc/identifiers/$lines


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

Ошибка 1: [c=#333]if $exists(@ident) = $false { .window @ident 400 400 200 200 }[/c] - данный идентификатор используется для проверки существования файла, а не для проверки окон.
Подробнее об этом здесь: https://en.wikichip.org/wiki/mirc/identifiers/$exists

Чтобы проверить существует ли окно "@ident" вы должны использовать идентификатор окон $window
Просто заключите название окна в скобки этого идентификатора: $window(@ident)
Подробнее об этом здесь: https://en.wikichip.org/wiki/mirc/identifiers/$window

Ошибка 2: [c=#333]set %info $read %data[/c] - это не правильный синтаксис использования данного идентификатора. Так он работать не будет.
Вы должны заключать несколько параметров в скобках этого идентификатора: $read(filename,switches,matchtext,N)
Подробнее об этом здесь: https://en.wikichip.org/wiki/mirc/identifiers/$read


Кроме того мне не совсем понятна задача данного скрипта. Потому что вы либо используете какую-то запутанную схему кода, либо это банальный набор ошибок скриптера "Новичка". Непонятно, для чего здесь используется команда цикла "while", которая делает повтор 10 раз? И что заключено в идентификаторе "$1" тоже остаётся загадкой. Так как, если предположить, что это название файла, тогда при проверке "if $1 isin %data" это выглядит как ещё одна ошибка, и тогда переменная "%data" должна быть заключена в скобки идентификатора "$read()" для поиска искомого слова в файле.

Мне кажется это не полный скрипт, а всего лишь фрагмент кода и в таком виде он не будет правильно работать. Не могли бы вы подробнее объяснить для чего этот скрипт и какие задачи он должен выполнять? Желательно, чтобы ваши пояснения состояли из более, чем 2-3 полноценных строк текста, для более точного перевода и понимания смысла ваших слов.

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

[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="https://forumstatic.ru/files/000d/c9/8c/34681.jpg"></td><td><a href="https://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]

4

VerDuGoTeam, Я предполагаю, что ваш скрипт должен был считывать некие пользовательские данные из текстового документа "ident.txt" и отображать их в окне "@Ident".

Для этого я немного переделал ваш код, и довёл его до работоспособного состояния:

Код:
alias fabian {
  if (!$window(@Ident)) { .window -dok0w0 @Ident 400 400 350 200 $+(Comic Sans MS 12) $mircexe 22 } | else { .clear @Ident }
  var %data $mircdir $+ ident.txt | if (!$exists(%data)) .echo -a No File:04 %data
  var %i $lines(%data) | while (%i >= 1) {
    var %info $read(%data,%i) | tokenize 32 %info
    .iline @Ident 1 00,01 $+(14,$1,00,$chr(44),01) $2 $+(07,$3,00,$chr(44),01) $4 
    dec %i
  }
}

В корневой папке клиента должен быть создан текстовый документ "ident.txt" примерно с такими данными:

25/08/2021 11:57:19 BoTiK #da
25/08/2021 14:44:27 nbIx #da
25/08/2021 15:14:12 Electron #da
25/08/2021 16:37:32 Ninja #da
25/08/2021 16:51:46 VerDuGo #da

Для запуска скрипта наберите команду: "/fabian".

    https://i.ibb.co/3mnT14S/fabian.jpg


Вероятно это не вся идея скрипта, и он должен был делать что-то ещё. Если вы мне раскроете замысел своей идеи и напишите здесь об этом более подробно, то я подумаю о том, как и чем я смогу вам помочь.

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

[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="https://forumstatic.ru/files/000d/c9/8c/34681.jpg"></td><td><a href="https://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]