<?xml version="1.0"?>
<rss version="2.0"><channel><title>&#x412;&#x438;&#x43A;&#x438;&#x43F;&#x435;&#x434;&#x438;&#x44F;: Википедия</title><link><![CDATA[https://rutale.net/wiki/%D1%81%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%B8%D0%B8-hytale/?page=1&d=1]]></link><description>&#x412;&#x438;&#x43A;&#x438;&#x43F;&#x435;&#x434;&#x438;&#x44F;: Википедия</description><language>ru</language><item><title>&#x41E; &#x441;&#x446;&#x435;&#x43D;&#x430;&#x440;&#x438;&#x44F;&#x445; Hytale</title><link>https://rutale.net/wiki/%D1%81%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%B8%D0%B8-hytale/%D0%BE-%D1%81%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%B8%D1%8F%D1%85-hytale-r10/</link><description><![CDATA[
<p>
	<span style="font-size:16px;">Мы собрали некоторую информацию о сценариях Hytale, которой еще не так много. Ожидаем более подробных руководств от разработчиков Hytale, которые мы естественно русифицируем. А пока на сегодня известно следующее.</span>
</p>

<p>
	<span style="font-size:16px;">В Hytale будут работать сценарии, написанные игроками с помощью встроенных прямо в игру инструментов, либо с использованием сторонних редакторов кода. Удобство внутриигрового редактора кода в том, что мы сможем увидеть результаты без перезапуска всей игры. То есть по сути это программирование в реальном времени. В Minecraft при разработке модов и плагинов приходилось использовать различные обходы и "костыли", чтобы как-то писать и перезагружать код на лету. Меня поймут разработчики модов и плагинов для Minecraft. Радует такой подход и продуманность со стороны Hytale команды.</span>
</p>

<p>
	<span style="font-size:16px;">Посмотрев <a href="https://rutale.net/index.php?/blogs/entry/12-%D0%BE%D1%84%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9-%D1%82%D1%80%D0%B5%D0%B9%D0%BB%D0%B5%D1%80-hytale/" rel="">первый трейлер Hytale</a> многие заметили тот самый редактор кода, в котором также будет присутствовать подсветка синтаксиса.</span>
</p>

<p style="text-align: center;">
	<span style="font-size:16px;"><img alt="Live_scripting.png" class="ipsImage ipsImage_thumbnailed ipsAttachLink_image" data-fileid="39" data-unique="msauztx1l" src="https://rutale.net/uploads/monthly_2019_01/Live_scripting.png.f35e675fc89dc4732ee5a69a5886a1ac.png" style="width: 640px; height: auto;"></span>
</p>

<p>
	<span style="font-size:16px;">Давайте взглянем на редактор поближе:</span>
</p>

<p style="text-align: center;">
	<span style="font-size:16px;"><img alt="ewl4ags6yb721.png" class="ipsImage ipsImage_thumbnailed" data-fileid="41" data-unique="6udk5fj10" src="https://rutale.net/uploads/monthly_2019_01/ewl4ags6yb721.png.fe9e97cf482a28c0a66fbdac17913601.png" style="width: 603px; height: auto;"></span>
</p>

<p>
	<span style="font-size:16px;">Судя по синтаксису, некоторые склонны предполагать, что это Java, JavaScript или C#.</span>
</p>

<p>
	<span style="font-size:16px;">Взглянем на код целиком:</span>
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_406_13" style="">
<span class="kwd">var</span><span class="pln"> </span><span class="typ">GameMode</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">hypixel</span><span class="pun">.</span><span class="pln">hytale</span><span class="pun">.</span><span class="pln">protocol</span><span class="pun">.</span><span class="typ">Gamemode</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">var</span><span class="pln"> </span><span class="typ">Player</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">hypixel</span><span class="pun">.</span><span class="pln">hytale</span><span class="pun">.</span><span class="pln">server</span><span class="pun">.</span><span class="pln">core</span><span class="pun">.</span><span class="pln">entity</span><span class="pun">.</span><span class="pln">entities</span><span class="pun">.</span><span class="typ">Player</span><span class="pun">;</span><span class="pln">

exports </span><span class="pun">=</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
	onCollide </span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pun">(</span><span class="pln">entity</span><span class="pun">)</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">entity </span><span class="kwd">instanceof</span><span class="pln"> </span><span class="typ">Player</span><span class="pun">)</span><span class="pln">
		</span><span class="pun">{</span><span class="pln">
			entity</span><span class="pun">.</span><span class="pln">setGameMode</span><span class="pun">(</span><span class="typ">GameMode</span><span class="pun">.</span><span class="typ">Adventure</span><span class="pun">);</span><span class="pln"> </span><span class="com">// Sets the mode to adventure</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

</span><span class="pun">*</span><span class="str">/ www.hytale.com/</span><span class="pln">supersecretpage

exports </span><span class="pun">=</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
	onCollide </span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pun">(</span><span class="pln">entity</span><span class="pun">)</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">entity </span><span class="kwd">instanceof</span><span class="pln"> </span><span class="typ">Player</span><span class="pun">)</span><span class="pln">
		</span><span class="pun">{</span><span class="pln">
			entity</span><span class="pun">.</span><span class="pln">teleport</span><span class="pun">(</span><span class="lit">0</span><span class="pun">,</span><span class="lit">0</span><span class="pun">,</span><span class="lit">0</span><span class="pun">);</span><span class="pln"> </span><span class="com">// Moves player to origin</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

</span><span class="pun">*</span><span class="str">/ www.hytale.com/</span><span class="pln">supersecretpage</span></pre>

<p>
	<span style="font-size:16px;">Вначале импортируются классы GameMode и Player. Затем следует код, очень похожий на JavaScript - экспорт данных двух функций. Функции onCollide, это не что иное как события, возникающие при касании двух сущностей друг друга. Также присутствует проверка "instanceof Player", является ли сущность Игроком (Player). В первом событии происходит активация режима приключений у игрока, во втором - телепортирование на координаты 0,0,0. Код довольно прозрачен и понятен на первый взгляд, особенно для тех, кто хоть раз писал плагин или мод для Minecraft.</span>
</p>

<p>
	<span style="font-size:16px;">В трейлере объектом, с которым взаимодействует игрок, является свинья. Исходя из кода при касании игроком свиньи его телепортирует на нулевые координаты в режиме приключений. Полезная свинюшка <img src="https://cdn.jsdelivr.net/emojione/assets/3.1/png/64/1f609.png" class="ipsEmoji" alt="😉"></span>
</p>

<p>
	<span style="font-size:16px;">Есть еще одно мнение, что это <a href="https://ru.wikipedia.org/wiki/TypeScript" rel="external nofollow">TypeScript</a>. Это наследник JavaScript с возможностью обратной совместимости при компиляции. Мы сообщим еще какую-то информацию о сценариях Hytale, как только она появится.</span>
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">10</guid><pubDate>Fri, 11 Jan 2019 18:13:27 +0000</pubDate></item></channel></rss>
