28

» WarCraft 3 / Вывод сообщения на экран о количестве юнитов (I2S не работает в ИИ)

Makeba, а ну да, с конца, я не особо в неё вглядывался, ладно
Особо не вглядывался в функцию, но побежал объяснять как она работает, буквально написав всё наоборот.
28

» WarCraft 3 / Вывод сообщения на экран о количестве юнитов (I2S не работает в ИИ)

в цикле она получает первую цифру из числа 28437, то есть цифру "2", после чего конвертирует её в строку
Так, только наоборот. Она идёт с конца, и вставляет последнюю конвертированную цифру в начало строки
28

» WarCraft 3 / Вывод сообщения на экран о количестве юнитов (I2S не работает в ИИ)

не понимаю как она работает
Очевидно, что разбивает число на цифры с помощью остатка от деления на 10
28

» WarCraft 3 / JNGP: ReBuild by Enobraed

просто не качай с левых сайтов
А ломанный Dr. Web надо качать с правых сайтов?
28

» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2

nazarpunk, ну я на то и намекал, что вероятность должна остаться в пределах [0, 1].
Tredor46, так это всё ты можешь складывать в этой функции, но вернуть в итоге нужно валидное значение, ибо куда ты приткнёшь потом свои отрицательные вероятности миссов? Но это точно можно сложить проще, а не так
28

» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2

Tredor46,
или тем более чтобы оно в минус нормально уходило
Чтобы оно в минус нормально уходило придётся ввести понятие отрицательной вероятности, и придумать как его использовать в контексте проверки на шанс промаха по юниту
28

» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2

Tredor46, слушай, а где ты вообще этот алгоритм нашёл? Я загуглил убывающую полезность в доте 2, нашёл обсуждение на д2ру
Это оно? То есть вся формула это P = 1 - (1 - p1) * (1 - p2) * ... * (1 - pn)? А что ты тогда проверяешь ифами?
Ну типа блин
function sumProbabilities(...)
    local p = 100
    for _, v in ipairs {...} do
        p = p * (100 - v) / 100
    end
    return 100 - p
end

print(sumProbabilities(50, 50)) -- 75.0
print(sumProbabilities(35, 35)) -- 57.75
print(sumProbabilities(10, 20, 30)) -- 49.6
print(sumProbabilities(35, 35, 35, 35, 35, 35)) -- 92.458
print(sumProbabilities()) -- 0
Ну ладно, если нужно ещё отнимать отрицательные, то придётся чутка усложнить, и взять модуль числа, но серьёзно, в чём соль?
Загруженные файлы
28

» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2

ScorpioT1000, не, ну тут ещё при условии, что change будет больше 100.0. Если пользователь кода считает вероятности в пределах 100, то может таких ситуаций и не предвидится. Правда я всё равно до конца не понимаю, что по факту должно быть на входе, и что на выходе. Типа задача ясна: если есть два предмета на миссы, то их общая вероятность мисса должна считаться не простым сложением, но понять чё тут по факту происходит я не в состоянии, а с этим сижассом ещё и фиг проверишь
28

» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2

Я не совсем понимаю, что конкретно мы тут считаем, и (не)читабельность простыни ифов не способствует этому пониманию. И похоже, что автор сам в ней запутался. Типа здесь при разных условиях выполняется одна операция
		if changing_chance >= 0 and changing_chance >= change
			new_changing_chance = changing_chance+((100 - changing_chance)/100*change)
		elseif changing_chance >= 0 and changing_chance < change
			new_changing_chance = changing_chance+((100 - changing_chance)/100*change)
Это просто то, что бросилось в глаза, уверен, что тут добрую половину кода можно сократить, и ничего не изменится.

		elseif changing_chance >= 0 and changing_chance < change
			new_changing_chance = -(100 - (100 - change) / (1 - changing_chance/100)) 
Тут деления на ноль случайно выскочить не может?
28

» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2

Smeto,
Просто в UJAPI и REFORGED нет поддержки cjass.
А с каких пор ужопа и рефа стали мерилами хоть чего-то в ру коммьюнити? Посоны тут кулаком в грудь бьют, кричат, что лучше ванильного 1.26a ещё ничего в этом мире не придумано (утрирую конечно, но тем не менее).
28

» WarCraft 3 / Как создать свою систему локаций? - [Jass]

мне просто нужна та же переменная типа location, но что-бы включала в себя 3 значения вместо хэндла
LastUchiha, переходи на lua
28

» WarCraft 3 / Как запускать карты свыше 8мб?

Avadonchik, до 2.0 можно было без проблем заходить без интернета в LAN и играть. В 2.0 это сильно поломали, там есть какие-то свои новые баги, так что не факт, что можно.
28

» WarCraft 3 / Как начать писать свой код ИИ?

Svintus, ну я перезакинул файл в карту, залочил настройки игрока 2 на Human / Computer и запустил проверку из редактора. Из игры не проверял
Загруженные файлы
28

» WarCraft 3 / Как начать писать свой код ИИ?

“\Scripts\human.ai”
Не знаю в чём тайный смысл использования обратного слэша в начале этой строки, но без него хеллоуворлд работает
28

» WarCraft 3 / Memhack или UjAPI что лучше в плане в возможностей и оптимизации?

fenathesnake, то, что ujapi поддерживается, и до разраба можно достучаться – это плюс, но вкатившись туда, ты ещё невольно становишься тестировщиком возможностей южапи, которые с большой вероятностью никто никогда не применял в реальном проекте, и внезапно может оказаться, что они не работают, или работают не так, как ожидается. Это без претензий, просто даже я (человек, который вообще не интересуется южапи) уже натыкался на ситуации, когда у людей что-то не получалось на ровном месте.
28

» WarCraft 3 / Что Артасу нужно было сделать иначе? (мнение от дипсика)

TerrorGold, по буквам? А по смыслу? Мурадин точно мог что-то существенное рассказать Артасу о магических артефактах и демонических силах в то время, когда тот обучался у него?
В чём ценность порции нейромусора, в которой неприкрытые галюны видны уже с первых строк?
28

» WarCraft 3 / Что Артасу нужно было сделать иначе? (мнение от дипсика)

О магических артефактах и демонических силах (благодаря обучению у Мьюрзина)
Кто такой Мьюрзин?
Уже на раннем этапе ему стоило объединить силы с Утером, Джайной и даже эльфами-дренорнами
Кто такие эльфы-дренорны? Дальше не читал
28

» WarCraft 3 / RMS Twilac Edition

OVOgenez, сервер общий, там юзеры обеих версий сидят. Twilac там же отвечает и публикует релизы, пингуй её, если что
28

» WarCraft 3 / Отслеживание трупов

Принятый ответ
Наработки приветствуются:)
Хз, в гуи не шарю, вот наработка для рефа, вроде работает.
    local hero = CreateUnit(Player(0), FourCC('Hpal'), 0, 0, 0) -- тестовый герой
    local defRegen = BlzGetUnitRealField(hero, UNIT_RF_HIT_POINTS_REGENERATION_RATE) -- базовый реген хп этого героя из РО

    local group = CreateGroup()
    local radius = 500 -- радиус поиска трупов
    local condition = Condition(function() return IsUnitDeadBJ(GetFilterUnit())  end) -- гуишная проверка является ли юнит трупом

    TimerStart(CreateTimer(), 1, true, function()
        GroupEnumUnitsInRange(group, GetUnitX(hero), GetUnitY(hero), radius, condition) -- пикаем трупы
        BlzSetUnitRealField(hero, UNIT_RF_HIT_POINTS_REGENERATION_RATE, defRegen + CountUnitsInGroup(group)) -- прибавляем их количество к базовому регену

        print("Количество трупов:", CountUnitsInGroup(group), "Текущий реген:", BlzGetUnitRealField(hero, UNIT_RF_HIT_POINTS_REGENERATION_RATE)) -- проверяем
    end)
Загруженные файлы
28

» WarCraft 3 / Симулятор электромагнитного взаимодействия элементарных частиц в warcraft 3

human1, расчёты расчётами, но игру душит работающий конвейер утечек. Думаю, что если отказаться от использования гуишных функций, то эта проблема исчезнет.
28

» WarCraft 3 / Симулятор электромагнитного взаимодействия элементарных частиц в warcraft 3

Понимаю, что рискую вызвать праведный гнев на тему "опять технодемщики душат норм ребят со своими уточками", но у меня минут через 5 работы симуляции варкрафт залагал в хлам, и потребление памяти выросло до трёх гигов, и продолжало расти. Или симуляция работает по принципу вкл/выкл, и оставлять её в работе нельзя?
Загруженные файлы