<?xml version="1.0"?>
<rss version="2.0"><channel><title>&#x41F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x43D;&#x438;&#x435; &#x442;&#x435;&#x43C;&#x44B;: &#x412;&#x435;&#x440;&#x441;&#x438;&#x44F; 0.63</title><link>https://s-platoon.magicbyte.org/forum/230-versiya-063/</link><description>&#x41F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x43D;&#x438;&#x435; &#x442;&#x435;&#x43C;&#x44B;: &#x412;&#x435;&#x440;&#x441;&#x438;&#x44F; 0.63</description><language>ru</language><item><title>&#x41C;&#x43E;&#x434; 0.63 AirDrop by Mov3ax &#x43D;&#x430; GitHub [&#x43E;&#x442;&#x440;&#x435;&#x43C;&#x43E;&#x43D;&#x442;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;]</title><link>https://s-platoon.magicbyte.org/topic/7055-mod-063-airdrop-by-mov3ax-na-github-otremontirovan/</link><description><![CDATA[
<p>
	Credits -<br>
	@i_kolobov - Documentation and Code snippets<br>
	@Arkensor - Code snippets<br>
	@FIDOv - Documentation<br>
	@Revelin - Code snippets
</p>

<p>
	 
</p>

<p>
	<a href="https://www.reddit.com/r/dayz/comments/9l1rny/mod_airdrop/" rel="external nofollow">https://www.reddit.com/r/dayz/comments/9l1rny/mod_airdrop/</a>
</p>

<p>
	Github - <a href="https://github.com/mov3ax/airdrop" rel="external nofollow">https://github.com/mov3ax/airdrop</a>
</p>

<p>
	Topic with teaser - <a href="https://www.reddit.com/r/dayz/comments/9k545v/teaser_airdrop/" rel="external nofollow">https://www.reddit.com/r/dayz/comments/9k545v/teaser_airdrop/</a>
</p>

<p>
	 
</p>

<p>
	Код
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted">
<span class="kwd">class</span><span class="pln"> </span><span>CustomMission</span><span class="pun">:</span><span class="pln"> </span><span>MissionServer</span><span class="pln">
</span><span class="pun">{</span><span class="pln">	
	</span><span class="com">/* DayZ 0.63 AirDrop plugin by mov3ax / mov3ax.pro */</span><span class="pln">
	</span><span class="com">/* ### ### ### ### ### ### ### ### */</span><span class="pln">
	
	</span><span>float</span><span class="pln"> </span><span>TimesliceMultiplyier</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0.01</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Timeslice multiplyier, default value is 0.01 (60 FPS)</span><span class="pln">
	</span><span>float</span><span class="pln"> </span><span>AirPlaneSpeed</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0.25</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Airplane fly speed </span><span class="pln">
	</span><span>float</span><span class="pln"> </span><span>AirPlaneHeight</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">500</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Airplane fly height </span><span class="pln">
	</span><span>float</span><span class="pln"> </span><span>AirDropFallSpeed</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0.2</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Airdrop fall speed </span><span class="pln">
	</span><span class="com">// 600 Seconds = 10 Minutes</span><span class="pln">
	</span><span>float</span><span class="pln"> </span><span>TicksTimerFromStart</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">600</span><span class="pln"> </span><span class="pun">/</span><span class="pln"> </span><span>TimesliceMultiplyier</span><span class="pun">;</span><span class="pln"> </span><span class="com">// How much time will pass from the server start to first airdrop</span><span class="pln">
	</span><span class="kwd">bool</span><span class="pln"> </span><span>PrintInformationMessages</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Show in chat when airplane flew out and when airdrop is landed</span><span class="pln">
	</span><span class="kwd">bool</span><span class="pln"> </span><span>PrintInformationCoordinates</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Show in chat coordinates where airdrop is landed</span><span class="pln">
	</span><span class="com">// 36000 Seconds = 1 Hour</span><span class="pln">
	</span><span>float</span><span class="pln"> </span><span>RemoveTime</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">36000</span><span class="pln"> </span><span class="pun">/</span><span class="pln"> </span><span>TimesliceMultiplyier</span><span class="pun">;</span><span class="pln"> </span><span class="com">// After how much time airplane and loot will be removed and new airplane will be spawned</span><span class="pln">
	
	</span><span class="kwd">bool</span><span class="pln"> </span><span>PrintDebugMessages</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Show debug messages (Debug)</span><span class="pln">
	</span><span class="kwd">bool</span><span class="pln"> </span><span>DropOnStart</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Drop airdrop instantly after airplane (Debug)</span><span class="pln">
	</span><span class="kwd">bool</span><span class="pln"> </span><span>TeleportDebug</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Teleport to airplane and airdrop during flight (Debug)</span><span class="pln">
	
	</span><span class="kwd">bool</span><span class="pln"> </span><span>RayReady</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Raycast for airdrop container fall math</span><span class="pln">
    </span><span>Object</span><span class="pln"> m_AirPlane</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Global airplane object</span><span class="pln">
	</span><span>Object</span><span class="pln"> m_AirDrop</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Glbal airdrop container object</span><span class="pln">

	</span><span>EntityAI</span><span class="pln"> m_AirDropLoot</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Airdrop container body</span><span class="pln">
	</span><span>ItemBase</span><span class="pln"> m_AirDropBase</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Airdrop container base</span><span class="pln">
	</span><span>Particle</span><span class="pln"> </span><span>DropEffect</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Airdrop land particle effect	</span><span class="pln">
	
	</span><span>float</span><span class="pln"> </span><span>RandomRot</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Default random rotation variable</span><span class="pln">
	
	</span><span class="com">// 100 Seconds</span><span class="pln">
	</span><span>float</span><span class="pln"> </span><span>RandomTime</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">100</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Default random drop variable</span><span class="pln">

	</span><span>float</span><span class="pln"> </span><span>Delay</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Local variable for security</span><span class="pln">
	
	</span><span>int</span><span class="pln"> </span><span>AirDropTime</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Local variable</span><span class="pln">
	</span><span>int</span><span class="pln"> </span><span>AirTimer</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Local variable</span><span class="pln">
	</span><span>int</span><span class="pln"> </span><span>RemoveTimer</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Local variable</span><span class="pln">
	
	</span><span class="kwd">bool</span><span class="pln"> </span><span>TimerPassed</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Local variable</span><span class="pln">
	</span><span class="kwd">bool</span><span class="pln"> </span><span>AirPassed</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Local variable</span><span class="pln">
	</span><span class="kwd">bool</span><span class="pln"> </span><span>RemovePased</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Local variable</span><span class="pln">
	
	</span><span class="kwd">bool</span><span class="pln"> </span><span>DropTime</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Local variable</span><span class="pln">
	</span><span class="kwd">bool</span><span class="pln"> </span><span>PassTime</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Local variable</span><span class="pln">
	
	</span><span>vector</span><span class="pln"> </span><span>RandomRotOrientation</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Local variable</span><span class="pln">
		
	</span><span class="kwd">void</span><span class="pln"> </span><span>SendMessage</span><span class="pun">(</span><span class="pln">string message</span><span class="pun">)</span><span class="pln"> </span><span class="com">// Send message in global chat</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		ref array</span><span class="pun">&lt;</span><span>Man</span><span class="pun">&gt;</span><span class="pln"> players </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> array</span><span class="pun">&lt;</span><span>Man</span><span class="pun">&gt;;</span><span class="pln"> 
		</span><span>GetGame</span><span class="pun">().</span><span>GetPlayers</span><span class="pun">(</span><span class="pln"> players </span><span class="pun">);</span><span class="pln"> 
		
		</span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="pln"> </span><span>int</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun">&lt;</span><span class="pln"> players</span><span class="pun">.</span><span>Count</span><span class="pun">();</span><span class="pln"> i</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>PlayerBase</span><span class="pln"> player1</span><span class="pun">;</span><span class="pln"> 
			</span><span>Class</span><span class="pun">.</span><span>CastTo</span><span class="pun">(</span><span class="pln">player1</span><span class="pun">,</span><span class="pln"> players</span><span class="pun">.</span><span>Get</span><span class="pun">(</span><span class="pln">i</span><span class="pun">));</span><span class="pln"> 

			</span><span>Param1</span><span class="str">&lt;string&gt;</span><span class="pln"> m_AirTimer </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span>Param1</span><span class="str">&lt;string&gt;</span><span class="pun">(</span><span class="pln">message</span><span class="pun">);</span><span class="pln"> 
			</span><span>GetGame</span><span class="pun">().</span><span>RPCSingleParam</span><span class="pun">(</span><span class="pln">player1</span><span class="pun">,</span><span class="pln"> </span><span>ERPCs</span><span class="pun">.</span><span class="pln">RPC_USER_ACTION_MESSAGE</span><span class="pun">,</span><span class="pln"> m_AirTimer</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="pln"> player1</span><span class="pun">.</span><span>GetIdentity</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="kwd">void</span><span class="pln"> </span><span>SendPos</span><span class="pun">(</span><span>vector</span><span class="pln"> pos</span><span class="pun">)</span><span class="pln"> </span><span class="com">// Teleport all players to position, debug</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		ref array</span><span class="pun">&lt;</span><span>Man</span><span class="pun">&gt;</span><span class="pln"> players </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> array</span><span class="pun">&lt;</span><span>Man</span><span class="pun">&gt;;</span><span class="pln"> 
		</span><span>GetGame</span><span class="pun">().</span><span>GetPlayers</span><span class="pun">(</span><span class="pln"> players </span><span class="pun">);</span><span class="pln"> 
		
		</span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="pln"> </span><span>int</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun">&lt;</span><span class="pln"> players</span><span class="pun">.</span><span>Count</span><span class="pun">();</span><span class="pln"> i</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>PlayerBase</span><span class="pln"> player1</span><span class="pun">;</span><span class="pln"> 
			</span><span>Class</span><span class="pun">.</span><span>CastTo</span><span class="pun">(</span><span class="pln">player1</span><span class="pun">,</span><span class="pln"> players</span><span class="pun">.</span><span>Get</span><span class="pun">(</span><span class="pln">i</span><span class="pun">));</span><span class="pln"> 

			player1</span><span class="pun">.</span><span>SetPosition</span><span class="pun">(</span><span class="pln">pos</span><span class="pun">);</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">

	string </span><span>GetRandomLoot</span><span class="pun">()</span><span class="pln"> </span><span class="com">// Random Loot Presets</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		string loot</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">switch</span><span class="pln"> </span><span class="pun">(</span><span>Math</span><span class="pun">.</span><span>RandomInt</span><span class="pun">(</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">6</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">case</span><span class="pln"> </span><span class="lit">0</span><span class="pun">:</span><span class="pln">
		loot </span><span class="pun">=</span><span class="pln"> </span><span class="str">"LandMineTrap"</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">case</span><span class="pln"> </span><span class="lit">1</span><span class="pun">:</span><span class="pln">
		loot </span><span class="pun">=</span><span class="pln"> </span><span class="str">"TTSKOPants"</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">case</span><span class="pln"> </span><span class="lit">2</span><span class="pun">:</span><span class="pln">
		loot </span><span class="pun">=</span><span class="pln"> </span><span class="str">"TacticalBaconCan"</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">case</span><span class="pln"> </span><span class="lit">3</span><span class="pun">:</span><span class="pln">
		loot </span><span class="pun">=</span><span class="pln"> </span><span class="str">"M4A1"</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">case</span><span class="pln"> </span><span class="lit">4</span><span class="pun">:</span><span class="pln">
		loot </span><span class="pun">=</span><span class="pln"> </span><span class="str">"PlateCarrierComplete"</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">case</span><span class="pln"> </span><span class="lit">5</span><span class="pun">:</span><span class="pln">
		loot </span><span class="pun">=</span><span class="pln"> </span><span class="str">"BakedBeansCan"</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">case</span><span class="pln"> </span><span class="lit">6</span><span class="pun">:</span><span class="pln">
		loot </span><span class="pun">=</span><span class="pln"> </span><span class="str">"WaterBottle"</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">
		
		</span><span class="kwd">return</span><span class="pln"> loot</span><span class="pun">;</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
	
	</span><span class="com">// Generating random airdrop position from list</span><span class="pln">
	</span><span class="com">// You can get coordinates using debug monitor or this map https://dayz.ginfo.gg/</span><span class="pln">
	</span><span>vector</span><span class="pln"> </span><span>GetAirPlanePos</span><span class="pun">()</span><span class="pln"> 
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">protected</span><span class="pln"> </span><span>vector</span><span class="pln"> airplane_yaw</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Local variable</span><span class="pln">
		airplane_yaw</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span>AirPlaneHeight</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Airplane fly height </span><span class="pln">
		
		</span><span class="kwd">switch</span><span class="pln"> </span><span class="pun">(</span><span>Math</span><span class="pun">.</span><span>RandomInt</span><span class="pun">(</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">case</span><span class="pln"> </span><span class="lit">0</span><span class="pun">:</span><span class="pln">
		airplane_yaw</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">5500</span><span class="pun">;</span><span class="pln">
		airplane_yaw</span><span class="pun">[</span><span class="lit">2</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">500</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">case</span><span class="pln"> </span><span class="lit">1</span><span class="pun">:</span><span class="pln">
		airplane_yaw</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">2700</span><span class="pun">;</span><span class="pln">
		airplane_yaw</span><span class="pun">[</span><span class="lit">2</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">700</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">case</span><span class="pln"> </span><span class="lit">2</span><span class="pun">:</span><span class="pln">
		airplane_yaw</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">10000</span><span class="pun">;</span><span class="pln">
		airplane_yaw</span><span class="pun">[</span><span class="lit">2</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1000</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">
		
		</span><span class="kwd">return</span><span class="pln"> airplane_yaw</span><span class="pun">;</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">

	</span><span class="kwd">void</span><span class="pln"> </span><span>SpawnAirPlaneAndTeleportPlayer_DEBUG</span><span class="pun">()</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="com">// Seconds devide on value of TimesliceMultiplyier (By default it is 0.01)</span><span class="pln">
		</span><span>RandomTime</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span>Math</span><span class="pun">.</span><span>RandomFloat</span><span class="pun">(</span><span class="lit">75</span><span class="pln"> </span><span class="pun">/</span><span class="pln"> </span><span>TimesliceMultiplyier</span><span class="pun">,</span><span class="pln"> </span><span class="lit">180</span><span class="pln"> </span><span class="pun">/</span><span class="pln"> </span><span>TimesliceMultiplyier</span><span class="pun">);</span><span class="pln"> </span><span class="com">// Random drop bounds</span><span class="pln">
		</span><span>RandomRot</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span>Math</span><span class="pun">.</span><span>RandomFloat</span><span class="pun">(</span><span class="lit">130</span><span class="pun">,</span><span class="pln"> </span><span class="lit">190</span><span class="pun">);</span><span class="pln"> </span><span class="com">// Random rot bounds</span><span class="pln">

		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span>PrintDebugMessages</span><span class="pun">)</span><span class="pln">
			</span><span>SendMessage</span><span class="pun">(</span><span class="str">"Debug - RandomRot "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span>RandomRot</span><span class="pun">);</span><span class="pln">		
		
        </span><span class="com">// Dynamic movement forward</span><span class="pln">
        </span><span>float</span><span class="pln"> rotationYaw </span><span class="pun">=</span><span class="pln"> </span><span>RandomRot</span><span class="pun">;</span><span class="pln">
        </span><span>float</span><span class="pln"> f </span><span class="pun">=</span><span class="pln"> rotationYaw </span><span class="pun">*</span><span class="pln"> </span><span class="lit">0.017453292</span><span class="pun">;</span><span class="pln">
		</span><span>float</span><span class="pln"> motionX  </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">double</span><span class="pun">)(</span><span>Math</span><span class="pun">.</span><span>Sin</span><span class="pun">(</span><span class="pln">f</span><span class="pun">)</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">7.5</span><span class="pun">);</span><span class="pln"> </span><span class="com">// 7.5 is airdrop container motion speed</span><span class="pln">
        </span><span>float</span><span class="pln"> motionZ </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">double</span><span class="pun">)(</span><span>Math</span><span class="pun">.</span><span>Cos</span><span class="pun">(</span><span class="pln">f</span><span class="pun">)</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">7.5</span><span class="pun">);</span><span class="pln"> </span><span class="com">// 7.5 is airdrop container motion speed</span><span class="pln">

		</span><span class="com">// Fixed position, if we dont multiply value to -1 it will move backwards</span><span class="pln">
        </span><span class="kwd">protected</span><span class="pln"> </span><span>vector</span><span class="pln"> m_AirPlaneFixedPosition</span><span class="pun">;</span><span class="pln">
		m_AirPlaneFixedPosition</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> motionX </span><span class="pun">*</span><span class="pln"> </span><span class="pun">-</span><span class="lit">1</span><span class="pun">;</span><span class="pln">
		m_AirPlaneFixedPosition</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">10</span><span class="pun">;</span><span class="pln">
		m_AirPlaneFixedPosition</span><span class="pun">[</span><span class="lit">2</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> motionZ </span><span class="pun">*</span><span class="pln"> </span><span class="pun">-</span><span class="lit">1</span><span class="pun">;</span><span class="pln">
	
		</span><span>RandomRotOrientation</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span>RandomRot</span><span class="pun">;</span><span class="pln">
		
        m_AirPlane </span><span class="pun">=</span><span class="pln"> </span><span>GetGame</span><span class="pun">().</span><span>CreateObject</span><span class="pun">(</span><span class="pln"> </span><span class="str">"Land_Wreck_C130J"</span><span class="pun">,</span><span class="pln"> </span><span>GetAirPlanePos</span><span class="pun">(),</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pln"> </span><span class="pun">);</span><span class="pln"> </span><span class="com">// Create airplane model</span><span class="pln">
		m_AirPlane</span><span class="pun">.</span><span>SetOrientation</span><span class="pun">(</span><span>RandomRotOrientation</span><span class="pun">);</span><span class="pln"> </span><span class="com">// Rotate it to random angles in yaw</span><span class="pln">

		</span><span class="com">//FIXME: Broken sound raduis</span><span class="pln">
        </span><span>GetGame</span><span class="pun">().</span><span>CreateSoundOnObject</span><span class="pun">(</span><span class="pln">m_AirPlane</span><span class="pun">,</span><span class="pln"> </span><span class="str">"powerGeneratorLoop"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">10000</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln"> </span><span class="com">// Attach airplane sound to itself</span><span class="pln">
		
		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span>PrintInformationMessages</span><span class="pun">)</span><span class="pln">
			</span><span>SendMessage</span><span class="pun">(</span><span class="str">"Airplane flew out!"</span><span class="pun">);</span><span class="pln">		

		</span><span class="kwd">protected</span><span class="pln"> </span><span>vector</span><span class="pln"> m_AirPlanePos </span><span class="pun">=</span><span class="pln"> m_AirPlane</span><span class="pun">.</span><span>GetPosition</span><span class="pun">();</span><span class="pln">		
        </span><span class="kwd">protected</span><span class="pln"> </span><span>vector</span><span class="pln"> m_NewAirPlanePos </span><span class="pun">=</span><span class="pln"> m_AirPlanePos </span><span class="pun">-</span><span class="pln"> </span><span class="str">"0 0 0"</span><span class="pun">;</span><span class="pln">	

        m_AirPlane</span><span class="pun">.</span><span>SetPosition</span><span class="pun">(</span><span class="pln">m_NewAirPlanePos</span><span class="pun">);</span><span class="pln">

        </span><span class="kwd">protected</span><span class="pln"> </span><span>vector</span><span class="pln"> m_AirPlanePosDYN </span><span class="pun">=</span><span class="pln"> m_AirPlane</span><span class="pun">.</span><span>GetPosition</span><span class="pun">();</span><span class="pln">
		</span><span class="kwd">protected</span><span class="pln"> </span><span>vector</span><span class="pln"> m_NewAirPlanePosDYN </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">m_AirPlanePos</span><span class="pun">)</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> m_AirPlaneFixedPosition</span><span class="pun">;</span><span class="pln">

        </span><span class="kwd">protected</span><span class="pln"> </span><span>vector</span><span class="pln"> m_DropPos </span><span class="pun">=</span><span class="pln"> m_NewAirPlanePosDYN</span><span class="pun">;</span><span class="pln">	
				
		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span>DropOnStart</span><span class="pun">)</span><span class="pln"> </span><span class="com">// For debug puproses only</span><span class="pln">
		</span><span class="pun">{</span><span class="pln">					
			</span><span>RayReady</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
			m_AirDrop </span><span class="pun">=</span><span class="pln"> </span><span>GetGame</span><span class="pun">().</span><span>CreateObject</span><span class="pun">(</span><span class="pln"> </span><span class="str">"Land_Container_1Bo"</span><span class="pun">,</span><span class="pln"> m_DropPos</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pln"> </span><span class="pun">);</span><span class="pln"> </span><span class="com">// Create airdrop model, in this case it is red container</span><span class="pln">
			
			</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span>PrintInformationMessages</span><span class="pun">)</span><span class="pln">
				</span><span>SendMessage</span><span class="pun">(</span><span class="str">"Airdrop dropped!"</span><span class="pun">);</span><span class="pln">	
			
			</span><span class="com">// Reset it to default values</span><span class="pln">
			</span><span>RemoveTimer</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
			</span><span>RemovePased</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</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>PrintDebugMessages</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>PrintInformationMessages</span><span class="pun">)</span><span class="pln">
				</span><span>SendMessage</span><span class="pun">(</span><span class="str">"Airdrop dropped!"</span><span class="pun">);</span><span class="pln">
			
			</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span>TeleportDebug</span><span class="pun">)</span><span class="pln">
				</span><span>SendPos</span><span class="pun">(</span><span class="pln">m_AirPlane</span><span class="pun">.</span><span>GetPosition</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="kwd">void</span><span class="pln"> </span><span>SpawnAirPlaneAndMove_DEBUG</span><span class="pun">()</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">	
        </span><span class="com">// Dynamic movement forward</span><span class="pln">
		</span><span>float</span><span class="pln"> rotationYaw </span><span class="pun">=</span><span class="pln"> </span><span>RandomRot</span><span class="pun">;</span><span class="pln">
        </span><span>float</span><span class="pln"> f </span><span class="pun">=</span><span class="pln"> rotationYaw </span><span class="pun">*</span><span class="pln"> </span><span class="lit">0.017453292</span><span class="pun">;</span><span class="pln">
		</span><span>float</span><span class="pln"> motionX  </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">double</span><span class="pun">)(</span><span>Math</span><span class="pun">.</span><span>Sin</span><span class="pun">(</span><span class="pln">f</span><span class="pun">)</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span>AirPlaneSpeed</span><span class="pun">);</span><span class="pln"> </span><span class="com">// Airplane speed</span><span class="pln">
        </span><span>float</span><span class="pln"> motionZ </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">double</span><span class="pun">)(</span><span>Math</span><span class="pun">.</span><span>Cos</span><span class="pun">(</span><span class="pln">f</span><span class="pun">)</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span>AirPlaneSpeed</span><span class="pun">);</span><span class="pln"> </span><span class="com">// Airplane speed</span><span class="pln">

		</span><span class="com">// Fixed position, if we dont multiply value to -1 it will move backwards</span><span class="pln">
        </span><span class="kwd">protected</span><span class="pln"> </span><span>vector</span><span class="pln"> m_AirPlaneFixedPosition</span><span class="pun">;</span><span class="pln">
		m_AirPlaneFixedPosition</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> motionX </span><span class="pun">*</span><span class="pln"> </span><span class="pun">-</span><span class="lit">1</span><span class="pun">;</span><span class="pln">
		m_AirPlaneFixedPosition</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
		m_AirPlaneFixedPosition</span><span class="pun">[</span><span class="lit">2</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> motionZ </span><span class="pun">*</span><span class="pln"> </span><span class="pun">-</span><span class="lit">1</span><span class="pun">;</span><span class="pln">

        </span><span class="kwd">protected</span><span class="pln"> </span><span>vector</span><span class="pln"> m_AirPlanePos </span><span class="pun">=</span><span class="pln"> m_AirPlane</span><span class="pun">.</span><span>GetPosition</span><span class="pun">();</span><span class="pln">
		</span><span class="kwd">protected</span><span class="pln"> </span><span>vector</span><span class="pln"> m_NewAirPlanePos </span><span class="pun">=</span><span class="pln"> m_AirPlanePos </span><span class="pun">+</span><span class="pln"> m_AirPlaneFixedPosition</span><span class="pun">;</span><span class="pln">

        m_AirPlane</span><span class="pun">.</span><span>SetPosition</span><span class="pun">(</span><span class="pln">m_NewAirPlanePos</span><span class="pun">);</span><span class="pln">

		</span><span class="kwd">protected</span><span class="pln"> </span><span>vector</span><span class="pln"> m_AirDropFallSpeed</span><span class="pun">;</span><span class="pln">
		m_AirDropFallSpeed</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
		m_AirDropFallSpeed</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span>AirDropFallSpeed</span><span class="pun">;</span><span class="pln">
		m_AirDropFallSpeed</span><span class="pun">[</span><span class="lit">2</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
		
        </span><span class="kwd">protected</span><span class="pln"> </span><span>vector</span><span class="pln"> m_OldAirDropPos </span><span class="pun">=</span><span class="pln"> m_AirDrop</span><span class="pun">.</span><span>GetPosition</span><span class="pun">();</span><span class="pln">
		</span><span class="kwd">protected</span><span class="pln"> </span><span>vector</span><span class="pln"> m_NewAirDropPos </span><span class="pun">=</span><span class="pln"> m_OldAirDropPos </span><span class="pun">-</span><span class="pln"> m_AirDropFallSpeed</span><span class="pun">;</span><span class="pln">

        </span><span class="com">// Raycast, check if airdrop is on ground</span><span class="pln">
        </span><span>vector</span><span class="pln"> rayStart </span><span class="pun">=</span><span class="pln"> m_AirDrop</span><span class="pun">.</span><span>GetPosition</span><span class="pun">()</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="str">"0 1.1 0"</span><span class="pun">;</span><span class="pln">
		</span><span>vector</span><span class="pln"> rayEnd </span><span class="pun">=</span><span class="pln"> m_NewAirDropPos</span><span class="pun">;</span><span class="pln">
		</span><span>vector</span><span class="pln"> hitPos</span><span class="pun">;</span><span class="pln">
		</span><span>vector</span><span class="pln"> hitNormal</span><span class="pun">;</span><span class="pln">
		</span><span>int</span><span class="pln"> hitComponentIndex</span><span class="pun">;</span><span class="pln">
		
        </span><span class="kwd">protected</span><span class="pln"> </span><span>vector</span><span class="pln"> m_AirPlanePosDYN </span><span class="pun">=</span><span class="pln"> m_AirPlane</span><span class="pun">.</span><span>GetPosition</span><span class="pun">();</span><span class="pln">
		</span><span class="kwd">protected</span><span class="pln"> </span><span>vector</span><span class="pln"> m_NewAirPlanePosDYN </span><span class="pun">=</span><span class="pln"> m_AirPlanePos </span><span class="pun">-</span><span class="pln"> </span><span class="str">"0 10 0"</span><span class="pun">;</span><span class="pln">

        </span><span class="kwd">protected</span><span class="pln"> </span><span>vector</span><span class="pln"> m_DropPos </span><span class="pun">=</span><span class="pln"> m_NewAirPlanePosDYN</span><span class="pun">;</span><span class="pln">	
			
		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span>RayReady</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>DayZPhysics</span><span class="pun">.</span><span>RaycastRV</span><span class="pun">(</span><span class="pln">rayStart</span><span class="pun">,</span><span class="pln"> rayEnd</span><span class="pun">,</span><span class="pln"> hitPos</span><span class="pun">,</span><span class="pln"> hitNormal</span><span class="pun">,</span><span class="pln"> hitComponentIndex</span><span class="pun">,</span><span class="pln"> NULL</span><span class="pun">,</span><span class="pln"> NULL</span><span class="pun">,</span><span class="pln"> m_AirDrop</span><span class="pun">))</span><span class="pln">
			</span><span class="pun">{</span><span class="pln">
				m_AirDrop</span><span class="pun">.</span><span>SetPosition</span><span class="pun">(</span><span class="pln">hitPos </span><span class="pun">+</span><span class="pln"> </span><span class="str">"0 1.1 0"</span><span class="pun">);</span><span class="pln">
				m_AirDrop</span><span class="pun">.</span><span>SetOrientation</span><span class="pun">(</span><span class="pln">hitNormal</span><span class="pun">);</span><span class="pln">
				
				</span><span class="com">// Create airdrop lootable container, in this case it is sea chest	</span><span class="pln">
				m_AirDropLoot </span><span class="pun">=</span><span class="pln"> </span><span>EntityAI</span><span class="pun">.</span><span>Cast</span><span class="pun">(</span><span>GetGame</span><span class="pun">().</span><span>CreateObject</span><span class="pun">(</span><span class="pln"> </span><span class="str">"SeaChest"</span><span class="pun">,</span><span class="pln"> m_AirDrop</span><span class="pun">.</span><span>GetPosition</span><span class="pun">(),</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pln"> </span><span class="pun">));</span><span class="pln"> </span><span class="com">// We can't add barrel because it have to be opened</span><span class="pln">
				
				</span><span class="com">// You can extend items count inside airdrop container or make it random</span><span class="pln">
				m_AirDropLoot</span><span class="pun">.</span><span>GetInventory</span><span class="pun">().</span><span>CreateInInventory</span><span class="pun">(</span><span>GetRandomLoot</span><span class="pun">());</span><span class="pln">
				m_AirDropLoot</span><span class="pun">.</span><span>GetInventory</span><span class="pun">().</span><span>CreateInInventory</span><span class="pun">(</span><span>GetRandomLoot</span><span class="pun">());</span><span class="pln">
				m_AirDropLoot</span><span class="pun">.</span><span>GetInventory</span><span class="pun">().</span><span>CreateInInventory</span><span class="pun">(</span><span>GetRandomLoot</span><span class="pun">());</span><span class="pln">
				m_AirDropLoot</span><span class="pun">.</span><span>GetInventory</span><span class="pun">().</span><span>CreateInInventory</span><span class="pun">(</span><span>GetRandomLoot</span><span class="pun">());</span><span class="pln">
				m_AirDropLoot</span><span class="pun">.</span><span>GetInventory</span><span class="pun">().</span><span>CreateInInventory</span><span class="pun">(</span><span>GetRandomLoot</span><span class="pun">());</span><span class="pln">
				m_AirDropLoot</span><span class="pun">.</span><span>GetInventory</span><span class="pun">().</span><span>CreateInInventory</span><span class="pun">(</span><span>GetRandomLoot</span><span class="pun">());</span><span class="pln">
				
				m_AirDropBase </span><span class="pun">=</span><span class="pln"> </span><span>ItemBase</span><span class="pun">.</span><span>Cast</span><span class="pun">(</span><span class="pln">m_AirDropLoot</span><span class="pun">);</span><span class="pln"> </span><span class="com">// Cast items to airdrop container</span><span class="pln">

				</span><span class="com">// Play particle when airdrop container, in this case it is red container</span><span class="pln">
				</span><span>DropEffect</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span>Particle</span><span class="pun">.</span><span>Play</span><span class="pun">(</span><span class="pln"> </span><span>ParticleList</span><span class="pun">.</span><span class="pln">EXPLOSION_LANDMINE</span><span class="pun">,</span><span class="pln"> m_AirDrop</span><span class="pun">.</span><span>GetPosition</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>PrintInformationMessages</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">!</span><span>PrintInformationCoordinates</span><span class="pun">)</span><span class="pln">
					</span><span>SendMessage</span><span class="pun">(</span><span class="str">"Airdrop landed!"</span><span class="pun">);</span><span class="pln">		
				</span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span>PrintInformationMessages</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span>PrintInformationCoordinates</span><span class="pun">)</span><span class="pln">
					</span><span>SendMessage</span><span class="pun">(</span><span class="str">"Airdrop landed at "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> m_AirDrop</span><span class="pun">.</span><span>GetPosition</span><span class="pun">()</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"!"</span><span class="pun">);</span><span class="pln">		
					
				</span><span class="com">// Reset it to default values</span><span class="pln">
				</span><span>RayReady</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln">
			</span><span class="pun">}</span><span class="pln">
			</span><span class="kwd">else</span><span class="pln">
			</span><span class="pun">{</span><span class="pln">
				m_AirDrop</span><span class="pun">.</span><span>SetPosition</span><span class="pun">(</span><span class="pln">m_NewAirDropPos</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="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span>DropTime</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">!</span><span>DropOnStart</span><span class="pun">)</span><span class="pln">
		</span><span class="pun">{</span><span class="pln">			
			</span><span>RayReady</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">	
			
			m_AirDrop </span><span class="pun">=</span><span class="pln"> </span><span>GetGame</span><span class="pun">().</span><span>CreateObject</span><span class="pun">(</span><span class="pln"> </span><span class="str">"Land_Container_1Bo"</span><span class="pun">,</span><span class="pln"> m_DropPos</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pln"> </span><span class="pun">);</span><span class="pln"> </span><span class="com">// Create airdrop model, in this case it is red container</span><span class="pln">

			</span><span class="com">// Reset it to default values</span><span class="pln">
			</span><span>RemoveTimer</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
			</span><span>RemovePased</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
			</span><span>DropTime</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</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="kwd">void</span><span class="pln"> </span><span>CreateAirDrop</span><span class="pun">()</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="com">// Remove timer		</span><span class="pln">
		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span>RemoveTimer</span><span class="pln"> </span><span class="pun">&lt;=</span><span class="pln"> </span><span>RemoveTime</span><span class="pun">)</span><span class="pln">
		</span><span class="pun">{</span><span class="pln">
			</span><span>RemoveTimer</span><span class="pun">++;</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">
		</span><span class="kwd">else</span><span class="pln">
		</span><span class="pun">{</span><span class="pln">
			</span><span class="com">// Removing all objects when remove timer is passed</span><span class="pln">
			</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span>RemovePased</span><span class="pun">)</span><span class="pln">
			</span><span class="pun">{</span><span class="pln">
				m_AirDrop</span><span class="pun">.</span><span>SetPosition</span><span class="pun">(</span><span>vector</span><span class="pun">.</span><span>Zero</span><span class="pun">);</span><span class="pln">
				</span><span>GetGame</span><span class="pun">().</span><span>ObjectDelete</span><span class="pun">(</span><span class="pln"> m_AirDrop </span><span class="pun">);</span><span class="pln"> 
				m_AirDrop </span><span class="pun">=</span><span class="pln"> NULL</span><span class="pun">;</span><span class="pln">	
				
				m_AirPlane</span><span class="pun">.</span><span>SetPosition</span><span class="pun">(</span><span>vector</span><span class="pun">.</span><span>Zero</span><span class="pun">);</span><span class="pln">
				</span><span>GetGame</span><span class="pun">().</span><span>ObjectDelete</span><span class="pun">(</span><span class="pln"> m_AirPlane </span><span class="pun">);</span><span class="pln"> 
				m_AirPlane </span><span class="pun">=</span><span class="pln"> NULL</span><span class="pun">;</span><span class="pln">	
				
				m_AirDropBase</span><span class="pun">.</span><span>SetPosition</span><span class="pun">(</span><span>vector</span><span class="pun">.</span><span>Zero</span><span class="pun">);</span><span class="pln">
				</span><span>GetGame</span><span class="pun">().</span><span>ObjectDelete</span><span class="pun">(</span><span class="pln"> m_AirDropBase </span><span class="pun">);</span><span class="pln"> 
				m_AirDropBase </span><span class="pun">=</span><span class="pln"> NULL</span><span class="pun">;</span><span class="pln">	
				
				m_AirDropLoot</span><span class="pun">.</span><span>SetPosition</span><span class="pun">(</span><span>vector</span><span class="pun">.</span><span>Zero</span><span class="pun">);</span><span class="pln">
				</span><span>GetGame</span><span class="pun">().</span><span>ObjectDelete</span><span class="pun">(</span><span class="pln"> m_AirDropLoot </span><span class="pun">);</span><span class="pln"> 
				m_AirDropLoot </span><span class="pun">=</span><span class="pln"> NULL</span><span class="pun">;</span><span class="pln">	
				
				</span><span class="com">// Reset it to default values</span><span class="pln">
				</span><span>AirPassed</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
				</span><span>TimerPassed</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
				</span><span>AirDropTime</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
				</span><span>AirTimer</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">	
				</span><span>DropTime</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">		
				</span><span>RemovePased</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</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="com">//  After how much time after restart need to wait before airplane spawn</span><span class="pln">
		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span>AirTimer</span><span class="pln"> </span><span class="pun">&lt;=</span><span class="pln"> </span><span>TicksTimerFromStart</span><span class="pun">)</span><span class="pln">
		</span><span class="pun">{</span><span class="pln">
			</span><span>AirTimer</span><span class="pun">++;</span><span class="pln">
			
			</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span>PrintDebugMessages</span><span class="pun">)</span><span class="pln">
				</span><span>SendMessage</span><span class="pun">(</span><span class="str">"Debug - "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span>AirTimer</span><span class="pun">);</span><span class="pln">		
		</span><span class="pun">}</span><span class="pln">
		</span><span class="kwd">else</span><span class="pln">
		</span><span class="pun">{</span><span class="pln">	
			</span><span class="com">// Reset it to default values</span><span class="pln">
			</span><span>TimerPassed</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</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>TimerPassed</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">!</span><span>AirPassed</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>PrintDebugMessages</span><span class="pun">)</span><span class="pln">
				</span><span>SendMessage</span><span class="pun">(</span><span class="str">"Debug - Ticks Passed!"</span><span class="pun">);</span><span class="pln">		
			
			</span><span>SpawnAirPlaneAndTeleportPlayer_DEBUG</span><span class="pun">();</span><span class="pln">
			
			</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span>PrintDebugMessages</span><span class="pun">)</span><span class="pln">
				</span><span>SendMessage</span><span class="pun">(</span><span class="str">"Debug - Test! Spawned via timer"</span><span class="pun">);</span><span class="pln">		
				
			</span><span class="com">// Reset it to default values</span><span class="pln">
			</span><span>AirPassed</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</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>AirPassed</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">m_AirPlane</span><span class="pun">)</span><span class="pln">
			</span><span class="pun">{</span><span class="pln">
				</span><span>SpawnAirPlaneAndMove_DEBUG</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="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span>AirDropTime</span><span class="pln"> </span><span class="pun">&lt;=</span><span class="pln"> </span><span>RandomTime</span><span class="pun">)</span><span class="pln">
		</span><span class="pun">{</span><span class="pln">
			</span><span>AirDropTime</span><span class="pun">++;</span><span class="pln">
			
			</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span>PrintDebugMessages</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>TeleportDebug</span><span class="pun">)</span><span class="pln">
					</span><span>SendPos</span><span class="pun">(</span><span class="pln">m_AirPlane</span><span class="pun">.</span><span>GetPosition</span><span class="pun">());</span><span class="pln">
				
				</span><span>SendMessage</span><span class="pun">(</span><span class="str">"Debug Time - "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span>AirDropTime</span><span class="pun">);</span><span class="pln">		
				</span><span>SendMessage</span><span class="pun">(</span><span class="str">"Random Time - "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span>RandomTime</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="kwd">else</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>Delay</span><span class="pln"> </span><span class="pun">&lt;=</span><span class="pln"> </span><span class="lit">1000</span><span class="pun">)</span><span class="pln">
			</span><span class="pun">{</span><span class="pln">
				</span><span>Delay</span><span class="pun">++;</span><span class="pln">
			</span><span class="pun">}</span><span class="pln">
			</span><span class="kwd">else</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>RayReady</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>TeleportDebug</span><span class="pun">)</span><span class="pln">
						</span><span>SendPos</span><span class="pun">(</span><span class="pln">m_AirDrop</span><span class="pun">.</span><span>GetPosition</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>PassTime</span><span class="pun">)</span><span class="pln">
				</span><span class="pun">{</span><span class="pln">
					</span><span class="com">// Reset it to default values</span><span class="pln">
					</span><span>DropTime</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln">
					</span><span>PassTime</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</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="pln">
	</span><span class="pun">}</span><span class="pln">
	
	</span><span class="com">/* ### ### ### ### ### ### ### ### */</span><span class="pln">
	
	</span><span>float</span><span class="pln"> </span><span>TimerSlice</span><span class="pun">;</span><span class="pln">
	override </span><span class="kwd">void</span><span class="pln"> </span><span>OnUpdate</span><span class="pun">(</span><span class="pln"> </span><span>float</span><span class="pln"> timeslice </span><span class="pun">)</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		super</span><span class="pun">.</span><span>OnUpdate</span><span class="pun">(</span><span class="pln"> timeslice </span><span class="pun">);</span><span class="pln">

		</span><span class="com">// FPS Fix</span><span class="pln">
		</span><span>TimerSlice</span><span class="pln"> </span><span class="pun">+=</span><span class="pln"> timeslice</span><span class="pun">;</span><span class="pln">
		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span>TimerSlice</span><span class="pln"> </span><span class="pun">&gt;=</span><span class="pln"> </span><span>TimesliceMultiplyier</span><span class="pun">)</span><span class="pln">
		</span><span class="pun">{</span><span class="pln">
			</span><span>CreateAirDrop</span><span class="pun">();</span><span class="pln">
			</span><span>TimerSlice</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</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="pln">

</span><span>Mission</span><span class="pln"> </span><span>CreateCustomMission</span><span class="pun">(</span><span class="pln">string path</span><span class="pun">)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
	</span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span>CustomMission</span><span class="pun">();</span><span class="pln">
</span><span class="pun">}</span></pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">7055</guid><pubDate>Wed, 03 Oct 2018 18:10:15 +0000</pubDate></item><item><title>&#x41D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x43A;&#x430; &#x441;&#x442;&#x430;&#x440;&#x442;&#x43E;&#x432;&#x43E;&#x433;&#x43E; &#x43B;&#x443;&#x442;&#x430; &#x438;&#x433;&#x440;&#x43E;&#x43A;&#x43E;&#x432;</title><link>https://s-platoon.magicbyte.org/topic/7019-nastroyka-startovogo-luta-igrokov/</link><description><![CDATA[
<p>
	В этом гайде мы разберёмся <strong>как настроить стартовый лут на сервере DayZ Standalone</strong>. Наверняка многие знают как это сделать, но, думаю, не все <img alt=":smile:" data-emoticon="true" src="https://s-platoon.ru/applications/core/interface/js/spacer.png" title=":smile:" data-src="https://s-platoon.magicbyte.org/uploads/emoticons/smile.png"><br><br><span style="font-size:18px;"><span style="color:#e67e22;"><strong>Инструкция:</strong></span></span>
</p>

<p>
	<span style="color:#e67e22;"><strong>1)</strong></span> Открываем файл <span style="color:#16a085;"><em>init.c</em></span>, который находится в папке <span style="color:#16a085;"><em>mpmissions</em></span> вашего сервера и ищем такие строки:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_461_6" style="">
<span class="pln">EntityAI itemEnt;
ItemBase itemBs;</span></pre>

<p>
	Сразу после них находится блок примерно такого вида:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_461_10" style="">
<span class="pln">itemEnt = player.GetInventory().CreateInInventory("Rag");
itemBs = ItemBase.Cast(itemEnt);
itemBs.SetQuantity(4);
SetRandomHealth(itemEnt);

itemEnt = player.GetInventory().CreateInInventory("RoadFlare");
itemBs = ItemBase.Cast(itemEnt);</span></pre>

<p>
	Именно здесь и задаётся стартовый лут персонажа. Видим что в стартовом луте прописан фаер и четыре бинта.
</p>

<ul>
<li>
		<span style="color:#c0392b;"><em>itemEnt = player.GetInventory().CreateInInventory("Rag");</em></span> - Rag это класснейм предмета (бинта)
	</li>
	<li>
		<span style="color:#c0392b;">itemBs.SetQuantity(4);</span> - количество бинтов и т.д. в пачке, коробке и т.д.
	</li>
</ul>
<p>
	Эти два блока нам и нужно удалить и заменить на свои.
</p>

<p>
	<span style="color:#e67e22;"><strong>2)</strong></span> Открываем файл <span style="color:#16a085;"><em>types.xml</em></span>. В этом файле прописаны класснеймы предметов, имеющихся в игре. Находим нужные и оформляем файл<span style="color:#16a085;"> <em>init.c</em> </span>под себя. Добавим, например, рюкзак, бобы, каску, куртку, штаны и колу:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_4438_7" style="">
<span class="pln">// рюкзак
itemEnt = player.GetInventory().CreateInInventory("AliceBag_Black");
itemBs = ItemBase.Cast(itemEnt);
// бобы
itemEnt = player.GetInventory().CreateInInventory("BakedBeansCan");
itemBs = ItemBase.Cast(itemEnt);
// каска
itemEnt = player.GetInventory().CreateInInventory("BallisticHelmet_Black");
itemBs = ItemBase.Cast(itemEnt);
// куртка
itemEnt = player.GetInventory().CreateInInventory("BomberJacket_Grey");
itemBs = ItemBase.Cast(itemEnt);
// штаны
itemEnt = player.GetInventory().CreateInInventory("CargoPants_Black");
itemBs = ItemBase.Cast(itemEnt);
// кола
itemEnt = player.GetInventory().CreateInInventory("SodaCan_Cola");
itemBs = ItemBase.Cast(itemEnt);</span></pre>

<p>
	Таким образом, весь файл<span style="color:#16a085;"> <em>init.c</em></span> должен выглядеть примерно так:
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Скрытый текст</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			 
		</p>

		<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_4438_9" style="">

<span class="pln">void main()
{

	Hive ce = CreateHive();
	if ( ce )
		ce.InitOffline();

	Weather weather = g_Game.GetWeather();

	weather.GetOvercast().SetLimits( 0.0 , 1.0 );
	weather.GetRain().SetLimits( 0.0 , 1.0 );
	weather.GetFog().SetLimits( 0.0 , 0.25 );

	weather.GetOvercast().SetForecastChangeLimits( 0.0, 0.2 );
	weather.GetRain().SetForecastChangeLimits( 0.0, 0.1 );
	weather.GetFog().SetForecastChangeLimits( 0.15, 0.45 );

	weather.GetOvercast().SetForecastTimeLimits( 1800 , 1800 );
	weather.GetRain().SetForecastTimeLimits( 600 , 600 );
	weather.GetFog().SetForecastTimeLimits( 1800 , 1800 );

	weather.GetOvercast().Set( Math.RandomFloatInclusive(0.0, 0.3), 0, 0);
	weather.GetRain().Set( Math.RandomFloatInclusive(0.0, 0.2), 0, 0);
	weather.GetFog().Set( Math.RandomFloatInclusive(0.0, 0.1), 0, 0);
	
	weather.SetWindMaximumSpeed(15);
	weather.SetWindFunctionParams(0.1, 0.3, 50);
}

class CustomMission: MissionServer
{	
	void SetRandomHealth(EntityAI itemEnt)
	{
		int rndHlt = Math.RandomInt(40,100);
		itemEnt.SetHealth("","",rndHlt);
	}

	override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)
	{
		Entity playerEnt;
		playerEnt = GetGame().CreatePlayer(identity, characterName, pos, 0, "NONE");//Creates random player
		Class.CastTo(m_player, playerEnt);
		
		GetGame().SelectPlayer(identity, m_player);
		
		return m_player;
	}
	
	override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
	{

		player.RemoveAllItems();
/*
		EntityAI item = player.GetInventory().CreateInInventory(topsArray.GetRandomElement());
		EntityAI item2 = player.GetInventory().CreateInInventory(pantsArray.GetRandomElement());
		EntityAI item3 = player.GetInventory().CreateInInventory(shoesArray.GetRandomElement());
*/
		EntityAI itemEnt;
		ItemBase itemBs;
		
// рюкзак
itemEnt = player.GetInventory().CreateInInventory("AliceBag_Black");
itemBs = ItemBase.Cast(itemEnt);
// бобы
itemEnt = player.GetInventory().CreateInInventory("BakedBeansCan");
itemBs = ItemBase.Cast(itemEnt);
// каска
itemEnt = player.GetInventory().CreateInInventory("BallisticHelmet_Black");
itemBs = ItemBase.Cast(itemEnt);
// куртка
itemEnt = player.GetInventory().CreateInInventory("BomberJacket_Grey");
itemBs = ItemBase.Cast(itemEnt);
// штаны
itemEnt = player.GetInventory().CreateInInventory("CargoPants_Black");
itemBs = ItemBase.Cast(itemEnt);
// кола
itemEnt = player.GetInventory().CreateInInventory("SodaCan_Cola");
itemBs = ItemBase.Cast(itemEnt);

	}
	}
};
  
Mission CreateCustomMission(string path)
{
	return new CustomMission();
}</span></pre>

		<p>
			 
		</p>

		<p>
			 
		</p>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<br>
	Подробности о том как заспавнить оружие с магазинами, машины, предметы и тому подобное написаны в разделе init.c тут:
</p>
<iframe data-embedcontent="" frameborder="0" src="https://s-platoon.ru/applications/core/interface/js/spacer.png" data-embed-src="https://s-platoon.magicbyte.org/topic/7014-dokumentaciya-servernyh-faylov-dayz-standalone-dayz-server-files-documentation/?do=embed"></iframe>

<p>
	 
</p>
]]></description><guid isPermaLink="false">7019</guid><pubDate>Thu, 20 Sep 2018 22:14:45 +0000</pubDate></item><item><title>[Dayz 0.63] &#x413;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x446;&#x438;&#x44F; &#x43D;&#x43E;&#x432;&#x44B;&#x445; &#x442;&#x43E;&#x447;&#x435;&#x43A; &#x434;&#x43B;&#x44F; &#x441;&#x43F;&#x430;&#x432;&#x43D;&#x430; &#x43B;&#x443;&#x442;&#x430; &#x432; &#x437;&#x434;&#x430;&#x43D;&#x438;&#x44F;&#x445;</title><link>https://s-platoon.magicbyte.org/topic/7102-dayz-063-generaciya-novyh-tochek-dlya-spavna-luta-v-zdaniyah/</link><description><![CDATA[
<p>
	Ставлю в оригинале,думаю все кому надо поймут )
</p>

<p>
	Что данный способ даёт ?
</p>

<p>
	Если вы поставили на карту новые здания и хотите там видить лут,делайте так как указанно ниже:
</p>

<p>
	 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">*******************HOW TO GENERATE NEW LOOT POSITIONS ON THE MAP FOR YOUR CUSTOM BUILDINGS********************************
                                                -DaOne
First things first, MAKE SURE your custom added buildings SPAWN BEFORE THIS SCRIPT gets execute!! OR ELSE it will not pick up the new buildings!!!
 
Add the following code to any void() That runs after your buildings have spawned!
I recommend to run this code within your mission's BASE CLASS eg CustomMission: MissionServer ( Make a void and name it OnInit )
LIKE THIS:: override void OnInit() { /* Code */  }
INSIDE IT ADD:
 
        CETesting TestHive = GetTesting();
        TestHive.ExportProxyProto();
        TestHive.ExportProxyData( "7500 0 7500", 7000 ); //Dont fuck around with these numbers
 
NOW RUN THE SERVER AND WAIT APPROX 30-60 SECONDS AFTER IT READS THE MISSION!
ONCE YOU SEE THIS IN THE CONSOLE: [CE][MapExport] :: entity found:13722, entity valid:8983, types total:224... took 33 sec
GO TO YOUR STORAGE FOLDER IN THE MISSION, OPEN IT AND YOU SHOULD SEE A NEW FOLDER NAMED 'export' INSIDE IT WILL CONTAIN 2 XML's COPY BOTH AND REPLACE THE OLD ONES WITH THE NEW ONES, MAKE SURE YOU REMOVE THE CODE SO IT DOES NOT GENERATE AGAIN AND RESTART SERVER.</span></pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">7102</guid><pubDate>Fri, 26 Oct 2018 15:44:59 +0000</pubDate></item><item><title>&#x418;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x435; &#x43F;&#x430;&#x440;&#x430;&#x43C;&#x435;&#x442;&#x440;&#x43E;&#x432; &#x443;&#x441;&#x442;&#x430;&#x43B;&#x43E;&#x441;&#x442;&#x438; (&#x441;&#x442;&#x430;&#x43C;&#x438;&#x43D;&#x44B;) / &#x43E;&#x442;&#x43A;&#x43B;&#x44E;&#x447;&#x435;&#x43D;&#x438;&#x435; &#x443;&#x441;&#x442;&#x430;&#x43B;&#x43E;&#x441;&#x442;&#x438;</title><link>https://s-platoon.magicbyte.org/topic/7022-izmenenie-parametrov-ustalosti-staminy-otklyuchenie-ustalosti/</link><description><![CDATA[
<p>
	Собственно, из названия понятно, что в этом гайде мы научимся отключать уровень стамины игрока, отключать усталость<br><br><span style="color:#e67e22;"><strong><span style="font-size:18px;">Инструкция:</span><br>
	1) </strong></span>Находим файл <span style="color:#16a085;"><em>dta/scripts.pbo</em></span> и распаковываем его при помощи PBO Manager и копируем только что распакованную папку <span style="color:#16a085;"><em>scripts</em></span> в корневую папку сервера<br><span style="color:#e67e22;"><strong>2) </strong></span>Открываем файл <span style="color:#16a085;"><em>scripts/3_Game/constants.c</em></span> и изменяем этот код под себя:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_761_4" style="">
<span class="pln">const int STAMINA_DRAIN_STANDING_SPRINT_PER_SEC = 5; //в единицах (сколько единиц выносливости отбавляется при ускорении)
const int STAMINA_DRAIN_CROUCHED_SPRINT_PER_SEC = 1; //в единицах (сколько единиц выносливости отбавляется при ускорении на корточках)
const int STAMINA_DRAIN_PRONE_SPRINT_PER_SEC = 3; //в единицах (сколько единиц выносливости отбавляется при ускорении лёжа)
const float STAMINA_DRAIN_HOLD_BREATH = 0.2; //в единицах (сколько единиц выносливости отбавляется при задержке дыхания)
const int STAMINA_DRAIN_JUMP = 20; //в единицах (сколько единиц выносливости отбавляется при прыжке)
const int STAMINA_DRAIN_MELEE_LIGHT = 5; //в единицах (сколько единиц выносливости отбавляется при лёгком ударе в ближнем бою)
const float STAMINA_DRAIN_MELEE_HEAVY = 20; //в единицах (сколько единиц выносливости отбавляется при сильном ударе в ближнем бою)
const int STAMINA_DRAIN_MELEE_EVADE = 8; //в единицах (сколько единиц выносливости отбавляется при уклонении)</span></pre>

<p>
	Таким образом мы можем отключить усталость игрока, стамина всегда будет максимальная. Для этого нужно всего лишь установить все параметры на значение <span style="color:#c0392b;"><em>0</em></span><br>
	 
</p>
]]></description><guid isPermaLink="false">7022</guid><pubDate>Fri, 21 Sep 2018 17:50:28 +0000</pubDate></item><item><title>&#x414;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x435; &#x43D;&#x430; &#x43A;&#x430;&#x440;&#x442;&#x443; &#x437;&#x434;&#x430;&#x43D;&#x438;&#x439; &#x438; &#x441;&#x43F;&#x430;&#x432;&#x43D; &#x432; &#x43D;&#x438;&#x445; &#x43B;&#x443;&#x442;&#x430;</title><link>https://s-platoon.magicbyte.org/topic/7113-dobavlenie-na-kartu-zdaniy-i-spavn-v-nih-luta/</link><description><![CDATA[
<p>
	<strong>Как добавить здания на карту? И как прописать в них спавн лута?</strong>
</p>

<p>
	Несмотря на то, что задача видится единой,  вопросов по её решению, как очевидно, два.
</p>

<p>
	 
</p>

<p>
	<span style="color:#f1c40f;"><strong>1) КАК ДОБАВИТЬ ЗДАНИЯ НА КАРТУ:</strong></span>
</p>

<p>
	<strong>шаг первый:</strong> проходим по ссылке и скачиваем offline-админку <a href="https://vk.com/fidovpublic?w=wall-94007758_3744" rel="external nofollow"><span style="color:#2980b9;">https://vk.com/fidovpublic?w=wall-94007758_3744</span></a> или сразу с яндекс-диска <a href="https://yadi.sk/d/vL_KvUQ4di38Hw" rel="external nofollow"><span style="color:#2980b9;">https://yadi.sk/d/vL_KvUQ4di38Hw</span></a> (версия 1.3.1)<span style="color:#2980b9;"> </span><a href="https://yadi.sk/d/dIbbc1GFkUrD7A" rel="external nofollow"><span style="color:#2980b9;">https://yadi.sk/d/dIbbc1GFkUrD7A</span></a><span style="color:#2980b9;"> </span>(версия 1.2); 
</p>

<p>
	<strong>Шаг второй:</strong> устанавливаем, заходим, нажимаем <span style="color:#1abc9c;">Y</span>, выбираем "<span style="color:#1abc9c;">ОБ</span>" (то есть объекты), "<span style="color:#1abc9c;">постройки</span>", размещаем объект на земле, кликаем по наименованию в окне, теперь скролом колесика мыши по координатам - можно подвинуть влево/вправо, вперед назад, вниз/вверх,далее нажимаем на значок "экскаватор" (открывается дополнительное окно ниже), в нем так же скролом наклоняем или разворачиваем объект, можем сохранить и после рестарта объекты будут стоять на том же месте.
</p>

<p>
	<strong>Шаг третий:</strong> нажимаем экспорт и идем в notepad++, нажимаем ctrl+V (вставляем из буфера обмена код с нашими зданиями и их координатами). Выглядит это так: <span style="color:#1abc9c;">GetGame().CreateObject("Land_Container_1Moh", "446.953156 422.951996 11226.987305").SetOrientation("132.000000 0.000000 0.000000");</span>
</p>

<p>
	<strong>Шаг четвертый:</strong> открываем файл <span style="color:#f1c40f;">init.c </span>(Server\mpmissions\dayzOffline.chernarusplus\init.c), находим <span style="color:#1abc9c;">void main()</span> <span style="color:#1abc9c;">{</span>…., опускаемся ниже до строчки <span style="color:#1abc9c;">weather.SetWindFunctionParams(0.1, 0.3, 50);</span> После нее прописываем
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">Object obj;

GetGame().CreateObject("Land_Container_1Moh", "446.953156 422.951996 11226.987305").SetOrientation("132.000000 0.000000 0.000000"); </span></pre>

<p>
	( поставьте свои координаты чтобы Вам было удобно проверить или может скачать файл с несколькими новыми военными базами у меня <a href="https://yadi.sk/i/c_RH9woVKvIsvQ" rel="external nofollow"><span style="color:#2980b9;">https://yadi.sk/i/c_RH9woVKvIsvQ</span></a> ) 
</p>

<p>
	загрузить здания без лута - для этого вам будет уже достаточно вышеприведенного текста, если вы, например, готовите базу для игроков, либо дополняете локации нелутабельными объектами, создаете красоту и атмосферу. Если же Вам нужен лут, то переходим вместе со мной к этапу №2 и пытаемся вместе разобраться.
</p>

<p>
	 
</p>

<p>
	<span style="color:#f1c40f;"><strong>2) <strong>К</strong>АК ДОБАВИТЬ ЛУТ В ЗДАНИЯ?</strong></span> (Я ПРОШУ УЧАСТНИКОВ ФОРУМА ПОМОЧЬ В ЭТОМ)
</p>

<p>
	приведу несколько статей на этой счет:
</p>

<p>
	<strong>статья первая: "</strong>генерация новых точек для спавна лута в зданиях"
</p>
<iframe data-embedcontent="" frameborder="0" src="https://s-platoon.ru/applications/core/interface/js/spacer.png" data-embed-src="https://s-platoon.magicbyte.org/topic/7102-dayz-063-generaciya-novyh-tochek-dlya-spavna-luta-v-zdaniyah/?do=embed&amp;comment=62165&amp;embedComment=62165&amp;embedDo=findComment#comment-62165"></iframe>

<p>
	Следуя директивам: так же в<span style="color:#f1c40f;"> init.c </span>вставляем код<br>
	находим "<span style="color:#1abc9c;">class CustomMission: MissionServer</span>" (он идет сразу после добавленных нами зданий)<br>
	и в этот класс вставляем <span style="color:#1abc9c;">void OnInit () { текст } </span>(текст указан ниже)<br>
	вот так вот:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">class CustomMission: MissionServer
{    
    void OnInit () 
    {
        CETesting TestHive = GetTesting();
        TestHive.ExportProxyProto();
        TestHive.ExportProxyData( "7500 0 7500", 7000 ); 
    }

};</span></pre>

<p>
	запустите сервер и подождите примерно 30-60 секунд после прочтения миссии!<br>
	как только вы видите это в консоли: [ce][mapexport]:: entity found:13722, entity valid:8983, types total: 224... took 33 sec. <br>
	перейдите в папку хранения в миссии, откройте его, и вы должны увидеть новую папку с именем "export" внутри него будет содержать копию 2 xml и заменить старые с новыми, когда получишь 2 файла удали код который добавил при следующем запуске сервера
</p>

<p>
	 
</p>

<p>
	и еще три статьи на одну тему
</p>

<p>
	<strong>Статья вторая:</strong> Вы должны добавить здание в <span style="color:#f1c40f;">mapgrouppos.xml</span> с той же позицией. Тогда у вас должен появиться там спавн лута, пишет автор статьи. Ссылка на статью <a href="https://forums.dayz.com/topic/240272-dayz-map-mod/" rel="external nofollow"><span style="color:#2980b9;">https://forums.dayz.com/topic/240272-dayz-map-mod/</span></a><br><strong>Статья третья: </strong>Я "игрался" с кодом и добавил некоторые записи в <span style="color:#f1c40f;">mapgrouppos.xml</span>, но я понял, что это определение экземпляров макетов лута для каждой строительной сетки (т.е. у меня был лут, плавающий в воздухе, без зданий под ним и вокруг него) тут админ, видимо, забыл про файл <span style="color:#f1c40f;">init.c</span> и сами здания отсутствовали. Ссылка на статью 
</p>

<div class="ipsEmbeddedOther">
	<iframe scrolling="no" src="https://s-platoon.ru/applications/core/interface/js/spacer.png" style="height:417px;" data-embed-src="https://s-platoon.magicbyte.org/index.php?app=core&amp;module=system&amp;controller=embed&amp;url=https://www.reddit.com/r/dayz/comments/9j9hpz/modding../"></iframe>
</div>

<p>
	 
</p>

<p>
	<strong>Статья четвертая:</strong> В <span style="color:#f1c40f;">mapgrouppos.xml</span> указаны все точки спавнов. Ссылка на статью 
</p>
<iframe data-embedcontent="" frameborder="0" src="https://s-platoon.ru/applications/core/interface/js/spacer.png" data-embed-src="https://s-platoon.magicbyte.org/topic/7096-him-zaschita/?do=embed"></iframe>

<p>
	<strong>идем в <span style="color:#f1c40f;">mapgrouppos.xml</span></strong>
</p>

<p>
	<span style="color:#16a085;">DayZCommunityOfflineMode / Missions / DayZCommunityOfflineMode.ChernarusPlus /mapGroupPos.xml</span>
</p>

<p>
	и видим там все здания в координатами
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="tag">&lt;group</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"Land_Misc_FeedShack"</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"80.255409 113.792282 4422.158691"</span><span class="pln"> </span><span class="atn">rpy</span><span class="pun">=</span><span class="atv">"-0.000000 0.000000 -70.013718"</span><span class="pln"> </span><span class="atn">a</span><span class="pun">=</span><span class="atv">"160.013718"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">

</span><span class="tag">&lt;group</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"Land_Misc_FeedShack"</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"80.250587 411.261566 10449.115234"</span><span class="pln"> </span><span class="atn">rpy</span><span class="pun">=</span><span class="atv">"-0.000000 0.000000 -58.923214"</span><span class="pln"> </span><span class="atn">a</span><span class="pun">=</span><span class="atv">"148.923203"</span><span class="pln"> </span><span class="tag">/&gt;</span></pre>

<p>
	а наш код, выгруженный из offline админки 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">GetGame().CreateObject("Land_Container_1Moh", "446.953156 422.951996 11226.987305").SetOrientation("132.000000 0.000000 0.000000");
GetGame().CreateObject("Land_Container_1Moh", "451.626770 423.004059 11222.603516").SetOrientation("-45.999992 -0.000000 0.000000");</span></pre>

<p>
	Только вот что такое "<span style="color:#1abc9c;">rpy</span>" и "<span style="color:#1abc9c;">a</span>" я не знаю, могу предположить что
</p>

<p>
	"<span style="color:#1abc9c;">rpy</span>" это есть <span style="color:#1abc9c;">SetOrientation</span> а "<span style="color:#1abc9c;">а</span>" это градус поворота, но как это выгрузить из offline админки я ума не приложу
</p>

<p>
	<strong>Оставляю на Ваше изучение, использование и дополнение (прошу помочь)</strong>
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">7113</guid><pubDate>Thu, 01 Nov 2018 20:37:40 +0000</pubDate></item><item><title>[Dayz 0.63] &#x41C;&#x438;&#x441;&#x441;&#x438;&#x44F; &#x438;  &#x410;&#x434;&#x43C;&#x438;&#x43D;&#x43A;&#x430; &#x432; &#x438;&#x433;&#x440;&#x435;</title><link>https://s-platoon.magicbyte.org/topic/7097-dayz-063-missiya-i-adminka-v-igre/</link><description><![CDATA[
<p>
	<strong>Миссия на 63 патч с функциями Админа.</strong>
</p>

<p>
	Данный мод позволяет Админу:
</p>

<p>
	<span style="color:#e74c3c;">Телепорт</span>
</p>

<p>
	<span style="color:#e74c3c;">Спавн машины</span>
</p>

<p>
	<span style="color:#e74c3c;">Бесмертие </span>
</p>

<p>
	<span style="color:#e74c3c;">Спавн лута</span>
</p>

<p>
	<span style="color:#e74c3c;">и тд</span>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">Commands avaibale for use:
 
/gm                   -Enable/Diable God Mode
/freecam              -enables freecam, to disable type the command again
/spi itemClassName    -Spawns item in your inventory make sure you leave space after the command then insert item name
/spg itemClassName    -Spawns item around your player make sure you leave space after the command then insert item name
/tpto TownName        - Teleports your player to the town selected (case sensative!) use names from list above!
/tpc 7500 0 7500      - Teleports player to the corrds make sure you leave space after the command and after each value x z y
/debug                - Enables/Disables debug monitor for all players on server. After Disabling players need to relog so the UI goes away.
/nighttime            - Not sure what this command does :P
/daytime              - Not sure what this command does :P
/heal                 - Heals admin only
/tpalltome            - welp, it will TP all players to you :)
/killall              - yep, that ugly ass black screen will show up :P
/kill                 - Suicide is a problem within our society.
/spawncar             - Spawns a blue Hatchback ready to drive right next to you :)
/tpp                  -Tp player to you by name, leave space after command
/tppm                 -tp your player to the player selected by name, leave space after command
/stamina              -Enable/Disable Stamina on the server. Applies to all players.
/VanillaSpawnLD       -Enable/Disable the spawn with loadout feature.
/updateLoadouts       -Reads and constructs the custom loadouts files.
/strip PlayerName     -Strips the player from thier items (Deletes everything). leave space between command and name
/ammo                 - Reloads and Heals weapon in hand
/SpawnArmed           -Enable/Disable the spawn with gun feature.</span></pre>

<p>
	В миссии так же включены скрипты:
</p>

<p>
	<span style="color:#2980b9;">Сейф зона</span>
</p>

<p>
	<span style="color:#2980b9;">Кто кого убил</span>
</p>

<p>
	<span style="color:#2980b9;">Статистика</span>
</p>

<p>
	<span style="color:#2980b9;">Сообщения </span>
</p>

<p>
	и тд
</p>

<p>
	Я думаю здесь нет проблем с Английским,читаем подробнее на Github
</p>

<p>
	 
</p>

<p>
	<a href="https://github.com/Da0ne/DZMods" rel="external nofollow">https://github.com/Da0ne/DZMods</a>
</p>

<p>
	<p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p> 
</p>

<p>
	 
</p>

<p>
	<strong>Добавлено: </strong>Ленивый облегченный вариант:
</p>
<iframe data-embedcontent="" frameborder="0" src="https://s-platoon.ru/applications/core/interface/js/spacer.png" data-embed-src="https://s-platoon.magicbyte.org/topic/7097-dayz-063-missiya-i-adminka-v-igre/?do=embed&amp;comment=62480&amp;embedComment=62480&amp;embedDo=findComment"></iframe>

<p>
	или более новый вариант:
</p>
<iframe data-embedcontent="" frameborder="0" src="https://s-platoon.ru/applications/core/interface/js/spacer.png" data-embed-src="https://s-platoon.magicbyte.org/topic/7097-dayz-063-missiya-i-adminka-v-igre/?do=embed&amp;comment=63182&amp;embedComment=63182&amp;embedDo=findComment"></iframe>

<p>
	 
</p>
]]></description><guid isPermaLink="false">7097</guid><pubDate>Mon, 22 Oct 2018 22:15:50 +0000</pubDate></item><item><title>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x435;&#x43C; &#x441;&#x435;&#x440;&#x432;&#x435;&#x440; DayZ 0.63 &#x43D;&#x430; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x435; &#x43E;&#x444;&#x438;&#x446;&#x438;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x441;&#x435;&#x440;&#x432;&#x435;&#x440;&#x43D;&#x44B;&#x445; &#x444;&#x430;&#x439;&#x43B;&#x43E;&#x432; &#x438;&#x433;&#x440;&#x44B; &#x432; steam</title><link>https://s-platoon.magicbyte.org/topic/7015-sozdaem-server-dayz-063-na-osnove-oficialnyh-servernyh-faylov-igry-v-steam/</link><description><![CDATA[
<p style="text-align:center;">
	<span style="font-size:18px;"><span style="color:#e74c3c;">Здравствуйте, дорогие друзья и посетители сайта. В данной теме я распишу как создать свой "чистый" сервер на основе первых официальных серверных файлов игры, доступных каждому в steam для тех, кто приобрел эту замечательную игру. Для тех, кто не приобретал ее, не расстраивайтесь, добавлю зеркала на файлы.</span></span>
</p>

<p style="text-align:center;">
	<span style="font-size:18px;"><span style="color:#e74c3c;">И так, приступим.</span></span>
</p>

<p>
	 
</p>

<p>
	<u><strong><span style="color:#27ae60;">Нам понадобятся:</span></strong></u>
</p>

<p>
	1. Официальные серверные файлы игры со steam ссылки на файлы имеются в теме:
</p>
<iframe data-embedcontent="" frameborder="0" src="https://s-platoon.ru/applications/core/interface/js/spacer.png" data-embed-src="https://s-platoon.magicbyte.org/topic/7013-oficialnye-fayly-servera-dayz-063-fiks-problem-s-zapuskom/?do=embed"></iframe>

<p>
	Копия от меня на момент публикации статьи (alpha-версия сервера игры): <a href="https://mega.nz/#!uLpzwITA!03yaBH8rvkf44G61lrjwzWKU1dsRwF0iCLwFbgQnT4w" rel="external nofollow">https://mega.nz/#!uLpzwITA!03yaBH8rvkf44G61lrjwzWKU1dsRwF0iCLwFbgQnT4w</a>
</p>

<p>
	Скачать можно и через SteamCMD:
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		 
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			 
		</p>

		<p>
			<br>
			1) Качаем файлик программы <a href="https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip" rel="external nofollow">вот отсюда</a> и распаковываем в нужную нам папку файл.<br><br>
			2) Рядом с распакованным файлом  размещаем bat- файлик вот этот:<br><a href="https://yadi.sk/d/2FF1_fNDWHJoqg" ipsnoembed="true" rel="external nofollow">https://yadi.sk/d/2FF1_fNDWHJoqg</a> или <p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p>  <br>
			3) Правим в текстовом файле (Рекоммендую делать это через Notepad++.), что дан выше, строку:<br>
			set "steamcmd_dir=<u>C:\2</u>"<br><br>
			Указываем путь до папки с вашим steamcmd. Рекоммендую без русских символов его делать.<br>
			И строку:<br>
			set "arma_serverdir=<u>C:\2\Server\</u>"<br><br>
			Указываем путь до папки, где у вас будет лежать загруженный сервер. Также без русских символов рекоммендую.<br>
			Затем в строках:<br>
			set steam_username=<u>1234</u><br>
			set steam_password=<u>1234</u><br>
			указываем любой верный steam аккаунт (1 строка логин, 2 пароль) (лайфхак: не обязательно, чтобы DayZ была куплена на аккаунте)<br><br>
			4) сохраняем изменения<br><br>
			5) Запускаем сохраненный батничек и ждем, пока он нам сервер закачает актуальной версии и сам выключится.<br>
			 
		</p>

		<p>
			 
		</p>
	</div>
</div>

<p>
	<br>
	2. Официальный клиент игры из steam:<br><a href="https://store.steampowered.com/app/221100/DayZ/" rel="external nofollow">https://store.steampowered.com/app/221100/DayZ/</a>
</p>

<p>
	Зеркало на alpha-версию клиента игры на момент публикации: <a href="https://mega.nz/#!6S4CWKbS!LrdlMk_mhpQl3rO40VcvnDg5LMal8prBaOxqvf6wee0" rel="external nofollow">https://mega.nz/#!6S4CWKbS!LrdlMk_mhpQl3rO40VcvnDg5LMal8prBaOxqvf6wee0</a>
</p>

<p>
	Торрент-файл: <p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p> 
</p>

<p>
	Тот же торрент-файл отдельно: <a href="https://www1.zippyshare.com/v/tLSBdudL/file.html" rel="external nofollow">https://www1.zippyshare.com/v/tLSBdudL/file.html</a>
</p>

<p>
	3. "Конфиг Battleye серверной части игры" и батник для старта сервера: <p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p> <br>
	4. Notepad++ <a href="https://notepad-plus-plus.org/download" rel="external nofollow">https://notepad-plus-plus.org/download</a>
</p>

<p>
	<br><strong>P.S.</strong> После первого релиза серверных файлов игры на Experimental-ветке игры в Steam выходили обновления, как клиента игры, так и сервера. Прикладываю их ниже для тех, кто еще не скачал их. Выложеннная выше версия клиента игры индексируется как #4 в сообществах игры, от нее и отталкиваемся! Ссылки::
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		 
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<strong><u>Для Aplha-версии игры:</u><br>
			Обновленные серверные файлы для эксперементальной ветки стим (обновление #5):</strong> <a href="https://mega.nz/#!PHRH2SwZ!yykdZkrJ0V4GRmk0jgepzECPBR0A03ZoCTO3G5EiL8Y" ipsnoembed="true" rel="external nofollow">https://mega.nz/#!PHRH2SwZ!yykdZkrJ0V4GRmk0jgepzECPBR0A03ZoCTO3G5EiL8Y</a><br><strong>Обновленные клиентские файлы для эксперементальной ветки стим (обновление #5):</strong> <a href="https://mega.nz/#!7WRjAIYY!oQ4WxZhoufSTQBus6F5gQOBvysPpG_Uv37x5ZuRKxCY" ipsnoembed="true" rel="external nofollow">https://mega.nz/#!7WRjAIYY!oQ4WxZhoufSTQBus6F5gQOBvysPpG_Uv37x5ZuRKxCY</a><br><strong>Обновленные серверные файлы для эксперементальной ветки стим (обновление #6):<a href="https://mega.nz/#!iGZhTYqK!FV5u9Vcm8Y7Q9NWwdhNu8u5iX9LxqZMfT8ryYGNSY68" ipsnoembed="true" rel="external nofollow">https://mega.nz/#!iGZhTYqK!FV5u9Vcm8Y7Q9NWwdhNu8u5iX9LxqZMfT8ryYGNSY68</a></strong><br><strong>Обновленные клиентские файлы для эксперементальной ветки стим (обновление #6):</strong> <a href="https://mega.nz/#!raIzySAC!g2cEl47Wr1Xs25JmRBwRY2ZomXQxFs-w0Bjg65lh8xA" ipsnoembed="true" rel="external nofollow">https://mega.nz/#!raIzySAC!g2cEl47Wr1Xs25JmRBwRY2ZomXQxFs-w0Bjg65lh8xA</a><br><br><u>Beta-версия игры со Steam:</u><br><strong>Чистый клиент DayZ со стабильной ветки Steam версии #0.63.149386 и официальный Offline: </strong><a href="https://mega.nz/#!dstinCYQ!VcztA71zmLQ-wJ3o_ihnLchBq2pV6zDv77yyZq7CGPs" ipsnoembed="true" rel="external nofollow">https://mega.nz/#!dstinCYQ!VcztA71zmLQ-wJ3o_ihnLchBq2pV6zDv77yyZq7CGPs</a><br><strong>Чистый сервер DayZ со стабильной ветки Steam версии #0.63.149386: </strong><a href="https://mega.nz/#!Rp9WVYqb!9UNV9C99SUeudpbI16zNfZCGQSR_N6Zj_n6mU3EQPY4" ipsnoembed="true" rel="external nofollow">https://mega.nz/#!Rp9WVYqb!9UNV9C99SUeudpbI16zNfZCGQSR_N6Zj_n6mU3EQPY4</a><br><strong>Чистый Dayz-Tools со стабильной ветки Steam версии #0.63.149386: </strong><a href="https://mega.nz/#!kplw2SpS!K_GOmwFLBUJo7IdkVdONmY12Rbq-UGF9dRGwLRWdR0o" ipsnoembed="true" rel="external nofollow">https://mega.nz/#!kplw2SpS!K_GOmwFLBUJo7IdkVdONmY12Rbq-UGF9dRGwLRWdR0o</a><br><br><strong>Чистый клиент DayZ со стабильной ветки Steam версии #0.63.149464 торрентом: </strong><a href="https://www72.zippyshare.com/v/KqqJ2ftk/file.html" ipsnoembed="true" rel="external nofollow">https://www72.zippyshare.com/v/KqqJ2ftk/file.html</a><br><strong>Чистый сервер DayZ со стабильной ветки Steam версии #0.63.149464: <a href="https://mega.nz/#!9w0SwILb!HxczQrMnYaHHAnif3lBuydfpvGAoHKSc1IUmiCDsUy8" ipsnoembed="true" rel="external nofollow">https://mega.nz/#!9w0SwILb!HxczQrMnYaHHAnif3lBuydfpvGAoHKSc1IUmiCDsUy8</a></strong><br><strong>Чистый Dayz-Tools со стабильной ветки Steam версии #0.63.149464: <a href="https://mega.nz/#!w9l23IqL!YS11xYbY4nycgT9wxNq2AG-L9ch5xCckMHleDUKDOgM" ipsnoembed="true" rel="external nofollow">https://mega.nz/#!w9l23IqL!YS11xYbY4nycgT9wxNq2AG-L9ch5xCckMHleDUKDOgM</a><br><br>
			Чистый клиент DayZ со стабильной ветки Steam версии #0.63.149525: <a href="https://mega.nz/#!z7RynS5K!WtmqSEwD1rGME3kY3-DIizjsYjBT4eZq_X3DSN0Ozmg" ipsnoembed="true" rel="external nofollow">https://mega.nz/#!z7RynS5K!WtmqSEwD1rGME3kY3-DIizjsYjBT4eZq_X3DSN0Ozmg</a></strong><br><strong>Чистый сервер DayZ со стабильной ветки Steam версии #0.63.149525: <a href="https://mega.nz/#!SyYyjSwK!i32WBKdBl5vpSnFQopuoJTJPoIaTdvnpn08g7BVzV6M" ipsnoembed="true" rel="external nofollow">https://mega.nz/#!SyYyjSwK!i32WBKdBl5vpSnFQopuoJTJPoIaTdvnpn08g7BVzV6M</a></strong><br><strong>Чистый Dayz-Tools со стабильной ветки Steam версии #0.0.63.149525: <a href="https://mega.nz/#!H7RiACwb!4jlvXEiL4QGvUpz-4XfQzT7GCh1WV98QWna6SfsNDhU" ipsnoembed="true" rel="external nofollow">https://mega.nz/#!H7RiACwb!4jlvXEiL4QGvUpz-4XfQzT7GCh1WV98QWna6SfsNDhU</a></strong>
		</p>
	</div>
</div>

<p>
	<span style="color:#2ecc71;"><u><strong>И так, приступим.</strong></u></span>
</p>

<p>
	1. Распаковываем скачанные серверные файлы игры в отдельную папку (если пиратка, и выходили обновления, распаковываем их поверху игры в порядке очередности)
</p>

<p>
	2. Распаковываем архив с "<strong>серверным конфигом battleye</strong>" в папке с серверными файлами
</p>

<p>
	Получим что-то типа такого
</p>

<p>
	<img alt="5ba331c9ee676_.png.dc65bfb0abf8367746f779073c15c627.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2985" src="https://s-platoon.ru/applications/core/interface/js/spacer.png" data-src="https://s-platoon.magicbyte.org/uploads/monthly_2018_09/5ba331c9ee676_.png.dc65bfb0abf8367746f779073c15c627.png" width="697" data-ratio="66,43"></p>

<p>
	Если вам необходимо, настраиваем его сами как вам необходимо, информация по его настройке есть в теме во 2 ее сообщении
</p>
<iframe data-embedcontent="" frameborder="0" src="https://s-platoon.ru/applications/core/interface/js/spacer.png" data-embed-src="https://s-platoon.magicbyte.org/topic/7014-dokumentaciya-servernyh-faylov-dayz-standalone-dayz-server-files-documentation-ru/?do=embed"></iframe>

<p>
	где <strong>12345678</strong> - rcon-пароль сервера
</p>

<p>
	<strong>400 </strong>- максимальный пинг, разрешенный battleye на сервере игры (не уверен, что работает)
</p>

<p>
	<strong>RestrictRCon 1</strong> - подключение с rcon-клиентов(например, dart и bec)(0 - разрешено, 1 - запрещено)
</p>

<p>
	3. Перемещаем файл <strong>serverDZ.cfg</strong> с папки сервера в папку <strong>Instance_1</strong> и называем его <strong>server.cfg</strong><br>
	Если такого файла нет (в последних обновлениях от steam его вырезали), не расстраивайтесь вот вам этот файлик <p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p> <br><br>
	Настраиваем, если необходимо:
</p>
<iframe data-embedcontent="" frameborder="0" src="https://s-platoon.ru/applications/core/interface/js/spacer.png" data-embed-src="https://s-platoon.magicbyte.org/topic/7014-polnaya-dokumentaciya-servernyh-faylov-dayz-standalone-dayz-server-files-documentation/?do=embed"></iframe>

<p>
	6. Запускаем <strong>!!!Start_server.bat</strong> и наш сервер запустится
</p>

<p>
	7. Запускаем клиент игры со steam, находим наш сервер вручную по ip и порту (на момент публикации статьи свои сервера пока не видны в официальном серверном листе, сказали это исправят).
</p>

<p>
	Если сервер запущен на том же компьютере, где и игра, и на стандартном порту 2302, то поумолчанию поиск выполняется по <strong>127.0.0.1:2302</strong>
</p>

<p>
	Если сервер запущен на другом компьютере, то вместо <strong>127.0.0.1</strong> будет <u>ip адрес компьютера, где запущен сервер, или его доменное имя</u>. Например, <strong>myserver.com:2302</strong> или <strong>178.123.22.12:2302</strong>
</p>

<p>
	<u><strong><span style="color:#e74c3c;">ВАЖНО:</span></strong></u> если сервер запущен на другом компьютере, отличном от компьютера где запущена игра, то для доступа на сервер игроков необходимо иметь <u>"внешний" выделенный ip-адрес и открытый порт сервера</u>!
</p>

<p>
	 
</p>

<p>
	<strong><span style="color:#3498db;">Для совсем "ленивых" запаковал уже настроенный сервер в архив с alpha-версией игры: </span></strong>
</p>

<p>
	<a href="https://mega.nz/#!iXgQEKCI!fDeFm_pETCpRXJfGMUrfyAKdHrtaQJVpEa4nCN9knCk" rel="external nofollow">https://mega.nz/#!iXgQEKCI!fDeFm_pETCpRXJfGMUrfyAKdHrtaQJVpEa4nCN9knCk</a><br><strong><span style="color:#3498db;">Для совсем "ленивых" запаковал уже настроенный сервер в архив с beta-версией игры 0.63.149386: </span></strong>
</p>

<p>
	<a href="https://mega.nz/#!wh1RwADK!InigFhMS5P2GOdVCPP9PRpM2C3_PqjSVnTJpBilcE0s" ipsnoembed="true" rel="external nofollow">https://mega.nz/#!wh1RwADK!InigFhMS5P2GOdVCPP9PRpM2C3_PqjSVnTJpBilcE0s</a>
</p>

<p>
	 
</p>

<p>
	<span style="color:#3498db;"><strong>Настраивайте лишь config сервера, battleye и bat-файл запуска сервера, и можете играть. </strong></span>
</p>

<p>
	 
</p>

<p>
	<strong><span style="color:#e74c3c;">Crack SmartSteamEmu v. 1.4.3 данной версии клиента игры и сервера:</span></strong>
</p>

<p>
	<span style="color:#3498db;">Скачать с Zippyshare.com:</span><strong><span style="color:#3498db;"> </span><span style="color:#e74c3c;"><a href="https://www64.zippyshare.com/v/mHmPweqg/file.html" rel="external nofollow">https://www64.zippyshare.com/v/mHmPweqg/file.html</a></span></strong>
</p>

<p>
	<span style="color:#3498db;">Скачать с Mega.nz:</span> <a href="https://mega.nz/#!rnZBXK4b!KRrJm6obcJjUlzMpEPNQ3R8sy2z0pP-0Myb_ao4TVhg" rel="external nofollow">https://mega.nz/#!rnZBXK4b!KRrJm6obcJjUlzMpEPNQ3R8sy2z0pP-0Myb_ao4TVhg</a>
</p>

<p>
	<span style="color:#3498db;">Скачать с yandex.disk: </span><a href="https://yadi.sk/d/4xSF1dSt6XN41g" rel="external nofollow">https://yadi.sk/d/4xSF1dSt6XN41g</a>
</p>

<p>
	<span style="color:#3498db;">Инструкция по установке есть в архиве, дублирую:</span>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		 
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<u><strong><span style="color:#2ecc71;">Для клиента игры:</span></strong></u><br>
			1. Скопировать в папку с официальным клиентом игры содержимое папки <strong>Client</strong> из архива<br>
			2. Если необходимо, открыть в блокноте файл <strong>!StartGame.ini</strong> и отредактировать следующие строки:<br>
			"<strong>Target = DayZ_BE.exe</strong>"  - имя запускаемого файла игры (<strong>DayZ_BE.exe</strong> - запуск с battleye,<strong> DayZ_x64.exe</strong> - без battleye)<br>
			"<strong>StartIn = </strong>" - путь до папки с игрой, можно оставить пустым для при нахождении crack в папке с игрой<br>
			"<strong>CommandLine = </strong>" - параметры запуска игры, можно оставить пустыми или добавить свои, например -name=Player<br>
			Если вы не разбираетесь в этом, лучше пропустить данный пункт инструкции!!!<br>
			3. Запускаем <strong>!start_game.bat</strong> для запуска игры<br><br><span style="color:#2ecc71;"><u><strong>Для сервера игры:</strong></u></span><br>
			1. Скопировать в папку с официальным сервером игры содержимое папки <strong>Server </strong>из архива<br>
			2. Обязательно открыть в блокноте файл <strong>!StartServer.ini</strong> и отредактировать следующие строки:<br>
			"<strong>Target = DayZServer_x64.exe</strong>"  - имя запускаемого файла сервера (<strong>DayZServer_x64.exe</strong>)<br>
			"<strong>StartIn = </strong>" - путь до папки с сервером, можно оставить пустым для при нахождении crack в папке с сервером<br>
			"<strong>CommandLine = </strong>" - параметры запуска сервера, можно оставить пустыми или добавить свои, например -name=Player<br>
			ВНИМАНИЕ!!! <strong>CommandLine </strong>уже отредактирована для работы сборки сервера на config by 123new. Серверная часть полностью доступна в гайде выше.<br>
			3. Запускаем <strong>!Start_server.bat</strong> для запуска сервера
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	<em><span style="color:#3498db;">Для работы Battleye используйте ip-адрес и порт сервера, и любой rcon-клиент с паролем из BEServer_x64.cfg</span></em>
</p>

<p>
	<em><span style="color:#3498db;">База данных (storage) теперь хранится по пути: mpmissions\dayzOffline.chernarusplus\storage_{номер instance с cfg сервера}</span></em>
</p>

<p>
	<em><span style="color:#3498db;">В базе данных также хранится файл с сохранениями игроков на сервере с именем players.db</span></em>
</p>

<p>
	<br>
	Готовую сборку PVP сервера можно скачать тут: <a href="https://s-platoon.magicbyte.org/topic/7027-gotovaya-sborka-pvp-servera-dayz-063/" ipsnoembed="true" rel="">http://s-platoon.ru/topic/7027-gotovaya-sborka-pvp-servera-dayz-063/</a>
</p>

<p>
	 
</p>

<p style="text-align: center;">
	<span style="font-size:18px;"><strong><span style="color:#e74c3c;">Вот и все, приятной игры на сервере!</span></strong></span>
</p>

<p style="text-align:center;">
	 
</p>
]]></description><guid isPermaLink="false">7015</guid><pubDate>Thu, 20 Sep 2018 06:07:37 +0000</pubDate></item><item><title>&#x412;&#x441;&#x451; &#x43E; &#x43B;&#x443;&#x442;&#x435; &#x438; &#x438;&#x432;&#x435;&#x43D;&#x442;&#x430;&#x445;</title><link>https://s-platoon.magicbyte.org/topic/7209-vsyo-o-lute-i-iventah/</link><description><![CDATA[
<p>
	Всем привет сейчас я постараюсь быстро и не нудно рассказать про лут и ивенты в dayz
</p>

<p>
	ps Ребят не во всем разобрался и где то мог ошибиться. Рассчитываю на ваше понимание 
</p>

<p>
	 
</p>

<p>
	Файл <span style="color:#16a085;">types</span>  отвечает за<font color="#bdc3c7">количество лута на карте </font>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Скрытый текст</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-html prettyprinted">

<span class="pln">    </span><span class="tag">&lt;type</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"AKM"</span><span class="tag">&gt;</span><span class="pln">
        </span><span class="tag">&lt;nominal&gt;</span><span class="pln">40</span><span class="tag">&lt;/nominal&gt;</span><span class="pln">
        </span><span class="tag">&lt;lifetime&gt;</span><span class="pln">10800</span><span class="tag">&lt;/lifetime&gt;</span><span class="pln">
        </span><span class="tag">&lt;restock&gt;</span><span class="pln">1800</span><span class="tag">&lt;/restock&gt;</span><span class="pln">
        </span><span class="tag">&lt;min&gt;</span><span class="pln">20</span><span class="tag">&lt;/min&gt;</span><span class="pln">
        </span><span class="tag">&lt;quantmin&gt;</span><span class="pln">-1</span><span class="tag">&lt;/quantmin&gt;</span><span class="pln">
        </span><span class="tag">&lt;quantmax&gt;</span><span class="pln">-1</span><span class="tag">&lt;/quantmax&gt;</span><span class="pln">
        </span><span class="tag">&lt;cost&gt;</span><span class="pln">100</span><span class="tag">&lt;/cost&gt;</span><span class="pln">
        </span><span class="tag">&lt;flags</span><span class="pln"> </span><span class="atn">count_in_cargo</span><span class="pun">=</span><span class="atv">"1"</span><span class="pln"> </span><span class="atn">count_in_hoarder</span><span class="pun">=</span><span class="atv">"1"</span><span class="pln"> </span><span class="atn">count_in_map</span><span class="pun">=</span><span class="atv">"1"</span><span class="pln"> </span><span class="atn">count_in_player</span><span class="pun">=</span><span class="atv">"0"</span><span class="pln"> </span><span class="atn">crafted</span><span class="pun">=</span><span class="atv">"0"</span><span class="pln"> </span><span class="atn">deloot</span><span class="pun">=</span><span class="atv">"0"</span><span class="tag">/&gt;</span><span class="pln">
        </span><span class="tag">&lt;category</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"weapons"</span><span class="tag">/&gt;</span><span class="pln">
        </span><span class="tag">&lt;usage</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"Military"</span><span class="tag">/&gt;</span><span class="pln">
    </span><span class="tag">&lt;/type&gt;</span></pre>

		<p>
			&lt;nominal&gt;40&lt;/nominal&gt; --- Номинальное число на карту
		</p>

		<p>
			&lt;lifetime&gt;10800&lt;/lifetime&gt; --- Время жизни 
		</p>

		<p>
			&lt;restock&gt;1800&lt;/restock&gt; Время жизни после взаимодействия с персонажем
		</p>

		<p>
			&lt;min&gt;20&lt;/min&gt; --- Минимальное количество на карту (Максимальное значение это параметр &lt;nominal&gt; )
		</p>

		<p>
			&lt;category name="weapons"/&gt; --- Категория 
		</p>

		<p>
			&lt;usage name="Military"/&gt; --- Где используется
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Файл <span style="color:#16a085;">mapGroupProto </span><span style="color:#bdc3c7;">Отвечает за спаун лута и координаты в зданиях</span>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Скрытый текст</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			Внимание! У меня с этим файлом недопонимание, но если вы знаете как с ним работать то прошу поделится этим.
		</p>

		<pre class="ipsCode prettyprint lang-html prettyprinted">

<span class="tag">&lt;group</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"Land_Mil_Tent_Big2_4"</span><span class="pln"> </span><span class="atn">lootmax</span><span class="pun">=</span><span class="atv">"10"</span><span class="tag">&gt;</span><span class="pln">
				</span><span class="tag">&lt;usage</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"Military"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
				</span><span class="tag">&lt;container</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"lootFloor"</span><span class="tag">&gt;</span><span class="pln">
						</span><span class="tag">&lt;category</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"tools"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;category</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"containers"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;category</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"clothes"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;category</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"food"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;category</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"weapons"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;category</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"books"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;category</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"explosives"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"2.097821 -1.238945 0.946496"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.100000"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.250000"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"2.182916 -1.156910 1.496002"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.134375"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.335938"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"2.614023 -1.238018 1.040061"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.203125"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.507813"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"2.565339 -1.376694 -3.929578"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.203125"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.507813"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"-1.993960 -0.763817 3.833638"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.203125"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.507782"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"-2.069327 -1.553410 0.892553"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.237500"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.143738"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"2.063912 -0.761959 -3.105929"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.271875"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.679672"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"-2.098824 -0.763302 1.154652"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.271875"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.679672"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"2.108421 -0.762833 -2.381346"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.306250"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.765625"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"-2.229268 -0.761974 2.312076"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.306250"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.765625"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"-2.291415 -1.553410 0.171167"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.327090"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.176010"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"-2.422328 -1.156910 -1.936299"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.340625"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.851563"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"2.379605 -1.156910 2.798264"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.340625"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.851563"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"-1.793416 -1.966694 0.379053"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.367540"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.255787"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"2.396603 -1.156910 2.061192"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.375000"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.937500"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"2.209210 -0.763729 -1.638886"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.375000"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.937485"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"2.409025 -1.156910 0.293983"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.375000"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.937500"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"-2.258404 -1.553410 1.524889"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.375000"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.532181"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"2.388350 -1.156910 -0.463825"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.375000"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.937500"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"-2.470549 -1.156910 -2.897054"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.375000"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.937500"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"2.164868 -1.553410 -2.940032"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.375000"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.533772"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"2.396889 -1.553410 -1.765204"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.409375"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.532352"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"-2.172042 -1.553410 3.719496"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.409375"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.532257"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"-2.262545 -1.553410 2.552766"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.443750"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.533669"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"-2.363230 -1.018703 -0.854146"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.443750"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"1.109360"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"-2.294817 -0.762295 0.320310"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.478125"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"1.114628"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"-2.307561 -0.763031 3.190194"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.478125"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"1.094086"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"1.462338 -1.966694 -3.871860"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.524414"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"0.163910"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"-1.358797 -1.966694 2.566980"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.557843"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"1.394562"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"-0.981867 -1.966694 -0.907958"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"0.774176"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"1.935394"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"0.476467 -1.966694 2.387664"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"1.078652"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"1.999943"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"-0.786068 -1.966694 -3.132020"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"1.199951"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"1.999943"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
						</span><span class="tag">&lt;point</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"0.702515 -1.966694 0.121484"</span><span class="pln"> </span><span class="atn">range</span><span class="pun">=</span><span class="atv">"1.199951"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"1.999943"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
				</span><span class="tag">&lt;/container&gt;</span><span class="pln">
		</span><span class="tag">&lt;/group&gt;</span></pre>

		<p>
			&lt;group name="Land_Mil_Tent_Big2_4" lootmax="10"&gt; --- Имя объекта и максимальное количество лута в объекте 
		</p>

		<p>
			&lt;usage name="Military" /&gt; --- Категория объекта. (Её мы указываем <span style="color:#16a085;">types</span>)
		</p>

		<p>
			&lt;category name="weapons" /&gt; --- Категория лута
		</p>

		<p>
			&lt;point pos="2.097821 -1.238945 0.946496" range="0.100000" height="0.250000" /&gt; --- Координаты расположения лута в объекте  
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Файл <span style="color:#16a085;">mapGroupPos </span><font color="#bdc3c7">Дает координаты в каких здания будет появляться лут</font>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Скрытый текст</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-html prettyprinted">

<span class="pln">    </span><span class="tag">&lt;group</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"Land_Misc_FeedShack"</span><span class="pln"> </span><span class="atn">pos</span><span class="pun">=</span><span class="atv">"80.255409 113.792282 4422.158691"</span><span class="pln"> </span><span class="atn">rpy</span><span class="pun">=</span><span class="atv">"-0.000000 0.000000 -70.013718"</span><span class="pln"> </span><span class="atn">a</span><span class="pun">=</span><span class="atv">"160.013718"</span><span class="pln"> </span><span class="tag">/&gt;</span></pre>

		<p>
			group name --- Имя объекта в котором будет появляться лут 
		</p>

		<p>
			pos --- Координаты (Широта-Высота-Долгота)
		</p>

		<p>
			rpy --- Радиус вращения по осям
		</p>

		<p>
			a --- Общая позиция лута в здании (при изменении весь лут сместился )
		</p>

		<p>
			<span style="color:#c0392b;">----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
		</p>

		<p>
			Как добавить своё здание на карту и за ресать там лут
		</p>
		<iframe data-embedcontent="" frameborder="0" src="https://s-platoon.ru/applications/core/interface/js/spacer.png" data-embed-src="https://s-platoon.magicbyte.org/topic/7113-dobavlenie-na-kartu-zdaniy-i-spavn-v-nih-luta/?do=embed"></iframe>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Файл <span style="color:#16a085;">cfgRandomPresets</span> и <span style="color:#16a085;">cfgSpawnableTypes</span> Отвечают за появления лута в вещах, рюкзаках, зомби и т.д
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Скрытый текст</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<span style="color:#16a085;">cfgRandomPresets </span><span style="color:#bdc3c7;">Здесь мы создаём категорию с лутом </span>
		</p>

		<p>
			Параметр chance="1.0" Это шанс появления категории и он равен 1.0 что значит 100%
		</p>

		<p>
			Далее смотри у нас есть 8 предметов с равным шансом в 30%
		</p>

		<p>
			И так на одну категорию один предмет
		</p>

		<pre class="ipsCode prettyprint lang-html prettyprinted">

<span class="pln">		</span><span class="tag">&lt;cargo</span><span class="pln"> </span><span class="atn">chance</span><span class="pun">=</span><span class="atv">"1.0"</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"foodVillage"</span><span class="tag">&gt;</span><span class="pln">
				</span><span class="tag">&lt;item</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"SodaCan_Cola"</span><span class="pln"> </span><span class="atn">chance</span><span class="pun">=</span><span class="atv">"0.3"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
				</span><span class="tag">&lt;item</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"SodaCan_Pipsi"</span><span class="pln"> </span><span class="atn">chance</span><span class="pun">=</span><span class="atv">"0.3"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
				</span><span class="tag">&lt;item</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"SodaCan_Spite"</span><span class="pln"> </span><span class="atn">chance</span><span class="pun">=</span><span class="atv">"0.3"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
				</span><span class="tag">&lt;item</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"TunaCan"</span><span class="pln"> </span><span class="atn">chance</span><span class="pun">=</span><span class="atv">"0.3"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
				</span><span class="tag">&lt;item</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"SardinesCan"</span><span class="pln"> </span><span class="atn">chance</span><span class="pun">=</span><span class="atv">"0.3"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
				</span><span class="tag">&lt;item</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"PeachesCan"</span><span class="pln"> </span><span class="atn">chance</span><span class="pun">=</span><span class="atv">"0.3"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
				</span><span class="tag">&lt;item</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"SpaghettiCan"</span><span class="pln"> </span><span class="atn">chance</span><span class="pun">=</span><span class="atv">"0.3"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
				</span><span class="tag">&lt;item</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"BakedBeansCan"</span><span class="pln"> </span><span class="atn">chance</span><span class="pun">=</span><span class="atv">"0.3"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
		</span><span class="tag">&lt;/cargo&gt;</span></pre>

		<p>
			Далее файл <span style="color:#16a085;">cfgSpawnableTypes</span>
		</p>

		<pre class="ipsCode prettyprint lang-html prettyprinted">

<span class="pln">    </span><span class="tag">&lt;type</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"ChildBag_Red"</span><span class="tag">&gt;</span><span class="pln">
        </span><span class="tag">&lt;cargo</span><span class="pln"> </span><span class="atn">preset</span><span class="pun">=</span><span class="atv">"foodVillage"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
    </span><span class="tag">&lt;/type&gt;</span></pre>

		<p>
			И так это красный школьный рюкзак
		</p>

		<p>
			&lt;type name="ChildBag_Red"&gt; --- Имя предмета
		</p>

		<p>
			&lt;cargo preset="foodVillage" /&gt; --- Категория которую мы редактировали выше
		</p>

		<p>
			Мы указали выше что шанс foodVillage равен 100%
		</p>

		<p>
			В нашем случае мы получим школьный рюкзак и в нем с вероятностью в 100% появится один из 8 предметов
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Файл <span style="color:#16a085;">events</span> и <span style="color:#16a085;">cfgEventSpawns</span> --- Отвечают за Краши, машины, Ёлки и т.д
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Скрытый текст</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<span style="color:#16a085;">events</span>
		</p>

		<pre class="ipsCode prettyprint lang-html prettyprinted">

<span class="pln">    </span><span class="tag">&lt;event</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"StaticChristmasTree"</span><span class="tag">&gt;</span><span class="pln">
        </span><span class="tag">&lt;waves&gt;</span><span class="pln">0</span><span class="tag">&lt;/waves&gt;</span><span class="pln">
        </span><span class="tag">&lt;nominal&gt;</span><span class="pln">50</span><span class="tag">&lt;/nominal&gt;</span><span class="pln">
        </span><span class="tag">&lt;min&gt;</span><span class="pln">25</span><span class="tag">&lt;/min&gt;</span><span class="pln">
        </span><span class="tag">&lt;max&gt;</span><span class="pln">100</span><span class="tag">&lt;/max&gt;</span><span class="pln">
        </span><span class="tag">&lt;lifetime&gt;</span><span class="pln">3</span><span class="tag">&lt;/lifetime&gt;</span><span class="pln">
        </span><span class="tag">&lt;restock&gt;</span><span class="pln">0</span><span class="tag">&lt;/restock&gt;</span><span class="pln">
        </span><span class="tag">&lt;saferadius&gt;</span><span class="pln">100</span><span class="tag">&lt;/saferadius&gt;</span><span class="pln">
        </span><span class="tag">&lt;distanceradius&gt;</span><span class="pln">50</span><span class="tag">&lt;/distanceradius&gt;</span><span class="pln">
        </span><span class="tag">&lt;cleanupradius&gt;</span><span class="pln">100</span><span class="tag">&lt;/cleanupradius&gt;</span><span class="pln">
        </span><span class="tag">&lt;flags</span><span class="pln"> </span><span class="atn">deletable</span><span class="pun">=</span><span class="atv">"1"</span><span class="pln"> </span><span class="atn">init_random</span><span class="pun">=</span><span class="atv">"0"</span><span class="pln"> </span><span class="atn">remove_damaged</span><span class="pun">=</span><span class="atv">"0"</span><span class="pln"> </span><span class="atn">sec_spawner</span><span class="pun">=</span><span class="atv">"1"</span><span class="tag">/&gt;</span><span class="pln">
        </span><span class="tag">&lt;position&gt;</span><span class="pln">player</span><span class="tag">&lt;/position&gt;</span><span class="pln">
        </span><span class="tag">&lt;limit&gt;</span><span class="pln">custom</span><span class="tag">&lt;/limit&gt;</span><span class="pln">
        </span><span class="tag">&lt;active&gt;</span><span class="pln">1</span><span class="tag">&lt;/active&gt;</span><span class="pln">
        </span><span class="tag">&lt;children&gt;</span><span class="pln">
            </span><span class="tag">&lt;child</span><span class="pln"> </span><span class="atn">lootmax</span><span class="pun">=</span><span class="atv">"20"</span><span class="pln"> </span><span class="atn">lootmin</span><span class="pun">=</span><span class="atv">"10"</span><span class="pln"> </span><span class="atn">max</span><span class="pun">=</span><span class="atv">"3"</span><span class="pln"> </span><span class="atn">min</span><span class="pun">=</span><span class="atv">"1"</span><span class="pln"> </span><span class="atn">type</span><span class="pun">=</span><span class="atv">"ChristmasTree"</span><span class="tag">/&gt;</span><span class="pln">
        </span><span class="tag">&lt;/children&gt;</span><span class="pln">
    </span><span class="tag">&lt;/event&gt;</span></pre>

		<p>
			Создаём ивент в нашем случае это Ёлочка 
		</p>

		<p>
			&lt;active&gt;1&lt;/active&gt; --- 1=Вкл 0=Выкл
		</p>

		<p>
			Советую найти и скопировать хели краш и отредактировать как у меня
		</p>

		<p>
			 
		</p>

		<p>
			Далее идем в файл <span style="color:#16a085;">cfgEventSpawns</span>
		</p>

		<p>
			Тут указываем координаты для нашего ивента
		</p>

		<p>
			Если у ивента &lt;nominal&gt;1&lt;/nominal&gt;
		</p>

		<p>
			И при этом две точки спауна, то с вероятностью в 50% она появится на одной из двух (Надеюсь понятно про шансы)
		</p>

		<pre class="ipsCode prettyprint lang-html prettyprinted">

<span class="pln">    </span><span class="tag">&lt;event</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"StaticChristmasTree"</span><span class="tag">&gt;</span><span class="pln">
        </span><span class="tag">&lt;pos</span><span class="pln"> </span><span class="atn">x</span><span class="pun">=</span><span class="atv">"6381.169922"</span><span class="pln"> </span><span class="atn">z</span><span class="pun">=</span><span class="atv">"7566.560059"</span><span class="pln"> </span><span class="atn">a</span><span class="pun">=</span><span class="atv">"116.800003"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
        </span><span class="tag">&lt;pos</span><span class="pln"> </span><span class="atn">x</span><span class="pun">=</span><span class="atv">"3108.189941"</span><span class="pln"> </span><span class="atn">z</span><span class="pun">=</span><span class="atv">"7863.060059"</span><span class="pln"> </span><span class="atn">a</span><span class="pun">=</span><span class="atv">"119.099998"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
    </span><span class="tag">&lt;/event&gt;</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Спасибо за внимание <img alt=":relieved:" data-emoticon="" src="https://s-platoon.ru/applications/core/interface/js/spacer.png" title=":relieved:" data-src="https://s-platoon.magicbyte.org/uploads/emoticons/relieved.png"></p>
]]></description><guid isPermaLink="false">7209</guid><pubDate>Sun, 02 Dec 2018 13:18:48 +0000</pubDate></item><item><title>[DayZ 0.63] &#x41E;&#x431;&#x44A;&#x44F;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x43E; &#x43A;&#x43E;&#x43B;&#x438;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435; &#x438;&#x433;&#x440;&#x43E;&#x43A;&#x43E;&#x432; &#x432; &#x447;&#x430;&#x442;</title><link>https://s-platoon.magicbyte.org/topic/7093-dayz-063-obyavleniya-o-kolichestve-igrokov-v-chat/</link><description><![CDATA[
<p style="text-align: center;">
	<span style="color:#e74c3c;"><span style="font-size:20px;">В данной теме мы с вами научимся создавать простой скрипт, который позволит выводить в чат объявления о количестве игроков. </span></span>
</p>

<p>
	 
</p>

<p>
	<span style="font-size:18px;"><span style="color:#27ae60;">Нам понадобится:</span></span>
</p>

<p>
	1. Сервер DayZ 0.63, сделанный по одному из гайдов:
</p>
<iframe data-embedcontent="" frameborder="0" src="https://s-platoon.ru/applications/core/interface/js/spacer.png" data-embed-src="https://s-platoon.magicbyte.org/topic/7015-sozdaem-server-dayz-063-na-osnove-oficialnyh-servernyh-faylov-igry-v-steam/?do=embed"></iframe>

<p>
	2. Notepad++
</p>

<p>
	3. Немножечко трезвого ума
</p>

<p>
	 
</p>

<p>
	<strong><span style="color:#27ae60;">Приступим:</span></strong>
</p>

<p>
	1. Открываем <strong>Mpmissions</strong> - <strong>dayzOffline.chernarusplus</strong> - <strong>init.c</strong><br>
	2. В самом начале файла добавляем:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_7377_5" style="">
<span class="pln">#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\PlayersMessagesCount.c" </span></pre>

<p>
	И после строки
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9403_7" style="">
<span class="pln">weather.SetWindFunctionParams(0, 0, 0);</span></pre>

<p>
	добавляем:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_1954_4" style="">
<span class="pln">GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(SendPlayersCount, TIME_InfoPlayers_Repeat, true); </span></pre>

<p>
	Пример:
</p>

<p>
	<p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p> <br>
	3. Помещаем в папку файл <p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p> 
</p>

<p>
	Либо создаем вручную этот файл с именем "<strong>PlayersMessagesCount.c</strong>" и заполняем его следующим текстом:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_5623_4" style="">
<span class="pln">int TIME_InfoPlayers_Repeat = 120000; //in ms (120 seconds = 120000)
string Message_Chat = "Online Players: ";
void SendPlayersCount()
{
	array</span><span class="tag">&lt;Man&gt;</span><span class="pln"> players = new array</span><span class="tag">&lt;Man&gt;</span><span class="pln">;
	GetGame().GetPlayers( players );
	int numbOfplayers = players.Count();
	
	if( numbOfplayers &gt; 0 )
	{
	   GetGame().ChatPlayer(0,Message_Chat + numbOfplayers.ToString());
	}
}</span></pre>

<p>
	4. Настраиваем файл как нам нужно. Т.е. в строке
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_7377_11" style="">
<span class="pln">int TIME_InfoPlayers_Repeat = 120000; //in ms (120 seconds = 120000)</span></pre>

<p>
	указываем время повтора вывода сообщений в чат (поумолчанию стоит 2 минуты)
</p>

<p>
	и текст сообщений в переменной
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_7377_13" style="">
<span class="pln">string Message_Chat = "Online Players: ";</span></pre>

<p>
	 
</p>

<p>
	P.S. Если сообщения вам не видны, включите их видимость в настройках вашего клиента игры для себя!
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">7093</guid><pubDate>Mon, 22 Oct 2018 08:40:40 +0000</pubDate></item><item><title>&#x41E;&#x442;&#x43A;&#x43B;&#x44E;&#x447;&#x435;&#x43D;&#x438;&#x435; &#x433;&#x43E;&#x43B;&#x43E;&#x434;&#x430; &#x438; &#x436;&#x430;&#x436;&#x434;&#x44B;</title><link>https://s-platoon.magicbyte.org/topic/7031-otklyuchenie-goloda-i-zhazhdy/</link><description><![CDATA[
<p>
	<span style="font-size:18px;"><span style="color:#e67e22;"><strong>Инструкция:<br>
	1) </strong></span></span>Находим файл <span style="color:#16a085;"><em>dta/scripts.pbo</em></span> и распаковываем его при помощи PBO Manager и копируем только что распакованную папку <span style="color:#16a085;"><em>scripts</em></span> в корневую папку сервера<br><span style="color:#e67e22;"><strong>2)</strong></span> Открываем файл <span style="color:#16a085;"><em>scripts\4_World\Classes\PlayerModifiers\Modifiers\Thirst.c</em></span> и комментириуем блок <span style="color:#c0392b;"><em>OnTick</em></span>. Должно выглядеть так:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_5816_6" style="">
<span class="pln">/*override void OnTick(PlayerBase player, float deltaT)
	{
		player.GetMovementState(m_MovementState);
		float metabolic_speed = MiscGameplayFunctions.GetWaterMetabolicSpeed(m_MovementState.m_iMovement);
		//PrintString("metabolic_speed:"+metabolic_speed.ToString());
		float water = player.GetStatWater().Get();
		player.GetStatWater().Add( (-metabolic_speed * deltaT) );
		
		if ( water &lt;= PlayerConstants.LOW_WATER_TRESHOLD )
		{		
			player.AddHealth("GlobalHealth", "Health", -PlayerConstants.LOW_WATER_DAMAGE_PER_SEC * deltaT );
		}
	}*/</span></pre>

<p>
	<span style="color:#e67e22;"><strong>3)</strong></span> Открываем файл <span style="color:#16a085;"><em>scripts\4_World\Classes\PlayerModifiers\Modifiers\Hunger.c</em></span> и комментириуем блок <span style="color:#c0392b;"><em>OnTick</em></span>. Должно выглядеть так:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_5816_8" style="">
<span class="pln">/*override void OnTick(PlayerBase player, float deltaT)
	{
		player.GetMovementState(m_MovementState);
		float energy = player.GetStatEnergy().Get();
		float metabolic_speed = MiscGameplayFunctions.GetEnergyMetabolicSpeed(m_MovementState.m_iMovement);
		//PrintString(metabolic_speed.ToString());
		
		float energy_delta  = Math.AbsInt(player.GetStatEnergy().Get() - m_LastEnergyLevel);
		if (energy &lt;  m_LastEnergyLevel) energy_delta = -energy_delta;
		m_LastEnergyLevel = player.GetStatEnergy().Get();
		
		player.GetStatEnergy().Add( -metabolic_speed * deltaT );
		if ( energy &lt;= PlayerConstants.LOW_ENERGY_TRESHOLD )
		{
			/*
			float currenthealth = player.GetHealth("GlobalHealth", "Health");
			float currentblood = player.GetHealth("GlobalHealth", "Blood");
			
			float health_delta = ( 1 - Math.InverseLerp(0,PlayerConstants.LOW_ENERGY_TRESHOLD, player.GetStatEnergy().Get()) ) * -PlayerConstants.DAMAGE_PER_SEC * deltaT;
			
			player.AddHealth("GlobalHealth", "", health_delta);
			*/
			player.AddHealth("GlobalHealth", "Health", -PlayerConstants.LOW_ENERGY_DAMAGE_PER_SEC * deltaT );
		}
	}*/</span></pre>

<p>
	На этом всё. Делайте что хотите, пить и есть персонаж никогда не захочет <img alt=":smile:" data-emoticon="true" src="https://s-platoon.ru/applications/core/interface/js/spacer.png" title=":smile:" data-src="https://s-platoon.magicbyte.org/uploads/emoticons/smile.png"></p>
]]></description><guid isPermaLink="false">7031</guid><pubDate>Sun, 23 Sep 2018 15:52:31 +0000</pubDate></item><item><title>DayZ Standalone 0.63 &#x41E;&#x43F;&#x43E;&#x432;&#x435;&#x449;&#x435;&#x43D;&#x438;&#x435; &#x43D;&#x430; &#x441;&#x435;&#x440;&#x432;&#x435;&#x440;&#x435; &#x43E; &#x432;&#x445;&#x43E;&#x434;&#x435; &#x438;&#x433;&#x440;&#x43E;&#x43A;&#x430;</title><link>https://s-platoon.magicbyte.org/topic/7067-dayz-standalone-063-opoveschenie-na-servere-o-vhode-igroka/</link><description><![CDATA[
<p>
	Автор скрипта сообщения всем пользователям: Мизев<br>
	 
</p>

<p>
	Код функции отправки сообщения всем игрокам<br>
	вставляется в OnInit () в init.c или в missionserver.c из scripts.pbo<br>
	Становится глобальной серверной функцией и можно использовать где угодно на сервере (вроде бы)
</p>

<p>
	Что делает? Отправляет сообщение переданное в функцию всем игрокам на сервере<br>
	Использование: MessageAllPlayers ("ТЕКСТ");
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted">
<span class="kwd">void</span><span class="pln"> </span><span>MessageAllPlayers</span><span class="pun">(</span><span class="pln">string message</span><span class="pun">)</span><span class="pln"> 
	</span><span class="pun">{</span><span class="pln"> 
		ref array</span><span class="pun">&lt;</span><span>Man</span><span class="pun">&gt;</span><span class="pln"> players </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> array</span><span class="pun">&lt;</span><span>Man</span><span class="pun">&gt;;</span><span class="pln"> 
		</span><span>GetGame</span><span class="pun">().</span><span>GetPlayers</span><span class="pun">(</span><span class="pln"> players </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"> players</span><span class="pun">.</span><span>Count</span><span class="pun">()</span><span class="pln"> </span><span class="pun">&gt;</span><span class="pln"> </span><span class="lit">0</span><span class="pln"> </span><span class="pun">)</span><span class="pln">
		</span><span class="pun">{</span><span class="pln">
			</span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="pln"> </span><span>int</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun">&lt;</span><span class="pln"> players</span><span class="pun">.</span><span>Count</span><span class="pun">();</span><span class="pln"> i</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>PlayerBase</span><span class="pln"> player</span><span class="pun">;</span><span class="pln"> 
				</span><span>Class</span><span class="pun">.</span><span>CastTo</span><span class="pun">(</span><span class="pln">player</span><span class="pun">,</span><span class="pln"> players</span><span class="pun">.</span><span>Get</span><span class="pun">(</span><span class="pln">i</span><span class="pun">));</span><span class="pln"> 
				</span><span>Param1</span><span class="str">&lt;string&gt;</span><span class="pln"> m_MessageParam </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span>Param1</span><span class="str">&lt;string&gt;</span><span class="pun">(</span><span class="pln">message</span><span class="pun">);</span><span class="pln"> 
				</span><span>GetGame</span><span class="pun">().</span><span>RPCSingleParam</span><span class="pun">(</span><span class="pln">player</span><span class="pun">,</span><span class="pln"> </span><span>ERPCs</span><span class="pun">.</span><span class="pln">RPC_USER_ACTION_MESSAGE</span><span class="pun">,</span><span class="pln"> m_MessageParam</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="pln"> player</span><span class="pun">.</span><span>GetIdentity</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></pre>

<p>
	 
</p>

<p>
	Код сообщения всем игрокам на сервере о входе НОВОГО игрока
</p>

<p>
	вставляется в код создания персонажа, обработки его подключения или экипировки при входе - где Вам больше нравится
</p>

<p>
	но после того как персонаж создастся и будет помещен в переменную к которой можно обратиться<br>
	В данном примере m_player
</p>

<p>
	<br>
	исполняется в контексте конкретного персонажа
</p>

<p>
	 
</p>

<p>
	Например init.c<br>
	 
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted">
<span class="pln">	override </span><span>PlayerBase</span><span class="pln"> </span><span>CreateCharacter</span><span class="pun">(</span><span>PlayerIdentity</span><span class="pln"> identity</span><span class="pun">,</span><span class="pln"> </span><span>vector</span><span class="pln"> pos</span><span class="pun">,</span><span class="pln"> </span><span>ParamsReadContext</span><span class="pln"> ctx</span><span class="pun">,</span><span class="pln"> string characterName</span><span class="pun">)</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">

      </span><span class="com">//...... //тут еще разный код</span><span class="pln">
      
      	playerEnt </span><span class="pun">=</span><span class="pln"> </span><span>GetGame</span><span class="pun">().</span><span>CreatePlayer</span><span class="pun">(</span><span class="pln">identity</span><span class="pun">,</span><span class="pln"> characterName</span><span class="pun">,</span><span class="pln"> pos</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">"NONE"</span><span class="pun">);</span><span class="com">//Creates random player</span><span class="pln">
		</span><span>Class</span><span class="pun">.</span><span>CastTo</span><span class="pun">(</span><span class="pln">m_player</span><span class="pun">,</span><span class="pln"> playerEnt</span><span class="pun">);</span><span class="pln">

		</span><span>GetGame</span><span class="pun">().</span><span>SelectPlayer</span><span class="pun">(</span><span class="pln">identity</span><span class="pun">,</span><span class="pln"> m_player</span><span class="pun">);</span><span class="pln">
		
		</span><span class="com">//inform all players about new player connected</span><span class="pln">
		ref array</span><span class="pun">&lt;</span><span>Man</span><span class="pun">&gt;</span><span class="pln"> players </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> array</span><span class="pun">&lt;</span><span>Man</span><span class="pun">&gt;;</span><span class="pln"> </span><span class="com">//define array for all players</span><span class="pln">
		</span><span>GetGame</span><span class="pun">().</span><span>GetPlayers</span><span class="pun">(</span><span class="pln"> players </span><span class="pun">);</span><span class="pln"> </span><span class="com">//put all players in to array players</span><span class="pln">
		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln"> players</span><span class="pun">.</span><span>Count</span><span class="pun">()</span><span class="pln"> </span><span class="pun">&gt;</span><span class="pln"> </span><span class="lit">0</span><span class="pln"> </span><span class="pun">)</span><span class="pln"> </span><span class="com">// if players count &gt; 0</span><span class="pln">
		</span><span class="pun">{</span><span class="pln">			
			string </span><span>Message</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"NEW Player "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> m_player</span><span class="pun">.</span><span>GetIdentity</span><span class="pun">().</span><span>GetName</span><span class="pun">()</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">" connected!"</span><span class="pun">;</span><span class="pln"> </span><span class="com">//message text</span><span class="pln">
			</span><span>MessageAllPlayers</span><span class="pun">(</span><span>Message</span><span class="pun">);</span><span class="pln"> </span><span class="com">// call MessageAllPlayers function with Message param</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">

		</span><span class="kwd">return</span><span class="pln"> m_player</span><span class="pun">;</span><span class="pln">
	</span><span class="pun">}</span></pre>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">7067</guid><pubDate>Mon, 08 Oct 2018 16:16:26 +0000</pubDate></item><item><title>[DayZ 0.63] &#x421;&#x43E;&#x43E;&#x431;&#x449;&#x435;&#x43D;&#x438;&#x44F; &#x43E; &#x441;&#x43C;&#x435;&#x440;&#x442;&#x44F;&#x445; &#x438;&#x433;&#x440;&#x43E;&#x43A;&#x43E;&#x432; &#x432; &#x447;&#x430;&#x442;</title><link>https://s-platoon.magicbyte.org/topic/7226-dayz-063-soobscheniya-o-smertyah-igrokov-v-chat/</link><description><![CDATA[
<p>
	<strong>Автор скрипта:</strong> <a href="https://s-platoon.magicbyte.org/profile/14721-borizzk/" ipsnoembed="true" rel="">http://s-platoon.ru/profile/14721-borizzk/</a>
</p>

<p>
	Все благодарности за этот скрипт непосредственно <u>автору скрипта</u>, не мне!
</p>

<p>
	 
</p>

<p>
	<strong><span style="color:#27ae60;">И так, установка:</span></strong>
</p>

<p>
	<strong>1.</strong> Первым делом нам необходим чистый стандартный сервер DayZ (без модов, поскольку моды могу приводить к неработоспособности частей гайда). Установить его можно по инструкции, например, так:
</p>
<iframe data-embedcontent="" frameborder="0" src="https://s-platoon.ru/applications/core/interface/js/spacer.png" data-embed-src="https://s-platoon.magicbyte.org/topic/7015-sozdaem-server-dayz-063-na-osnove-oficialnyh-servernyh-faylov-igry-v-steam/?do=embed"></iframe>

<p>
	Замечу сразу, гайд сделан для версии игры 0.63.149525<br>
	2. Заходим в папку '<strong>DTA</strong>' и распаковываем с '<strong>PBO-MANAGER</strong>' архив '<strong>scripts.pbo</strong>', получив папку '<strong>scripts</strong>'.
</p>

<p>
	3. Перемещаем папку '<strong>scripts</strong> с' папки '<strong>DTA</strong>' в корень папки сервера
</p>

<p>
	4. Переходим по следующему пути:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_7389_5" style="">
<span class="pln">scripts\4_World\Entities\ManBase\PlayerBase.c</span></pre>

<p>
	и открываем файл.
</p>

<p>
	В самом его начале после кода
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_7389_7" style="">
<span class="pln">class PlayerBase extends ManBase
{</span></pre>

<p>
	добавляем код
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_7389_21" style="">
<span class="pln">	// BY BORIZZ.K, s-platoon.ru (ThX Mizev, NoNameUltima, 123New and DaOne)
	//MY ---
	//PLAYER DEATH with MESSAGES START //MY
	int killscore = 0; // usage p_killer.killscore = p_killer.killscore + 1; // for kills count in EEKilled function. //p_killer must be PlayerBase - use p_killer = PlayerBase.Cast(killer) //See EEKilled function
	int diescore = 0; // usage Player.diescore = Player.diescore + 1; // for death count in EEKilled function. //Player must be playerbase
	
	void Message_PlayerKilled(Object player_obj, Object killer)
	{
		//MY ---
		PlayerBase  p_Killer   = NULL; // Killer
		PlayerBase   Player     =  player_obj; // Killed player
		PlayerIdentity Player_Identity  = Player.GetIdentity(); //Killed player Identity
		string   Player_Name   = Player_Identity.GetName(); //Killed player name
		string    p_UID     =  Player_Identity.GetPlainId(); // Killed player UID
		bool    enableSaveKills  =  true; // enable/disable save kill count to profile/file by Killer UID
		bool    enableSaveDies  =  true; // enable/disable save death count to profile/file by Player UID
		if ( GetGame().ServerConfigGetInt("enableSaveKills") == 0 ) //place parameter enableSaveKills = 0; for disable SaveKills to server profile
		{	
			enableSaveKills  =  false;
		}
		
		if ( GetGame().ServerConfigGetInt("enableSaveDies") == 0 )//place parameter enableSaveDies = 0; for disable SaveDies to server profile
		{
			enableSaveDies  =  false;
		}
		string   deathMsg   = "";
		string   deathMsgDist  = "";
		string   deathMsgKillScore =  "";
		string    DebugMessage;
		Print("::: EEKilled: Debug: Input: killer " + killer.ToString() + " =&gt; Class: " + killer.GetType() + ", Player " + Player.ToString() + " =&gt; Class: " + Player.GetType()); //DEBUG
		//Phase #1
		if ( killer.IsMan() )
		{
			if ( killer.IsKindOf("SurvivorBase") )
			{ 
				p_Killer = PlayerBase.Cast(killer);
				DebugMessage = "killer.IsMan(): killer.IsKindOf('SurvivorBase'): killer " + p_Killer.ToString() + " kill player " + Player.ToString(); //DEBUG
			}
		}
		else
		{
			if ( killer.IsItemBase() )
			{
				ItemBase bitem = ItemBase.Cast(killer);
				p_Killer = PlayerBase.Cast(bitem.GetHierarchyRootPlayer());
				DebugMessage = "killer.IsItemBase(): killer " + p_Killer.ToString() + " =&gt; " + bitem.ToString() + " kill player " + Player.ToString(); //DEBUG
			}
			else
			{
				DebugMessage = "killer " + killer.ToString() + " kill player " + Player.ToString(); //DEBUG
			}
		} 
		Print("::: EEKilled Debug: " + DebugMessage); //DEBUG

		//Phase #2
		if (p_Killer)
		{
			if (Player == p_Killer)
			{
				deathMsg = Player_Name + " committed suicide.";
			}
			else
			{
				PlayerIdentity Killer_Identity = p_Killer.GetIdentity();
				string killer_name    = Killer_Identity.GetName();
				string k_UID      =  Killer_Identity.GetPlainId(); //Get killer UID
				vector position_killer   = p_Killer.GetPosition();
				vector position_player   =  Player.GetPosition();
				int dist      = vector.Distance(position_player, position_killer);      
				EntityAI itemInHands   = p_Killer.GetHumanInventory().GetEntityInHands();
				if (enableSaveKills)
				{
					string strkillscore;
					g_Game.GetProfileString("killscore"+k_UID,strkillscore);
					if (strkillscore)
					{
						Print("::: EEKilled Debug: LoadKills: Killer: " + killer_name + ", loaded killscore: " + strkillscore); //DEBUG
						p_Killer.killscore = strkillscore.ToInt();
					}
				}
				p_Killer.killscore = p_Killer.killscore + 1; //You must declare a variable: int KillScore = 0; in PlayerBase class
				if (enableSaveKills)
				{
					g_Game.SetProfileString("killscore"+k_UID,p_Killer.killscore.ToString());
					g_Game.SaveProfile();
					Print("::: EEKilled Debug: SaveKills: Killer: " + killer_name + ", killscore: " + diescore.ToString()); //DEBUG
				}

				if ( itemInHands.IsItemBase() )
				{
					ItemBase item  = ItemBase.Cast(itemInHands);
					string className = item.GetType();
					deathMsg   = killer_name + " kill: " + Player_Name;
					deathMsgDist        =   " from a distance: " + dist.ToString() + "m by " + className;
					deathMsgKillScore = killer_name + " kills: " + p_Killer.killscore.ToString();
				}
				else
				{
					deathMsg         = killer_name + " kill: " + Player_Name;
					deathMsgDist        = " from a distance: " + dist.ToString() + "m.";
					deathMsgKillScore = killer_name + " kills: " + p_Killer.killscore.ToString();			 
				}
			}
		}
		else
		{
			if ( killer.IsKindOf("AnimalBase") )
			{
				deathMsg = Player_Name + " killed by animal.";
			} 
			else 
			{
				if ( killer.IsKindOf("ZombieBase") )
				{
					deathMsg = Player_Name + " killed by zombie."; 
				}
				else
				{
					deathMsg = Player_Name + " died for an unknown reason.";
				}
			}
		}

		//Phase #3
		GetGame().ChatPlayer(5, deathMsg);
		Print("::: EEKilled Debug: killer: " + killer.ToString () + " ::: " + deathMsg); //DEBUG
		if (deathMsgDist)
		{
			GetGame().ChatPlayer(5, deathMsgDist);
			Print("::: EEKilled Debug: killer: " + killer.ToString () + " ::: " + deathMsgDist); //DEBUG
		}
		if (deathMsgKillScore)
		{
			GetGame().ChatPlayer(5, deathMsgKillScore);
			Print("::: EEKilled Debug: killer: " + killer.ToString () + " ::: " + deathMsgKillScore); //DEBUG
		}

		if (enableSaveDies)
		{
			string strdiescore;
			g_Game.GetProfileString("diescore"+p_UID,strdiescore);
			if (strdiescore)
			{
				Print("::: EEKilled Debug: Load Die's: Player: " + Player_Name + ", loaded diescore: " + strdiescore); //DEBUG
				Player.diescore = strdiescore.ToInt();
			}
		}
		Player.diescore = Player.diescore + 1;
		if (enableSaveDies)
		{
			g_Game.SetProfileString("diescore"+p_UID,Player.diescore.ToString());
			g_Game.SaveProfile();
			Print("::: EEKilled Debug: SaveDeath: Player: " + Player_Name + ", diescore: " + diescore.ToString()); //DEBUG
		}
		//MY ---
		
		if( GetHumanInventory().GetEntityInHands() )
		{
			if( CanDropEntity(player_obj) )
			{
				if( !IsRestrained() )
				{
					GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(ServerDropEntity,1000,false,( GetHumanInventory().GetEntityInHands()));
				}
			}

		}
	}</span></pre>

<p>
	 затем находим функцию
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_7389_11" style="">
<span class="pln">override void EEKilled( Object killer )
	{</span></pre>

<p>
	и перед строкой
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_7389_13" style="">
<span class="pln">Print("EEKilled, you have died");</span></pre>

<p>
	добавляем
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_7389_15" style="">
<span class="pln">Message_PlayerKilled(this, killer);</span></pre>

<p>
	4. В параметры запуска сервера добавляем:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_7389_17" style="">
<span class="pln">-FilePatching</span></pre>

<p>
	5. В '<strong>config</strong>-файл' сервера (тот файл где название сервера) добавляем:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_7389_19" style="">
<span class="pln">enableSaveKills = 1; // Включение сохранения счетчика убийств по игрокам
enableSaveDies = 1; // Включение сохранения счетчика смертей по игрокам</span></pre>

<p>
	где 1 - включено, 0 - выключено
</p>

<p>
	 
</p>

<p>
	6. Сохраняем, запускаем сервер и радуемся. Сообщения о смертях игроков будут у вас как в чате, так и в <strong>script.log</strong>.
</p>

<p>
	<br><span style="color:#27ae60;">Где хранятся счетчики убийств и смертей? Ответ:</span>
</p>

<p>
	Они хранятся в profile сервера игры. Т.е. после 1-го запуска создаются 2 файла (как у клиента игры в документах windows в папку dayz) в файлах с расширениями ".vars.DayZProfile" и ".DayZProfile". При удалении этих файлов счетчики сбросятся!
</p>

<p>
	 
</p>

<p>
	<strong><span style="color:#e74c3c;">ВАЖНО:</span></strong>
</p>

<p>
	Скажу сразу, добавить систему кастомного логирования вместо базового можно, но добавлять ее вам прийдется до иницилизации данного файла <strong>playerbase.c</strong>, поскольку уже в  <strong>playerbase.c</strong> вы будете вызывать функцию, которая должна быть заранее определена и известна серверу!
</p>

<p>
	Добавлю, что сейчас масса модов, которые в своем составе имеют данный класс. Они также могут переписывать его, там самым приводя данный гайд в неработоспособность. Самый лучший вариант проверки гайда - на чистом сервере игры без модов.
</p>

<p>
	 
</p>

<p>
	<strong>P.S. </strong>Данная тема является копией утраченной темы на нашем форуме, восстановлена по просьбам 'трудящихся'. Надеюсь, она вам поможет.
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">7226</guid><pubDate>Mon, 10 Dec 2018 16:18:47 +0000</pubDate></item><item><title>DayZ Standalone 0.63 &#x422;&#x440;&#x438;&#x433;&#x433;&#x435;&#x440;&#x44B; &#x441; &#x433;&#x430;&#x437;&#x43E;&#x43C;[&#x43F;&#x435;&#x440;&#x435;&#x437;&#x430;&#x43B;&#x438;&#x432;]</title><link>https://s-platoon.magicbyte.org/topic/7151-dayz-standalone-063-triggery-s-gazomperezaliv/</link><description><![CDATA[
<p>
	Автор скрипта: <a href="https://s-platoon.magicbyte.org/profile/48-nonameultima/" ipsnoembed="false" rel="">http://s-platoon.ru/profile/48-nonameultima/</a>
</p>

<p>
	Все благодарности за этот скрипт непосредственно автору скрипта, не мне!
</p>

<p>
	 
</p>

<p>
	В данной теме, расскажу как сделать зараженные газом области на карте.
</p>

<p>
	Автор: NoNameUltima
</p>

<p>
	1. Открываем на сервере файл: missionServer.c
</p>

<p>
	2. После строки:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_8219_4" style="">
<span class="pln">GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(this.UpdatePlayersStats, 30000, true);</span></pre>

<p>
	Добавляем:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_8219_6" style="">
<span class="pln">GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(this.GAS_ZONE_TRIGGER, 10000, true);</span></pre>

<p>
	*10000 - Время в мс(10 секунд). С такой частотой будет наноситься урон в данной области.
</p>

<p>
	После строки:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_8219_8" style="">
<span class="pln">GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).Remove(this.UpdatePlayersStats);</span></pre>

<p>
	Добавляем:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_8219_10" style="">
<span class="pln">GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).Remove(this.GAS_ZONE_TRIGGER);</span></pre>

<p>
	Ищем строку:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_8219_14" style="">
<span class="pln">void UpdatePlayersStats()</span></pre>

<p>
	Вставляем ВЫШЕ нее, следующий код:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_8219_18" style="">
<span class="pln">void GAS_ZONE_TRIGGER()
	{
		/*
			GAS_ZONE_TRIGGER
			Автор: NoNameUltima
			skype: hf-trade
		*/
		//	Зараженные зоны
		TVectorArray	gas_points		=	{"13249 0 3962", "6389 0 2683", "6612 0 2561"};
		//	Массив намордников
		TStringArray	gas_masks		=	{"GasMask", "GP5GasMask"};
		//	Радиус зон
		int 			radius			=	350;
		//	Наносимый урон
		float 			damage_value	=	10;

		ref array</span><span class="tag">&lt;Man&gt;</span><span class="pln"> players 			=	new array</span><span class="tag">&lt;Man&gt;</span><span class="pln">;
		GetGame().GetPlayers( players );		
		PlayerBase	player;
		vector		position_player;		
		int			x;
		bool		isGasMask;
		int			attCount;
		int			attIdx;
		EntityAI	attachment;
		ItemBase	item;
		string		className;
		float		damage_player;
		
		for (int i = 0; i &lt; players.Count(); i++)
			{
				Class.CastTo(player, players.Get(i));
				position_player	=	player.GetPosition();
				for (x	=	0; x &lt; gas_points.Count(); x++)
					{
						if ( (vector.Distance(position_player, gas_points.Get(x))) &lt; radius )
							{
								isGasMask	=	false;	
								attCount	=	player.GetInventory().AttachmentCount();								
								for (attIdx	=	0; attIdx &lt; attCount; attIdx++)
									{
										attachment	=	player.GetInventory().GetAttachmentFromIndex(attIdx);
										if ( attachment.IsItemBase() )
											{
												item		=	Class.Cast(attachment);
												className	=	item.GetType();									
												if ( gas_masks.Find(className) &gt;= 0 )
													{
														//Print ("Намордник найден!");
														isGasMask	=	true;
														break;
													}												
											}
									}
								if (isGasMask == false)
									{
										//Print ("Намордник не найден!");
										damage_player	=	player.GetHealth("GlobalHealth", "Health");
										player.SetHealth("GlobalHealth", "Health", damage_player - damage_value);
									}
							}
					}
			}
	}</span></pre>

<p>
	P.S.
</p>

<p>
	1. Так же можно изменить формат массива, и сделать зоны с разным радиусом
</p>

<p>
	2. Можно при желании добавить вывод оповещения, в зараженных зонах.
</p>

<p>
	*Скрипт предоставлен мной, в обрезанном виде намерено - остальное на Ваш вкус и цвет
</p>

<p>
	Изменено 4 октября пользователем NoNameUltima
</p>

<p>
	 
</p>

<p>
	<strong><span style="color:#2ecc71;">Добавлено от 123new:</span></strong>
</p>

<p>
	Файл <span style="color:#3498db;">missionServer.c</span> располагается в <span style="color:#3498db;">{папка сервера}\scripts\5_Mission\MissionServer\missionServer.c</span><br>
	Если у вас нет папки <span style="color:#3498db;">scripts</span> в папке с сервером игры, откройте папку <span style="color:#3498db;">dta</span>, распакуйте папку <span style="color:#3498db;">scripts</span> из pbo-файла <span style="color:#3498db;">scripts.pbo</span> и переместите в папку с сервером.
</p>

<p>
	Чтобы папка считывалась сервером, необходимо добавить параметр запуска сервера '-FilePatching'.
</p>

<p>
	P.S. Гайд не проверялся на актуальной версии серверной части игры со steam!
</p>
]]></description><guid isPermaLink="false">7151</guid><pubDate>Fri, 16 Nov 2018 10:42:06 +0000</pubDate></item><item><title>&#x423;&#x440;&#x43E;&#x432;&#x43D;&#x438; tier1, tier2, tier3, tier4 &#x432; types.xml</title><link>https://s-platoon.magicbyte.org/topic/7112-urovni-tier1-tier2-tier3-tier4-v-typesxml/</link><description><![CDATA[
<p>
	<strong>Уровни tier1, tier2, tier3, tier4 покрывают области карты, делят карту на зоны наименьшего и наибольшего уровня спавна лута (далее «Уровни спавна лута»).</strong>
</p>

<p>
	 
</p>

<p>
	В сети обнаружены изображения этих зон, которые наглядно показывают это на карте. Наличие различий в изображении границ зон, полагаю, объясняется степенью обновлений версий игры разработчиком.
</p>

<p>
	Исходя из полученных сведений об указанных зонах, при формировании пакета types.xml, для владельцев серверов следует руководствоваться этими знаниями, в случае если кто не осведомлен. При нахождении точек появления персонажей клиента на берегу, считается вполне логичным использовать «уровни спавна лута», в случаях, если владельцы серверов не хотят получать наиболее ценный лут на берегу.  Кепкам, конечно, нравится получить топ лут в контейнере через 5 минут после спавна, но это нравиться далеко не всем. 
</p>

<p>
	Оставляю на Ваше изучение, использование и дополнение в случае надобности.
</p>

<p><p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p> </p>
<p><p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p> </p>
]]></description><guid isPermaLink="false">7112</guid><pubDate>Thu, 01 Nov 2018 06:27:53 +0000</pubDate></item><item><title>DayZ Standalone BETA &#x41F;&#x440;&#x43E;&#x431;&#x43B;&#x435;&#x43C;&#x44B; &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x43E;&#x431;&#x43D;&#x43E;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x439;.</title><link>https://s-platoon.magicbyte.org/topic/7127-dayz-standalone-beta-problemy-posle-obnovleniy/</link><description><![CDATA[
<p>
	После обновлений, публикуйте в данной теме, проблемы.
</p>

<p>
	 
</p>

<p>
	P.S. Надо бы данную тему закрепить, ибо чую часто будет нужна.
</p>

<p>
	 
</p>

<p>
	В текущей обнове не работает FileMode.WRITE, что собсно ломает множество скриптов, которым требуется запись\перезапись в файлы.
</p>

<p>
	т.е. запись не работает, т.к. при открытии файла, функция OpenFile, с режимов WRITE(открыть на перезапись) всегда возвращает 0.
</p>
]]></description><guid isPermaLink="false">7127</guid><pubDate>Fri, 09 Nov 2018 03:22:27 +0000</pubDate></item><item><title>&#x41A;&#x43E;&#x43B;-&#x432;&#x43E; &#x438;&#x433;&#x440;&#x43E;&#x43A;&#x43E;&#x432; &#x440;&#x44F;&#x434;&#x43E;&#x43C; &#x441; &#x438;&#x433;&#x440;&#x43E;&#x43A;&#x43E;&#x43C; &#x432; &#x437;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x43E;&#x43C; &#x440;&#x430;&#x434;&#x438;&#x443;&#x441;&#x435;</title><link>https://s-platoon.magicbyte.org/topic/7104-kol-vo-igrokov-ryadom-s-igrokom-v-zadannom-radiuse/</link><description><![CDATA[
<p>
	Функция вернет кол-во игроков рядом с текущей позицией игрока в заданном радиусе
</p>

<p>
	Использую на своем сервере при рандомном спавне нового игрока, что бы не заспавнился рядом с уже вооруженным и злым
</p>

<p>
	Если при спавне рядом есть игрок, то выбираются новые координаты для спавна
</p>

<p>
	 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">	int CheckNearestObjects(PlayerBase player, int radius)
	{
		array</span><span class="tag">&lt;Object&gt;</span><span class="pln"> nearest_objects = new array</span><span class="tag">&lt;Object&gt;</span><span class="pln">;
		array</span><span class="tag">&lt;CargoBase&gt;</span><span class="pln"> proxy_cargos = new array</span><span class="tag">&lt;CargoBase&gt;</span><span class="pln">;
		Object object;
		string className;
		int objectcount = 0;
		GetGame().GetObjectsAtPosition (player.GetPosition(), radius, nearest_objects, proxy_cargos ); 
		Print("::: init_mod.c ::: CheckNearestObjects (int radius) ::: Radius: " + radius.ToString() + ", nearest_objects: " + nearest_objects.Count().ToString());
		for ( int i = 0; i &lt; nearest_objects.Count(); i++ )
		{
			object = nearest_objects.Get(i);
			className = object.GetType();
			if ( object )
			{
				if (object.IsMan())
				{
					if (player != object)
					{
						Print( "::: Init.c ::: CheckNearestObjects: IsMan(): "+i.ToString()+" =&gt; " + object.ToString() + " =&gt; Type: " + className + " =&gt; Position: " + object.GetPosition().ToString());
						objectcount = objectcount + 1;
					}
					else
					{
						Print( "::: Init.c ::: CheckNearestObjects: isMan(): player and object " + object.ToString() + " the same object!");
					}
				}
			}
		}
		return objectcount;
	}</span></pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">7104</guid><pubDate>Sat, 27 Oct 2018 18:16:04 +0000</pubDate></item><item><title>[Dayz 0.63] &#x410;&#x434;&#x43C;&#x438;&#x43D;&#x43A;&#x430; &#x432; &#x438;&#x433;&#x440;&#x435; GUI</title><link>https://s-platoon.magicbyte.org/topic/7196-dayz-063-adminka-v-igre-gui/</link><description><![CDATA[
<p>
	Админка в игре с графическим  интерфейсом.
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	GitHub: <a href="https://github.com/SchnitzelPommes/DayZ-SA-Tomato" rel="external nofollow">https://github.com/SchnitzelPommes/DayZ-SA-Tomato</a>
</p>

<p>
	<p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p> 
</p>

<p>
	<p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p> 
</p>

<p>
	<p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p> 
</p>
]]></description><guid isPermaLink="false">7196</guid><pubDate>Tue, 27 Nov 2018 18:09:13 +0000</pubDate></item><item><title>DayZ Standalone 0.63 &#x414;&#x438;&#x441;&#x442;&#x430;&#x43D;&#x446;&#x438;&#x44F; &#x43C;&#x435;&#x436;&#x434;&#x443; &#x434;&#x432;&#x443;&#x43C;&#x44F; &#x442;&#x43E;&#x447;&#x43A;&#x430;&#x43C;&#x438;, &#x431;&#x435;&#x437; &#x443;&#x447;&#x435;&#x442;&#x430; &#x432;&#x44B;&#x441;&#x43E;&#x442;&#x44B;.[&#x43F;&#x435;&#x440;&#x435;&#x437;&#x430;&#x43B;&#x438;&#x432;]</title><link>https://s-platoon.magicbyte.org/topic/7152-dayz-standalone-063-distanciya-mezhdu-dvumya-tochkami-bez-ucheta-vysotyperezaliv/</link><description><![CDATA[
<p>
	<strong>Автор скрипта:</strong> <a href="https://s-platoon.magicbyte.org/profile/48-nonameultima/" ipsnoembed="false" rel="">http://s-platoon.ru/profile/48-nonameultima/</a>
</p>

<p>
	<u>Все благодарности за этот скрипт непосредственно автору скрипта, не мне!</u>
</p>

<p>
	 
</p>

<p>
	Процедурка для получения дистанции между двумя точками, без учета высоты.
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_7785_8" style="">
<span class="pln">Class Ultima_Functions
    {
        static float Distance2D(vector v_PointA, vector v_PointB)
            {return Math.Sqrt( Math.Pow((v_PointA[0] - v_PointB[0]), 2) + Math.Pow((v_PointA[2] - v_PointB[2]), 2) );}
    }</span></pre>

<p>
	Пример использования:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_7785_6" style="">
<span class="pln">vector    v_A    =    "0 0 0";
vector    v_B    =    "100 100 100";
float    v_Distance2D;
v_Distance2D    =    Ultima_Functions.Distance2D(v_A, v_B);
Print(string.Format("Дистанция между точками: %1м", v_Distance2D));</span></pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">7152</guid><pubDate>Fri, 16 Nov 2018 10:45:34 +0000</pubDate></item><item><title>&#x414;&#x435;&#x43B;&#x430;&#x435;&#x43C; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43A;&#x43E;&#x43C;&#x43F;&#x43B;&#x435;&#x43A;&#x442;&#x43E;&#x432; &#x441;&#x442;&#x430;&#x440;&#x442;&#x43E;&#x432;&#x43E;&#x433;&#x43E; &#x43B;&#x443;&#x442;&#x430; &#x434;&#x43B;&#x44F; PVP &#x441;&#x435;&#x440;&#x432;&#x435;&#x440;&#x430;</title><link>https://s-platoon.magicbyte.org/topic/7025-delaem-neskolko-komplektov-startovogo-luta-dlya-pvp-servera/</link><description><![CDATA[
<p>
	В этом гайде расскажу как сделать несколько комплектов стартового лута для игроков. При появлении будет случайно выбираться один из трёх комплектов.
</p>

<p>
	Всё практически одинаково: Топор, одежда, сумка. Разница только в оружии.
</p>

<p>
	Присутствует три комплекта: М4А1, SVD, UMP. Всё с прицелами, прикладами и т.д., плюс три магазина патронов.<br><br><span style="color:#e67e22;"><strong><span style="font-size:18px;">Инструкция:</span><br>
	1)</strong></span> Открываем файл<span style="color:#16a085;"><em> init.c</em></span> и находим этот код:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_2996_10" style="">
<span class="pln">class CustomMission: MissionServer
{
........
}


Mission CreateCustomMission(string path)
{
	return new CustomMission();
}</span></pre>

<p>
	<span style="color:#e67e22;"><strong>2) </strong></span>Весь первый класс (который <span style="color:#c0392b;"><em>CustomMission: MissionServer</em></span>) заменяем на это:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_2996_12" style="">
<span class="pln">class CustomMission: MissionServer
{	
	void SetRandomHealth(EntityAI itemEnt)
	{
		int rndHlt = Math.RandomInt(40,100);
		itemEnt.SetHealth("","",rndHlt);
	}

	override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)
	{
		Entity playerEnt;
		playerEnt = GetGame().CreatePlayer(identity, characterName, pos, 0, "NONE");//Creates random player
		Class.CastTo(m_player, playerEnt);
		
		GetGame().SelectPlayer(identity, m_player);
		
		return m_player;
	}
	
void addMags(PlayerBase player, string mag_type, int count)
{
    if (count &lt; 1)
        return;

    EntityAI mag;

    for (int i = 0; i &lt; count; i++) {
        mag = player.GetInventory().CreateInInventory(mag_type);
    }

    player.SetQuickBarEntityShortcut(mag, 1, true);
}

EntityAI assaultClass(PlayerBase player)
{
    EntityAI gun = player.GetHumanInventory().CreateInHands("M4A1");
    gun.GetInventory().CreateAttachment("M4_RISHndgrd_Black");
    gun.GetInventory().CreateAttachment("M4_MPBttstck_Black");
    gun.GetInventory().CreateAttachment("ACOGOptic");
    addMags(player, "Mag_STANAG_30Rnd", 3);

    return gun;
}

EntityAI sniperClass(PlayerBase player)
{
    EntityAI gun = player.GetHumanInventory().CreateInHands("SVD");
    gun.GetInventory().CreateAttachment("PSO1Optic");
    addMags(player, "Mag_SVD_10Rnd", 3);

    return gun;
}

EntityAI smgClass(PlayerBase player)
{
    EntityAI gun = player.GetHumanInventory().CreateInHands("UMP45");
    gun.GetInventory().CreateAttachment("PistolSuppressor");
    addMags(player, "Mag_UMP_25Rnd", 3);

    return gun;
}

override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
{
    player.RemoveAllItems();

    player.GetInventory().CreateInInventory("TTSKOPants");
    player.GetInventory().CreateInInventory("TTsKOJacket_Camo");
    player.GetInventory().CreateInInventory("CombatBoots_Black");
    player.GetInventory().CreateInInventory("ImprovisedBag");

    player.GetInventory().CreateInInventory("SodaCan_Pipsi");
    player.GetInventory().CreateInInventory("SpaghettiCan");
    player.GetInventory().CreateInInventory("HuntingKnife");
    ItemBase rags = player.GetInventory().CreateInInventory("Rag");
    rags.SetQuantity(4);

    EntityAI primary;
    EntityAI axe = player.GetInventory().CreateInInventory("FirefighterAxe");

    switch (Math.RandomInt(0, 3)) {
        case 0: primary = assaultClass(player); break;
        case 1: primary = sniperClass(player); break;
        case 2: primary = smgClass(player); break;
    }

    player.LocalTakeEntityToHands(primary);
    player.SetQuickBarEntityShortcut(primary, 0, true);
    player.SetQuickBarEntityShortcut(rags, 2, true);
    player.SetQuickBarEntityShortcut(axe, 3, true);
}

};</span></pre>

<p>
	<br>
	Вы также можете настроить оружие и всё остальное под себя при помощи статьи, где указаны ID всех предметов:
</p>
<iframe data-embedcontent="" frameborder="0" src="https://s-platoon.ru/applications/core/interface/js/spacer.png" data-embed-src="https://s-platoon.magicbyte.org/topic/7023-id-vseh-predmetov-v-dayz-standalone/?do=embed"></iframe>

<p>
	<br>
	Так же есть возможность выдавать лут конкретным людям через UID:
</p>
<iframe data-embedcontent="" frameborder="0" src="https://s-platoon.ru/applications/core/interface/js/spacer.png" data-embed-src="https://s-platoon.magicbyte.org/topic/7025-delaem-neskolko-komplektov-startovogo-luta-dlya-pvp-servera/?do=embed&amp;comment=61442&amp;embedComment=61442&amp;embedDo=findComment"></iframe>

<p>
	 
</p>
]]></description><guid isPermaLink="false">7025</guid><pubDate>Fri, 21 Sep 2018 20:21:03 +0000</pubDate></item><item><title>'&#x41F;&#x435;&#x440;&#x435;&#x43C;&#x43E;&#x442;&#x43A;&#x430;' &#x438;&#x433;&#x440;&#x43E;&#x432;&#x43E;&#x433;&#x43E; &#x432;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x438;</title><link>https://s-platoon.magicbyte.org/topic/7170-peremotka-igrovogo-vremeni/</link><description><![CDATA[
<p>
	В данной теме опубликую скриптик, который уже давно лежит на форуме в разделе помощи.
</p>

<p>
	 
</p>

<p>
	<span style="color:#27ae60;"><span style="font-size:20px;">Установка:</span></span>
</p>

<p>
	1. Открываем <strong>Mpmissions</strong> - <strong>dayzOffline.chernarusplus</strong> - <strong>init.c</strong><br>
	2. В самом начале файла добавляем:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_3022_7" style="">
<span class="pln">#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\Correct_InGame_time.c" </span></pre>

<p>
	И после строки
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9403_7" style="">
<span class="pln">weather.SetWindFunctionParams(0, 0, 0);</span></pre>

<p>
	добавляем:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_3022_9" style="">
<span class="pln">GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(Correct_InGame_time, 1000, true);   </span></pre>

<p>
	где 1000 - 1 секунда<br>
	3. Создаем вручную файл с именем "<strong>Correct_InGame_time.</strong>c" и заполняем его следующим текстом:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_2945_4" style="">
<span class="pln">static void Correct_InGame_time()
{
	private int year, month, day, hour, minute;
	GetGame().GetWorld().GetDate( year, month, day, hour, minute );
	
		if (hour &lt; 7)
		{
			GetGame().GetWorld().SetDate(year, month, day, 7, 3);
		}
		if (hour &gt;= 20)
		{
			GetGame().GetWorld().SetDate(year, month, (day + 1), 7, 3);
		}
}</span></pre>

<p>
	4. Настраиваем файл как нам нужно. Т.е. как видим, с 7 утра и до 8 вечера время на сервере внутриигровое не трогается, при наступлении от 20:00 и до 7 утра у нес автопромотка на 7:03 утра идет.
</p>

<p>
	 
</p>

<p>
	Тупо, банально, дешево, но работает.
</p>
]]></description><guid isPermaLink="false">7170</guid><pubDate>Wed, 21 Nov 2018 15:12:08 +0000</pubDate></item><item><title>[DayZ 0.63] &#x421;&#x43E;&#x437;&#x434;&#x430;&#x435;&#x43C; &#x421;&#x435;&#x439;&#x432;&#x437;&#x43E;&#x43D;&#x443; &#x43D;&#x430; &#x441;&#x435;&#x440;&#x432;&#x435;&#x440;&#x435;</title><link>https://s-platoon.magicbyte.org/topic/7200-dayz-063-sozdaem-seyvzonu-na-servere/</link><description><![CDATA[
<p style="text-align: center;">
	<span style="font-size:16px;"><span style="color:#3498db;">В данной теме я распишу мой вариант установки сейвзоны, работающий на момент публикации статьи на версии сервера игры 0.63.149525.</span></span>
</p>

<p>
	 
</p>

<p>
	<strong><span style="color:#27ae60;">Установка</span></strong>
</p>

<p>
	1. Открываем '<strong>init.c</strong>' в  '<strong>MpMissions</strong>' вашей.
</p>

<p>
	2. Вверху файла добавляем 1 строкой:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_7382_5" style="">
<span class="pln">#include "$CurrentDir:\\mpmissions\\dayzoffline.chernarusplus\\Scripts\safezone.c"
ref SafeZone_PlugIn SafeZone = new SafeZone_PlugIn();</span></pre>

<p>
	Где '<strong>dayzoffline.chernarusplus</strong>' - имя папки с активной '<strong>MpMissions</strong>' вашей.
</p>

<p>
	Пример:
</p>

<p>
	<p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p> 
</p>

<p>
	3. В этом же файле находим блок начала класса '<strong>CustomMission: MissionServer</strong>' и в его начале после открытия класса добавляем
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_7382_7" style="">
<span class="pln">	bool Activate_SafeZone_PlugIn = true; // safezone on (true) or off (false)
	
	override void TickScheduler(float timeslice)
    {
        GetGame().GetWorld().GetPlayerList(m_Players);
        if( m_Players.Count() == 0 ) return;
        for(int i = 0; i &lt; SCHEDULER_PLAYERS_PER_TICK; i++)
        {
            if(m_currentPlayer &gt;= m_Players.Count() )
            {
                m_currentPlayer = 0;
            }

            PlayerBase currentPlayer = PlayerBase.Cast(m_Players.Get(m_currentPlayer));
            if (Activate_SafeZone_PlugIn) { SafeZone_PlugIn.CheckingPosition(currentPlayer); } //Check if player is near safezone
            currentPlayer.OnTick();
            m_currentPlayer++;
        }
    }</span></pre>

<p>
	Пример:
</p>

<p>
	<p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p> 
</p>

<p>
	4. Создаем папку '<strong>Scripts</strong>' в корне '<strong>MpMissions</strong>' вашей, а в ней создаем файл с именем '<strong>safezone.c</strong>' следующего содержания:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_2959_4" style="">
<span class="pln">class SafeZone_PlugIn
{
	protected static vector SAFEZONE_LOACTION = "15145.1 32.9793 13919.0"; //Map coords (position of the safe zone)
	protected static float  SAFEZONE_RADIUS   = 100; //In meter
	protected static string SAFEZONE_ENTRY_MESSAGE     = "Welcome to The SafeZone! Godmode ENABLED!";
	protected static string SAFEZONE_EXIT_MESSAGE      = "You Have Left The SafeZone! Godmode DISABLED!";

	//Runs every tick (Stat time tick!) IMPORANT: Does reduce about 120 FPS when server is High-Full Pop!
	static void CheckingPosition(PlayerBase player)
	{
		private float SAFEZONE_distance;
		private string SAFEZONE_ZoneCheck, SAFEZONE_UID_PLAYER, SAFEZONE_NAME_PLAYER;
		SAFEZONE_NAME_PLAYER = player.GetIdentity().GetName(); 
		SAFEZONE_UID_PLAYER = player.GetIdentity().GetPlainId(); //Steam 64
		private Param1</span><span class="tag">&lt;string&gt;</span><span class="pln"> SAFEZONE_Msgparam;		

		private vector SAFEZONE_pos_player = player.GetPosition();
		private vector SAFEZONE_LOCATION_FIXED = CorrectToGroundPosY(SAFEZONE_LOACTION);
		private string name_mesage_profile = "GodModeEnabledFor:" + SAFEZONE_UID_PLAYER;
		SAFEZONE_distance = vector.Distance(SAFEZONE_pos_player,SAFEZONE_LOCATION_FIXED);
		if (SAFEZONE_distance &lt;= SAFEZONE_RADIUS) //Player Inside Zone
		{
			SAFEZONE_ZoneCheck = "";
			GetGame().GetProfileString(name_mesage_profile,SAFEZONE_ZoneCheck);
			if (SAFEZONE_ZoneCheck == "true") //Already in zone
			{
				return;
			}
			else
			{
				GetGame().SetProfileString(name_mesage_profile,"true");
				Print("[SafeZone] " + SAFEZONE_NAME_PLAYER + " (" + SAFEZONE_UID_PLAYER + ") Enter in safeZone in position: " + SAFEZONE_LOCATION_FIXED.ToString());
				SendPersonalMessage(SAFEZONE_ENTRY_MESSAGE, player);
			}
		}
		else if (SAFEZONE_distance &gt; SAFEZONE_RADIUS) //Player Outside of Zone
		{
			SAFEZONE_ZoneCheck = "";
			GetGame().GetProfileString(name_mesage_profile,SAFEZONE_ZoneCheck);
			if (SAFEZONE_ZoneCheck == "false")
			{
				return;
			}
			else
			{
				if (SAFEZONE_ZoneCheck != "")
				{
					GetGame().SetProfileString(name_mesage_profile,"false");
					Print("[SafeZone] " + SAFEZONE_NAME_PLAYER + " (" + SAFEZONE_UID_PLAYER + ") Left safeZone in position: " + SAFEZONE_LOCATION_FIXED.ToString());
					SendPersonalMessage(SAFEZONE_EXIT_MESSAGE, player);
				} else
				{
					return;
				}
			}
		}
	}

	static vector CorrectToGroundPosY(vector pos)
	{
		private float pos_x = pos[0];
		private float pos_z = pos[2];
		private float pos_y = GetGame().SurfaceY(pos_x, pos_z);
		private vector tmp_pos = Vector(pos_x, pos_y, pos_z);
		return tmp_pos;
	}
	static void SendPersonalMessage(string message, PlayerBase casted_player) 
	{
		Man player; 
		Class.CastTo(player, casted_player);
		if(( player ) &amp;&amp; (message != ""))
		{
			Param1</span><span class="tag">&lt;string&gt;</span><span class="pln"> m_GlobalMessage = new Param1</span><span class="tag">&lt;string&gt;</span><span class="pln">(message); 
			GetGame().RPCSingleParam(player, ERPCs.RPC_USER_ACTION_MESSAGE, m_GlobalMessage, true, player.GetIdentity()); 
		}
	}
}</span></pre>

<p>
	Ну или скачиваем его отсюда в готовом виде: <p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p> 
</p>

<p>
	<u>Здесь:</u>
</p>

<p>
	 '<strong>SAFEZONE_LOACTION</strong>' - координаты точки центра сейвзоны.
</p>

<p>
	'<strong>SAFEZONE_RADIUS</strong>' - радиус от указанного центра севзоны, на котором действует защита
</p>

<p>
	'<strong>ENTRY_MESSAGE</strong>' - сообщение о входе в зону (не рекоммендуется указывать русский язык, может не отображаться)<br>
	'<strong>EXIT_MESSAGE</strong>' - сообщение о выходе из зоны (не рекоммендуется указывать русский язык, может не отображаться)<br>
	5. Распаковываем в папку с сервером в корень вот этот архив: <p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p> 
</p>

<p>
	6. В параметры запуска сервера добавляем:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_3472_12" style="">
<span class="pln">-mod=ModdedScripts</span></pre>

<p>
	7. Запускаем сервер и проверяем.
</p>

<p>
	 
</p>

<p>
	Для совсем ленивых готовая миссия сервера с настроенной сейвзоной. <p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p>   Пункты 5-7 из инструкции выше после этого необходимо повторить, иначе годмод работать не будет!!!
</p>

<p>
	 
</p>

<p>
	P.S. Если у вас в корне сервера лежала папка scripts и она читалась сервером, после этого она может перестать считываться!
</p>

<p>
	P.P.S. Да, да, за основу взята сборка от DaOne, и по тому же принципу сделана и safe-zone с незначительными изменениями. За что ему огромное спасибо. Более корректной реализации метода God-Mode не встречал.
</p>
]]></description><guid isPermaLink="false">7200</guid><pubDate>Thu, 29 Nov 2018 16:14:39 +0000</pubDate></item><item><title>&#x428;&#x430;&#x43C;&#x430;&#x43D;&#x438;&#x43C; &#x43D;&#x430;&#x434; &#x43E;&#x444;&#x444;&#x43B;&#x430;&#x439;&#x43D;&#x43E;&#x43C; &#x414;&#x435;&#x439;&#x437;&#x430;_63</title><link>https://s-platoon.magicbyte.org/topic/6903-shamanim-nad-offlaynom-deyza_63/</link><description><![CDATA[
<p>
	Полагаю, многих оффлайнщиков 63-го Дейза удручает ситуация с зомби. Они возникают лишь поначалу игры, в населёнке вблизи места спавна перса. Остальная же Чернарусь стерильна, игра без зомби теряет остроту, расслабляются булки... В надежде преломить ситуацию мы начинаем ковырять файл <em>events.xml</em> -  увеличиваем параметры спавна зомби <em>nomina</em>l, <em>min</em>, <em>max</em>... Дудки!   Чешем репу и пытаемся разобраться в логике работы нынешнего спавнера (он сильно отличается от привычного по предыдущим версиям игры). Вот курицы, к примеру, спавнятся без замечаний. У них параметр <em>position </em>установлен  <em>fixed</em> (а у зомбаков - <em>player</em>). Интуиция говорит, что это типа дабы зомбаки спавнились на игрока, а куры (и прочая живность) - жестко на предписанных спавнеру местах (указанных файлом <em>config</em> из <em>server_data.pbo</em>).  Ставим и зомбакам параметр <em>fixed</em>. Ситуацию, вопреки надеждам, это не улучшает. B отчаянии начинаем курочить общие файлы игры - тот же config из server_data.pbo (играемся с параметрами <em>minSpawn</em>, <em>mахSpawn</em> для конфигов мест спавна зомби), пытаемся включить генерацию  отрядов зомби через спавнер из <em>worlds_chernarusplus_ai</em>. Безуспешно. Но ведь и курицы, и волки, и коровы работают!! Мистика..
</p>

<p>
	Плюём на спавнер и начинаем выкручиваться подручными средствами (играть то хоцца!). Вот у меня "кулибинский" оффлайн-мод позволяет спавнить живность вручную. И я в режиме свободной камеры летаю себе над Чернарусью и с воздуха предварительно заспавниваю зомбаков по всем злачным местам. Ну а затем захожу туда по земле и играю обычным образом...
</p>

<p>
	Глупейшее занятие! Надо всеж добивать автоспавн через <em>events</em>. Но там полный облом, что ни твори.
</p>

<p>
	И вот невыспавшийся и злой, я совершаю бессмысленный на первый взгляд финт - параметру <em>position</em> присваиваю значение <em><strong>hui</strong></em>. Да, вы не ослышались, именно <strong>hui</strong> (я был очень зол на БИсов). И вы не поверите! О ЧУДО! Зомбаки поперли толпами! Во всех встречных населёнках, блокпостах, куды ни сунься!!! Только успевай перезаряжать калаш! Вот что "hui" животворящий делает! Правда ему немножко помогают и некоторые дополнительные мелкие корректуры. Их общую суть можно глянуть а хоть бы и на примере исправленного спавна вояк:
</p>

<p>
	    &lt;/event&gt;
</p>

<p>
	    &lt;event name="InfectedArmy"&gt;
</p>

<p>
	        &lt;waves&gt;3&lt;/waves&gt;
</p>

<p>
	        &lt;nominal&gt;55&lt;/nominal&gt;
</p>

<p>
	        &lt;min&gt;50&lt;/min&gt;
</p>

<p>
	        &lt;max&gt;250&lt;/max&gt;
</p>

<p>
	        &lt;lifetime&gt;180&lt;/lifetime&gt;
</p>

<p>
	        &lt;restock&gt;0&lt;/restock&gt;
</p>

<p>
	        &lt;saferadius&gt;100&lt;/saferadius&gt;
</p>

<p>
	        &lt;distanceradius&gt;50&lt;/distanceradius&gt;
</p>

<p>
	        &lt;cleanupradius&gt;100&lt;/cleanupradius&gt;
</p>

<p>
	        &lt;flags deletable="0" init_random="0" remove_damaged="1" sec_spawner="0"/&gt;
</p>

<p>
	        &lt;position&gt;<span style="color:#e74c3c;">hui</span>&lt;/position&gt;
</p>

<p>
	        &lt;limit&gt;custom&lt;/limit&gt;
</p>

<p>
	        &lt;active&gt;1&lt;/active&gt;
</p>

<p>
	        &lt;children&gt;
</p>

<p>
	           &lt;child lootmax="0" lootmin="1" max="5" min="5" type="ZmbM_SoldierHelmet"/&gt;
</p>

<p>
	           &lt;child lootmax="0" lootmin="1" max="5" min="4" type="ZmbM_PatrolNormal_Autumn"/&gt;
</p>

<p>
	            &lt;child lootmax="5" lootmin="1" max="5" min="1" type="ZmbM_PatrolNormal_Flat"/&gt;
</p>

<p>
	            &lt;child lootmax="5" lootmin="0" max="5" min="3" type="ZmbM_PatrolNormal_PautRev"/&gt;
</p>

<p>
	            &lt;child lootmax="5" lootmin="1" max="5" min="5" type="ZmbM_PatrolNormal_Summer"/&gt;
</p>

<p>
	            &lt;child lootmax="5" lootmin="0" max="5" min="3" type="ZmbM_SoldierNormal"/&gt;
</p>

<p>
	            &lt;child lootmax="5" lootmin="1" max="5" min="5" type="ZmbM_SoldierAlice"/&gt;
</p>

<p>
	            &lt;child lootmax="5" lootmin="0" max="5" min="5" type="ZmbM_SoldierVest"/&gt;
</p>

<p>
	            &lt;child lootmax="5" lootmin="1" max="5" min="5" type="ZmbM_SoldierAliceHelmet"/&gt;
</p>

<p>
	        &lt;/children&gt;
</p>

<p>
	Я не стебусь, это реальный фрагмент реально работающего файла events.xml! Честное геймерское!
</p>

<p>
	Ну и по остальным типам зомби прошелся. Не буду утверждать, что нащупал оптимальные числовые величины. Но они создают достаточно комфортную игру. Кто захочет, сможет далее откорректировать под себя.
</p>

<p>
	Словом, родился работоспособный динамический спавн зомби на игрока. Охотно делюсь им с обществом. До кучи добавляю и некоторые другие улучшения:
</p>

<p>
	1. Расширена номенклатура военных зомби. Теперь вдобавок к прежним приевшимся патрульным в "горках" будут спавниться и вояки в брониках, и в касках и т.д. Это потребовало внесения изменений и в файл <em>cfgSpawnableTypes.xml</em>. Увы, обломался с пиндосами. Вы ж знаете, что в игре появились пиндосы-морпехи? В камуфляже MARPAT. По легенде игры именно они займут все военные базы (так говорят конфиги этих баз). Очень хотелось самолично рубануть пиндоса топором, НО спавнер оффлайна категорически отказывается корректно спавнить пиндосов - они возникают лишь как статические неодушевленные объекты (ну вы ж сталкивались с подобными случаями - зомбаки стоят как тумбочка, растопырив руки, не шевелятся, молчат, убить их невозможно?)
</p>

<p>
	Можно бы расширить и гражданских зомби - включить доярку, попА, жЫрную тетку и т.д. но это - на любителя.
</p>

<p>
	2. Расширен ассортимент спавнящихся полезных вещей. Кастрюля, балаклава, перчатки (хотя они и не нужны уже особо - руки в эксперименталке перестали кровяниться), глушак на пикаль, барабан на калаш (его вы не раз помянете добрым словом!), мармелад (бомбезный хавчик!), компас, т.д... Прямого спавна бананов не будет, НО! - замочИте Дина Холла (одетого в любую сорочку, без разницы) и пошарьте у него за пазухой - я напихал ему бананы взаместо прежних отстойных киви. Банан отлично насыщает и утоляет жажду. Прямого спавна не будет! Хочешь банан? Завали Дина Холла!
</p>

<p>
	Чото вы заскучали. Наверное устали читать букффы. Отдохните, поглядите скрин. Так выглядит Дин Холл - "папа" Дейза (зомбак слеплен именно с него).  И у него - банан!
</p>

<p>
	 
</p>

<p>
	Итого. В архиве содержатся модифицированные файлы:
</p>

<p>
	- <span style="color:#e74c3c;"><strong>cfgSpawnableTypes.xml</strong></span> из папки оффлайн миссии;
</p>

<p>
	-<strong> <span style="color:#e74c3c;">events.xml</span></strong> и <span style="color:#e74c3c;"><strong>types.xml</strong></span> из папки <span style="color:#e74c3c;">db</span> оффлайн миссии.
</p>

<p>
	Забрасываете их в вашу оффлайн миссию.
</p>

<p>
	Проверены и с официальной версией оффлайна, и с неофициалкою (та, где расширенные возможности - сохранение перса, телепорт, управление временем/погодою, godd-режим и т.д.). Проверял на эксперименталке - голой и с апдейтом#1. Апдейт #2 не советую - в нем глюк оружия - многозарядный ствол, который спавнится с игроком, приходится выбрасывать, т.к. глючит магазин. Ружбайка-однозарядка же работает нормально.
</p>

<p>
	Кстати, файлами игры можно разжиться у камрада 123new
</p>

<p>
	<a href="http://forum.ragezone.com/f866/dayz-official-clients-game-stress-1148509/?s=571819d3b96c26fa1deb12ca16889157" rel="external nofollow">http://forum.ragezone.com/f866/dayz-official-clients-game-stress-1148509/?s=571819d3b96c26fa1deb12ca16889157</a>
</p>

<p>
	 
</p>

<p>
	а за продвинутым неофициальным оффлайн-модом советую заглянуть сюда
</p>

<p>
	<a href="https://github.com/Arkensor/DayZCommunityOfflineMode" rel="external nofollow">https://github.com/Arkensor/DayZCommunityOfflineMode</a>
</p>

<p>
	тут нет глупых наворотов на мод - автобуса, гранатомета и т.п. хренотени.
</p>

<p>
	 
</p>

<p>
	<span style="color:#2ecc71;">PS</span>
</p>

<p>
	Чтобы зомби спавнились обильнее, есть смысл поколдовать и над <strong><em>config.bin</em></strong> из состава <em>server_data.pbo</em> в той части, которая определяет зомби-спавн. Речь вот о чем - мы видим, что в ряде базовых конфигураций спавна разрабами обнулены параметры <em>maxSpawn</em>, т.е. зомби не будет.
</p>

<p>
	 
</p>

<p>
	          class SpawnXRoad : SpawnVillage {
</p>

<p>
	                radius = 90;
</p>

<p>
	                minSpawn = 0;
</p>

<p>
	                maxSpawn = <span style="color:#e74c3c;">0</span>;
</p>

<p>
	                types[] = {"ZmbM_HermitSkinny_Beige", "ZmbM_HermitSkinny_Black", "ZmbM_HermitSkinny_Green", "ZmbM_HermitSkinny_Red", "ZmbM_FishermanOld_Blue", "ZmbM_FishermanOld_Green", "ZmbM_FishermanOld_Grey", "ZmbM_FishermanOld_Red", "ZmbM_HunterOld_Autumn", "ZmbM_HunterOld_Spring", "ZmbM_HunterOld_Summer", "ZmbM_HunterOld_Winter"};
</p>

<p>
	          };
</p>

<p>
	         
</p>

<p>
	          class SpawnHamlet : SpawnVillage {
</p>

<p>
	                radius = 120;
</p>

<p>
	                minSpawn = 0;
</p>

<p>
	                maxSpawn =<span style="color:#c0392b;"> 0</span>;
</p>

<p>
	                types[] = {"ZmbM_HermitSkinny_Beige", "ZmbM_HermitSkinny_Black", "ZmbM_HermitSkinny_Green", "ZmbM_HermitSkinny_Red", "ZmbM_FishermanOld_Blue", "ZmbM_FishermanOld_Green", "ZmbM_FishermanOld_Grey", "ZmbM_FishermanOld_Red", "ZmbM_HunterOld_Autumn", "ZmbM_HunterOld_Spring", "ZmbM_HunterOld_Summer", "ZmbM_HunterOld_Winter"};
</p>

<p>
	          };
</p>

<p>
	 
</p>

<p>
	А далее по тексту на основе этих "обезлюженых" базовых конфигов строятся конфиги ряда конкретных мест. Например, конфиг деревни Красное базируется на <em>SpawnHamlet</em> и чтобы вам в деревне не было одиноко, надо или дописать строку с ненулевым <em>maxSpawn</em> в "деревенский" конфиг, либо сразу установить ненулевой <em>maxSpawn</em> в конфиге <em>class SpawnHamlet</em> (это заселит и еще кучу сопряженных деревень/сел). Играясь на величинах minSpawn, maxSpawn, обеспечиваем желаемый диапазон заселенности по данному конфигу.
</p>

<p>
	Свой вариант <strong>config.cpp</strong> (это аналог <em>config.bin</em>) для эксперименталки (голой и апдейт#1)я выкладываю для скачивания. Вам потребуется вставить его в <em>server_data.pbo</em>. Как работать с pbo-шками, подробно излагал в соседней теме про "петухов". Кстати, мой config.cpp обеспечит и заселенность Алькатраса зэками. Сравнивайте с оригинальным server_data.pbo и выбирайте, что нравится больше.
</p>

<p>
	Следует учитывать, что крайний запад локации (который совсем-совсем новье) еще не проработан до конца, его хутора еще не сконфигурированы для зомби (и даже кур). Да что хутора, даже пансионат ТЕС оказался безлюден. Я пять минут бродил по нему. стреляя в воздух, пока ко мне не выбежал из леса одинокий запыханный зомбик! :-) Остается или дожидаться разрабов, или конфигурировать эти места самим (в том же config.cpp)
</p>

<p>
	 
</p>

<p>
	<p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p> 
</p>

<p>
	<p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p> 
</p>

<p>
	<p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p> 
</p>
]]></description><guid isPermaLink="false">6903</guid><pubDate>Sat, 30 Jun 2018 18:27:29 +0000</pubDate></item><item><title>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x435; &#x437;&#x434;&#x430;&#x43D;&#x438;&#x439; &#x43D;&#x430; &#x43A;&#x430;&#x440;&#x442;&#x435; &#x43F;&#x440;&#x438; &#x441;&#x442;&#x430;&#x440;&#x442;&#x435; &#x441;&#x435;&#x440;&#x432;&#x435;&#x440;&#x430;</title><link>https://s-platoon.magicbyte.org/topic/7240-sozdanie-zdaniy-na-karte-pri-starte-servera/</link><description><![CDATA[
<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">	//Функция создания зданий/обьектов BORIZZ.K
	//Не поставит здание/обьект там где оно уже есть в радиусе 10м!!!
	//параметры вызова
	//НазваниеКласса, координаты, коррекция высоты (добавляется к высоте если &gt; 0 - можно поставить здание на здание/поверхность выше земли или повесить в воздухе), Ориентация, Направление.
	int SpawnBuilding(string m_Building_Class, vector spawn_Point, float alt_Correct, vector spawn_Orient, vector spawn_Dir) //Спавн
	{
		Print("::: SpawnBuilding ::: SpawnBuilding(m_Building_Class = " + m_Building_Class + ", spawn_Point = " + spawn_Point.ToString() + ", alt_Correct = " + alt_Correct + ", spawn_Orient = " + spawn_Orient + ", spawn_Dir = " + spawn_Dir + ") :::");
		array</span><span class="tag">&lt;Object&gt;</span><span class="pln"> nearest_objects = new array</span><span class="tag">&lt;Object&gt;</span><span class="pln">;
		array</span><span class="tag">&lt;CargoBase&gt;</span><span class="pln"> proxy_cargos = new array</span><span class="tag">&lt;CargoBase&gt;</span><span class="pln">;
		string className;
		Object object;
		float radius = 10;
		Object m_Building;
		int n_Building_Count = 0;
		
		spawn_Point[1] = GetGame().SurfaceY( spawn_Point[0], spawn_Point[2] );
		if (alt_Correct &gt; 0)
		{
			spawn_Point[1] = spawn_Point[1] + alt_Correct;
		}
		
		GetGame().GetObjectsAtPosition(spawn_Point, radius, nearest_objects, proxy_cargos); 
		Print("::: SpawnBuilding ::: Radius: " + radius.ToString() + ", all nearest_objects: " + nearest_objects.Count().ToString() + " :::");
		for ( int i = 0; i &lt; nearest_objects.Count(); i++ )
		{
			object = nearest_objects.Get(i);
			className = object.GetType();
			if ( className == m_Building_Class )
			{
				Print("::: SpawnBuilding ::: Found object: " + object.ToString() + ", className: " + className + ", Position: " + object.GetPosition() + " : Spawn " + m_Building_Class + " cancelled. ::: ");
				return 0;
			}
		}
		
		m_Building = GetGame().CreateObject( m_Building_Class, spawn_Point, false, true );
		//m_Building.PlaceOnSurface();
		if ( spawn_Orient[0] == 0 &amp;&amp; spawn_Orient[1] == 0 &amp;&amp; spawn_Orient[2] == 0)
		{
			m_Building.SetOrientation(m_Building.GetOrientation());
		}
		else
		{
			m_Building.SetOrientation(spawn_Orient);
		}
		
		if ( spawn_Dir[0] == 0 &amp;&amp; spawn_Dir[1] == 0 &amp;&amp; spawn_Dir[2] == 0)
		{
			m_Building.SetDirection(m_Building.GetDirection());
		}
		else
		{
			m_Building.SetDirection(spawn_Dir);
		}
			
		
		if (m_Building)
		{
			Print("::: SpawnBuilding ::: Result: Object: " + m_Building.ToString() + ", spawn_Point = " + m_Building.GetPosition().ToString() + ", alt_Correct = " + alt_Correct + ", spawn_Orient = " + m_Building.GetOrientation().ToString() + ", spawn_Dir = " + m_Building.GetDirection().ToString() + ") :::");
			return 1;
		}
		else
		{
			Print("::: SpawnBuilding ::: Result: create object error. :::");			
		}
		return 0;
	}

	void SpawnBuildings()
	{
		int Buildings_Count;
        // пример
		Buildings_Count = SpawnBuilding("Land_City_FireStation", "6275 0 8013" , 0, "0 0 0", "0 0 40");
        // Buildings_Count будет = 0 если здание не поставлено, 1 если поставлено
	}</span></pre>

<p>
	Простой способ установки
</p>

<p>
	Вставить в init.c (ВНЕ КЛАССА!)
</p>

<p>
	<br>
	Вызывать в конце main()
</p>

<p>
	вот так
</p>

<p>
	SpawnBuildings();
</p>

<p>
	 
</p>

<p>
	в функции SpawnBuildings() по примеру (там есть) прописываем какие здания куда, какая ориентация/и или направление
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">7240</guid><pubDate>Sat, 15 Dec 2018 20:34:43 +0000</pubDate></item><item><title>&#x421;&#x442;&#x430;&#x442;&#x438;&#x441;&#x442;&#x438;&#x43A;&#x430; &#x443;&#x431;&#x438;&#x439;&#x441;&#x442;&#x432;...</title><link>https://s-platoon.magicbyte.org/topic/7216-statistika-ubiystv/</link><description><![CDATA[<p>
	Друзья может кто в курсе как сделать статистику убийств? чтоб лог убийств был...
</p>]]></description><guid isPermaLink="false">7216</guid><pubDate>Wed, 05 Dec 2018 15:23:06 +0000</pubDate></item><item><title>[Dayz 0.63] Server MOD - Kill/Death logger/JSON</title><link>https://s-platoon.magicbyte.org/topic/7083-dayz-063-server-mod-killdeath-loggerjson/</link><description><![CDATA[
<p>
	Мод для сервера , логирует смерти/убийства в json файл. Даёт возможность через парсинг выводить на сайт стату.
</p>

<p>
	- копируем папку simplekilllogger в корень игры<br>
	- Добавляем в строку запуска сервера -mod=simplekilllogger
</p>

<p>
	В папке профеля сервера находим файл  `SKL.json`
</p>

<p>
	<a href="https://github.com/zalexki/DayZ-SimpleKillLogger" rel="external nofollow">GitHub</a>  
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<p class='ipsMessage ipsMessage_error cloak'>Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.</p> 
</p>
]]></description><guid isPermaLink="false">7083</guid><pubDate>Fri, 12 Oct 2018 15:24:43 +0000</pubDate></item></channel></rss>
