|
|
Модератор форума: Slon |
Форум РЕДАКТОР - ArmA 2 Operation Arrowhead Скрипты Динамическое создание юнитов |
Динамическое создание юнитов |
› Среда
› 30.01.2013
› 14:21
› Сообщение #
Помогите пожалуйста со скриптом дин. создания юнитов, вроде всё написал правильно, но скрипт создаёт только юнитов на стороне Синих, а если я пишу Красных, то ноль реакции, почему скрипт не создаёт Красных?
Вот скрипт бесконечного ежеминутного спавна отряда: #CREATE (Создание группы) _group1 = creategroup west; (Юниты) "US_Soldier_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_GL_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_GL_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_HAT_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_LAT_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_Marksman_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_Marksman_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_Medic_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_Medic_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_MG_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_MG_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_SL_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_SniperH_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_Sniper_EP1" createUnit [getPos Spawn, _group1,""]; #MOVE (Вэйпоинты) _group1 addWaypoint [getmarkerpos "PointA",0]; [_group1, 1] setWaypointType "MOVE"; [_group1, 2] setWaypointSpeed "FULL"; [_group1, 3] setWaypointFormation "DIAMOND"; [_group1, 4] setWaypointCombatMode "RED"; ~3 _group1 addWaypoint [getmarkerpos "PointB",0]; [_group1, 1] setWaypointType "MOVE"; [_group1, 2] setWaypointSpeed "FULL"; [_group1, 3] setWaypointFormation "DIAMOND"; [_group1, 4] setWaypointCombatMode "RED"; ~3 _group1 addWaypoint [getmarkerpos "PointC",0]; [_group1, 1] setWaypointType "MOVE"; [_group1, 2] setWaypointSpeed "FULL"; [_group1, 3] setWaypointFormation "DIAMOND"; [_group1, 4] setWaypointCombatMode "RED"; ~3 _group1 addWaypoint [position Return1,0]; [_group1, 1] setWaypointType "MOVE"; [_group1, 2] setWaypointSpeed "FULL"; [_group1, 3] setWaypointFormation "DIAMOND"; [_group1, 4] setWaypointCombatMode "RED"; ~3 _group1 addWaypoint [position Return2,0]; [_group1, 1] setWaypointType "MOVE"; [_group1, 2] setWaypointSpeed "FULL"; [_group1, 3] setWaypointFormation "DIAMOND"; [_group1, 4] setWaypointCombatMode "RED"; [_group1, 5] setWaypointType "CYCLE"; ~60 goto "CREATE" (Повтор) Если я напишу _group1 = creategroup east, то скрипт категорически отказывается работать, все способы уже перепробовал, платформа не помогла Помогите пжл. То же самое с независимыми. Сообщение отредактировал Dim@s535 - Среда, 30.01.2013, 14:39
|
› Среда
› 30.01.2013
› 14:56
› Сообщение #
Dim@s535, когда ты написал east всё равно создает за синих?
|
› Среда
› 30.01.2013
› 15:09
› Сообщение #
Цитата (MacMillan11) когда ты написал east всё равно создает за синих? |
› Среда
› 30.01.2013
› 22:46
› Сообщение #
если на карте нет ниодного бота east, то скрипт не может создать группу этой стороны.
многократно создавать маршрут ненадо, однажды созданный он не удаляется, достаточно его запустить заново с любой подходящей точки http://community.bistudio.com/wiki/setCurrentWaypoint отсюда лучший вариант - поставить бота на карте, дать название его группе, нарисовать ему маршрут. И в эту группу спавнить. |
› Четверг
› 31.01.2013
› 06:22
› Сообщение #
Спасибо Slon, что объяснил, теперь я понял, ещё раз спасибо Но я сделал так, тоже хороший вариант, как я думаю, он работает на ура:
///Создание отряда _group1 = creategroup West; ///Создание вэйпоинтов _group1 addWaypoint [getmarkerpos "PointA",0]; setWaypointCombatMode "RED" setWaypointFormation "FILE" setWaypointSpeed "FULL" setWaypointType "MOVE" ~1 _group1 addWaypoint [getmarkerpos "PointB",0]; setWaypointCombatMode "RED" setWaypointFormation "FILE" setWaypointSpeed "FULL" setWaypointType "MOVE" ~1 _group1 addWaypoint [getmarkerpos "PointC",0]; setWaypointCombatMode "RED" setWaypointFormation "FILE" setWaypointSpeed "FULL" setWaypointType "MOVE" ~1 _group1 addWaypoint [position Return1,0]; setWaypointCombatMode "RED" setWaypointFormation "FILE" setWaypointSpeed "FULL" setWaypointType "MOVE" ~1 _group1 addWaypoint [position Return2,0]; setWaypointCombatMode "RED" setWaypointFormation "FILE" setWaypointSpeed "FULL" setWaypointType "CYCLE" #CREATE ///Создание Юнитов "US_Soldier_SL_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_GL_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_GL_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_HAT_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_LAT_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_Marksman_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_Marksman_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_Medic_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_Medic_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_MG_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_MG_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_SniperH_EP1" createUnit [getPos Spawn, _group1,""]; "US_Soldier_Sniper_EP1" createUnit [getPos Spawn, _group1,""]; ///Активация вэйпоинта _group1 setCurrentWaypoint [_group1, 1]; ~120 goto "CREATE" ///"Прыжок" обратно в CREATE В скрипте создание вейпоинтов используется только в начале миссии и только один раз, а юниты создаются бесконечно, каждые 2 минуты. Так можно сделать бесконечную битву в одиночке. Сообщение отредактировал Dim@s535 - Четверг, 31.01.2013, 08:10
|
› Суббота
› 02.03.2013
› 08:26
› Сообщение #
onotole, чтобы сделать такой скрипт нужно:
1. Создать в папке с миссией текстовый документ и назвать его как хотите, расширение обязательно должно быть .sqs; 2. Скопировать текст скрипта выше в этот файл; 3. В секции #CREATE, где в кавычках написаны классы юнитов, вводите свои и там где написано getPos вписываете любой объект или маркер, но если маркер, то нужно писать getMarkerPos; 4. Вписываете в addWaypoint в квадратных скобках куда они будут идти, если на маркер, то пишите getMarkerPos "Название_маркера"(Обязательно в кавычках), если к объекту, то пишите position *Название объекта*(Без кавычек); 5. По желанию настраиваете вейпы командами setWaypointCombatMode, setWaypointFormation, setWaypointSpeed и setWaypointType. Настройки этих команд смотрите на: http://community.bistudio.com/wiki/setWaypointSpeed http://community.bistudio.com/wiki/setWaypointCombatMode http://community.bistudio.com/wiki/setWaypointType http://community.bistudio.com/wiki/setWaypointFormation После написания скрипта проще всего активировать его в ините игрока написав this exec "Название_Скрипта.sqs"; Если что-то непонятно, пиши в ЛС. |
› Суббота
› 02.03.2013
› 09:46
› Сообщение #
рассмотри этот скрипт и поймёшь как его можно доработать
Прикрепления:
8474927.rar
(15.1 Kb)
|
| |||
| |||
Чат сайта |