Скачал наработку одну с сайта вот собственно и она(использовал гуишную версию ниже в коментах кто то давал)
так вот в даной наработке неможно одновременно выбрать больше 1го юнита, я решил дописать вот что написал на выбор отряда тригерно.
function Trig_FrendTimeJff_Actions takes nothing returns nothing
  if  GetOwningPlayer(GetTriggerUnit()) == Player(0)  and IsUnitSelected(GetTriggerUnit(), Player(0)) == true{
    call SelectUnitAddForPlayer( GetTriggerUnit(), Player(0) )
  }
endfunction

function InitTrig_FrendTimeJff takes nothing returns nothing
    set gg_trg_FrendTimeJff = CreateTrigger(  )
    call TriggerRegisterPlayerSelectionEventBJ( gg_trg_FrendTimeJff, Player(0), false )
    call TriggerAddAction( gg_trg_FrendTimeJff, function Trig_FrendTimeJff_Actions )
endfunction
Запустив наработку понял что я написал бред ведь порождается куча -в
  1. нельзя выбрать больше 2 юнитов хз почему
  2. можна сложить выбор не выберая юнитов в рамку(просто клацая по них(тоже неудобно)
  3. нельзя в выборе переключаться между юнитами
а дальше я канешно же пытался исправить это но выходи сплошной бред. вот теперь пишу тут Может добрые люди подскажук как с учетом наработки FCC сделать тригерный выбор 12 персонажей и переключение между ними,

    call SetPlayerAlliance(Player(0), Player(0), ALLIANCE_SHARED_ADVANCED_CONTROL, false)
    call SetPlayerAlliance(Player(0), Player(0), ALLIANCE_SHARED_CONTROL, false)
Это отнимает у игрока красного контроль над его юнитами. Это почти нейтральный. Быть может это просто невозможно сделать таким способом. Так как переключаться можно только между ПОДКОНТРОЛЬНЫМИ юнитами. Есть идея на случай если тебе нужен только 1 юнит с 12 способностями, хотя думаю нету смысла объяснять.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
20
вроде как при каком-то условии игроку добавляются типы юнитов, которые им выделены у союзного игрока (вроде)
15
Melissa:
Для начала: что ты хочешь, чтобы получилось в итоге в игре?
я хочу чтобы выбирались юниты как без использованния наработки FCC но чтобы сама наработка работала.
тойсть иными словами нужно симитировать выбор юнитов ну когда мы можем зажать ЛКМ потянуть квадратик и выбрать юнитов, а затем переключатся между ними не отменяя выбора=)
ЗЫ если в падл открывать наработку FCC то она делает юниту 12 скилов прячя стандартные приказы. но при етом накрывается возможность выберать больше 1го юнита
Выбор я о выборе как на скрине. а под переключением между юнитами я имею в виду нажатия на них и возможность видить их скилы не сбивая выбор патьки юнитов.
ssbbssc:
вроде как при каком-то условии игроку добавляются типы юнитов, которые им выделены у союзного игрока (вроде)
событие выбора я его юзал в наработке что показывал но в подобном решение есть 3 минуса
20
velmir:
если ты хочешь симитировать переключение юнитов в группе TAB'ом - я в ауте
15
ssbbssc:
вроде как при каком-то условии игроку добавляются типы юнитов, которые им выделены у союзного игрока (вроде)
событие выбора я его юзал в наработке что показывал но в подобном решение есть 3 минуса
я же написал в 1м посте что пытался так сделать но не вышло, значит нада по иному, но у меня нет предположений как поэтому итут пишу.
21
velmir, если используешь JNGP, поищи функции за ключевым словом "Group". Ловишь выбор юнита игроком, добавляешь его к глобальному массиву UnitGroup, выбираешь для игрока [i] эту группу. Если какой-то юнит из групы не выделен игроком - удаляешь его из группы (периодиком или таймером проверяешь). Но в той наработке вроде как нейтралом управляешь.
15
если используешь JNGP, поищи функции за ключевым словом "Group". Ловишь выбор юнита игроком, добавляешь его к глобальному массиву UnitGroup, выбираешь для игрока [i] эту группу. Если какой-то юнит из групы не выделен игроком - удаляешь его из группы (периодиком или таймером проверяешь). Но в той наработке вроде как нейтралом управляешь.
согласен так я тоже думал но при использование FCC
потом нельзя переключатся между выбраными юнитами=(
21
    call SetPlayerAlliance(Player(0), Player(0), ALLIANCE_SHARED_ADVANCED_CONTROL, false)
    call SetPlayerAlliance(Player(0), Player(0), ALLIANCE_SHARED_CONTROL, false)
Это отнимает у игрока красного контроль над его юнитами. Это почти нейтральный. Быть может это просто невозможно сделать таким способом. Так как переключаться можно только между ПОДКОНТРОЛЬНЫМИ юнитами. Есть идея на случай если тебе нужен только 1 юнит с 12 способностями, хотя думаю нету смысла объяснять.
Принятый ответ
15
((цитата
о а что если сначала давать контроль а когда, потом выберать а потом отнимать, должно сработать счас пойду пробывать.
21
Ну как вариант "отнимать" контроль когда выбран только 1 юнит
Или же добавлять в группу, ловить нажатие [Tab] и выбирать для игрока другого юнита. Но стандартными средствами этого сделать нельзя. Вроде как.
15
((цитата
о а что если сначала давать контроль а когда, потом выберать а потом отнимать, должно сработать счас пойду пробывать.
да работает но лол через 2-3 менуты лаги призводят все шлак
помогите оптимизировать плз
function Trig_SA_Actions takes nothing returns nothing
        call SetPlayerAlliance(Player(0), Player(0), ALLIANCE_SHARED_CONTROL, true)
        call ClearTextMessages()
        
   group g=CreateGroup(),g2=CreateGroup()
     unit F,U
     call GroupEnumUnitsSelected(g, Player(0), null)
     loop
      set F = FirstOfGroup(g)
       if IsUnitSelected(F, Player(0)) == true {
         call GroupAddUnit(g2, F)
         if F != gg_unit_hmpr_0007 {
         U=F
         }
       }
     exitwhen F == null
      call GroupRemoveUnit(g, F)
      set F = FirstOfGroup(g)
     endloop
     call DestroyGroup(g)
     set g=null
     if U!=null{
     call SelectUnit(U, true)
     }
        call SetPlayerAlliance(Player(0), Player(0), ALLIANCE_SHARED_CONTROL, false)
        call ClearTextMessages()
        
      loop
      set F = FirstOfGroup(g2)

         
           if (GetLocalPlayer() == Player(0)) then
              
              call SelectUnit(F, true)
           endif
           call UnitAddAbility(F, 'A000')
     exitwhen F == null
      call GroupRemoveUnit(g2, F)
      set F = FirstOfGroup(g2)
     endloop
     call DestroyGroup(g2)
     set g2=null
endfunction

//===========================================================================
function InitTrig_SA takes nothing returns nothing
    set gg_trg_SA = CreateTrigger(  )
    call TriggerRegisterPlayerSelectionEventBJ( gg_trg_SA, Player(0), true )
    call TriggerAddAction( gg_trg_SA, function Trig_SA_Actions )
endfunction
21

В этой статье описан способ как изменить положение кнопок команд. Вероятно таким образом кнопки можно и вовсе убрать из панели (если, например задать ей положение [3;3])
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.