<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: автоматизация для врача (SAMP)]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=14799</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=14799&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: автоматизация для врача (SAMP)».]]></description>
		<lastBuildDate>Tue, 28 May 2019 19:56:32 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: автоматизация для врача (SAMP)]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=134475#p134475</link>
			<description><![CDATA[<p>Тут уже встает вопрос не в методе, а в его применении. То есть я запускаю чтение файла только тогда, когда ожидаю появление нужной мне строки (мне заранее известны сценарии появления тех или иных сообщений в игровом чате). То есть я сначала провоцирую сервер на отправку нужного мне сообщения в чат, а лишь потом запускаю поиск. Если есть вероятность поймать одну и ту же строку несколько раз (такое у меня встречалось, когда я давно-давно читал чат постоянно в цикле, выискивая один из нескольких шаблонов), то я сохраняй md5 всей строки в временный массив. Опять же, я не спорю, что существуют методы понадежней, но ведь и я не претендую на истину в последней инстанции. Мне ещё многому предстоит научиться, но пока что имеем что имеем.</p>]]></description>
			<author><![CDATA[null@example.com (belyankin12)]]></author>
			<pubDate>Tue, 28 May 2019 19:56:32 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=134475#p134475</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: автоматизация для врача (SAMP)]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=134473#p134473</link>
			<description><![CDATA[<p>Ну что ж, объясните как оно надёжно работает.<br />Насколько я понимаю, оно заносит весь файл в массив, и после ищет с конца в последних 30 строках. Но непонятно как при очередном чтении должно быть ясно что это не те же строки что до этого, но если я таковое просто не вижу, то как быть если между чтениями добавлено более 30 строк.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Tue, 28 May 2019 18:59:22 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=134473#p134473</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: автоматизация для врача (SAMP)]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=134472#p134472</link>
			<description><![CDATA[<p><strong>serzh82saratov</strong>, я имел ввиду, что в отличии от других методов, этот метод я знаю, а потому могу разъяснить как что работает. Я убежден в том, что лучше говорить о том, что знаешь наверняка, чем о том, о чем ты лишь только слышал.</p>]]></description>
			<author><![CDATA[null@example.com (belyankin12)]]></author>
			<pubDate>Tue, 28 May 2019 18:37:01 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=134472#p134472</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: автоматизация для врача (SAMP)]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=134471#p134471</link>
			<description><![CDATA[<div class="quotebox"><cite>belyankin12 пишет:</cite><blockquote><p>Может быть с точки зрения потребления памяти этот метод нельзя назвать оптимизированным, однако в отличии от других методов, этот я использовал постоянно, потому могу, так сказать, гарантировать его работоспособность. У меня ещё не возникала необходимость в более совершенных подходах, потому я и не искал способа оптимизировать данный метод.</p></blockquote></div><p>Так любой способ <span class="bbu">будет работать</span>, Вам говорят что есть более оптимальный, который тоже будет работать, но не так варварски кушать ресурсы. <br />Если переименовать - то это работает также, но лучше.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Tue, 28 May 2019 18:02:38 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=134471#p134471</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: автоматизация для врача (SAMP)]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=134460#p134460</link>
			<description><![CDATA[<p>Тогда в чем проблема? Читаете переменную, куда вы вводили свое слово и умножаете стоимость если она = &quot;up&quot;. Даже если чтение происходит хорошо, все же советую присмотреться к предоставленному мной методу - он не удаляет чатлог каждый раз.</p>]]></description>
			<author><![CDATA[null@example.com (belyankin12)]]></author>
			<pubDate>Mon, 27 May 2019 13:35:19 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=134460#p134460</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: автоматизация для врача (SAMP)]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=134457#p134457</link>
			<description><![CDATA[<p>Мне нужно, чтобы скрипт просто умел умножать переменную dollars на 2, если ввести up. В чтении строк скрипт работает без ошибок</p>]]></description>
			<author><![CDATA[null@example.com (arsytenky)]]></author>
			<pubDate>Mon, 27 May 2019 10:50:18 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=134457#p134457</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: автоматизация для врача (SAMP)]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=134456#p134456</link>
			<description><![CDATA[<p>Может быть с точки зрения потребления памяти этот метод нельзя назвать оптимизированным, однако в отличии от других методов, этот я использовал постоянно, потому могу, так сказать, гарантировать его работоспособность. У меня ещё не возникала необходимость в более совершенных подходах, потому я и не искал способа оптимизировать данный метод.</p>]]></description>
			<author><![CDATA[null@example.com (belyankin12)]]></author>
			<pubDate>Mon, 27 May 2019 10:27:12 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=134456#p134456</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: автоматизация для врача (SAMP)]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=134455#p134455</link>
			<description><![CDATA[<p><strong>belyankin12</strong>, проще же читать только последнии строки, с последнего вызова. Зачем каждый раз перелопачивать чат лог?</p>]]></description>
			<author><![CDATA[null@example.com (Phoenixxx_Czar)]]></author>
			<pubDate>Mon, 27 May 2019 09:46:17 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=134455#p134455</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: автоматизация для врача (SAMP)]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=134452#p134452</link>
			<description><![CDATA[<p>Проводите чтение чатлога следующим методом - он не требует удалять чатлог каждый раз после чтения и читает чатлог снизу-вверх (таким образом будет найдено именно самое последнее совпадение).</p><div class="codebox"><pre><code>
global path_log := A_MyDocuments &quot;\GTA San Andreas User Files\SAMP\chatlog.txt&quot;

		log := {str:&quot;&quot;,find:0,num:0}    ,    log.str := []
		FileEncoding, CP0
		Loop, read, %path_log%
		log.str.Insert(A_LoopReadLine)    ,log.num := A_Index
		loop 30
			if RegExMatch(log.str[log.num + 1 - A_Index],&quot;\[(.*)\] \[(.*)\] (.*)\_(.*) \| Уровень\: (.*)&quot;, end_str) and (log.find:=log.num + 1 - A_Index)
				break
		if (end_str != &quot;&quot;) {
			msgbox, Уровень игрока: %end_str5%, ID: %end_str2%
		} else {
			msgbox, Строка не найдена
		}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (belyankin12)]]></author>
			<pubDate>Sun, 26 May 2019 19:12:36 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=134452#p134452</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: автоматизация для врача (SAMP)]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=134448#p134448</link>
			<description><![CDATA[<p><strong>belyankin12</strong><br />Когда вводим /id (айди игрока), показывает следущее...<br />[14:11:05] [855] Cristopher_Jonson | Уровень: 10 <br />из этой строчки мы извлекаем айди и определяем уровень, а по уровню определяем цену медкарты. Но я хочу, чтобы скрипт мог определять обновить ли медкарту(x2 цена)&nbsp; или новую (обычная цена). А samp UDF не умею пользоваться.</p>]]></description>
			<author><![CDATA[null@example.com (arsytenky)]]></author>
			<pubDate>Sun, 26 May 2019 11:17:22 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=134448#p134448</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: автоматизация для врача (SAMP)]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=134447#p134447</link>
			<description><![CDATA[<p>Вы строчку из чатлога где уровень игрока прописан предоставьте ещё. А лучше давайте мы решим вашу задачу более грамотным методом? Удалять чатлог каждый раз только для того чтобы избавиться от повторений очень плохая идея. А если вы ещё захотите воспользоваться SAMP UDF то вашу задачу будет достичь гораздо проще.</p>]]></description>
			<author><![CDATA[null@example.com (belyankin12)]]></author>
			<pubDate>Sun, 26 May 2019 10:46:22 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=134447#p134447</guid>
		</item>
		<item>
			<title><![CDATA[AHK: автоматизация для врача (SAMP)]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=134445#p134445</link>
			<description><![CDATA[<p>Проблема в том, что скрипт не видит переменную и условие в RegExMatch<br /></p><div class="codebox"><pre><code>F1::
{
SendMessage, 0x50,, 0x4190419,, A
SendInput, {F6}^{sc1E}Здравствуйте, меня зовут Cristopher Jonson, я ваш специалист по выдаче медицинских карт.{Enter}
Sleep, 1500
Send, {F6}Вам обновить или сделать новую медицинскую карту?{Enter}

Send, {F6}Введи up или new  -{Space}
Input , idv, V, {enter}
Send, {F6}^{sc1E}
Sleep, 100


SendMessage, 0x50,, 0x4190419,, A
SendInput, {F6}^{sc1E}Отлично, не могли бы вы мне показать ваш паспорт.{Enter}
Sleep, 500
Send, {F6}/b /showpass ID передавать строго по Role Play{Enter}

Send, {F6}Введи айди игрока -{Space}
Input , id, V, {enter}
SendInput, {F6}^{sc1E}
Sleep, 1000
ChatLog = %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt ; Путь к ЧатЛогу
FileDelete, %ChatLog%  ; Удаляем ЧатЛог
SendInput, {F6}/id %id%{Enter} ; Пишем в чат
Loop
{
FileRead, Chatlog, %A_MyDocuments%\GTA San Andreas User Files\SAMP\Chatlog.txt
RegExMatch(Chatlog, &quot;\Q| Уровень:\E (.*)&quot;, out)
RegExMatch(out1, &quot;[0-9]+&quot;, out2)
if (out2 &gt; 0 and out2 &lt;= 2){
dollars = 5000
FileDelete, ChatLog  ; Удаляем ЧатЛог
goto, MyLabel1
}
FileRead, Chatlog, %A_MyDocuments%\GTA San Andreas User Files\SAMP\Chatlog.txt
RegExMatch(Chatlog, &quot;\Q| Уровень:\E (.*)&quot;, out) ; ищем в чат логе слово &quot;Уровень&quot;
RegExMatch(out1, &quot;[0-9]+&quot;, out2) ; извлекаем число
if (out2 &gt;= 3 and out2 &lt;= 5){
dollars = 10000
FileDelete, ChatLog  ; Удаляем ЧатЛог
Goto, MyLabel1
}
FileRead, Chatlog, %A_MyDocuments%\GTA San Andreas User Files\SAMP\Chatlog.txt
RegExMatch(Chatlog, &quot;\Q| Уровень:\E (.*)&quot;, out) ; ищем в чат логе слово &quot;Уровень&quot;
RegExMatch(out1, &quot;[0-9]+&quot;, out2)
if (out2 &gt;= 6 and out2 &lt;= 10){
dollars = 15000
Send, {F6} %dollars%{Enter}
FileDelete, ChatLog  ; Удаляем ЧатЛог
Sleep, 1000
Send, {F6} %dollars%{Enter}

}
FileRead, Chatlog, %A_MyDocuments%\GTA San Andreas User Files\SAMP\Chatlog.txt
RegExMatch(Chatlog, &quot;\Q| Уровень:\E (.*)&quot;, out) ; ищем в чат логе слово &quot;Уровень&quot;
RegExMatch(out1, &quot;[0-9]+&quot;, out2) ; извлекаем число
if (out2 &gt;= 11 and out2 &lt;= 15){
dollars = 25000
FileDelete, ChatLog  ; Удаляем ЧатЛог
Goto, MyLabel1
}
FileRead, Chatlog, %A_MyDocuments%\GTA San Andreas User Files\SAMP\Chatlog.txt
RegExMatch(Chatlog, &quot;\Q| Уровень:\E (.*)&quot;, out)
RegExMatch(out1, &quot;[0-9]+&quot;, out2) ; извлекаем число
if (out2 &gt;= 16 and out2 &lt;= 20){
dollars = 35000
FileDelete, ChatLog  ; Удаляем ЧатЛог
Goto, MyLabel1
}
FileRead, Chatlog, %A_MyDocuments%\GTA San Andreas User Files\SAMP\Chatlog.txt
RegExMatch(Chatlog, &quot;\Q| Уровень:\E (.*)&quot;, out) ; ищем в чат логе слово &quot;Уровень&quot;
RegExMatch(out1, &quot;[0-9]+&quot;, out2) ; извлекаем число
if (out2 &gt; 20){
    dollars = 50000
FileDelete, ChatLog  ; Удаляем ЧатЛог
Goto, MyLabel1
}

MyLabel1:</code></pre></div><p>Когда я ввожу new или up в переменную в этой части скрипта,<br /></p><div class="codebox"><pre><code>Send, {F6}Введи up или new  -{Space}
Input , idv, V, {enter}
Send, {F6}^{sc1E}
Sleep, 100</code></pre></div><p>то должно быть так, если ввести up, тогда для игроков 1-2 уровня (и для остальных уровней : 3-5, 6-10, 11-15, 16-20 и больше 20 переменная dollars умножается на 2 и выводится в метку MyLabel1.<br /></p><div class="codebox"><pre><code>
MyLabel1:
Send, {F6}Медкарта вам обойдется в %dollars%</code></pre></div><p>Если ввести new, переменная dollars не умножается, просто остаётся указанным значением в функции RegExMath.</p>]]></description>
			<author><![CDATA[null@example.com (arsytenky)]]></author>
			<pubDate>Sun, 26 May 2019 09:01:12 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=134445#p134445</guid>
		</item>
	</channel>
</rss>
