<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; Ошибка при перезапуске программы]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=8334</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=8334&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Ошибка при перезапуске программы».]]></description>
		<lastBuildDate>Mon, 27 May 2013 15:59:07 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=72485#p72485</link>
			<description><![CDATA[<p>А что, часто в чате пишут «Connected to»?<br /></p><div class="quotebox"><blockquote><p>приведет к перезапуску</p></blockquote></div><p>К вызову процедуры EnterPassword, а не перезапуску.</p><p>В использовании regexmatch не вижу необходимости, если <em>[xx:yy:zz]</em> всегда в подобном формате, то достаточно изменить<br /></p><div class="codebox"><pre><code>if InStr(newLogLine, keyWord)</code></pre></div><p>на<br /></p><div class="codebox"><pre><code>if InStr(newLogLine, keyWord) &lt;= 12</code></pre></div><p>12 — число символов в&nbsp; <em>&quot;[xx:yy:zz] &quot;</em> + 1</p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Mon, 27 May 2013 15:59:07 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=72485#p72485</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=72480#p72480</link>
			<description><![CDATA[<p>Увы, тогда любое сообщение в чате содержащее &quot;Connected to&quot; приведет к перезапуску.</p>]]></description>
			<author><![CDATA[null@example.com (Pr1mera)]]></author>
			<pubDate>Mon, 27 May 2013 15:37:25 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=72480#p72480</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=72476#p72476</link>
			<description><![CDATA[<p>Подстроку ищет функция InStr и ей абсолютно безразлично в каком месте строки находится подстрока.</p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Mon, 27 May 2013 14:51:09 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=72476#p72476</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=72474#p72474</link>
			<description><![CDATA[<div class="quotebox"><cite>creature.ws пишет:</cite><blockquote><p>Оказывается, можно не использовать goto без необходимости.</p></blockquote></div><p>А если строка должна выглядеть как [xx:yy:zz] Connected to.* <br />Как это сделать при помощи KeyWords ?</p>]]></description>
			<author><![CDATA[null@example.com (Pr1mera)]]></author>
			<pubDate>Mon, 27 May 2013 14:00:47 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=72474#p72474</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=72473#p72473</link>
			<description><![CDATA[<div class="codebox"><pre><code>logPath := A_MyDocuments . &quot;\GTA San Andreas User Files\SAMP\chatlog.txt&quot;
KeyWords := {&quot;Connected to&quot;   : Func(&quot;EnterPassord&quot;)
            ,&quot;Server closed&quot;  : Func(&quot;RestartProcess&quot;)
            ,&quot;You are banned&quot; : Func(&quot;RestartProcess&quot;)}

log := FileOpen(logPath, &quot;r&quot;)
log.pos := log.length ; перемещаем указатель в конец файла. Что происходило до запуска скрипта нас не интересует.

loop {
    if (log.pos = log.length) {
        Sleep 100
        continue
    }

    newLogLine := log.ReadLine() ; ReadLine перемещает указатель в файле, если мы обрабатываем последнюю строку, то при следующей итерации цикла log.pos = log.length

    for keyWord, proc in KeyWords
        if InStr(newLogLine, keyWord)
            %proc%()
}

EnterPassword() {
    MsgBox вводим пароль
}

RestartProcess() {
    MsgBox перезапускаем
}</code></pre></div><p>Оказывается, можно не использовать goto без необходимости.</p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Mon, 27 May 2013 12:34:54 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=72473#p72473</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=72470#p72470</link>
			<description><![CDATA[<div class="quotebox"><cite>Pr1mera пишет:</cite><blockquote><p>Да, если оно выполняется, он перезапускает GTA:SA:MP и переходит в начало (к Started), но не читает его, а начинает с Check3.</p></blockquote></div><p>Ну, тогда выясняйте, какое из условий внутри Started не выполняется.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Mon, 27 May 2013 08:38:50 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=72470#p72470</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=72469#p72469</link>
			<description><![CDATA[<p>Оу, это в правду огрызок. Там раньше была табличка о том, что ничего не найдена, но потом я её удалил. Надо бы и это удалить.<br />Да, если оно выполняется, он перезапускает GTA:SA:MP и переходит в начало (к Started), но не читает его, а начинает с Check3.</p>]]></description>
			<author><![CDATA[null@example.com (Pr1mera)]]></author>
			<pubDate>Mon, 27 May 2013 08:17:07 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=72469#p72469</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=72467#p72467</link>
			<description><![CDATA[<p>Если условие WinExist(&quot;SA:MP An exception occured&quot;) or WinExist(&quot;GTA:SA:MP: gta_sa.exe&quot;)<br />выполняется, вы проверяли что переход происходит?</p><div class="codebox"><pre><code>        else
        {
        
        }
        Goto, Started
</code></pre></div><p>что это за кусок? Что в пустом блоке, большая тайна?</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 27 May 2013 06:38:02 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=72467#p72467</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=72466#p72466</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Pattern1 используется только в Started. Started запускается только при страте скрипта или если не </p><div class="codebox"><pre><code>If WinExist(&quot;SA:MP An exception occured&quot;) or WinExist(&quot;GTA:SA:MP: gta_sa.exe&quot;)</code></pre></div><p>Хотя не знаю, что там за 2 штуки else непонятно.</p></blockquote></div><p>В самом конце идет переход к Started.</p>]]></description>
			<author><![CDATA[null@example.com (Pr1mera)]]></author>
			<pubDate>Sun, 26 May 2013 21:19:36 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=72466#p72466</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=72465#p72465</link>
			<description><![CDATA[<p>Pattern1 используется только в Started. Started запускается только при страте скрипта или если не </p><div class="codebox"><pre><code>If WinExist(&quot;SA:MP An exception occured&quot;) or WinExist(&quot;GTA:SA:MP: gta_sa.exe&quot;)</code></pre></div><p>Хотя не знаю, что там за 2 штуки else непонятно.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sun, 26 May 2013 20:44:06 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=72465#p72465</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=72464#p72464</link>
			<description><![CDATA[<p>И так,<br />Есть процесс - GTA:SA:MP<br />Он пишет логи чата по адресу: %A_MyDocuments%/........../chatlog.txt<br />Скрипт сделан для того, чтобы найдя строку в этом файле, отвечающую за разрыв подключения к серверу, подключиться обратно. <br />В первом случае найдя &quot;Connected to&quot; он вписывает пароль.<br />Во втором найдя &quot;Server closed&quot; выключает процесс GTA:SA:MP и запускает его командой Run (процесс запускается при помощи samp.exe ip, путь до которого пользователь указывает кнопкой)<br />В третьем случае найдя &quot;You are banned&quot; выполняет всё то же, что и во втором случае.<br />В четвертом найдя окно ошибки запуска игры он выполняет действия 3 или 2.<br />Если один из пунктов не найден, то скрипт идет дальше по циклу. <br />И так, весь этот скрипт работает как нужно, НО. После выполнения команды Run (не зависимо от того, во втором, третьем, или четвертом случае) не работает поиск строки &quot;Connected to&quot;, а скрипт переходит сразу к следующему пункту (проверке на наличие &quot;Server closed&quot;), после последнего (4) пункта, он снова начинает его с &quot;Server closed&quot;.</p>]]></description>
			<author><![CDATA[null@example.com (Pr1mera)]]></author>
			<pubDate>Sun, 26 May 2013 20:20:13 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=72464#p72464</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=72463#p72463</link>
			<description><![CDATA[<p><em>Какой</em> Run <em>кого</em> запускает я так и не понял. <br />Вам нужно смоделировать именно <em>ту</em> ситуацию. И когда у вас это получится, скорее всего вы сами поймете где ошибка, ну или хотя - бы другие поймут.</p><p>Я предлагал вам сократить код. А у вас там попрежнему Sleep, Send, IfWinExist, MsgBox и.т.п. занимают большую часть.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sun, 26 May 2013 16:24:22 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=72463#p72463</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=72462#p72462</link>
			<description><![CDATA[<p>Ещё раз. Скрипт должен находить эти строки в файле и выполнять действия. Запускаю, всё работает только в первом случае (когда он находит строку, содержащую Connected to...), в остальных случаях при выполнении Run перестает работать этот самый первый случай. Он просто не видит в файле строку (Connected to...), однако все остальные по прежнему ищет.</p>]]></description>
			<author><![CDATA[null@example.com (Pr1mera)]]></author>
			<pubDate>Sun, 26 May 2013 15:45:39 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=72462#p72462</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=72454#p72454</link>
			<description><![CDATA[<p>Перечитал ваш топик, но что - то не доходит.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sun, 26 May 2013 14:15:10 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=72454#p72454</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=72450#p72450</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Врядли кто будет копать большой код по непонятному вопросу. Выделите только необходимые функции, и приложите пример лога с которым глючит.</p></blockquote></div><p>Указанные строки в логе не изменяются, они пишутся игрой. Вот лог после перезапуска. Как видно, 10 минут он не производил никаких действий со строкой &quot;Connected to&quot; (если бы произвел, то войдя на сервер лог начал бы писать сообщения от игроков в чате), а потом сервер просто отключил клиент за превышение времени ожидания. Но как только появилась строка &quot;Server closed the connection&quot; он перезапустил игру. <br /></p><div class="codebox"><pre><code>[02:17:30] {FFFFFF}SA-MP {B9C9BF}0.3x-R1-2 {FFFFFF}Started

[02:17:33] Connecting to 176.32.39.199:7777...

[02:17:33] Connected. Joining the game...

[02:17:36] Connected to 176.32.39.199:7777...

[02:26:42] Server closed the connection.

</code></pre></div><p><span class="bbu">Первый пост обновил. Теперь только код цикла.</span></p>]]></description>
			<author><![CDATA[null@example.com (Pr1mera)]]></author>
			<pubDate>Sun, 26 May 2013 06:21:49 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=72450#p72450</guid>
		</item>
	</channel>
</rss>
