Лимит операций, обычно это беда настигает заядлых гуишников.
На jass обычно нету таких проблем.
Создайте таймер с периодом .00 сек и запускайте им функции инициализации триггеров.
функция типа InitTrig_Имя триггера - это функция инициализации триггера, она вызывается из функции InitCustomTriggers, но если этих вызовов очень много то функция упирается в лимит операций и поток завершается так и не создав все триггеры.
Не все функции мх работают быстро или как положено/ожидаемо, помимо указанных Api тебе нужно ещё закинуть триггеры, которые эти либы юзают. Просто юзай функции и смотри как работают, можешь попробовать SetUnitArmour( u, GetUnitArmour( u )+1 ), хз. Enable/DisableUnitControl тоже со странностями, отбирает иконки у юнита навсегда если юзать первый аргумент, если только последние три, то можно вернуть отдав юниту какой-либо приказ
Чёт я немного не догнал про смазывание шанса. Если разделить первый случай на 100, то получим [0, 1]. А это буквально диапазон стандартного рандомизатора.
Во втором случае получается [0.0001,1]. В чём выгода?
Makeba, смотри. Идея проста. Домножь на 100 и получишь [1, 10000]. Для простоты избавимся от лишних нулей и переведём в int. Получится [1, 100]. Тобишь ровно сто чисел, каждое из которых ровно один процент.
Только особо одарённые личности привыкли вкидывать и ничего не объяснять.
Не включается? но при рандоме 0,10 он же выдаёт 10, не?
Понятия не имею. Я дал ссылку, где написано When lowBound<highBound returns a real in range [lowBound, highBound) that is: inclusive, exclusive. Если это не так, то обратитесь к авторам той доки
Zeix, да особо ни в чём, кроме кривой реализации реалов в самой игре. Ну не люблю я числа с плавающей точкой, так что при первой возможности домножаю на нужную точность и перевожу в integer.
Да и к примеру 5% в тех же integer выглядят более наглядно:
Блин, надо тоже loop( ом) уже пользоваться. А то в отдельный триггер "каждые 0.1 секундуу" это фигово делать. Да и появится возможность локалку в том же триггере юзать,вместо глобальной в отдельном, а это этокономия места и больше возможностей!))
nazarpunk, Я не понимаю, чем она отличается от обычной переменной?
Что это вроде локалки, для которой каждый раз создается свое индивидуальное значение и его можно потом перенести в другой триггер?
SсRealm, это таблица, где пишешь номер столбца, номер строки, грубо говоря, по аналогии как в Excel - A1, C30 итд, и в ячейку такую сохраняешь значение
SсRealm, конечно, ты же сохраняешь - загружаешь определённый тип данных. Ключи - тупо integer кстати, близы недоработали хэш, у них нет по дефолту SaveHandleHandle() и SaveWeathereffectHandle()...
nazarpunk, TriggerSleepAction никуда не денется, но по крайней мере работает лучше вейта. Хз почему это есть. Главное что работает!
Парадоксально, но факт!
Во втором случае получается [0.0001,1]. В чём выгода?
Ред. Makeba
Ред. nazarpunk
Ред. Makeba
Ред. Extremator
И так же при капе в 100.00 он способен выдавать ровно 100.00
Ред. nazarpunk
if GetRandomInt(1, 100) < 5 then это 4% а не 5%
Здесь, в вопросах научили!)))
Что это вроде локалки, для которой каждый раз создается свое индивидуальное значение и его можно потом перенести в другой триггер?
Ред. nazarpunk
Ред. nazarpunk
Ред. Jack-of-shadow
Вполне можно имитировать n мерный массив
А типы переменных там имеют значения или это просто цифрЫ?
кстати, близы недоработали хэш, у них нет по дефолту SaveHandleHandle() и SaveWeathereffectHandle()...
По сути, это просто функция вынесеная в шапку. Славься ХИГАМА, что показали мне такое)))
Парадоксально, но факт!
Не иделаьно, но лучше вейта, согласись!