anikinvitaly

Подскажите где копать в Wicked AI

Вопрос

Подскажите, кто знает как в WAI добавить бота с СВД например, на вышку или на крышу и чтобы он не бегал а сидел и выцеливал игроков.

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


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

12 ответов на этот вопрос

Подскажите, кто знает как в WAI добавить бота с СВД например, на вышку или на крышу и чтобы он не бегал а сидел и выцеливал игроков.

WAI\Static\Default.sqf

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


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


WAI\Static\Default.sqf

 

Благодарю за то что так быстро хоть кто-то откликнулся, вот только у меня нет ни файла такого, ни папки.

-----------------------------------------

WAI

   -compile

       -ai_killed.sqf

       -Almonitor.sqf

       -heli_para.sqf

       -heli_patrol.sqf

       -patrol.sqf

       -SpawnGroup.sqf

       -SpawnStatic.sqf

       -vehicle_monitor.sqf

       -vehicle_patrol.sqf

   -missions

       -(`пакпи и файлы миссий)

AIconfig.sqf

customSpawns.sqf

Init.sqf

-----------------------------------------

SpawnGroup.sqf и SpawnStatic.sqf отвечают за настройки динамичного и статичного отрядов.

За вывод самих отрядов отвечает файл customSpawns.sqf там даже есть примеры закоментированные. Вывод динамического патруля отличается от статического, у статического помимо снаряжения, скилов и прочего еще нужно указать "class" Если смотреть примеры, то в классе следует прописывать МГ, УАЗ или ПИКАП, за какой техникой будет находится бот. Если "class" не указывать, то отряд не выводится вообще. Вот мне и не понятно, каким образом прописывать статического бота без техники, просто с оружием.

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


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

Благодарю за то что так быстро хоть кто-то откликнулся, вот только у меня нет ни файла такого, ни папки.

-----------------------------------------

WAI

   -compile

       -ai_killed.sqf

       -Almonitor.sqf

       -heli_para.sqf

       -heli_patrol.sqf

       -patrol.sqf

       -SpawnGroup.sqf

       -SpawnStatic.sqf

       -vehicle_monitor.sqf

       -vehicle_patrol.sqf

   -missions

       -(`пакпи и файлы миссий)

AIconfig.sqf

customSpawns.sqf

Init.sqf

-----------------------------------------

SpawnGroup.sqf и SpawnStatic.sqf отвечают за настройки динамичного и статичного отрядов.

За вывод самих отрядов отвечает файл customSpawns.sqf там даже есть примеры закоментированные. Вывод динамического патруля отличается от статического, у статического помимо снаряжения, скилов и прочего еще нужно указать "class" Если смотреть примеры, то в классе следует прописывать МГ, УАЗ или ПИКАП, за какой техникой будет находится бот. Если "class" не указывать, то отряд не выводится вообще. Вот мне и не понятно, каким образом прописывать статического бота без техники, просто с оружием.

значит кастомспавнс, видимо у вас не 2.2.0

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


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

[[8141.1,21200,0],4,0,"Random",3,"","Bandit2_1DZ","Random"] call spawn_group; - Вот так выглядет вывод отряда из 4х человек.

 

[[[6386.42,13266.6,0.003]],"SectorMG_Ori",1,"Bandit2_1DZ",1,2,"","Random"] call spawn_static; - Вот так выглядет вывод стоящего бота, но стоящего за МГ.

 

Как должна выглядеть строка в спавн.sqf вывода одного бота? Я не думаю что в версии 2.2.0 это как-то кардинально отличается.

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


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

 

Как должна выглядеть строка в спавн.sqf вывода одного бота? Я не думаю что в версии 2.2.0 это как-то кардинально отличается.

        [[16546.41,18362.12,0.001], //Старт группы                
        [16846.41,18352.12,0.001],  //Зона патрулирования                
        1,                          //радиус патрулирования                                
        1,                          //количество вейпоинтов патруля                                
        "hard",                     //скилл ботов                        
        "bandit",                   //скины                            
        "Bandit",                   //статус ботов
        1                           //количество ботов        
      ] spawn people_patrol;

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


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

 

        [[16546.41,18362.12,0.001], //Старт группы                
        [16846.41,18352.12,0.001],  //Зона патрулирования                
        1,                          //радиус патрулирования                                
        1,                          //количество вейпоинтов патруля                                
        "hard",                     //скилл ботов                        
        "bandit",                   //скины                            
        "Bandit",                   //статус ботов
        1                           //количество ботов        
      ] spawn people_patrol;

Спасибо попробую, но я не вижу в этом коде обращения к файлу который бы отвечал за сам вывод. Или за вывод отвечает команда spawn people_patrol? Тогда где-то в init.sqf или config.sqf должна быть строчка которая этой команде подгружает конфиг. Если не составит труда, можете скинуть содержимое того файла?

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


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

Спасибо попробую, но я не вижу в этом коде обращения к файлу который бы отвечал за сам вывод. Или за вывод отвечает команда spawn people_patrol? Тогда где-то в init.sqf или config.sqf должна быть строчка которая этой команде подгружает конфиг. Если не составит труда, можете скинуть содержимое того файла?

 

 

people_patrol.sqf

 

if (isServer) then
{
private ["_aiskin","_skin","_mission","_aitype","_aicskill","_wpnum","_radius","_skillarray","_unitgroup","_startingpos","_skill","_position","_wp","_peopname","_count"];

_position = _this select 0;
_startingpos = _this select 1;
_radius = _this select 2;
_wpnum = _this select 3;
_skill = _this select 4;
_skin = _this select 5;
_aitype = _this select 6;
_count = _this select 7;


_skillarray = ["aimingAccuracy","aimimngShake","aimingSpeed","endurance","spotDistance","spotTime","courage","reloadSpeed","commanding","general"];
_aiweapon             = [];

call {
if (_skill == "easy") exitWith { _aicskill = ai_skill_easy; };
if (_skill == "medium") exitWith { _aicskill = ai_skill_medium; };
if (_skill == "hard") exitWith { _aicskill = ai_skill_hard; };
if (_skill == "extreme") exitWith { _aicskill = ai_skill_extreme; };
if (_skill == "random") exitWith { _aicskill = ai_skill_random call BIS_fnc_selectRandom; };
};

call {
if (_skin == "random") exitWith { _aiskin = ai_all_skin call BIS_fnc_selectRandom; };
if (_skin == "hero") exitWith { _aiskin = ai_hero_skin 		call BIS_fnc_selectRandom; };
if (_skin == "bandit") exitWith { _aiskin = ai_bandit_skin 	call BIS_fnc_selectRandom; };
if (_skin == "special") exitWith { _aiskin = ai_special_skin call BIS_fnc_selectRandom; };
};

if (_aitype == "hero") then {
_unitGroup = creategroup RESISTANCE;
} else {
_unitGroup = createGroup East;
};

for "_x" from 1 to _count do {
if (typeName _aiskin == "ARRAY") then {
_aiskin = _skin;
};

_aiweapon = ai_wep_random call BIS_fnc_selectRandom;
_weaponandmag     = _aiweapon call BIS_fnc_selectRandom;
_weapon           = _aiweapon call BIS_fnc_selectRandom;
_magazine         = _weapon call find_suitable_ammunition;

_peopname = _unitgroup createUnit [_aiskin, [(_startingpos select 0),(_startingpos select 1),(_startingpos select 2)], [], 1, "NONE"];
[_peopname] joinSilent _unitGroup;

removeAllWeapons _peopname;
removeAllItems _peopname;

for "_i" from 1 to 3 do {
_peopname addMagazine _magazine;
};
_peopname addweapon _weapon;
_peopname selectWeapon _weapon;


call {
if (_aitype == "hero") exitWith { _peopname setVariable ["Hero",true,true]; };
if (_aitype == "bandit") exitWith { _peopname setVariable ["Bandit",true,true]; };
if (_aitype == "special") exitWith { _peopname setVariable ["Special",true,true]; };
};

{ _peopname setSkill [_x,0.1] } count _skillArray;

};


{ _x addEventHandler ["Killed",{[_this select 0, _this select 1, "vehicle"] call on_kill;}]; } forEach (units _unitGroup);


_unitGroup allowFleeing 0;
_unitGroup setBehaviour "AWARE";
_unitGroup setCombatMode "RED";

if (_wpnum > 0) then {
for "_x" from 1 to _wpnum do {
_wp = _unitgroup addWaypoint [[(_position select 0),(_position select 1),0],_radius];
_wp setWaypointType "SAD";
_wp setWaypointCompletionRadius 200;
};

};

_wp = _unitGroup addWaypoint [[(_position select 0),(_position select 1),0],100];
_wp setWaypointType "CYCLE";
_wp setWaypointCompletionRadius 200;

_unitGroup
};

WAI 2.2.0

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


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

 

        [[16546.41,18362.12,0.001], //Старт группы                
        [16846.41,18352.12,0.001],  //Зона патрулирования                
        1,                          //радиус патрулирования                                
        1,                          //количество вейпоинтов патруля                                
        "hard",                     //скилл ботов                        
        "bandit",                   //скины                            
        "Bandit",                   //статус ботов
        1                           //количество ботов        
      ] spawn people_patrol;

Проверил, не работает.

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


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

Можете дать ссылку на ваш WAI 2.2.0?

Вот список папки compile моего WAI 2.2.0, но там нету файла people_patrol.sqf

http://s-platoon.ru/index.php?/topic/2206-patruli-botov-dlia-sistemy-wai/?hl=%D0%BF%D0%B0%D1%82%D1%80%D1%83%D0%BB%D1%8C#entry19748

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

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


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

В итоге, перелопатив кучу форумов я пришел к выводу, что с помощью WAI мою задумку не реализовать.

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


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

В итоге, перелопатив кучу форумов я пришел к выводу, что с помощью WAI мою задумку не реализовать.

странный вывод, ну да ладно , вам виднее.

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


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

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

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

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

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


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

Войти

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


Войти сейчас

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

    • Автор: DOK43
      где найти перевод админки INFISTAR v1442 ? или уже готовый файл, помогите
    • Автор: lansmax
      есть ли какая то рабочая программа admin tools для dayz epoch 1.0.6.1 ?
    • Автор: Alex39
      Как и где найти лут в Dayz

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
      Самый часто задаваемый вопрос - Как и где найти лут в Dayz? Как по мне то залутаться в Dayz крайне легко. Вам достаточно будет 10 минут чтобы найти средний лут. Единственной проблемой является то, что Dayz сейчас находится на стадии альфа тестирование, соответственно лут не спавнится до перезагрузки сервера. Соответственно что бы хорошо залутаться в Dayz нам нужно найти только что перезагружавшийся сервер. А так же знать места где и что лежит. 

      И так начнем. Для начала нам нужно умереть. И так теперь наша задача зайти в список серверов и отсортировать их по времени и найти тот который только что перезагрузился. Обычно это происходит в восемь часов, у кого в три часа дня. У всех по разному. Обычно после перезагрузки на сервере поначалу мало народа, а пока вы залутаетсь, то как раз сервер заполнится, так что вам даже не придется переходить на какой-то другой сервер, чтобы нормально поиграть. 

      Ну что ж мы появились на севере Березина и это просто отличный респаун. Бежим в город, попутно выкидывает такую ненужную фигню вроде фонарика и батарейки. Первым делом заглянем в серый ангар, здесь можно найти что-нибудь из одежды, а иногда и холодное оружие, например лопату. Следующий пункт у нас вокзал, который находится чуть ниже здесь частенько начал спавнится бронежилет. Как вы понимаете это очень хорошая находка.

      Но теперь самый важный пункт нашего путешествия - это полицейский участок. Здесь будьте крайне осторожны, потому что практически все бегут первым делом именно сюда! 

       
      Ведь здесь всегда можно найти какое либо оружие или патроны. По началу пытайтесь найти именно оружие, о еде можно будет подумать позже. Не забывайте так же заглядывать в багажники полицейских машин. Да-да, они открываются, и там часто можно найти патроны для какого либо оружие. Если вы нашли оружие и патроны - теперь вы вооружены и опасны!

      Дальше мы бежим в больничку, ниже полицейского участка. Здесь можно найти бинты, немного еды, а так же одежду.

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      Далее мы бежим в гостиницу которая находится через дорогу от больнички. Не для того чтобы поспать и отдохнуть, тут можно частенько найти какое-нибудь оружие, например дробовик, Mosin. 

       
      Мы бежим дальше, следующий наш пункт - дом с пианино. На всякий случай возьмите оружие в руки, так как сервер начнет заполняться и шанс встретить врага стало гораздо выше. Тут вы сможете найти себе немного еды и питья, а также оружие, как холодное так и огнестрельное. 
       

       
      Шлем является очень важным атрибутом выживание в Dayz он не позволит врагам отправить вас безсознанку, по этому берите шлем при первой же возможности. Пожарный топор это самое мощное холодное оружие в игре, по этому тоже при первой же возможности меняйте свое холодное оружие на него. 

      Бежим дальше на юг. Мы найдем еще одну гостиницу а также еще один дом с пианино собственно их тоже нужно залутать. Дом с пианино это предпоследний пункт нашего путешествия. Пройдя по всем этим местам у нас уже должно быть холодное, огнестрельное оружие и патроны. Так что уже можно воевать.

      Последним нашим пунктом будет школа, которая находятся чуть южнее и ближе к берегу. Там на третьем этаже тоже частенько спавнится оружие. Что касается топового лута, я его не собираю, и вам не советую. Его можно снимать просто с убитых вами парней.
       

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • Автор: catttt61
      Подскажите в каком файле можно поменять хранимое количество валюты в трейд зонах в ящиках, начальное количество валюты 10000 , хотелось бы увеличить где можно поменять это значение?  
    • Автор: Boom
      Подскажите пожалуйста как прописать технику что-бы она каждый рестарт респавнилась по заданным координатам? и можно ли её поставить инфи и просто засейвить в БД через insert?
      И еще как в сектор FNG прописать технику к примеру хаммер, что нужно дописать в файл спавна ботов?