Помогите пожалуйста решить проблему!!!Делал карту,всё шло хорошо,и спустя некоторое время я решил затестить карту,бац все нестандартные модели накрылись и не показываются,карта через пару секунд вылетает,смотрел всё.Ничего не помогло(Может здесь найду ответ?
Собственно я скинул карту,незащищенную вы можете зайти в редактор и посмотреть или просто поиграть на ней (Только на 3 секунды ибо она вылетает)
Игра намертво зависает и вылетает,при этом не выдает ошибку никакую,залез в Warcraft в папку errors там тоже никаких отчетов,может это проблемы моего ветхого компа?

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

5 мб карту смотреть на предмет косяков хочется не слишком. Постарайся вспомнить последние коррективы, которые ты вносил, и откатить их. Либо попробуй тестировать карту с выключенными/включенными блоками кода.
`
ОЖИДАНИЕ РЕКЛАМЫ...
2
19
6 лет назад
2
Похожие вопросы:

ответ
]]Chupakabra[[, я понял. Крч на костылях придется лепить. Попробуй при выборе героя добавлять геройские абилки, а потом блочить или удалять их. Думаю, так можно добавить до 7 штук. Через ро не получается больше 5.
Если не получится - пробуй делать полностью триггерно с помощью спеллбука.
ответ
анимационный таг
анимация
триггеры

при выделении юнита заставляем его проигрывать определенную анимация
при снятии выделения - прекращаем
ответ
Получилось потому что кто-то не аккуратно редактировал модель. Явно же вершины смещены или скорее прикреплены не к той кости. Переделать нужно.
ответ
~8gabriel8:
PT153, это лимит для одного игрока, то есть героя смогут нанять другие.
Нужно поставить таверне способность Продажа войск. Потом делаешь триггер:
Событие: Юнит вошёл в область (Вся игровая карта)
Условие: Триггеринг юнит равно Герой равно Да (можно этого не делать, просто исключает срабатывание триггера для каждого юнита)
Действия: несколько действий Если/То/Иначе
Если - Юнит тип (Триггеринг юнит) равно Какой-то Герой Из Таверны
То - Нейтральное здание - Удалить Какой-то Герой Из Таверны из таверны
Иначе - Ничего
И так для каждого типа героев в таверне.
ответ
~8gabriel8:
Карты в кампании на 1.26 более 8 мб не запускаются.

2
16
6 лет назад
2
5 мб карту смотреть на предмет косяков хочется не слишком. Постарайся вспомнить последние коррективы, которые ты вносил, и откатить их. Либо попробуй тестировать карту с выключенными/включенными блоками кода.
Принятый ответ
2
28
6 лет назад
Отредактирован PT153
2
Настройки графики игры на максимум выкрути.
0
26
6 лет назад
0
Проверил, но чего-то запамятовал ответить) Проблема в стандартных условиях победы и поражения, если это действие убрать, то всё работает нормально. Но не сообразил, почему в этом проблема, лишь предполагаю две возможные причины:
  • Изменённые игровые константы в чём-то вступают в конфликт с логикой игры;
  • Настройки альянсов вступают в конфликт с приоритетами союзников.
Ещё подозревал новых юнитов, но подумал и решил, что это не может быть причиной. По-хорошему, ещё следовало проанализировать, что заложено в это триггерное действие стандартных условий победы и поражения, но там слишком уж много для анализа, мне лень:
MeleeInitVictoryDefeat
function MeleeInitVictoryDefeat takes nothing returns nothing
    local trigger    trig
    local integer    index
    local player     indexPlayer

    // Create a timer window for the "finish soon" timeout period, it has no timer
    // because it is driven by real time (outside of the game state to avoid desyncs)
    set bj_finishSoonTimerDialog = CreateTimerDialog(null)

    // Set a trigger to fire when we receive a "finish soon" game event
    set trig = CreateTrigger()
    call TriggerRegisterGameEvent(trig, EVENT_GAME_TOURNAMENT_FINISH_SOON)
    call TriggerAddAction(trig, function MeleeTriggerTournamentFinishSoon)

    // Set a trigger to fire when we receive a "finish now" game event
    set trig = CreateTrigger()
    call TriggerRegisterGameEvent(trig, EVENT_GAME_TOURNAMENT_FINISH_NOW)
    call TriggerAddAction(trig, function MeleeTriggerTournamentFinishNow)

    // Set up each player's mortality code.
    set index = 0
    loop
        set indexPlayer = Player(index)

        // Make sure this player slot is playing.
        if (GetPlayerSlotState(indexPlayer) == PLAYER_SLOT_STATE_PLAYING) then
            set bj_meleeDefeated[index] = false
            set bj_meleeVictoried[index] = false

            // Create a timer and timer window in case the player is crippled.
            set bj_playerIsCrippled[index] = false
            set bj_playerIsExposed[index] = false
            set bj_crippledTimer[index] = CreateTimer()
            set bj_crippledTimerWindows[index] = CreateTimerDialog(bj_crippledTimer[index])
            call TimerDialogSetTitle(bj_crippledTimerWindows[index], MeleeGetCrippledTimerMessage(indexPlayer))

            // Set a trigger to fire whenever a building is cancelled for this player.
            set trig = CreateTrigger()
            call TriggerRegisterPlayerUnitEvent(trig, indexPlayer, EVENT_PLAYER_UNIT_CONSTRUCT_CANCEL, null)
            call TriggerAddAction(trig, function MeleeTriggerActionConstructCancel)

            // Set a trigger to fire whenever a unit dies for this player.
            set trig = CreateTrigger()
            call TriggerRegisterPlayerUnitEvent(trig, indexPlayer, EVENT_PLAYER_UNIT_DEATH, null)
            call TriggerAddAction(trig, function MeleeTriggerActionUnitDeath)

            // Set a trigger to fire whenever a unit begins construction for this player
            set trig = CreateTrigger()
            call TriggerRegisterPlayerUnitEvent(trig, indexPlayer, EVENT_PLAYER_UNIT_CONSTRUCT_START, null)
            call TriggerAddAction(trig, function MeleeTriggerActionUnitConstructionStart)

            // Set a trigger to fire whenever this player defeats-out
            set trig = CreateTrigger()
            call TriggerRegisterPlayerEvent(trig, indexPlayer, EVENT_PLAYER_DEFEAT)
            call TriggerAddAction(trig, function MeleeTriggerActionPlayerDefeated)

            // Set a trigger to fire whenever this player leaves
            set trig = CreateTrigger()
            call TriggerRegisterPlayerEvent(trig, indexPlayer, EVENT_PLAYER_LEAVE)
            call TriggerAddAction(trig, function MeleeTriggerActionPlayerLeft)

            // Set a trigger to fire whenever this player changes his/her alliances.
            set trig = CreateTrigger()
            call TriggerRegisterPlayerAllianceChange(trig, indexPlayer, ALLIANCE_PASSIVE)
            call TriggerRegisterPlayerStateEvent(trig, indexPlayer, PLAYER_STATE_ALLIED_VICTORY, EQUAL, 1)
            call TriggerAddAction(trig, function MeleeTriggerActionAllianceChange)
        else
            set bj_meleeDefeated[index] = true
            set bj_meleeVictoried[index] = false

            // Handle leave events for observers
            if (IsPlayerObserver(indexPlayer)) then
                // Set a trigger to fire whenever this player leaves
                set trig = CreateTrigger()
                call TriggerRegisterPlayerEvent(trig, indexPlayer, EVENT_PLAYER_LEAVE)
                call TriggerAddAction(trig, function MeleeTriggerActionPlayerLeft)
            endif
        endif

        set index = index + 1
        exitwhen index == bj_MAX_PLAYERS
    endloop

    // Test for victory / defeat at startup, in case the user has already won / lost.
    // Allow for a short time to pass first, so that the map can finish loading.
    call TimerStart(CreateTimer(), 2.0, false, function MeleeTriggerActionAllianceChange)
endfunction
Пока самым вероятным мне кажется конфликт приоритетов союзников с альянсами.
То есть настройками альянсов

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