NoNameUltima

Боты - ИИ, ArmA 3 - A3. A3UAI

9 сообщений в этой теме

Возможности создания:

  • Наземные, пешие патрули
  • Наземные патрули на технике
  • Авиационные патрули
  • Морские патрули
  • Статичные ИИ сидящие за орудием
  • Парашютисты
  • Миссии


Конфигурации:
*Прикладываю скрипты, для ознакомления с настройками ИИ

  • Основное - время исчезновения тел, и т.п.
     
    Ultima_Server_Integer_AI_Delay_Body_Time					=	300;	//	Секунды	- через какой интервал времени будут исчезать тела ботов.
    Ultima_Server_Integer_AI_Player_Distance_To_Body_For_Delete	=	200;	//	Тело бота не будет удалено до тех пор, пока дистанция от тела бота, до ближайшего игрока меньше указанной.
    Ultima_Server_Integer_AI_Min_Player_To_Start				=	1;		//	Минимальное кол-во игроков, для запуска скриптов.
    Ultima_Server_Integer_AI_Diag_Level							=	4;		//	Уровень вывода диагностики от 0 до 4.
    Ultima_Server_String_AI_Techniks_Not_Save_In_BD				=	"Данная техника пропадет после рестарта!";	//	Текст который увидит игрок, при посадке в технику ИИ, если техника не сохраняется в БД.
    
  • Уровни навыков ИИ, для использования при создании.
     
    /*
    Скилы ботов
    	Array	Массив:
    		0	String	Строка	Наименование для подборки скилов ботов
    		1	Array	Массив	Скилы ботов
    			0	Real	Число с плавающей запятой	От 0 до 1	"aimingAccuracy"	Точность прицеливания
    			1	Real	Число с плавающей запятой	От 0 до 1	,"aimingShake"		Тряска прицела
    			2	Real	Число с плавающей запятой	От 0 до 1	,"aimingSpeed"		Скорость прицеливания
    			3	Real	Число с плавающей запятой	От 0 до 1	,"endurance"	    Выносливость
    			4	Real	Число с плавающей запятой	От 0 до 1	,"spotDistance"		.
    			5	Real	Число с плавающей запятой	От 0 до 1	,"spotTime"			.
    			6	Real	Число с плавающей запятой	От 0 до 1	,"courage"			Храбрость
    			7	Real	Число с плавающей запятой	От 0 до 1	,"reloadSpeed"		Скорость перезарядки
    			8	Real	Число с плавающей запятой	От 0 до 1	,"commanding"		.
    			9	Real	Число с плавающей запятой	От 0 до 1	,"general"			.
    Вы можете дополнять массив Ultima_Server_Constant_Array_AI_Skills, добавляя собственные подборки скилов
    */
    Ultima_Server_Array_AI_Skills	=
    	[
    		 [ "Ultima_AI_Skill_Hard",   [  1, 0.1,   1,   1,   1,   1,   1,   1,   1,   1] ]
    		,[ "Ultima_AI_Skill_Normal", [0.6, 0.5, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6] ]
    		,[ "Ultima_AI_Skill_Easy",   [0.4, 0.7, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4] ]
    	];
    

     

  • Объекты инвентаря техники, используемые при создании техники
     
    /*
    Объекты добавляемые в инвентарь техники
    	Array	Массив
    		0	String	Строка	Название массива
    		1	Array	Массив	МАССИВ ПРЕДМЕТОВ добавляемых в инвентарь техники
    				1-0	String	Строка	Объект
    				1-1	Integer	Целое	Количество
    				1-2	Boolean	Булево	Добавлять столько сколько указано, или случайным образом
    				1-3	Integer	Целое	Шанс
    		2	Array	Массив	МАССИВ МАГАЗИНОВ добавляемых в инвентарь техники
    				2-0	String	Строка	Объект
    				2-1	Integer	Целое	Количество
    				2-2	Boolean	Булево	Добавлять столько сколько указано, или случайным образом
    				2-3	Integer	Целое	Шанс
    		3	Array	Массив	МАССИВ ОРУЖИЯ добавляемого в инвентарь техники
    				3-0	String	Строка	Объект
    				3-1	Integer	Целое	Количество
    				3-2	Boolean	Булево	Добавлять столько сколько указано, или случайным образом. - True столько, сколько указано. False - случайно от 0, до стольки - сколько указано.
    				3-3	Integer	Целое	Шанс
    		4	Array	Массив	МАССИВ РЮКЗАКОВ добавляемых в инвентарь техники
    				4-0	String	Строка	Объект
    				4-1	Integer	Целое	Количество
    				4-2	Boolean	Булево	Добавлять столько сколько указано, или случайным образом. - True столько, сколько указано. False - случайно от 0, до стольки - сколько указано.
    				4-3	Integer	Целое	Шанс
    */	
    Ultima_Server_Array_AI_Techniks_Cargo_Objects	=
    	[
    		[
    			"Ultima_Server_Array_AI_Techniks_Cargo_Objects_Low"
    			,[
    				["Exile_Item_DuctTape", 1, false, 99]
    			]
    			,[
    				["30Rnd_65x39_caseless_mag", 1, true, 99]
    			]
    			,[
    				["arifle_MX_SW_F", 1, true, 99]
    			]
    			,[
    				["B_AssaultPack_sgg", 1, true, 99]
    			]
    		]
    		,[
    			"Ultima_Server_Array_AI_Techniks_Cargo_Objects_Middle"
    			,[
    				["ItemGPS", 2, false, 99]
    			]
    			,[
    				["30Rnd_65x39_caseless_mag", 4, true, 99]
    			]
    			,[
    				["arifle_MX_SW_F", 2, true, 99]
    			]
    			,[
    				["B_AssaultPack_sgg", 2, true, 99]
    			]
    		]
    	];
    

     

    *При создании техники(к примеру патрульной), можно указать ИД из конфигурации инвентаря - выбраный инвентарь будет добавлен в технику.

  • Настройки произвольных ИИ, - инвентарь, вооружение и т.п.
     
    //	Шанс на выдачу боту очков от 0 до 100
    Ultima_Server_Integer_AI_Allowed_Goggles_Chance	=	0;
    
    //	Разрешенные очки ботов ["очки", шанс]
    Ultima_Server_Array_AI_Allowed_Goggles	=
    	[
    		["G_Combat", 50]
    	];
    
    //	Шанс на выдачу боту головного убора от 0 до 100
    Ultima_Server_Integer_AI_Allowed_Headgear_Chance	=	99;
    
    //	Разрешенные головные уборы ботов ["головной убор", шанс]
    Ultima_Server_Array_AI_Allowed_Headgear	=
    	[
    		["H_HelmetB_camo", 99]
    	];
    
    //	Шанс на выдачу боту ПНВ от 0 до 100
    Ultima_Server_Integer_AI_Allowed_NVGoggles_Chance	=	50;
    	
    //	Разрешенные ПНВ ботов ["ПНВ", шанс]
    Ultima_Server_Array_AI_Allowed_NVGoggles	=
    	[
    		
    	];
    
    //	Шанс на выдачу боту бинокля от 0 до 100
    Ultima_Server_Integer_AI_Allowed_Binokular_Chance	=	50;
    	
    //	Разрешенные бинокли ботов ["бинокль", шанс]
    Ultima_Server_Array_AI_Allowed_Binokular	=
    	[
    		
    	];
    
    //	Разрешенная униформа ботов ["униформа", шанс] *Будет выдана одна 100%
    Ultima_Server_Array_AI_Allowed_Uniform	=
    	[
    		["U_B_GhillieSuit", 50]
    	];
    
    //	Шанс на выдачу боту разгрузки от 0 до 100
    Ultima_Server_Integer_AI_Allowed_Vest_Chance	=	50;
    	
    //	Разрешенные разгрузки ботов ["разгрузка", шанс]
    Ultima_Server_Constant_Array_AI_Allowed_Vest	=
    	[
    		["V_BandollierB_rgr", 10]
    	];
    
    //	Шанс на выдачу боту рюкзака от 0 до 100
    Ultima_Server_Integer_AI_Allowed_Backpack_Chance	=	99;
    
    //	Разрешенные рюкзаки ботов ["рюкзак", шанс]
    Ultima_Server_Array_AI_Allowed_Backpacks	=
    	[
    		["B_AssaultPack_sgg", 99]
    	];
    
    //	Максимальное кол-во выдаваемых приборов от 0 до 5
    Ultima_Server_Integer_AI_Allowed_AssignedItems_Count	=	5;
    
    //	Выдаваемые приборы ["Прибор", шанс выдачи]
    Ultima_Server_Array_AI_Allowed_AssignedItems	=
    	[
    		["ItemMap", 70]
    		,["ItemGPS", 5]
    		,["ItemRadio", 25]
    		,["ItemWatch", 25]
    		,["ItemCompass", 10]
    	];
    
    //	Разрешенное основное оружие ботов ["оружие", шанс] *Будет выдано одно 100%
    Ultima_Server_Array_AI_Allowed_Weapons_Primary	=
    	[
    		["arifle_MXC_F", 50]
    		,["arifle_MX_SW_F", 10]
    	];
    	
    //	Максимальное кол-во выдаваемых аксуссуаров для основного оружия от 0 до 4(глушитель, сошка, фонарик, прицел)
    Ultima_Server_Integer_AI_Allowed_Weapons_Primary_Accessoire_Count	=	4;
    	
    //	Разрешенные аксессуары основного оружия ботов ["аксессуар", шанс]
    //	После выдачи боту оружия - будет произведен отсев из данного списка. В списке остануться только подходящие к оружию аксессуары. Из подходящих будет выбрано соласно шансам.
    Ultima_Server_Array_AI_Allowed_Weapons_Primary_Accesoires_Chance	=
    	[
    		["muzzle_snds_L", 50]
    	];
    
    //	Шанс на выдачу боту вторичного оружия от 0 до 100
    Ultima_Server_Integer_AI_Allowed_Weapons_Handgun_Chance	=	50;
    	
    //	Разрешенное вторичное оружие ботов ["оружие", шанс]
    Ultima_Server_Array_AI_Allowed_Weapons_Handgun	=
    	[
    		["hgun_P07_F", 10]
    		,["hgun_Rook40_snds_F", 90]
    	];
    	
    //	Максимальное кол-во выдаваемых аксуссуаров для вторичного оружия от 0 до 4(глушитель, сошка, фонарик, прицел)
    Ultima_Server_Integer_AI_Allowed_Weapons_Handgun_Accessoire_Count	=	4;
    	
    //	Разрешенные аксессуары основного оружия ботов ["аксессуар", шанс]
    //	После выдачи боту оружия - будет произведен отсев из данного списка. В списке остануться только подходящие к оружию аксессуары. Из подходящих будет выбрано соласно шансам.
    Ultima_Server_Array_AI_Allowed_Weapons_Handgun_Accesoires_Chance	=
    	[
    		["muzzle_snds_L", 50]
    	];
    
    //	Шанс на выдачу РПГ боту
    Ultima_Server_Integer_AI_Allowed_Weapons_Secondary_Chance	=	99;
    	
    //	Разрешенные РПГ для ботов ["оружие", шанс]
    Ultima_Server_Array_AI_Allowed_Weapons_Secondary	=
    	[
    		["launch_RPG32_F", 99]
    	];
    	
    //	Максимальное кол-во выдаваемых аксуссуаров для РПГ оружия от 0 до 4(глушитель, сошка, фонарик, прицел)
    Ultima_Server_Integer_AI_Allowed_Weapons_Secondary_Accessoire_Count	=	4;
    	
    //	Разрешенные аксессуары РПГ оружия ботов ["аксессуар", шанс]
    //	После выдачи боту оружия - будет произведен отсев из данного списка. В списке остануться только подходящие к оружию аксессуары. Из подходящих будет выбрано соласно шансам.
    Ultima_Server_Array_AI_Allowed_Weapons_Secondary_Accesoires_Chance	=
    	[
    		["muzzle_snds_L", 50]
    	];
    
    /* ДОБАВЛЕНИЕ В ПРОСТРАНСТВО ИНВЕНТАРЯ(УНИФОРМУ, РАЗГРУЗКУ, РЮКЗАК) */
    
    //	Максимальное кол-во выдаваемых боту оружейных объектов
    Ultima_Server_Integer_AI_Allowed_Weapons_Count	=	2;
    
    //	Разрешенные оружейные объекты ботов. ["Объект", шанс]
    Ultima_Server_Array_AI_Allowed_Weapons	=
    	[
    		["hgun_P07_F", 99]
    	];
    
    //	Максимальное кол-во выдаваемых боту магазинов
    Ultima_Server_Integer_AI_Allowed_Magazines_Count	=	10;
    
    //	Разрешенные магазинные объекты ботов. ["Объект", шанс]
    Ultima_Server_Array_AI_Allowed_Magazines	=
    	[
    		["SmokeShellRed", 20]
    		,["HandGrenade", 20]
    		,["SmokeShellBlue", 90]
    	];
    
    //	Максимальное кол-во выдаваемых боту предметов
    Ultima_Server_Integer_AI_Allowed_Items_Count	=	6;
    	
    //	Разрешенные предметы ботов. ["Предмет", шанс]
    Ultima_Server_Array_AI_Allowed_Items	=
    	[
    
    	];
    	
    /* УДАЛЯЕМЫЕ, ИЛИ ЗАМЕНЯЕМЫЕ ОБЪЕКТЫ ПОСЛЕ СМЕРТИ БОТА) */	
    
    //	Удаляемые, или заменяемые объекты у ботов при смерти. ["Объект", чем заменить("" - ничем)].
    Ultima_Server_Array_AI_Change_Or_Delete_Objects	=
    	[
    		["NVGoggles", ""]
    		,["launch_RPG32_F", ""]
    	];
    

     

    *При создании произвольных ИИ, данные настройки определяют допустимый инвентарь и т.п.

  • Фиксированные ИИ(ИИ с жестко прописанным инвентарем, скилами и т.п.).
     
    /*
    Фиксированные боты
    	Array	Массив:	
    		0	String	Строка	Название типа бота											"Sniper"
    		1	String	Строка	Очки														""
    		2	String	Строка	Головной убор												""
    		3	String	Строка	ПНВ															""
    		4	String	Строка	Бинокль														""
    		5	Array	Массив	Устройства(assignedItems)									["ItemRadio"]
    		6	String	Строка	Униформа, чем заменить при смерти							"Bandit2_DZ"
    		7	String	Строка	Разгрузка													""
    		8	String	Строка	Рюкзак														""
    		9	String	Строка	Первичное оружие											""
    		10	String	Строка	Вторичное оружие											""
    		11	String	Строка	RPG															""
    		12	Array	Массив	Аксессуары первичного оружия								[]
    		13	Array	Массив	Аксессуары вторичного оружия								[]
    		14	Array	Массив	Аксессуары RPG												[]
    		15	Array	Массив	Оружие добавляемое в пространство инвентаря					[]
    		16	Array	Массив	Магазины добавляемые в пространство инвентаря				[]
    		17	Array	Массив	Предметы добавляемые в пространство инвентаря				[]
    		18	Array	Массив	Объекты удаляемые, или заменяемые после смерти бота			[ ["объект", "чем заменить"], [...] ]
    		19	String	Строка	Переменная - Уровень скилов, из Ultima_Server_Constant_Array_AI_Skills	"Ultima_AI_Skill_Hard"
    *Если при смерти бота, надо удалить объект инвентаря, а не заменить его, вставьте текст замены как: "".
    **Пример:	[ ["NVGoogles", ""] ]
    Вы можете дополнять массив Ultima_Server_Array_AI_Fixed, собственными ботами, с фиксированными настройками, исходя из правил заполнения массива
    */
    Ultima_Server_Array_AI_Fixed	=
    	[
    		[
    			"Sniper"
    			,"G_Spectacles"
    			,"rhs_beret_mp1"
    			,"rhsusf_ANPVS_15"
    			,"lerca_1200_black"
    			,[ "ItemMap","ItemCompass","Exile_Item_XM8","ItemRadio","ItemGPS" ]
    			,"rhsgref_uniform_ttsko_urban"
    			,"V_TacVest_blk"
    			,"B_Carryall_oucamo"
    			,"rhs_weap_svds_npz"
    			,""
    			,""
    			,[ "rhsusf_acc_LEUPOLDMK4_2" ]
    			,[]
    			,[]
    			,[]
    			,[ "rhs_10Rnd_762x54mmR_7N1", "rhs_10Rnd_762x54mmR_7N1", "rhs_10Rnd_762x54mmR_7N1", "rhs_10Rnd_762x54mmR_7N1" ]
    			,[ "Exile_Item_EMRE", "Exile_Item_PlasticBottleFreshWater", "Exile_Item_InstaDoc"]
    			,[]
    			,"Ultima_AI_Skill_Hard"
    		],
    		
    		[
    			"Soldier"
    			,"G_Spectacles"
    			,"rhs_beret_vdv2"
    			,"rhsusf_ANPVS_14"
    			,"Leupold_Mk4"
    			,[ "ItemMap","ItemCompass","Exile_Item_XM8","ItemRadio","ItemGPS" ]
    			,"rhs_uniform_vdv_flora"
    			,"rhs_6sh92_digi_headset"
    			,"rhs_assault_umbts"
    			,"rhs_weap_ak74m_gp25_npz"
    			,"rhs_weap_makarov_pmm"
    			,""
    			,[ "rhs_acc_dtk4short", "rhsusf_acc_ACOG2" ]
    			,[]
    			,[]
    			,[]
    			,[ "rhs_30Rnd_545x39_AK", "rhs_30Rnd_545x39_AK", "rhs_30Rnd_545x39_AK", "rhs_30Rnd_545x39_AK", "rhs_30Rnd_545x39_AK", "rhs_VOG25", "rhs_VOG25", "rhs_VOG25" ] 
    			,[ "Exile_Item_EMRE", "Exile_Item_PlasticBottleFreshWater", "Exile_Item_Vishpirin" ]
    			,[ [], [] ]
    			,"Ultima_AI_Skill_Hard"
    		],
    		
    		[
    			"Launcher"
    			,"G_Spectacles"
    			,"H_HelmetB_camo"
    			,""
    			,""
    			,[ "ItemMap", "ItemCompass" ]
    			,"U_O_GhillieSuit"
    			,"V_BandollierB_khk"
    			,"B_AssaultPack_Base"
    			,"srifle_GM6_camo_F"
    			,"hgun_P07_snds_F"
    			,"launch_RPG32_F"
    			,[ "muzzle_snds_338_black" ]
    			,[ "muzzle_snds_L" ]
    			,[]
    			,[ "hgun_P07_snds_F" ]
    			,[ "10Rnd_338_Mag", "10Rnd_338_Mag" ]
    			,[]
    			,[ ["launch_RPG32_F", ""], ["U_O_GhillieSuit", "U_B_CombatUniform_mcam"] ]
    			,"Ultima_AI_Skill_Hard"
    		]
    	];
    

     

    *При создании ИИ можно использовать произвольных ИИ, - все их настройки будут определены произвольно, из конфигах, в пределах допустимого, или создавать фиксированных - с жестко заданными настройками.

  • Настройки парашютистов
     
    //	Разрешенная авиационная техника ИИ ["ИД техники", шанс]
    Ultima_Server_Array_AI_Allowed_Techniks_Paraspawn				=
    	[
    		["B_Heli_Transport_01_F", 60]
    	];
    /*
    Конфигурации патрулей
    	Array	Массив
    		0	String			Строка			Техника патруля, или RANDOM, если брать из списка разрешенной.
    		1	Array			Массив			Точка появления.
    		2	Array			Массив			Точка высадки парашютистов.
    		3	Array			Массив			Точка исчезновения.
    		4	Integer			Целое			Радиус достижения, точки высадке парашютистов.
    		5	Integer			Целое			Минимальное кол-во парашютистов.
    		6	Integer			Целое			Максимальное кол-во парашютистов.
    		7	Boolean			Булево			Неуязвимость техники.
    		8	String\Array	Строка\Массив	Тип ИИ патруля - RANDOM или фиксированные. Если фиксированные - массив ботов, с перечислением типов - будут созданы в порядке очереди по элементам массива.
    		9	Integer			Целое			Сколько репутации давать за убийство ИИ.
    		10	Boolean			Булево			true - Выдавать репутацию случайно, от 0, до стольки - сколько указано в _reputation, или - false, ровно столько, сколько указано в _reputation.
    */
    Ultima_Server_Array_AI_Patrols_Paraspawn						=
    	[	
    		[
    			"B_Heli_Transport_03_F"
    			,[5000, 8031, 700]
    			,[10466, 8031, 700]
    			,[15000, 15000, 700]
    			,100
    			,10
    			,20
    			,true
    			,"RANDOM"
    			,5
    			,true
    		]
    	];
    

     

  • Пешие патрули
     
    Ultima_Server_Integer_AI_Patrols_Walking_Delay_Start_Spawn		=	20;		//	Время от старта сервера, до запуска скрипта создания наземных патрулей.
    Ultima_Server_Integer_AI_Patrols_Walking_Delay_Respawn_Min		=	60;	//	Минимальное время воссоздания патруля.
    Ultima_Server_Integer_AI_Patrols_Walking_Delay_Respawn_Random	=	60;		//	Случайный интервал времени, прибавляемый к минимальному времени создания патруля.
    /*
    Конфигурации патрулей
    	Array	Массив
    		0	Строка\Массив	Точка появления - RANDOM, или заданная точка.
    		1	Целое			Безопасный радиус при спавне в случайной точке. - При поиске точки спавна, в пределах данного радиуса не будет игроков.
    		2	Массив			Прямоугольники исключенные из спавна - [ [x,y, x1,y1], [x,y, x1,y1] ]. - каждый массив: верхняя левая точка прямоугольника, нижняя правая точка прямоугольника.
    		3	Строка\Массив	Путь патрулирования - RANDOM, или массив точек. Если RANDOM, используется радиус патрулирования, и кол-во точек патрулирования.
    		4	Целое			Радиус патрулирования(только для RANDOM пути патрулирования).
    		5	Целое			Кол-во точек патрулирования(только для RANDOM пути патрулирования).
    		6	Целое			Минимальное кол-во ботов в патруле. Если отличается от п.4 - кол-во будет подобрано случайно, от п.3 до п.4. Если одинаковое кол-во - будут созданы столько, сколько указано.
    		7	Целое			Максимальное кол-во ботов в патруле. Если отличается от п.3 - кол-во будет подобрано случайно, от п.3 до п.4. Если одинаковое кол-во - будут созданы столько, сколько указано.
    		8	Строка\Массив	Тип ботов патруля - RANDOM или фиксированные. Если фиксированные - массив ботов, с перечислением типов - будут созданы в порядке очереди по элементам массива.
    		9	Целое			Сколько репутации давать за бота.
    		10	Булево			true - Выдавать репутацию случайно, от 0, до стольки - сколько указано в _reputation, или - false, ровно столько, сколько указано в _reputation.
    ["RANDOM", 500, [ [0,0, 10,10] ], "RANDOM", 100, 5, 2, 5, "RANDOM", 3, true]
    */
    Ultima_Server_Array_AI_Patrols_Walking	=
    	[
    		 [[20709, 7207, 0], 100, [], "RANDOM" , 100, 0, 3, 5, ["Sniper"], 5, false]
    		,[[11926, 7814, 0], 100, [], [ [11926, 7814], [11880, 7361] ], 0, 0, 3, 5, ["Soldier"], 5, false]
    		,[[11908, 7270, 0], 100, [], [ [11908, 7270], [11548, 6999] ], 0, 0, 3, 5, ["Soldier"], 5, false]
    	];
    

     

  • Патрули наземные, на технике
     
    Ultima_Server_Integer_AI_Patrols_Car_Delay_Start_Spawn		=	20;		//	Время от старта сервера, до запуска скрипта создания патрулей.
    Ultima_Server_Integer_AI_Patrols_Car_Delay_Respawn_Min		=	600; 	//	Минимальное время воссоздания патруля.
    Ultima_Server_Integer_AI_Patrols_Car_Delay_Respawn_Random	=	60;		//	Случайный интервал времени, прибавляемый к минимальному времени создания патруля.
    //	Разрешенная наземная техника ИИ ["ИД техники", шанс]
    Ultima_Server_Array_AI_Allowed_Vehicle_Car	=
    	[
    		["O_MRAP_02_hmg_F", 60]
    	];
    /*
    Конфигурации патрулей
    	Array	Массив
    		0	String			Строка			Техника патруля, или RANDOM, если брать из списка разрешенной.
    		1	String\Array	Строка\Массив	Точка появления - RANDOM или заданная точка.
    		2	Integer			Целое			Безопасный радиус при спавне в случайной точке. - При поиске точки спавна, в пределах данного радиуса не будет игроков.
    		3	Array			Массив			Прямоугольники исключенные из спавна - [ [x,y, x1,y1], [x,y, x1,y1] ]. - каждый массив: верхняя левая точка прямоугольника, нижняя правая точка прямоугольника.
    		4	String\Array	Строка\Массив	Путь патрулирования - RANDOM, или массив точек. Если RANDOM, используется радиус патрулирования.
    		5	Integer			Целое			Радиус патрулирования. Только для случайного пути патрулирования. *Не менее 10!
    		6	Integer			Целое			Кол-во стрелков в технике.
    		7	Integer			Целое			Минимальное кол-во пассажиров в технике.
    		8	Integer			Целое			Максимальное кол-во пассажиров в технике.
    		9	String\Array	Строка\Массив	Тип ИИ патруля - RANDOM или фиксированные. Если фиксированные - массив ботов, с перечислением типов - будут созданы в порядке очереди по элементам массива.
    		10	Integer			Целое			Сколько репутации давать за убийство ИИ.
    		11	Boolean			Булево			true - Выдавать репутацию случайно, от 0, до стольки - сколько указано в _reputation, или - false, ровно столько, сколько указано в _reputation.
    		12	String			Строка			Имя массива из Ultima_Server_Array_AI_Techniks_Cargo_Objects объектов, и оружия добавляемого в инвентарь техники.
    		13	Boolean			Булево			Водителю разрешено покидать водительское место? true - да. false - нет.
    		14	Boolean			Булево			Игрокам разрешено садится в данную технику? true - да. false - нет.
    		15	Boolean			Булево			Сохранять технику в БД, при посадке в нее игрока.
    *Если при создании патруля, кол-во стрелков ИИ в технике превышает кол-во мест для стрелков, - кол-во ИИ будет ограничено до максимально допустимого.
    [
    			"RANDOM"
    			,"RANDOM"
    			,500
    			,[ [[10,10,0], [10,100,0]] ]
    			,"RANDOM"
    			,1000
    			,3
    			,3
    			,5
    			,"RANDOM"
    			,5
    			,true
    			,"Ultima_Server_Array_AI_Techniks_Cargo_Objects_Low"
    			,true
    			,true
    			,false
    		]
    */
    Ultima_Server_Array_AI_Patrols_Car	=
    	[
    		[
    			"rhs_btr80a_vdv"
    			,[20681, 7134, 0]
    			,500
    			,[]
    			,"RANDOM"
    			,100
    			,5
    			,5
    			,7
    			,["Soldier"]
    			,5
    			,true
    			,"Ultima_Server_Array_AI_Techniks_Cargo_Objects_Low"
    			,true
    			,true
    			,true
    		]
    		/*,[
    			"O_MRAP_02_hmg_F"
    			,[10562, 7375, 0]
    			,500
    			,[]
    			,[ [10562, 7375], [10521, 8057] ]
    			,0
    			,10
    			,10
    			,10
    			,["Sniper"]
    			,5
    			,true
    			,"Ultima_Server_Array_AI_Techniks_Cargo_Objects_Low"
    			,true
    			,true
    			,true
    		]
    		,[
    			"O_MRAP_02_hmg_F"
    			,[10563, 8100, 0]
    			,500
    			,[]
    			,[ [10563, 8100], [11501, 8425] ]
    			,0
    			,10
    			,10
    			,10
    			,["Sniper"]
    			,5
    			,true
    			,"Ultima_Server_Array_AI_Techniks_Cargo_Objects_Low"
    			,true
    			,true
    			,true
    		] */
    	];
    

     

  • Авиационные патрули *Схожие с наземными
  • Морские патрули *Схожие с наземными
  • Статичные ИИ сидящие за орудиями *Схожие с наземными
  • Миссии
     
    Ultima_Server_Integer_AI_Missions_Delay_Start_Spawn		=	20;		//	Время от старта сервера, до запуска скрипта создания миссий.
    Ultima_Server_Integer_AI_Missions_Delay_Respawn_Min		=	60;		//	Минимальное время воссоздания миссии.
    Ultima_Server_Integer_AI_Missions_Delay_Respawn_Random	=	60;		//	Случайный интервал времени, прибавляемый к минимальному времени воссоздания миссии.
    Ultima_Server_Integer_AI_Missions_Min_Count				=	2;		//	Минимальное кол-во миссий
    Ultima_Server_Integer_AI_Missions_Max_Count				=	4;		//	Максимальное кол-во миссий
    Ultima_Server_Array_AI_Missions_Coords					=			//	Координаты появления миссий
    	[
    		[500, 500]
    		,[700, 700]
    	];
    Ultima_Server_Array_AI_Missions_Coords_Blocked			=			//	Исключаемые области для миссий появляющихся в случайных координатах
    	[
    		[ [0, 0], [100, 100] ]
    		,[ [200, 200], [300, 300] ]
    	];
    
    /*
    	0	String	Строка	Тип ящика, или "RANDOM", если случайно подбирать тип ящика
    	1	Array	Массив	Инвентарь ящика.
    		0	Объект
    		1	Минимальное кол-во в ящике
    		2	Максимальное кол-во в ящике
    		3	Шанс добавления данного типа объекта в ящике
    */
    
    /*
    	0	String			Строка			Внутреннее, уникальное имя миссии.
    	1	Integer			Целое			Максимальное кол-во миссий данного типа на карте.
    	2	Integer			Целое			Шанс появления данной миссии.
    	3	String			Строка			Оповещение о старте миссии.
    	4	String			Строка			Оповещение о завершении миссии.
    	5	Array			Массив			Маркер текста на карте ["Форма", "Тип", "Цвет", "Кисть", "Текст", "Размер"]
    	6	Array			Массив			Маркер области на карте ["Форма", "Тип", "Цвет", "Кисть", "Текст", "Размер"]
    	7	Integer\String	Целое\Строка	Индекс из массива Ultima_Server_Array_AI_Missions_Coords, или "RANDOM", для произвольных координат создания миссии.
    	8	Integer			Целое			Радиус от центра миссии, до ближайшего игрока, для завершения миссии.
    	9	Array			Массив			Индекс ящика + индекс лута из массивов Ultima_Server_Array_Objects_Boxes и Ultima_Server_Array_Objects_Loot_For_Boxes для создания ящиков с лутом.
    	10	Integer			Целое			Создавать ящики из п.9 столько сколько есть в массиве - true, или false - произвольно, от 0 до кол-ва в массиве.
    	11	Array			Массив			Массив объектов антуража(здания, обломки и т.п.) которые будут созданы при старте миссии, и случаным образом расставлены от центра миссии. [ ["Объект", минимум, среднее, максимум] ]
    	12	Array			Массив			Массив: техника без ИИ спавнящейся на миссии, ее инвентарь, топливо, аммуниция, сохранять в БД.. [ ["OBJECT", "INVENTORY", FUEL, AMMO, SAVEBD] ]
    	13	Boolean			Булево			Создавать технику из п.12 столько сколько есть в массиве - true, или false - случайно от 0 до кол-ва в массиве.
    	14	String\Array	Строка\Массив	Тип ИИ на миссии из массива Ultima_Server_Array_AI_Fixed, или "RANDOM", для произвольных ИИ.
    	15	Integer			Целое			Минимальное кол-во ИИ на миссии.
    	16	Integer			Целое			Максимальное кол-во ИИ на миссии.
    	17	Array			Массив			Массив ИИ создаваемых для миссии, которые будут посажены за статичное орудие - [ ["RANDOM", "ПУЛЕМЕТ"] ]
    	18	Integer			Целое			Минимальное кол-во ИИ посаженых за статичное орудие.
    	19	Integer			Целое			Максимальное кол-во ИИ посаженных за статичное орудие.
    	20	Array			Массив			Наземная техника с ИИ создаваемая для миссии. [ ["RANDOM", "Техника1", разрешена посадка ироков, сохранять в БД при посадке игрока] ]
    	21	Integer			Целое			Минимальное кол-во наземной техники.
    	22	Integer			Целое			Максимальное кол-во наземной техники.
    	23	Array			Массив			Авиационная техника с ИИ создаваемая для миссии. [ ["RANDOM", "Техника1", разрешена посадка ироков, сохранять в БД при посадке игрока] ]
    	24	Integer			Целое			Минимальное кол-во авиационной техники.
    	25	Integer			Целое			Максимальное кол-во авиационной техники.
    	26	Integer			Целое			Кол-во репутации, выдаваемое за убийство ИИ на миссии.
    	27	Boolean			Булево			Выдавать репутацию произвольно, от 0, до столько - сколько указано, или фиксированно - ровно столько, сколько указано. false - Произвольно.
    	28	Integer			Целое			Кол-во ИИ в % после уничтожения которых прилетит авиа техника и сбросит парашютистов. -1: отключено.
    	29	Integer			Целое			Индекс из массива Ultima_Server_Array_AI_Patrols_Paraspawn, для высадки параштистов, если п. не равен -1.
    		
    */
    Ultima_Server_Array_AI_Missions							=			//	Миссии
    	[
    		[
    			"MISSION_1_"																									//	0
    			,1																												//	1
    			,100																											//	2
    			,"Старт миссии 1"																								//	3
    			,"Миссия 1 завершена"																							//	4
    			,["", "mil_dot", "ColorRed", "", "Миссия 1", ""]																//	5
    			,["ELLIPSE", "", "ColorGUER", "Solid", "", [300, 300]]															//	6
    			,"RANDOM"																										//	7
    			,50																												//	8
    			,[ ["RANDOM", "RANDOM"] ]																						//	9
    			,true																											//	10
    			,[ ["Land_Pallet_F", 6, 12, 24], ["Land_Metal_rack_F", 2, 4, 6] ]												//	11
    			,[ ["RANDOM", "RANDOM", 0.5, true, false], ["RANDOM", "RANDOM", 0.5, true, false] ]								//	12
    			,false																											//	13
    			,"RANDOM"																										//	14
    			,10																												//	15
    			,20																												//	16
    			,[ ["RANDOM", "RANDOM"] ]																						//	17
    			,2																												//	18
    			,3																												//	19
    			,[ ["RANDOM", "RANDOM", false, false] ]																			//	20
    			,1																												//	21
    			,2																												//	22
    			,[ ["RANDOM", "RANDOM", true, true] ]																			//	23
    			,1																												//	24
    			,1																												//	25
    			,5																												//	26
    			,false																											//	27
    			,10																												//	28
    			,0																												//	29
    		]
    	];
    
    

     


Краткое описание:
Вы можете создавать патрули и миссии на сервере, задавая им, как произвольные точки создания, так и фиксированные. ИИ в патрулях могут быть так же - произвольными - их инвентарь, уровень скилов и т.п. будут зависеть от допустимых параметров которые Вы задали в конфигурации, или фиксированными - с жестко прописанными параметрами.
Вы можете отдельно создавать любых ИИ.
Вы можете выставить высокий уровнь отладки, для отслеживания на карте и в жураналах всех изменений, выбраных настроек, маршрутов ИИ и т.д. и т.п.

Ньюансы и особенности:
ИИ не предназначены, для какого то определенного мода(вернее, писались они для моего мода, но без каких либо привязок и существенных особенностей), => оповещения(й) о старте миссии(й), при посадке в технику, - не будет(можно добавить самостоятельно, - исходя из мода, который вы используете), а так же не будет сохранения техники ИИ в БД, после захвата ее игроком, хотя такая настройка есть, - можно добавить сохранение самостоятельно, исходя из мода, который Вы используете.
Оповещения и сохранение в БД прокоментированы в файлах - технически это 2 строки.
ИИ ставились, как есть на мод EXILE, и работали без каких либо проблем.

Вместе с ИИ идут несколько скриптов, которые Вы можете использовать отдельно, - в частности - Создание ящиков с инвентарем, временем возрождения лута и т.д. и т.п. - настроек там за глаза...

Прикладываю скриншот, с отладки:

 

 

AI_debug.jpg



И часть RPT:

 

 

0:40:31 "[#Ultima]: [ИИ]: [Менеджер пеших ИИ]: Группа: B Alpha 1-2. Живых ИИ: 3."
 0:40:31 "[#Ultima]: [ИИ]: [Менеджер пеших ИИ]: Группа: B Alpha 3-1. Живых ИИ: 3."
 0:40:31 "[#Ultima]: [ИИ]: [Менеджер пеших ИИ]: Группа: B Alpha 4-1. Живых ИИ: 3."
 0:40:31 "[#Ultima]: [ИИ]: [Менеджер пеших ИИ]: Живых групп: 3. Ожидают пересоздания: 0."
 0:40:31 "[#Ultima]: [ИИ]: [Менеджер авто ИИ]: Группа: B Alpha 1-3. Живых ИИ: 5."
 0:40:31 "[#Ultima]: [ИИ]: [Менеджер авто ИИ]: Группа: B Alpha 4-2. Живых ИИ: 5."
 0:40:31 "[#Ultima]: [ИИ]: [Менеджер авто ИИ]: Группа: B Bravo 1-1. Живых ИИ: 5."
 0:40:31 "[#Ultima]: [ИИ]: [Менеджер авто ИИ]: Живых групп: 3. Ожидают пересоздания: 0."
 0:40:31 "[#Ultima]: [ИИ]: [Менеджер авиа ИИ]: Группа: B Alpha 2-1. Живых ИИ: 10."
 0:40:31 "[#Ultima]: [ИИ]: [Менеджер авиа ИИ]: Группа: B Alpha 4-3. Живых ИИ: 10."
 0:40:31 "[#Ultima]: [ИИ]: [Менеджер авиа ИИ]: Живых групп: 2. Ожидают пересоздания: 0."
 0:40:31 "[#Ultima]: [ИИ]: [Менеджер морских ИИ]: Группа: B Alpha 2-2. Живых ИИ: 2."
 0:40:31 "[#Ultima]: [ИИ]: [Менеджер морских ИИ]: Группа: B Alpha 3-3. Живых ИИ: 2."
 0:40:31 "[#Ultima]: [ИИ]: [Менеджер морских ИИ]: Живых групп: 2. Ожидают пересоздания: 0."
 0:40:31 "[#Ultima]: [ИИ]: [Менеджер орудийных ИИ]: Группа: B Alpha 2-3. Живых ИИ: 1."
 0:40:31 "[#Ultima]: [ИИ]: [Менеджер орудийных ИИ]: Живых групп: 1. Ожидают пересоздания: 0."
 0:40:31 "[#Ultima]: [ИИ]: [Менеджер миссий]: Всего запущено миссий: 1"
 0:40:31 "[#Ultima]: [ИИ]: [Менеджер миссий]: Миссия: MISSION_1_"

 

 

 

0:39:55 "[#Ultima]: [ИИ]: [Создание ИИ]: [0]: Группа: B Alpha 2-1. Тип: Sniper. Репутация: 5. Случайная репутация: true."
 0:39:55 "[#Ultima]: [ИИ]: [Создание ИИ]: [0]: ИИ определен как фиксированный. Определение типа..."
 0:39:55 "[#Ultima]: [ИИ]: [Создание ИИ]: [0]: Определение типа завершено. Тип: Sniper."
 0:39:55 "[#Ultima]: [ИИ]: [Создание ИИ]: [0]: Данные для создания:"
 0:39:55 "[#Ultima]: [ИИ]: [Создание ИИ]: [0]: Очки: G_Spectacles"
 0:39:55 "[#Ultima]: [ИИ]: [Создание ИИ]: [0]: Головной убор: H_HelmetB_camo"
 0:39:55 "[#Ultima]: [ИИ]: [Создание ИИ]: [0]: ПНВ: "
 0:39:55 "[#Ultima]: [ИИ]: [Создание ИИ]: [0]: Бинокль: "
 0:39:55 "[#Ultima]: [ИИ]: [Создание ИИ]: [0]: Присоединяемые предметы: ["ItemMap","ItemCompass"]"
 0:39:55 "[#Ultima]: [ИИ]: [Создание ИИ]: [0]: Униформа: U_O_GhillieSuit"
 0:39:55 "[#Ultima]: [ИИ]: [Создание ИИ]: [0]: Разгрузка: V_BandollierB_khk"
 0:39:55 "[#Ultima]: [ИИ]: [Создание ИИ]: [0]: Рюкзак: B_AssaultPack_Base"
 0:39:55 "[#Ultima]: [ИИ]: [Создание ИИ]: [0]: Основное оружие: srifle_GM6_camo_F"
 0:39:55 "[#Ultima]: [ИИ]: [Создание ИИ]: [0]: Вторичное оружие: hgun_P07_snds_F"
 0:39:55 "[#Ultima]: [ИИ]: [Создание ИИ]: [0]: РПГ: launch_RPG32_F"

 

 

 

0:39:52 "[#Ultima]: [ИИ]: [Создание авто ИИ]: [1]: Добавление инвентаря техники: Ultima_Server_Array_AI_Techniks_Cargo_Objects_Low"
 0:39:52 "[#Ultima]: [ИИ]: [Добавление объектов в технику]: [1]: Попытка добавить в инвентарь объект - предмет: ["Ultima_Server_Array_AI_Techniks_Cargo_Objects_Low",[["ItemGPS",4,false,99]],[["30Rnd_65x39_caseless_mag",4,true,99]],[["arifle_MX_SW_F",4,true,99]],[["B_AssaultPack_sgg",4,true,99]]]."
 0:39:52 "[#Ultima]: [ИИ]: [Добавление объектов в технику]: [1]: Добавляем в инвентарь техники: 4d3b1600# 1814314: mrap_02_hmg_f.p3d, объект - предмет: ItemGPS, в кол-ве: 2."
 0:39:52 "[#Ultima]: [ИИ]: [Добавление объектов в технику]: [1]: Объект - предмет: ItemGPS, добавлен в инвентарь: 4d3b1600# 1814314: mrap_02_hmg_f.p3d, в кол-ве: 1."

 



Стоимость скриптов ИИ: 2000

Изменено пользователем NoNameUltima (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Забронировать это рекламное место


Поддержка НС для Exile есть?

Ты имеешь ввиду, - вместо сервера запустить на HC?

Если исключить сохранение техники в БД, с миссий(хотя я не знаю на кой хер вообще надо технику с миссий в БД сохранять - при посадке игрока разумеется, но все равно - захламление), то - проблем вроде никаких не должно быть - берем и ставим на HC все скрипты.

Сам не проверял, но все точно должно работать, ибо разницы никакой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добавлено:

  • Репутация для мода Exile
  • Сохранение техники ИИ в БД, для мода Exile(при посадке игрока - опционально, - задается в конфигурации).
  • Конфигурация ИИ - принадлежность к стороне(WEST\EAST и т.п.).

Изменено:

  • Упрощены настройки массива объектов, которые можно добавлять в создаваемую технику ИИ.

*Еще раз повторюсь - мод не играет роли, т.к. ИИ писались для А3(технические ньюансы модов (сообщения игрокам, награды, сохранение техники в БД), можно учесть самостоятельно.

 

P.S.

Попрошу отписать, тех кто юзает этих ИИ

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попробовал все существующие ai на мод exile,однозначно гораздо более гибкие в настройке,а уж поведение самих ботов не сравнить с теми же dms) например стрельба из рпг,это что то))) огонь на подавление и т п) есть конечно и минусы,не фризят(но как я понимаю у ультимы на счет этого свое мнение,хотя можно в паре с дмс,дмс будет фризить)) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добавлено:

  • Наличные для ИИ(ботов) Exile, задаются опционально.

Изменено:

  • Упрощены настройки массива для маркеров карты, теперь можно оставлять массив пустым, если маркер не нужен.

*Еще раз повторюсь - мод не играет роли, т.к. ИИ писались для А3(технические ньюансы модов (сообщения игрокам, награды, сохранение техники в БД), можно учесть самостоятельно.

Изменено пользователем NoNameUltima (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Исправлено(для Exile):

  • Баг, когда техника ИИ после захвата и сохранения в БД, не могла быть закрыта до рестарта.

 

Изменено пользователем NoNameUltima (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Похожие публикации

    • Автор: BorizzK
      Накатал по быстрому для себя и своих ребят от нефиг делать, тк в командировке и дейзить возможности нет, только удаленно ковырять сервер
      Внутри настройки через переменные
      путь к базе сервера и инстанс ид берет из конфига сервера (нужно настроить имя файла и путь в файле)
      Мониторит сервер по названию окна, сохранив pid
      При вылете в 90% случаев корректно убивает процесс
      При перезапуске так же
      При каждом старте с 0 и при перезапусках делает бэкапы баз/настроек/логов в папку !Backup в корне сервера
      Можно настроть кол-во хранимых бэкпов для базы сервера и логов

      Вобщем заглянете внутрь и все поймете
       
      Вдруг кому пригодится
       
      Закрепляю тут краний боевой вариант
      Что к чему - прочтите всю тему и все станет ясно
       
      Сцыл на стрницу темы с крайней версией заточенной на использование с версией 1.04 и параметром -servermod
       
      Крайняя версия
       
    • Автор: NoNameUltima
      Автор: Я.
      Модификация банка, для DayZ Standalone для мода торговли(Trader)
       
      Мод позволяет:
      Снимать деньги со счета. Вносить деньги на счет. Переводить средства из банка, в банк другого игрока, даже если он не в сети( по UID )  
      Настройки серверной части:
      Точки в которых доступен банк. Радиус в котором доступен банк(от центра точки - см. выше). Горячая клавиша вызывающая на клиентской стороне меню банкомата. Папку профиля для хранения данных о банковских балансах игроков.  
      *Мод автоматически производит обмен валюты по номиналу, при внесении, или изъятии денежных средств.
      *Клиентскую часть можно скачать в STEAM.
      *Для подключения серверной части, - достаточно закинуть ее в папку сервера, и указать папку для хранения баланса.
       
      Цена: 1500
       
      Контакты:
      Skype: hf-trade  
      STEAM: https://steamcommunity.com/sharedfiles/filedetails/?id=1714035636
      Видео работы:
       
       
      Серверная часть, подключается как -serverMod=
    • Автор: NoNameUltima
      Автор:
      Я. Версия админки:
      v.0.0.2  
      Описание:
      Админка поставляется с ключами, и подписями. Админка разделена на 2 части - клиентская, и серверная. Так же работает в оффлайн режиме.  
      Для установки админки, необходимо:
      На сервере подключить серверный мод. На сервере подключить клиентский мод. На сервере скопировать ключ из клиентского мода, и поместить в папку keys сервера. На клиенте добавить клиентский мод. В конфигурационный файл администрации прописать UID(ы) администраторов и модераторов.  
      Рабочие пункты админки:
       
      Отображение в 3D(ESP до 100м)
      Игроки. Зомби. Техника. Постройки. Объекты. Отображение на карте(в радиусе игрока до 100м):
      Игроки. Зомби. Техника. Постройки. Объекты. НПЦ. Сервер:
      Установка времени на сервере. Установка погоды на сервере(В бете). Собственные:
      Телепорт по векторам(4 - по направлению взгляда. 5 - вверх). Телепорт по карте. Неуязвимость. Бесконечный БК. Невидимость. Защита от зомби. Игроки:
      Телепорт игрока к администратору. Телепорт администратора к игроку. Телепорт в заданные координаты. Лечение. Очистка инвентаря. Выдача БК к текущему оружию(в руках). Заблокировать. Разблокировать. Убить. Отсоединить. Забанить(свой файл банов по UID) Создание объектов:.
      Фильтр при выборе раздела создания предметов(поиск по имени класса).  
      Другое:
      Админская карта. Дебаг монитор. Информационный виджет. Удаление объектов.(только при включенном дебаге - отображающем объект в прицеле).  
      Горячие клавиши:
      [        -     Вызов панели администратора. HOME     -     Вкл\Выкл отображения полосы отладки. DELETE    -    Удаление объекта в прицеле. 4        -    Телепорт по направлению взгляда. 5        -    Телепорт вверх.  
      Сообщения:
      Вывод сообщений игрокам, о действиях модератора(если в админке UID указан, как UID модератора).  
      Журналы:
      Действия администрации.  
      Стоимость:
      3500  
      Видео:( ВНИМАНИЕ! В ВИДЕО, ВНУТРИ ПАНЕЛИ АДМИНИСТРАТОРА, РАБОТАЮТ ТОЛЬКО ТЕ ПУНКТЫ КОТОРЫЕ УКАЗАНЫ ВЫШЕ! ОСТАЛЬНЫЕ ПУНКТЫ ДОБАВЛЕНЫ НА БУДУЩЕЕ, И МОГУТ БЫТЬ ИЗМЕНЕНЫ)
      P.S. Обновления платные - 25% от стоимости админки.
      Скайп: hf-trade
    • Автор: NoNameUltima
      Автор: NoNameUltima
      v. 0.1.7
      Стоимость: 2500
       
      Мод предоставляется в двух частях:
      Клиентский мод(для игроков). Ключи и подписи, присутствуют(При необходимости изменения содержимого - ключ и подписи можно переделать). Серверный мод(только для сервера). *Моды связанны между собой.
       
      Что присутствует:
       
      Дебаг монитор *Есть настройка в конфигурации - отображать, или нет монитор при заходе на сервер.
      **Кнопка вкл\выкл настраивается в конфигурации
      За убийство зомби, повышается счетчик убийств зомби. За убийство зомби, начисляются наличные(кол-во настраивается в конфигурации). При смерти игрока, наличные остаются в трупе.(Забрать можно). За убийство игрока, повышается счетчик убийств людей. Метки на карте с указанием торговых зон. Стартовое приветствие игроков. ПНВ работающий от батарейки. Панель игрока Зараженные зоны. Стартовый инвентарь для игроков(по UID'ам, и общий). Стартовые позиции для игроков(по UID'ам, и случайные для тех кого нет в списке). Статичные постройки на карте(загрузка из класса). Создание коробок с содержимым. Команды чата:  
      Доп. статичные функции:  
      skype: hf-trade
       
      P.S. Обновления платные(для тех кто приобретал мод ранее: 25% от общей стоимости, до актуальной версии).
      P.S.P.S. Весь функционал является БЕТА-ВЕРСИЕЙ!
    • Автор: 123new
      Нам понадобится:
      1. Сервер DayZ Standalone (см. тему вот эту)
      2. Notepad++: бесплатно на оф. сайте
      3. Немного времени и настойчивости (обычно бывает в комплекте и так)
       
      И так, начинаем:
      1. Открываем блокнотом mpmissions\dayzOffline.chernarusplus\init.c
      P.S. Имя папки dayzOffline.chernarusplus у вас может отличаться, будьте внимательны
      2. В начале файла добавляем:
      static int time_repeat_info_players = 10; //in seconds static string file_name_info_players = "$profile:PlayersLogFile.txt"; static void WriteFile(string file_name, string text) { private FileHandle fhandle; if ( !FileExist(file_name) ) { fhandle = OpenFile(file_name, FileMode.WRITE); } else { fhandle = OpenFile(file_name, FileMode.APPEND); } if ( fhandle == 0 ) { Print("[#Запись_в_файл]: Не удалось открыть файл для записи: " + file_name); Print("[#Запись_в_файл]: [Запись]: " + text); return; } FPrintln(fhandle, text); CloseFile(fhandle); } static void WritePlayersInfo() { array<Man> players = new array<Man>; Man player; Man player_test; GetGame().GetPlayers( players ); if (players.Count() > 0) { if ( FileExist(file_name_info_players) ) { DeleteFile(file_name_info_players); } for ( int i = 0; i < players.Count(); ++i ) { player_test = players.Get(i); if( player_test ) { PlayerIdentity p_identity = player_test.GetIdentity(); private string coord_pl = player_test.GetPosition().ToString(); private string Name_P = p_identity.GetName(); private string UID_P = p_identity.GetPlainId(); WriteFile(file_name_info_players, "User name: " + Name_P + " UID: " + UID_P + " Coords: " + coord_pl); } } } else { if ( FileExist(file_name_info_players) ) { DeleteFile(file_name_info_players); } } } Где 'PlayersLogFile.txt' меняем на нужное вам имя файла, а в 'time_repeat_info_players' настраиваем время повтора проверки списка игроков для перезаписи файла
      3. Находим в файле блок 'void main()' и в его конце перед закрывающей '}', поумолчанию это строка
      weather.SetWindFunctionParams(0.1, 0.3, 50); добавляем ниже строку:
      GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(WritePlayersInfo, (time_repeat_info_players * 1000), true); 4. Готово, если не допустили ошибок, при наличии хотя бы 1 игрока на сервере ваш файл с данными по игрокам будет присутствовать и заполняться информацией, а в случае их отсутствия удаляться.