Svintus, ну она таки объявлена прямо в common.ai, просто значение ей нужно присвоить в своём ai скрипте, чтобы использовать эти функции, вроде GetGold.
nazarpunk, ну я на то и намекал, что вероятность должна остаться в пределах [0, 1]. Tredor46, так это всё ты можешь складывать в этой функции, но вернуть в итоге нужно валидное значение, ибо куда ты приткнёшь потом свои отрицательные вероятности миссов? Но это точно можно сложить проще, а не так
Чтобы оно в минус нормально уходило придётся ввести понятие отрицательной вероятности, и придумать как его использовать в контексте проверки на шанс промаха по юниту
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
Ну ладно, если нужно ещё отнимать отрицательные, то придётся чутка усложнить, и взять модуль числа, но серьёзно, в чём соль?
ScorpioT1000, не, ну тут ещё при условии, что change будет больше 100.0. Если пользователь кода считает вероятности в пределах 100, то может таких ситуаций и не предвидится. Правда я всё равно до конца не понимаю, что по факту должно быть на входе, и что на выходе. Типа задача ясна: если есть два предмета на миссы, то их общая вероятность мисса должна считаться не простым сложением, но понять чё тут по факту происходит я не в состоянии, а с этим сижассом ещё и фиг проверишь
Я не совсем понимаю, что конкретно мы тут считаем, и (не)читабельность простыни ифов не способствует этому пониманию. И похоже, что автор сам в ней запутался. Типа здесь при разных условиях выполняется одна операция
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)
Это просто то, что бросилось в глаза, уверен, что тут добрую половину кода можно сократить, и ничего не изменится.
А с каких пор ужопа и рефа стали мерилами хоть чего-то в ру коммьюнити? Посоны тут кулаком в грудь бьют, кричат, что лучше ванильного 1.26a ещё ничего в этом мире не придумано (утрирую конечно, но тем не менее).
Avadonchik, до 2.0 можно было без проблем заходить без интернета в LAN и играть. В 2.0 это сильно поломали, там есть какие-то свои новые баги, так что не факт, что можно.
fenathesnake, то, что ujapi поддерживается, и до разраба можно достучаться – это плюс, но вкатившись туда, ты ещё невольно становишься тестировщиком возможностей южапи, которые с большой вероятностью никто никогда не применял в реальном проекте, и внезапно может оказаться, что они не работают, или работают не так, как ожидается. Это без претензий, просто даже я (человек, который вообще не интересуется южапи) уже натыкался на ситуации, когда у людей что-то не получалось на ровном месте.
TerrorGold, по буквам? А по смыслу? Мурадин точно мог что-то существенное рассказать Артасу о магических артефактах и демонических силах в то время, когда тот обучался у него?
В чём ценность порции нейромусора, в которой неприкрытые галюны видны уже с первых строк?
» WarCraft 3 / Выводим сообщение что игрок покинул игру
» WarCraft 3 / Быстрый реколор эффектов с помощью программы PKBlaster
» WarCraft 3 / Работает ли функция GetGold() в .ai скрипте?
» WarCraft 3 / Работает ли функция GetGold() в .ai скрипте?
» WarCraft 3 / Вывод сообщения на экран о количестве юнитов (I2S не работает в ИИ)
» WarCraft 3 / Вывод сообщения на экран о количестве юнитов (I2S не работает в ИИ)
Ред. Makeba
» WarCraft 3 / Вывод сообщения на экран о количестве юнитов (I2S не работает в ИИ)
» WarCraft 3 / JNGP: ReBuild by Enobraed
» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2
Tredor46, так это всё ты можешь складывать в этой функции, но вернуть в итоге нужно валидное значение, ибо куда ты приткнёшь потом свои отрицательные вероятности миссов? Но это точно можно сложить проще, а не так
» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2
Ред. Makeba
» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2
Ну типа блин
» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2
» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2
» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2
Ред. Makeba
» WarCraft 3 / Как создать свою систему локаций? - [Jass]
» WarCraft 3 / Как запускать карты свыше 8мб?
» WarCraft 3 / Как начать писать свой код ИИ?
» WarCraft 3 / Как начать писать свой код ИИ?
Ред. Makeba
» WarCraft 3 / Как начать писать свой код ИИ?
Ред. Makeba
» WarCraft 3 / Как начать писать свой код ИИ?
» WarCraft 3 / Memhack или UjAPI что лучше в плане в возможностей и оптимизации?
» WarCraft 3 / Маскировка имени функций
» WarCraft 3 / Что Артасу нужно было сделать иначе? (мнение от дипсика)
Ред. Makeba
» WarCraft 3 / Что Артасу нужно было сделать иначе? (мнение от дипсика)
» WarCraft 3 / RMS Twilac Edition