<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="https://squirrel.hutt.live/export.php?type=rss" rel="self" type="application/rss+xml" />
		<title>Squirrel</title>
		<link>https://squirrel.hutt.live/</link>
		<description>Squirrel</description>
		<language>ru-ru</language>
		<lastBuildDate>Sun, 16 Nov 2014 12:51:49 +0300</lastBuildDate>
		<generator>MyBB/mybb.ru</generator>
		<item>
			<title>register and login</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=184#p184</link>
			<description>&lt;p&gt;&lt;a href=&quot;http://rghost.ru/60103825&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Ссылка&lt;/a&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Aleks_X)</author>
			<pubDate>Sun, 16 Nov 2014 12:51:49 +0300</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=184#p184</guid>
		</item>
		<item>
			<title>IV:MP RC3 DEV</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=182#p182</link>
			<description>&lt;p&gt;Aleks_X, Я знаю, что у вас есть RC3... Скиньте на ФО пожалуйста.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Coflan)</author>
			<pubDate>Wed, 29 Oct 2014 10:29:21 +0300</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=182#p182</guid>
		</item>
		<item>
			<title>Регистрация.</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=180#p180</link>
			<description>&lt;p&gt;Проблема решена! Создал папку &#039;accounts&#039; в папке &#039;files&#039; и заработало...&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Coflan)</author>
			<pubDate>Sat, 18 Oct 2014 15:35:59 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=180#p180</guid>
		</item>
		<item>
			<title>Уроки</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=178#p178</link>
			<description>&lt;p&gt;Напишите чего-нибудь? :)&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Coflan)</author>
			<pubDate>Sun, 12 Oct 2014 18:03:59 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=178#p178</guid>
		</item>
		<item>
			<title>Система Домов.</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=174#p174</link>
			<description>&lt;p&gt;ок, спасибо)) напишите еще уроков, если не сложно)&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Coflan)</author>
			<pubDate>Wed, 01 Oct 2014 11:01:53 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=174#p174</guid>
		</item>
		<item>
			<title>Сохранение позиции игрока при выходе.</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=168#p168</link>
			<description>&lt;p&gt;Ну я же не один писал, мне помогали, да и бросал это дело много раз, все запомнить не реально.&lt;/p&gt;
						&lt;p&gt;З.Ы Ща добавлю.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Leon)</author>
			<pubDate>Sat, 13 Sep 2014 13:09:50 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=168#p168</guid>
		</item>
		<item>
			<title>Кол-во смертей / Кол-во убийств</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=157#p157</link>
			<description>&lt;p&gt;По теме: проверил сейчас записывает данные через раз, незнаю с чем это могло быть связано, странно очень.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Leon)</author>
			<pubDate>Thu, 11 Sep 2014 10:32:12 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=157#p157</guid>
		</item>
		<item>
			<title>Пикап</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=151#p151</link>
			<description>&lt;p&gt;А он вообще есть? Не разу не видел прост&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Leon)</author>
			<pubDate>Wed, 10 Sep 2014 19:59:40 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=151#p151</guid>
		</item>
		<item>
			<title>Как узнать хеш модели</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=126#p126</link>
			<description>&lt;p&gt;от 0 до 123. 41 нету, 111 тоже и 107&lt;br /&gt;p.s :&amp;#160; я ушел спать&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Coflan)</author>
			<pubDate>Tue, 09 Sep 2014 20:54:38 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=126#p126</guid>
		</item>
		<item>
			<title>Помогите реализовать</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=120#p120</link>
			<description>&lt;p&gt;Спасибо. Отдуши.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Leon)</author>
			<pubDate>Tue, 09 Sep 2014 20:13:43 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=120#p120</guid>
		</item>
		<item>
			<title>Авто</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=111#p111</link>
			<description>&lt;p&gt;Ребят, в общем, такая проблема. Мучаюсь уже 3-й день, но никак не могу реализовать. В общем, моя задумка такова: сделать функцию, в которой при запуске сервера загружались авто из файла. Каждое авто -&amp;gt; отдельный файл. Помогите реализовать. Долго бьюсь, но никак... Заранее спасибо!&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Coflan)</author>
			<pubDate>Tue, 09 Sep 2014 19:21:10 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=111#p111</guid>
		</item>
		<item>
			<title>Linux</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=110#p110</link>
			<description>&lt;p&gt;Не советую... На ivmp.ru много говорили про линукс, там вроде больше багов, чем на windows&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Coflan)</author>
			<pubDate>Tue, 09 Sep 2014 17:43:22 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=110#p110</guid>
		</item>
		<item>
			<title>Вики</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=107#p107</link>
			<description>&lt;p&gt;Всем привет. Чем можно заменить вики, а то все вики отключены, а черпать информацию не откуда, может у кого осталось хоть какая та информация? Есть идея реализовать контент с информацией, или темы с информацией, думаю новичкам будет полезно.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Leon)</author>
			<pubDate>Mon, 08 Sep 2014 09:57:47 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=107#p107</guid>
		</item>
		<item>
			<title>Есть желающие</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=103#p103</link>
			<description>&lt;p&gt;на ней играет много чел? синхра как? где скачать моно? какой скриптинг?)&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Coflan)</author>
			<pubDate>Fri, 05 Sep 2014 16:11:46 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=103#p103</guid>
		</item>
		<item>
			<title>2 вопроса</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=101#p101</link>
			<description>&lt;p&gt;У Вас первым объявлен получается id иконки, а потом коры.&lt;br /&gt;А в проверке вы используете id, posX, posY. А надо коры&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 24em&quot;&gt;&lt;pre&gt;function proverka() 
{
	foreach(playerid, playername in getPlayers()) 
	{
    for(local i = 0; i &amp;lt; atm.len(); i++) 
    {
    	if(PlayerToPoint(playerid, atm[i][1].tofloat(), atm[i][2].tofloat(), atm[i][3].tofloat(), 200.0)) 
    	{
        setBlipPosition(blips, atm[i][1].tofloat(), atm[i][2].tofloat(), atm[i][3].tofloat());
    	}
    }
	}
	return true;
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Должно быть так, тоесть коры у вас получаются atm[i][1].tofloat(), atm[i][2].tofloat(), atm[i][3].tofloat(), А у вас atm[i][0].tofloat(), atm[i][1].tofloat(), atm[i][2].tofloat()&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Aleks_X)</author>
			<pubDate>Tue, 02 Sep 2014 20:05:12 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=101#p101</guid>
		</item>
		<item>
			<title>Получение угла заноса</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=97#p97</link>
			<description>&lt;p&gt;О, спасибо, полезная функция! :)&lt;br /&gt;+ вам :)&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Coflan)</author>
			<pubDate>Sun, 31 Aug 2014 18:43:04 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=97#p97</guid>
		</item>
		<item>
			<title>Программа для редактирования/создания скриптов</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=77#p77</link>
			<description>&lt;p&gt;Вот держите &lt;a href=&quot;http://rghost.ru/57754794&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;LUSquirrel&lt;/a&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Aleks_X)</author>
			<pubDate>Sat, 30 Aug 2014 00:02:38 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=77#p77</guid>
		</item>
		<item>
			<title>Рандомный спавн (Продолжаем систему регистрации).</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=70#p70</link>
			<description>&lt;p&gt;В начале мода добавим&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 13.5em&quot;&gt;&lt;pre&gt;local newbieSpawn = [
 [1034.912109, -562.439209, 31.809111, 1.574567],
 [1044.874268, -562.439209, 31.809111, 1.574567],
 [1059.236328, -562.439209, 31.809111, 1.574567],
 [1027.958130, -562.439209, 31.809111, 1.574567],
 [1020.688416, -562.439209, 31.809111, 1.574567],
];&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Далее в onPlayerRequestSpawn(player) изменим все после } else if(users[player].logged == 1) { на это&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 6em&quot;&gt;&lt;pre&gt;local playerSpawn = newbieSpawn[random(0, newbieSpawn.len()-1)];
    player.spawn(playerSpawn[0], playerSpawn[1], playerSpawn[2], playerSpawn[3]);&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Вот что должно получиться(вся моя функция)&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 28.5em&quot;&gt;&lt;pre&gt;function onPlayerRequestSpawn(player) {
	local name = player.getName();
	sendMessageToAll(name + &amp;quot; присоединился к нам.&amp;quot;, 0xFF00FF, true);
	if(users[player].logged == 0) {
    if(!fileExists(&amp;quot;users/&amp;quot;+name+&amp;quot;.ini&amp;quot;)) {
    	player.sendMessage(&amp;quot;/register [password]&amp;quot;, COLOR_WHITE, true);
    }
    else if(fileExists(&amp;quot;users/&amp;quot;+name+&amp;quot;.ini&amp;quot;)) {
    	player.sendMessage(&amp;quot;/login [password]&amp;quot;, COLOR_SHADOW, false);
    }
	} else if(users[player].logged == 1) {
    local playerSpawn = newbieSpawn[random(0, newbieSpawn.len()-1)];
    player.spawn(playerSpawn[0], playerSpawn[1], playerSpawn[2], playerSpawn[3]);
	}
	return true;
}
addEvent(&amp;quot;playerRequestSpawn&amp;quot;, onPlayerRequestSpawn);&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Ну вот и все. И не будут все в одном месте))))&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Aleks_X)</author>
			<pubDate>Mon, 18 Aug 2014 22:53:53 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=70#p70</guid>
		</item>
		<item>
			<title>Выбор пола (Продолжаем систему регистрации).</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=69#p69</link>
			<description>&lt;p&gt;Для начала объявим новые массивы(Выбор пола будет со рандомными скинами)&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 6em&quot;&gt;&lt;pre&gt;local newbieModelMale = [11, 26, 28];
local newbieModelGirl = [12, 25, 27];&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Далее создадим команду для выбора пола. Для этого в onPlayerCommand(command, player) вставим&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 30em&quot;&gt;&lt;pre&gt;if(cmd[0] == &amp;quot;sex&amp;quot;) {
    if(cmd.len() &amp;gt;= 2) {
    	local model;
    	if(cmd[1] == &amp;quot;male&amp;quot;) {
        model = random(newbieModelMale[0],newbieModelMale[2]);
        player.setModel(model); users[player].sex = 1; users[player].model = model;
        savePlayers(player);
        player.sendMessage(&amp;quot;/login [password]&amp;quot;, COLOR_SHADOW, false);
    	} else if(cmd[1] == &amp;quot;girl&amp;quot;) {
        model = random(newbieNodelGirl[0],newbieNodelGirl[2]);
        player.setModel(model); users[player].sex = 2; users[player].model = model;
        savePlayers(player);
        player.sendMessage(&amp;quot;/login [password]&amp;quot;, COLOR_SHADOW, false);
    	}
    } else {
    	player.sendMessage(&amp;quot;/sex [male(girl)]&amp;quot;, COLOR_RED, true);
    }
	}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;И чтобы команда у нас вызывалась в onPlayerRegister(player, password) заменим строку&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 4.5em&quot;&gt;&lt;pre&gt;player.sendMessage(&amp;quot;/login [password]&amp;quot;, COLOR_SHADOW, false);&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;На&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 4.5em&quot;&gt;&lt;pre&gt;player.sendMessage(&amp;quot;/sex [male(girl)]&amp;quot;, COLOR_GREEN, false);&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Теперь добавим сами переменные для сохранения. Для этого в onPlayerJoin( player )&lt;br /&gt;в наш массив добавим&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 6em&quot;&gt;&lt;pre&gt;users[player].sex &amp;lt;- 0;
	users[player].model &amp;lt;- 0;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Далее в onPlayerRegister(player, password)&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 6em&quot;&gt;&lt;pre&gt;pFile.setKey(&amp;quot;Account Settings&amp;quot;, &amp;quot;Model&amp;quot;, &amp;quot;0&amp;quot;);
    pFile.setKey(&amp;quot;Account Settings&amp;quot;, &amp;quot;Sex&amp;quot;, &amp;quot;0&amp;quot;);&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Теперь в onPlayerLogin(player, password) вставим&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 7.5em&quot;&gt;&lt;pre&gt;users[player].model = pFile.getKey(&amp;quot;Account Settings&amp;quot;, &amp;quot;Model&amp;quot;).tointeger();
    	users[player].sex = pFile.getKey(&amp;quot;Account Settings&amp;quot;, &amp;quot;Sex&amp;quot;).tointeger();
                        player.setModel(users[player].model);&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;И еще добавим сохранение файла. Создадим новую функцию&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 15em&quot;&gt;&lt;pre&gt;function savePlayers(player)
{
	local pFile = EasyINI(&amp;quot;users/&amp;quot; + player.getName() + &amp;quot;.ini&amp;quot;);
	pFile.setKey(&amp;quot;Account Settings&amp;quot;, &amp;quot;Model&amp;quot;, users[player].model.tostring());
	pFile.setKey(&amp;quot;Account Settings&amp;quot;, &amp;quot;Sex&amp;quot;, users[player].sex.tostring());
    pFile.saveData();
	return true;
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;И добавим сохранение при выходе. В onPlayerLeave( player, reason ) добавим&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 4.5em&quot;&gt;&lt;pre&gt;savePlayers(player);&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Комментируйте ошибки. Пишите что хотите видеть в след уроках&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Aleks_X)</author>
			<pubDate>Mon, 18 Aug 2014 22:45:51 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=69#p69</guid>
		</item>
		<item>
			<title>функция Random</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=68#p68</link>
			<description>&lt;p&gt;Проcтая но нужная функция Random&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 10.5em&quot;&gt;&lt;pre&gt;function random(min = 0, max = RAND_MAX)
{
   srand(getTickCount() * rand());
   return (rand() % ((max + 1) - min)) + min;
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
			<author>mybb@mybb.ru (Aleks_X)</author>
			<pubDate>Sun, 17 Aug 2014 11:26:42 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=68#p68</guid>
		</item>
		<item>
			<title>Создание первого мода.</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=67#p67</link>
			<description>&lt;p&gt;Добрый день. Этот урок совсем для начинающих.&lt;br /&gt;Заходим в папку resources и создадим новую папку, назовем ее ,для удобства, названием нашего мода&lt;br /&gt;Далее создадим в ней файл&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 4.5em&quot;&gt;&lt;pre&gt;название вашего мода.nut&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;В этой же папке создадим еще один файл&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 4.5em&quot;&gt;&lt;pre&gt;meta.xml&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;В этом файле напишем следующее&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 7.5em&quot;&gt;&lt;pre&gt;&amp;lt;meta&amp;gt;
	&amp;lt;script src=&amp;quot;название вашего мода.nut&amp;quot; /&amp;gt;
&amp;lt;/meta&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Сохраняем файл. Далее открываем сам файл &amp;quot;название вашего мода&amp;quot;.nut и в нем создадим необходимые функции&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;local modVersion = &amp;quot;v.0.01&amp;quot;;

function onResourceStarted(resourceName) { // эта основная функция вашего мода
	log(&amp;quot; &amp;quot;);
	log(&amp;quot; &amp;quot;);
	log(&amp;quot;XXX==============================XXX&amp;quot;);
	log(&amp;quot; &amp;quot;);
	log(&amp;quot;    &amp;quot; + resourceName + &amp;quot; &amp;quot; + modVersion + &amp;quot; by Aleks_X&amp;quot;);
	log(&amp;quot; &amp;quot;);
	log(&amp;quot;XXX==============================XXX&amp;quot;);
	log(&amp;quot; &amp;quot;);
	log(&amp;quot; &amp;quot;);
}
addEvent(&amp;quot;resourceStarted&amp;quot;, onResourceStarted);

function onPlayerJoin( player ) { // функция отвечает за появление игрока на сервере

return true;
}
addEvent(&amp;quot;playerJoin&amp;quot;, onPlayerJoin);

function onPlayerLeave( player, reason ) { // функция вызывается при выходе игрока с сервера
	local name = player.getName();
	if(reason == 0) {
    log(name + &amp;quot; left the server. (Timeout/Crash)&amp;quot;);
	} else {
    log(name + &amp;quot; left the server.&amp;quot;);
	}
	return true;
}
addEvent(&amp;quot;playerLeave&amp;quot;, onPlayerLeave);

function onPlayerRequestSpawn(player) { // эта функция отвечает за спавн игрока
	local name = player.getName();
	sendMessageToAll(name + &amp;quot; присоединился к нам.&amp;quot;, 0xFF00FF, true);
        return true;
}
addEvent(&amp;quot;playerRequestSpawn&amp;quot;, onPlayerRequestSpawn);

function onPlayerCommand(command, player) { // здесь мы пишем свои команды
	local cmd = split(command, &amp;quot; &amp;quot;);
        if(cmd[0] == &amp;quot;en&amp;quot;) { // пример команды // заводим авто
    if(player.getVehicleSeat() == 0) {
    	local veh = player.getVehicle();
    	veh.setEngine(!veh.getEngine());
    }
	}
}
addEvent(&amp;quot;playerCommand&amp;quot;, onPlayerCommand);&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Ну вот пока все. Там есть еще несколько функций но мы их пока трогать не будем&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Aleks_X)</author>
			<pubDate>Sun, 17 Aug 2014 11:21:39 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=67#p67</guid>
		</item>
		<item>
			<title>Система Регистрации на EasyINI</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=66#p66</link>
			<description>&lt;p&gt;Здравствуйте, меня долго не было, потому что проект IV:MP распался. Сейчас идет разработка над двумя проектами для GTA IV.&lt;br /&gt;Пока я начну с этого проекта. Начну с системы регистрации пока на файлах, вскоре перейдем на MySql.&lt;br /&gt;В конце мода добавим сам класс EasyINI.&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;class EasyINI {
	lastsec = null;
	sections = {};
	filename = &amp;quot;&amp;quot;;
	constructor(fname) {
    filename = fname;
    fileCreate(fname);
    local tf = eFile(fname, &amp;quot;r&amp;quot;);
    sections.clear();
    lastsec = null;
    while(!tf.eos()) {
    	local line = tf.readline(),
    	res = regexp(@&amp;quot;\[[\C]+]&amp;quot;).search(line);
    	if(!line.len() || line[0] == &#039;;&#039;) {
        continue;
    	}
    	if(res != null) {
        local secname = line.slice(res.begin+1, res.end-1);
        if(findSection(secname) == null) {
        	createSection(secname);
        }
        lastsec = secname;
        continue;
    	}
    	if(lastsec == null) {
        continue;
    	}
    	res = regexp(&amp;quot; = &amp;quot;).search(line);
    	if(res != null) {
        setKey(lastsec, line.slice(0, res.begin), line.slice(res.end));
    	}
    }
	}
/*
* Internal Methods
*/
	function createSection(name) {
    return (sections[name] &amp;lt;- {});
	}
	function findSection(name) {
    if(sections.rawin(name)) {
    	return sections[name];
    }
    return null;
	}
	function createKey(section, key, val) {
    if(findSection(section) != null) {
    	sections[section][key] &amp;lt;- val;
    	return true;
    } else {
    	createSection(section);
    	local s = findSection(section);
    	if(s == null) {
        log(&amp;quot;Some serious shit happened. Tell the scripter about that.&amp;quot;);
        return false;
    	}
    	s[key] &amp;lt;- val;
    	return true;
    }
    return false;
	}
/*
* Public Methods
*/
	function keyExists(section, key) {
    local s = findSection(section);
    if(s == null) {
    	return false;
    }
    return (s.rawin(key));
	}
	function setKey(section, key, val) {
    if(val == null) {
    	throw &amp;quot;EasyINI Exception: Value must not be null!&amp;quot;;
    }
    if(!keyExists(section, key)) {
    	createKey(section, key, val.tostring());
    } else {
    	findSection(section)[key] &amp;lt;- val.tostring();
    }
	}
	function getKey(section, key) {
    if(!keyExists(section, key)) {
    	return null;
    }
    return sections[section][key];
	}
	function deleteKey(section, key) {
    if(!keyExists(section, key)) {
    	return false;
    }
    return delete sections[section][key];
	}
	function deleteSection(name) {
    if(findSection(name) == null) {
    	return false;
    }
    return delete sections[name];
	}
	function logData() {
    foreach(i,s in sections) {
    	log(&amp;quot;[&amp;quot; + i + &amp;quot;]&amp;quot;);
    	foreach(j,k in s) {
        log(j + &amp;quot; = &amp;quot; + k);
    	}
    }
	}
	function reloadData() {
    sections.clear();
    lastsec = null;
    local tf = eFile(fname, &amp;quot;r&amp;quot;);
    while(!tf.eos()) {
    	local line = tf.readline();
    	res = regexp(@&amp;quot;\[[\C]+]&amp;quot;).secReg.search(line);
    	if(!line.len() || line[0] == &#039;;&#039;) {
        continue;
    	}
    	if(res != null) {
        local secname = line.slice(res.begin+1, res.end-1);
        if(findSection(secname) == null) {
        	createSection(secname);
        }
        lastsec = secname;
        continue;
    	}
    	if(lastsec == null) {
        continue;
    	}
    	res = regexp(&amp;quot; = &amp;quot;).secReg.search(line);
    	if(res != null) {
        setKey(lastsec, line.slice(0, res.begin), line.slice(res.end));
    	}
    }
	}
	function saveData() {
    local tf = eFile(filename, &amp;quot;w&amp;quot;);
    tf.writeline(&amp;quot;;File generated by EasyINI&amp;quot;);
    foreach(i,s in sections) {
    	tf.writeline(&amp;quot;[&amp;quot; + i + &amp;quot;]&amp;quot;);
    	foreach(j,k in s) {
        tf.writeline(j + &amp;quot; = &amp;quot; + k);
    	}
    }
	}
}

function fileCreate(filename) {
	local tf = file(filename, &amp;quot;a+&amp;quot;);
	tf = null;
	return true;
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Далее там же добавим класс чтения файлов&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;class eFile extends file {
	function readline() {
    local result = &amp;quot;&amp;quot;;
    while(!this.eos()) {
    	local c = this.readn(&#039;c&#039;);
    	if(c == &#039;\n&#039; || !c)	{
        return result;
    	}
    	if(c == &#039;\r&#039;) {
        continue;
    	}
    	result += c.tochar();
    }
    return result;
	}
	function writeline(line) {
    foreach(char in line) {
    	this.writen(char, &#039;c&#039;); 
    }
    this.writen(&#039;\n&#039;, &#039;c&#039;);
	}
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;И еще там же &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 21em&quot;&gt;&lt;pre&gt;function fileExists(filename)
{
        try
        {
                local testfile = file(filename, &amp;quot;r&amp;quot;);
        }
        catch(e)
        {
                return false;
        }
        return true;
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Ну вот сейчас можно начать саму систему. Система будет работать через команды, так ка GUI пока нет&lt;br /&gt;В самом начале мода &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 6em&quot;&gt;&lt;pre&gt;const COLOR_RED = 0xFF0000;
const COLOR_SHADOW = 0x8A795D;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 4.5em&quot;&gt;&lt;pre&gt;local users = {};&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Далее в onPlayerJoin( player ) создадим таблицу&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 9em&quot;&gt;&lt;pre&gt;player.spawn(-380.787,351.273,14.2655,90.0);
users[player] &amp;lt;- {};
users[player].logged &amp;lt;- 0;
users[player].money &amp;lt;- 0;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Далее идем в onPlayerRequestSpawn(player)&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 19.5em&quot;&gt;&lt;pre&gt;local name = player.getName();
      if(users[player].logged == 0) {
    if(!fileExists(&amp;quot;users/&amp;quot;+name+&amp;quot;.ini&amp;quot;)) {
    	player.sendMessage(&amp;quot;/register [password]&amp;quot;, COLOR_WHITE, true);
    }
    else if(fileExists(&amp;quot;users/&amp;quot;+name+&amp;quot;.ini&amp;quot;)) {
    	player.sendMessage(&amp;quot;/login [password]&amp;quot;, COLOR_SHADOW, false);
    }
	} else if(users[player].logged == 1) {
    player.spawn(1034.912109, -563.173462, 31.809320, 90.0);
	}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Далее будут наши команды, в onPlayerCommand(command, player)&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 25.5em&quot;&gt;&lt;pre&gt;local cmd = split(command, &amp;quot; &amp;quot;);
         if(cmd[0] == &amp;quot;register&amp;quot;) {
    if(cmd.len() &amp;gt;= 2) {
    	onPlayerRegister(player, cmd[1].tostring());
    } else {
    	player.sendMessage(&amp;quot;/register [password]&amp;quot;, COLOR_RED, true);
    }
	}
	if(cmd[0] == &amp;quot;login&amp;quot;) {
    if(cmd.len() &amp;gt;= 2) {
    	onPlayerLogin(player, cmd[1].tostring());
    } else {
    	player.sendMessage(&amp;quot;/login [password]&amp;quot;, COLOR_RED, true);
    }
	}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Теперь создадим 2 функции&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;function onPlayerRegister(player, password) {
	local name = player.getName();
	if(!fileExists(&amp;quot;users/&amp;quot;+name+&amp;quot;.ini&amp;quot;)) {
    local pass = password.tostring();
    local pFile = EasyINI(&amp;quot;users/&amp;quot;+name+&amp;quot;.ini&amp;quot;);
    pFile.setKey(&amp;quot;Account Settings&amp;quot;, &amp;quot;Password&amp;quot;, pass.tostring());
    	pFile.setKey(&amp;quot;Account Settings&amp;quot;, &amp;quot;Money&amp;quot;, &amp;quot;1000&amp;quot;);
    pFile.saveData();
    player.sendMessage(&amp;quot;/login [password]&amp;quot;, COLOR_SHADOW, false);
	}
	return true;
}

function onPlayerLogin(player, password) {
	local name = player.getName();
	if(fileExists(&amp;quot;users/&amp;quot;+name+&amp;quot;.ini&amp;quot;)) {
    	local pFile = EasyINI(&amp;quot;users/&amp;quot;+name+&amp;quot;.ini&amp;quot;);
    	local pass = password.tostring();
    	if(pass == pFile.getKey(&amp;quot;Account Settings&amp;quot;, &amp;quot;Password&amp;quot;)) {
    	users[player].money = pFile.getKey(&amp;quot;Account Settings&amp;quot;, &amp;quot;Money&amp;quot;).tointeger();
    	pFile.saveData();
    	users[player].logged = 1;
    	onPlayerRequestSpawn(player);
    } else {
    	player.sendMessage(&amp;quot;Неверный пароль&amp;quot;, COLOR_RED, true);
    }
	} else {
    player.sendMessage(&amp;quot;Наберите /register [password]&amp;quot;, COLOR_RED, false);
	}
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Вроде все. Если будут какие то вопросы задавайте&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Aleks_X)</author>
			<pubDate>Sun, 17 Aug 2014 10:55:43 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=66#p66</guid>
		</item>
		<item>
			<title>Диалог система</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=61#p61</link>
			<description>&lt;p&gt;Да, печально, стестил на r2 работает...Значит на определенную версию только.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (potemckin)</author>
			<pubDate>Fri, 16 Aug 2013 16:37:29 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=61#p61</guid>
		</item>
		<item>
			<title>Создание фракции (Пожарные)[часть 2]</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=58#p58</link>
			<description>&lt;p&gt;Теперь создадим автомобили(пример создания)&lt;br /&gt;Создадим функцию&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 12em&quot;&gt;&lt;pre&gt;function FireVeh(carid) 
{
	if(carid == fireVeh[0]||carid == fireVeh[1]) {
     return true; }
 	return false;
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Далее Можно сделать функцию или добавить в onScriptInit()(Я сделаю функцию)&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 13.5em&quot;&gt;&lt;pre&gt;function addVeh()
{
	fireVeh[0] = createVehicle(31, 1117.575806, 1736.203247, 10.203270, 359.936340, 0.011353, 224.456421, 147, 45, 1, 1);
	fireVeh[1] = createVehicle(31, 1111.795166, 1730.874756, 10.201395, 359.899048, 0.009033, 223.010681, 147, 45, 1, 1);
	return true;
}
addEvent(&amp;quot;scriptInit&amp;quot;, addVeh);&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Далее в onPlayerChangeState(playerid, oldstate, newstate)&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 31.5em&quot;&gt;&lt;pre&gt;	local carid = getPlayerVehicleId(playerid).tointeger();
	if(oldstate == 5 )
	{
        if(FireVeh(carid))
    	{
    	if(users[playerid].member == 4)
    	{
        
        	sendPlayerMessage(playerid, &amp;quot;Чтоб завести двигатель - нажмите &#039;2&#039;&amp;quot;, COLOR_GREEN);
        	sendPlayerMessage(playerid, &amp;quot;Чтобы включить/выключить фары - нажмите &#039;L&#039;&amp;quot;, COLOR_GREEN);
        	sendPlayerMessage(playerid, &amp;quot;Чтобы начать работу наберите /duty&amp;quot;, COLOR_LEMON);
    	}
    	else
    	{
        sendPlayerMessage(playerid, &amp;quot;Вы не состоите в FDLC&amp;quot;, COLOR_SYSTEM);
        removePlayerFromVehicle(playerid,true);
    	}
    	}
    }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
			<author>mybb@mybb.ru (Aleks_X)</author>
			<pubDate>Thu, 08 Aug 2013 21:19:22 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=58#p58</guid>
		</item>
		<item>
			<title>Создание фракции (Пожарные)[часть 1]</title>
			<link>https://squirrel.hutt.live/viewtopic.php?pid=57#p57</link>
			<description>&lt;p&gt;Я буду использовать тему &lt;a href=&quot;http://squirrel.hutt.ru/viewtopic.php?id=11&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Регистрация на диалог системе&lt;/a&gt;&lt;br /&gt;Для начала создадим переменные&lt;br /&gt;В onPlayerJoin(playerid) { вставим&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 7.5em&quot;&gt;&lt;pre&gt;users[playerid].leader &amp;lt;- 0;
users[playerid].member &amp;lt;- 0;
users[playerid].rang &amp;lt;- 0;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Далее в onPlayerRegister(playerid,password)&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 7.5em&quot;&gt;&lt;pre&gt;iniFile.setKey(&amp;quot;Stats&amp;quot;, &amp;quot;Leader&amp;quot;, &amp;quot;0&amp;quot;);
iniFile.setKey(&amp;quot;Stats&amp;quot;, &amp;quot;Member&amp;quot;, &amp;quot;0&amp;quot;);
iniFile.setKey(&amp;quot;Stats&amp;quot;, &amp;quot;Rang&amp;quot;, &amp;quot;0&amp;quot;);&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;В onPlayerLogin(playerid,password)&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 7.5em&quot;&gt;&lt;pre&gt;users[playerid].leader = iniFile.getKey(&amp;quot;Stats&amp;quot;, &amp;quot;Leader&amp;quot;).tointeger();
users[playerid].member = iniFile.getKey(&amp;quot;Stats&amp;quot;, &amp;quot;Member&amp;quot;).tointeger();
users[playerid].rang = iniFile.getKey(&amp;quot;Stats&amp;quot;, &amp;quot;Rang&amp;quot;).tointeger();&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;В savePlayers()&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 7.5em&quot;&gt;&lt;pre&gt;iniFile.setKey(&amp;quot;Stats&amp;quot;, &amp;quot;Leader&amp;quot;, users[i].leader.tostring());
iniFile.setKey(&amp;quot;Stats&amp;quot;, &amp;quot;Member&amp;quot;, users[i].member.tostring());
iniFile.setKey(&amp;quot;Stats&amp;quot;, &amp;quot;Rang&amp;quot;, users[i].rang.tostring());&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Сейчас сделаем команду чтобы дать лидерку&lt;br /&gt;Для этого в onPlayerCommand(playerid, command)&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 34.5em&quot;&gt;&lt;pre&gt;if(cmd[0] == &amp;quot;/makeleader&amp;quot;)
{
    if(users[playerid].admin != 5) return sendPlayerMessage(playerid, &amp;quot;[Ошибка] У Вас нет прав использовать эту команду&amp;quot;,COLOR_RED);
    if(cmd.len() &amp;lt; 3) return sendPlayerMessage(playerid, &amp;quot;[Ошибка] Использовать /leader [id игрока] [id организации]&amp;quot;,COLOR_RED);
    local id = cmd[1].tointeger();
    if(!isPlayerConnected(id)) return sendPlayerMessage(playerid, &amp;quot;[Ошибка] Игрока не подключен к серверу&amp;quot;,COLOR_RED);
    if(users[id].leader != 0) return sendPlayerMessage(playerid, &amp;quot;[Ошибка] Игрок уже является лидером&amp;quot;,COLOR_RED);
    if(users[id].leader == 0)
    {
    	local orgname, org = cmd[2].tointeger();
    	users[id].leader = org;
    	users[id].member = org;
    	users[id].rang = 5;
    	savePlayers();
    	if(org == 4) { orgname = &amp;quot;FDLC&amp;quot; }
         // else if(org == 1) { orgname = &amp;quot;PDLC&amp;quot; }
    	sendPlayerMessage(id, &amp;quot; Поздравляем вы стали лидером &amp;quot;+orgname, COLOR_LEMON);
    	sendPlayerMessage(playerid, &amp;quot; Вы назначили &amp;quot;+id+&amp;quot; лидером &amp;quot;+orgname, COLOR_LEMON);
    	onSpawn(id);
    }
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Можно также сделать рацию&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 31.5em&quot;&gt;&lt;pre&gt;if(cmd[0] == &amp;quot;/r&amp;quot;)
{
    local rang;
    local text = command.slice(cmd[0].len()+1, command.len());
    if(cmd.len() &amp;lt; 2) return sendPlayerMessage(playerid, &amp;quot;[Ошибка] Использовать /r [текст]&amp;quot;,COLOR_RED);
    if(users[playerid].member == 4)
    {
    	switch(users[playerid].rang)
    	{
        case 0: rang = &amp;quot;Стажер&amp;quot;;
        case 1: rang = &amp;quot;Рядовой&amp;quot;;
        case 2: rang = &amp;quot;Сержант&amp;quot;;
        case 3: rang = &amp;quot;Капитан&amp;quot;;
        case 4: rang = &amp;quot;Майор&amp;quot;;
        case 5: rang = &amp;quot;Полковник&amp;quot;;
    	}
    	sendFamilyMessage(4, &amp;quot;[FF6347AA][R][&amp;quot;+rang+&amp;quot;]&amp;quot;+getPlayerName(playerid)+&amp;quot;: [FFFFFFAA]&amp;quot;+text, COLOR_WHITE);
    }
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Сделаем спавн в Пожарной части&lt;br /&gt;В onPlayerSpawn(playerid)&lt;br /&gt;Немного изменим код, после else if(Logged[playerid] == 1)&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 18em&quot;&gt;&lt;pre&gt;if(users[playerid].member == 4)
    {
    	setPlayerColorName(playerid);
    	setPlayerCoordinates(playerid, 1101.108887, 1735.013794, 10.531218);
    }
    else 
    {
    	setPlayerColorName(playerid);
    	setPlayerCoordinates(playerid, 1054.174438, -544.445007, 19.206417);
    }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Сделаем цвет фракции&lt;br /&gt;Создадим функцию&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 15em&quot;&gt;&lt;pre&gt;function setPlayerColorName(playerid)
{
	switch(users[playerid].member)
	{
    case 0: return setPlayerColor(playerid, COLOR_WHITE);
    case 4: return setPlayerColor(playerid, COLOR_TOMATO);
	}
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;И в конце мода&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 13.5em&quot;&gt;&lt;pre&gt;function sendFamilyMessage(family, string, color)
{
	for(local i = 0; i &amp;lt; getPlayers().len(); i++) 
    { 
        if(users[i].member == family) sendPlayerMessage(i, string, color, true); 
    } 
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Во второй части сделаем Автомобили и далее в третей работу(Случайные пожары)&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Aleks_X)</author>
			<pubDate>Thu, 08 Aug 2013 20:55:11 +0400</pubDate>
			<guid>https://squirrel.hutt.live/viewtopic.php?pid=57#p57</guid>
		</item>
	</channel>
</rss>
