XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
Anufis

offline
Опыт: 6,290
Активность:
Пропавший список игроков и нерабочая карта
После определенных изменений(только триггеров) в варкрафте при выборе карты пропал список игроков и соответственно карта не запускается. При очистке всех триггеров в редакторе триггеров список игроков есть. При сохранении карты соответственно ошибок в коде не обнаруживается. В чем может быть причина?

Пытался смотреть утилиткой war3log.exe, заканчивается всё на таком фрагменте(карта на 12 игроков)

Код:
x0000000844    indexPlayer
x0000000845    team
x0000000846    SetPlayerTeam
x0000000847    team
x0000000848    teamCount
x0000000849    index
x000000084A    bj_MAX_PLAYERS
x000000084B    index
x000000084C    bj_MAX_PLAYERS
x000000084D    index
x000000084E    bj_MAX_PLAYERS
x000000084F    index
x0000000850    bj_MAX_PLAYERS
x0000000851    index
x0000000852    bj_MAX_PLAYERS
x0000000853    index
x0000000854    bj_MAX_PLAYERS
x0000000855    index
x0000000856    bj_MAX_PLAYERS
x0000000857    index
x0000000858    bj_MAX_PLAYERS
x0000000859    index
x000000085A    bj_MAX_PLAYERS
x000000085B    index
x000000085C    bj_MAX_PLAYERS
x000000085D    index
x000000085E    bj_MAX_PLAYERS
x000000085F    InitAllyPriorities
x0000000860    SetStartLocPrioCount
x0000000861    MAP_LOC_PRIO_HIGH
x0000000862    SetStartLocPrio
x0000000863    SetStartLocPrioCount
x0000000864    MAP_LOC_PRIO_HIGH
x0000000865    SetStartLocPrio
Старый 28.06.2013, 18:22
Anufis

offline
Опыт: 6,290
Активность:
В общем после 8 часов мучений проблема была найдена. При любых вызовах определенной функции карта отказывалась запускаться, при этом JNPG нормально ее компилировал, не сообщая об ошибках.
Вот функция
Код:
item GetHeroItemMy(unit u,integer slot) {
  item it
  unit st
  integer id
  if slot<6 then
    st=LoadUnitHandle(udg_h,GetHandleId(u),38)
  elseif slot<12 then
    st=LoadUnitHandle(udg_h,GetHandleId(u),39)
  else
    st=LoadUnitHandle(udg_h,GetHandleId(u),40)
  endif
  it=UnitItemInSlot(st,ost(slot,6))
  id=GetHandleId(it)
  if LoadBoolean(udg_h,id,1)==false then
    if LoadPlayerHandle(udg_h,id,2)==GetOwningPlayer(u) then
      st=null
      return it
    else
      UnitDropItemPoint(st,it,GetUnitX(u),GetUnitY(u))
      st=null
      return 0  //проблема из-за этой гадости
    endif
  endif
  st=null
  return it
}


Тему можно закрывать.
Старый 28.06.2013, 21:30
Buulichkaa
Делаю спеллы за еду
offline
Опыт: 20,146
Активность:
Рекомендую на будущее, во избежание подобных проблем, делать бекапы, много бекапов.
Старый 28.06.2013, 22:44
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

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

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 01:13.