<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; Ошибка при перезапуске программы]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=8334&amp;type=atom" />
	<updated>2013-05-27T15:59:07Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=8334</id>
		<entry>
			<title type="html"><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72485#p72485" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2013-05-27T15:59:07Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72485#p72485</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72480#p72480" />
			<content type="html"><![CDATA[<p>Увы, тогда любое сообщение в чате содержащее &quot;Connected to&quot; приведет к перезапуску.</p>]]></content>
			<author>
				<name><![CDATA[Pr1mera]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=30151</uri>
			</author>
			<updated>2013-05-27T15:37:25Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72480#p72480</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72476#p72476" />
			<content type="html"><![CDATA[<p>Подстроку ищет функция InStr и ей абсолютно безразлично в каком месте строки находится подстрока.</p>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2013-05-27T14:51:09Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72476#p72476</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72474#p72474" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>creature.ws пишет:</cite><blockquote><p>Оказывается, можно не использовать goto без необходимости.</p></blockquote></div><p>А если строка должна выглядеть как [xx:yy:zz] Connected to.* <br />Как это сделать при помощи KeyWords ?</p>]]></content>
			<author>
				<name><![CDATA[Pr1mera]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=30151</uri>
			</author>
			<updated>2013-05-27T14:00:47Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72474#p72474</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72473#p72473" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2013-05-27T12:34:54Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72473#p72473</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72470#p72470" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Pr1mera пишет:</cite><blockquote><p>Да, если оно выполняется, он перезапускает GTA:SA:MP и переходит в начало (к Started), но не читает его, а начинает с Check3.</p></blockquote></div><p>Ну, тогда выясняйте, какое из условий внутри Started не выполняется.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2013-05-27T08:38:50Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72470#p72470</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72469#p72469" />
			<content type="html"><![CDATA[<p>Оу, это в правду огрызок. Там раньше была табличка о том, что ничего не найдена, но потом я её удалил. Надо бы и это удалить.<br />Да, если оно выполняется, он перезапускает GTA:SA:MP и переходит в начало (к Started), но не читает его, а начинает с Check3.</p>]]></content>
			<author>
				<name><![CDATA[Pr1mera]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=30151</uri>
			</author>
			<updated>2013-05-27T08:17:07Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72469#p72469</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72467#p72467" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2013-05-27T06:38:02Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72467#p72467</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72466#p72466" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Pr1mera]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=30151</uri>
			</author>
			<updated>2013-05-26T21:19:36Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72466#p72466</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72465#p72465" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2013-05-26T20:44:06Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72465#p72465</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72464#p72464" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Pr1mera]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=30151</uri>
			</author>
			<updated>2013-05-26T20:20:13Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72464#p72464</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72463#p72463" />
			<content type="html"><![CDATA[<p><em>Какой</em> Run <em>кого</em> запускает я так и не понял. <br />Вам нужно смоделировать именно <em>ту</em> ситуацию. И когда у вас это получится, скорее всего вы сами поймете где ошибка, ну или хотя - бы другие поймут.</p><p>Я предлагал вам сократить код. А у вас там попрежнему Sleep, Send, IfWinExist, MsgBox и.т.п. занимают большую часть.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2013-05-26T16:24:22Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72463#p72463</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72462#p72462" />
			<content type="html"><![CDATA[<p>Ещё раз. Скрипт должен находить эти строки в файле и выполнять действия. Запускаю, всё работает только в первом случае (когда он находит строку, содержащую Connected to...), в остальных случаях при выполнении Run перестает работать этот самый первый случай. Он просто не видит в файле строку (Connected to...), однако все остальные по прежнему ищет.</p>]]></content>
			<author>
				<name><![CDATA[Pr1mera]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=30151</uri>
			</author>
			<updated>2013-05-26T15:45:39Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72462#p72462</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72454#p72454" />
			<content type="html"><![CDATA[<p>Перечитал ваш топик, но что - то не доходит.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2013-05-26T14:15:10Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72454#p72454</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ошибка при перезапуске программы]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72450#p72450" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Pr1mera]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=30151</uri>
			</author>
			<updated>2013-05-26T06:21:49Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72450#p72450</id>
		</entry>
</feed>
