Поставил на карту инвентарь, написанный на языке Jaas, но это инвентарь работае только на героях, которые рандомно создаются, на карте у меня стоит тригер выбора персонажей через таверну, как изменить код, чтобы инвентарь давался героям из таверны?
scope StartGame initializer Init

    globals
        Camera array PlayerCamera
        unit array PlayerHero
    endglobals

    private function StartGame takes nothing returns nothing
        local trigger trig
        local integer i = 0
        local User user
        local Equipment equipment
        local Inventory inv
        local integer array urace
        
        set urace[1] = 'Hpal'
        set urace[2] = 'Obla'
        set urace[3] = 'Ulic'
        set urace[4] = 'Edem'

        loop
            exitwhen i == User.AmountPlaying
            
            set user = User.fromPlaying(i)
            set PlayerCamera[user.id] = Camera.create()
            
             // create hero
             set equipment = equipment.create.evaluate(CreateUnitAtLoc(user.handle, urace[GetHandleId(GetPlayerRace(user.handle))], GetStartLocationLoc(GetPlayerStartLocation(user.handle)), 180))
            
            call UnitAddAbility(equipment.unit, 'A001')
            call UnitAddAbility(equipment.unit, 'A002')
            
            if (User.Local == user.handle) then
                call SelectUnit(equipment.unit, true)
                call PanCameraToTimed(GetUnitX(equipment.unit), GetUnitY(equipment.unit), 0)
            endif
            
            set inv = Inventory.create(equipment.unit)
            
            set PlayerHero[user.id] = equipment.unit
            
            call SetPlayerAllianceStateBJ(Player(bj_PLAYER_NEUTRAL_EXTRA), user.handle, bj_ALLIANCE_ALLIED_VISION)
            call SetPlayerAllianceStateBJ(user.handle, Player(bj_PLAYER_NEUTRAL_EXTRA), bj_ALLIANCE_ALLIED_VISION)
            
            set i = i + 1
        endloop
    endfunction
    
    private function Init takes nothing returns nothing
        call SetSkyModel("Environment\\Sky\\Sky\\SkyLight.mdl")
        call SetFloatGameState(GAME_STATE_TIME_OF_DAY, 22.00)
        call StartGame()
    endfunction

endscope

Принятый ответ

если это так легко, то почему уже 2 человека, кто в этом разбираются не смогли сделать?
Если честно, пытался я этот инвенарь использовть, там непредвиденных багов просто тонна. Без знаний, всё выйдет эпичным крахом.
Я бы пооветовал автору ипользовать что-то наподобии этого.

Буду за эдитором, прикручу демку, но мой внутренний экстрасэнс предупреждает!
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
26
5 лет назад
0
Покупка предмета и юнита разные события, не должны конфликтовать.
0
4
5 лет назад
0
8gabriel8:
Покупка предмета и юнита разные события, не должны конфликтовать.
Может я просто скину свои пробы? но там не сохранено моих наработок, только перенесен инвентарь и сделана таверна с 1 героем
0
26
5 лет назад
0
Хотя стоп, у тебя не просто покупка героев из таверны, а покупка предметов, из которых появляются нужные герои?
Давай, скидывай.
Нужны твои наработки, карта с инвентарём есть уже
0
4
5 лет назад
0
8gabriel8:
Хотя стоп, у тебя не просто покупка героев из таверны, а покупка предметов, из которых появляются нужные герои?
Давай, скидывай.
Нужны твои наработки, карта с инвентарём есть уже
в лс скинул
1
26
5 лет назад
1
У меня только 1.26, на ней не открывается. Но не суть, принцип ты объяснил, теперь надо пробовать.
0
4
5 лет назад
0
8gabriel8:
У меня только 1.26, на ней не открывается. Но не суть, принцип ты объяснил, теперь надо пробовать.
Вообще моя цель заключается в том, чтобы сделать карту на 2-4 игрока для меня и друзей, не выкладывая в открытый доступ...
Функционал к которому я стремлюсь будет:
Инвентарь, респаун мобом, система сейв лоад ну и квесты уже как само себе разумеющееся...
8gabriel8:
У меня только 1.26, на ней не открывается. Но не суть, принцип ты объяснил, теперь надо пробовать.
Вообще качал 1.30.4 тупо для ВЕ, а так впринцыпе и играть на ней же буду
0
32
5 лет назад
0
Jareded, не уверен что эта система работает в мультиплеере, хотя будет хорошо если я ошибаюсь, но в системе используется кликабельный Dgui сделанный на юнитах и скорее всего юниты будут видны другим игрокам, или система вообще не заточена на мультиплеер
А по поводу того что я не могу сейвануть, так у меня просто редактор не пашет, нажатие кнопки Ctrl почему то закрывает редактор даже без карты, всё оч странно
0
4
5 лет назад
0
Bergi_Bear:
Jareded, не уверен что эта система работает в мультиплеере, хотя будет хорошо если я ошибаюсь, но в системе используется кликабельный Dgui сделанный на юнитах и скорее всего юниты будут видны другим игрокам, или система вообще не заточена на мультиплеер
А по поводу того что я не могу сейвануть, так у меня просто редактор не пашет, нажатие кнопки Ctrl почему то закрывает редактор даже без карты, всё оч странно
Чистый вариковский редактор используешь? или Jass New Gen Pack Rebuild?
0
26
5 лет назад
0
В обычном он бы AdicParser и AdicOptimizer вряд ли отключил.
0
23
5 лет назад
0
Bergi_Bear, инвентарь подеживает mui что дает всем игрокам иметь свои инвентарь.
Тут прочти www.hiveworkshop.com/threads/inventory-equipment-ui-system-v1-4-...
0
26
5 лет назад
0
Там для локальных переменных какой-то непонятный тип user, который никак не могу одолеть. Сначала предположил, что это разновидность типа player, для которой можно дополнительный синтаксис использовать, но когда всё с user на player сменил, то JASSHelper выдал, что не знает типа Player)))
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.