Вот есть переменная, в неё хочу поместить значение количество полученного золота при убийстве.
Что-то типа такого:
Событие - Юнит умирает
Условия - Нет
Действия - Установить Gold = кол-во золота полученного при убийстве
Вот только такой строчки "Установить Gold = кол-во золота полученного при убийстве" нет. Я делал "преобразование реального в целочисленное" и там тоже похожей строчки нет. Единственное что похоже на то, что я хочу - это "Свойство игрока - золото добыто".

Простым способом это не сделаешь, т.к нельзя отловить кол-во полученного золото с убийства (патч 1.26). Но, если игрок не получает больше неоткуда золото, кроме убийства крипов, то можно ловить изменения голды игрока.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
26
Ну вот добавишь 0.5, игроки получат по 2, то есть в сумме 12, а не 11.
Как бы не критично в ситуации с 11, но если, например, будет награда 9, то игроки получат всего 12, что в целом для команды выгоднее, если ластхитить будут не они, а Игрок 11.
15
per_player = R2I( current_gold / players_count )
diff = current_gold - ( current_gold / players_count - per_player ) * players_count
как-то так. Я не могу вспомнить, есть ли modulo.
15
8gabriel8:
Что это за странная формула у diff?
modulo, но без modulo) (остаток от деления)
26
modulo вроде abs.

current_gold и players_count по умолчанию integer, то есть ты их как бы заранее перевёл в real.
( current_gold / players_count - per_player ) вычисляет остаток от деления количества золота, который игроку вернётся со следующей партией. Потом умножаешь остаток на количество игроков и вычитаешь из текущего золота, чтобы вычислить всё золото, которое игроки должны получить, то есть
diff = players_count * per_player
15
8gabriel8, O_o... abs это откидывание знака, а modulo это остаток от деления ( 8 mod 3 = 2, поскольку наибольшее число после 8, которое на 3 делится без остатка - 6, а 8 - 6 = 2 ). Но в целом да, я ошибся, там для diff не нужно отнимать от всего золота, т.к. у 11 игрока должен остаться именно остаток от деления.
diff = ( current_gold / players_count - I2R(per_player) ) * players_count
32
Есть событие - кол-во золота изменилось, ну а далее просто, золота стало больеше - игрок получил откуда то золото, золота стало меньше - игрок потратил золото.
20
Есть событие - кол-во золота изменилось, ну а далее просто, золота стало больеше - игрок получил откуда то золото, золота стало меньше - игрок потратил золото.
3 чел уже это говорит))
26
exAres:
O_o... abs это откидывание знака, а modulo это остаток от деления
Ступил, никогда этот остаток от деления не требовался, из-за созвучности подумал про модуль)
Вроде бы видел в функциях варика modulo, но убедиться не могу, так как HDD решил выйти на пенсию. Специально под новую версию твоего Диабло взял SSD)
28
Вроде бы видел в функциях варика modulo
Есть, а новых патчах его нативно ввели через символ %.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.