alexprey, ты знаешь понятие "внедрение" ? Так вот IFDEBUG предполагает постоянное, комплексное использование, а не временное.
Вот ты подсказал кстати. Можно при отключенном дебаге сделать те же проверки тока без вывода в лог.
done =)
Дождливую погоду я могу сделать разве что у кого-то во рту.
И вообще если так трестись из-за наносекунд может тогда весь код писать на чистом jass с ручной оптимизацией и обусфикацией?
Зачем? В моей части кода всё и так идеально =)
Кстати в идеале на jass надо длину имен функций и переменных минимизировать, особенно массивы, вот почему обфускаторы всегда мастхев =)
Вот для тех кто хочет понять истинный смысл это просто - ты вставляешь этот код ВЕЗДЕ во всех функциях итп. Естественно доводишь до того состояния, чтобы ни одной ошибки не выходило. И когда проводишь рефакторинг, т.е. меняешь что-то внутри, меняешь логику или просто добавляешь функционал, проводишь ручные тесты и видишь ошибки - их легко исправить, сразу ясно, где и что случилось. Это полный выигрыш перед вашими if () then BJDebugMsg("АЛАЛАЛААЛМАМА").
Т.е. выигрыш в том, что ты оставляешь эти проверки постоянно, а не на время. Тут сразу и префиксы есть и всё красиво написано.
IIIArtesIII, xgm.ru/p/xgm/create можешь создать тогда и эту тему перетащим туда... хотя не знаю, как =\ можно попробовать повоторно сделать трансфер или тупо скопировать =)
И собственно там уже намутить разных страниц типа прохождение, предметы итп
IIIArtesIII, я еще давно ее приметил, она же шикарна. Хочешь - редактируй =) добавляй чето, можно даже проект по нему создать, будешь всякие странички клепать.
// Решение
function heroSelectorChooseRandom takes nothing returns nothing
local integer i = 0
call ClearRandomIntMem() // сбрасываем счетчик
loop
exitwhen i >= playersCount // для каждого игрока
if playersHeroChoise[i] == 0 then // Только если не был выбран
// выбираем случайного от 0 до максимума возможных из нашего массива всевозможных героев
// и задаем его в "выбор игрока"
set playersHeroChoise[i] = heroSelectorHeroTypes[GetRandomIntMem(0, heroSelectorHeroTypesCount-1)]
endif
set i = i + 1
endloop
endfunction
В результате в массиве playersHeroChoise будут примерно такие значения:
» WarCraft 3 / IFDEBUG 2: Как жить без фаталов?
Вот ты подсказал кстати. Можно при отключенном дебаге сделать те же проверки тока без вывода в лог.
done =)
Ред. ScorpioT1000
» WarCraft 3 / IFDEBUG 2: Как жить без фаталов?
Кстати в идеале на jass надо длину имен функций и переменных минимизировать, особенно массивы, вот почему обфускаторы всегда мастхев =)
Т.е. выигрыш в том, что ты оставляешь эти проверки постоянно, а не на время. Тут сразу и префиксы есть и всё красиво написано.
» WarCraft 3 / IFDEBUG 2: Как жить без фаталов?
Ред. ScorpioT1000
» WarCraft 3 / IFDEBUG 2: Как жить без фаталов?
YellowStar, шёл бы ты отсюда, пастушок.
» StarCraft 2 / Galaxy Helper v0.2
» Прочее / Gothic 2 неофициальный аддон "Возвращение"
» Tiodor's Art / Tiodor's Art
Ред. ScorpioT1000
» Администрация XGM / Удаление комментариев
» Прочее / Gothic 2 неофициальный аддон "Возвращение"
» Chemical Lab / Django, NOSQL, и прочие умные слова
CoffeeScript вообще без комментариев...
» Прочее / Gothic 2 неофициальный аддон "Возвращение"
» Музыка и Звук / PsyhoCircus
» ZEN©fa! / 2 новых инструмента
» Прочее / Gothic 2 неофициальный аддон "Возвращение"
» WarCraft: Armies Of Azeroth / Первые скриншоты
» Администрация XGM / Поднять ресурс
Ред. ScorpioT1000
» WarCraft 3 / Генератор случайных чисел без повторений
» Администрация XGM / Поднять ресурс
» Администрация XGM / Логотип блога
» WarCraft: Armies Of Azeroth / Первые скриншоты
» Администрация XGM / История XGM
» Heartlove Labs / HeartLove Labs - unofficial OST
» Пивная / История вашего ника
» XGM Team / Приятное нововведение
» Tornak's Laboratory / Деревенские дома из King's Bounty