<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Combots Бот для БК &mdash; Полезные вещи]]></title>
		<link>http://www.combats-bot.ru/viewtopic.php?id=3626</link>
		<description><![CDATA[Недавние сообщения в теме "Полезные вещи".]]></description>
		<lastBuildDate>Tue, 21 Jun 2011 08:37:34 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Полезные вещи]]></title>
			<link>http://www.combats-bot.ru/viewtopic.php?pid=51203#p51203</link>
			<description><![CDATA[<p>Часто необходимо анализировать какой-нибудь текст, полученный в результате выполнения скрипта.<br />Длинный текст. На помощь вам приходит буфер обмена.<br /></p><div class="codebox"><pre class="javascript" style="font-family:monospace;">window.<span style="color: #660066;">clipboardData</span>.<span style="color: #660066;">setData</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Text&quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Вот сюда какой-нибудь текст&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div><p>* при первой попытке что-нибудь положить в буфер, браузер спросит у вас разрешение на это действие. В бота пихать не надо - бот, вроде, работает в silent режме и не отображает подобные диалоговые окна.</p>]]></description>
			<author><![CDATA[dummy@example.com (anahronik)]]></author>
			<pubDate>Tue, 21 Jun 2011 08:37:34 +0000</pubDate>
			<guid>http://www.combats-bot.ru/viewtopic.php?pid=51203#p51203</guid>
		</item>
		<item>
			<title><![CDATA[Re: Полезные вещи]]></title>
			<link>http://www.combats-bot.ru/viewtopic.php?pid=51202#p51202</link>
			<description><![CDATA[<p>При выполнении запросов через DebugBar лучше всего использовать конструкцию try - catch<br />Пример:<br /></p><div class="codebox"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">try</span><br /><span style="color: #009900;">&#123;</span><br />&nbsp; &nbsp;<span style="color: #006600; font-style: italic;">// ваш код</span><br /><span style="color: #009900;">&#125;</span><br /><span style="color: #000066; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span>err<span style="color: #009900;">&#41;</span><br /><span style="color: #009900;">&#123;</span><br />&nbsp; &nbsp;<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>err.<span style="color: #660066;">description</span><span style="color: #009900;">&#41;</span><br /><span style="color: #009900;">&#125;</span></pre></div>]]></description>
			<author><![CDATA[dummy@example.com (anahronik)]]></author>
			<pubDate>Tue, 21 Jun 2011 08:34:24 +0000</pubDate>
			<guid>http://www.combats-bot.ru/viewtopic.php?pid=51202#p51202</guid>
		</item>
		<item>
			<title><![CDATA[Полезные вещи]]></title>
			<link>http://www.combats-bot.ru/viewtopic.php?pid=51199#p51199</link>
			<description><![CDATA[<p>Readme файл по написанию плагинов от 7-й версии бота (лишнее вырезал).<br /></p><div class="quotebox"><blockquote><p>Combots поддерживает плагины JavaScript.<br />Файл плагин должен иметь латинское имя и расширение .js<br />Все плагины хранятся в папке plugins</p><p>Как пользоваться плагинами:<br />При нажатии на галку вызывается главная функция плагина с параметром enabled - true<br />Если галку снять - вызывается главная функция с параметром enabled - false.<br />Чтобы перезагрузить плагин необходимо выключить-включить плагин.</p><p>Помощь при написании плагина:<br />Главная функция плагина должна иметь вид &quot;function Имя файла плагина без .js (enabled){...}&quot;.<br />Где enabled является состояние галки напротив плагина в списке.<br />Пример главной функции:<br />function Test(enabled)<br />{<br />&nbsp; &nbsp; if(enabled) alert(&#039;Плагин включен!&#039;);</p><p>&nbsp; &nbsp; else alert(&#039;Плагин выключен!&#039;);<br />}</p><p>Необходимым элементом создания плагинов является привязание плагина к обновлению фреймов.<br />Этим занимается массив PluginsOnLoad.<br />Например у нас есть фукнция ее нужно привязать к обновлению страниц.<br />Делается это так PluginsOnLoad[&quot;имя плагина без .js что является именем главной функции&quot;] = &quot;Имя функции&quot;;<br />Пример PluginsOnLoad[&quot;Test&quot;] = &quot;TestDocumentRefreshHandler&quot;;<br />Чтобы отвязать функцию от обновления надо вызвать PluginsOnLoad[&quot;имя&quot;] = &quot;&quot;;<br />Функция-приниматель обновления должна быть без парамметров.<br />URL обновленной страницы содержится в RageRefreshed<br />Пример функции-handler:<br />function TestHandler()<br />{<br />var url = PageRefreshed;<br />if(url.indexOf(&quot;dungeon&quot;)&gt;0)<br />&nbsp; &nbsp; {<br />&nbsp; &nbsp; //мы в подземельи<br />&nbsp; &nbsp; }<br />else if(url.indexOf(&quot;edit=2&quot;)&gt;0)<br />&nbsp; &nbsp; {<br />&nbsp; &nbsp; //мы в инвентаре в разделе Магия<br />&nbsp; &nbsp; }<br />}</p><p>Теперь все что понадобится при плагино-строении:</p><p>top - объект верхнего уровня, в нем содержатся все фреймы<br />top.frames[&quot;bottom&quot;]- фрейм строки чата (и нижних кнопок)<br />top.Battle.oBattle - объект-pointer к бою(!)<br />top.Battle.oBattle.Attack() - нажимает кнопку Вперед! в бою.<br />top.Chat.Self - объект-pointer к чату<br />top.Chat.Self.AddMessage(&quot;xxx&quot;) - добавляет сообщение в чат (! не посылает серверу а добавляет как будто принял)<br />mylogin - имя текущего персонажа<br />external.SaveFile(&quot;имя файла&quot;,&quot;текст&quot;) - сохраняет в папке plugins Файл с именем &quot;имя файла&quot; и содержанием &quot;текст&quot;<br />external.LoadFile(&quot;имя файла&quot;) - загружает и возвращает содержимое файла с именем &quot;имя файла&quot; из папки plugins</p></blockquote></div>]]></description>
			<author><![CDATA[dummy@example.com (anahronik)]]></author>
			<pubDate>Tue, 21 Jun 2011 08:22:13 +0000</pubDate>
			<guid>http://www.combats-bot.ru/viewtopic.php?pid=51199#p51199</guid>
		</item>
	</channel>
</rss>
