mirror of
https://github.com/GreenComfyTea/MHR-Overlay.git
synced 2026-01-24 04:18:11 -08:00
Remove Max Updates per Tick, add Update Rate
This commit is contained in:
@@ -185,9 +185,9 @@ function damage_hook.update_damage(enemy, enemy_calc_damage_info)
|
||||
--" Condition Type: (" .. tostring(attacker_type) ..
|
||||
--") " .. tostring(condition_type);
|
||||
|
||||
if string.len(xy) > 2300 then
|
||||
xy = "";
|
||||
end
|
||||
--if string.len(xy) > 2300 then
|
||||
-- xy = "";
|
||||
--end
|
||||
|
||||
local damage_source_type = damage_hook.get_damage_source_type(attacker_type, is_marionette_attack);
|
||||
|
||||
|
||||
@@ -173,7 +173,7 @@ function player.update_damage(_player, damage_source_type, is_large_monster, dam
|
||||
end
|
||||
|
||||
if _player.first_hit_time == -1 then
|
||||
_player.first_hit_time = time.total_elapsed_seconds;
|
||||
_player.first_hit_time = time.total_elapsed_script_seconds;
|
||||
end
|
||||
|
||||
local player_monster_type = _player.small_monsters;
|
||||
|
||||
@@ -3,7 +3,6 @@ local singletons;
|
||||
local customization_menu;
|
||||
local player;
|
||||
local config;
|
||||
local small_monster;
|
||||
|
||||
local quest_manager_type_def = sdk.find_type_definition("snow.QuestManager");
|
||||
local get_quest_elapsed_time_min_method = quest_manager_type_def:get_method("getQuestElapsedTimeMin");
|
||||
@@ -13,16 +12,9 @@ time.total_elapsed_seconds = 0;
|
||||
time.elapsed_minutes = 0;
|
||||
time.elapsed_seconds = 0;
|
||||
|
||||
time.total_elapsed_script_seconds = 0;
|
||||
time.last_whole_script_seconds = 0;
|
||||
|
||||
function time.update_script_time()
|
||||
time.total_elapsed_script_seconds = os.clock();
|
||||
end
|
||||
time.last_elapsed_seconds = 0;
|
||||
|
||||
function time.tick()
|
||||
time.update_script_time();
|
||||
|
||||
if singletons.quest_manager == nil then
|
||||
return;
|
||||
end
|
||||
@@ -44,10 +36,9 @@ function time.tick()
|
||||
time.total_elapsed_seconds = quest_time_total_elapsed_seconds;
|
||||
time.elapsed_seconds = quest_time_total_elapsed_seconds - quest_time_elapsed_minutes * 60;
|
||||
|
||||
if time.total_elapsed_script_seconds - time.last_whole_script_seconds > 1 then
|
||||
time.last_whole_script_seconds = time.total_elapsed_script_seconds;
|
||||
if time.total_elapsed_seconds - time.last_elapsed_seconds > 60 / config.current_config.global_settings.performance.updates_rate then
|
||||
time.last_elapsed_seconds = time.total_elapsed_seconds;
|
||||
time.update_players_dps();
|
||||
time.update_small_monsters();
|
||||
end
|
||||
end
|
||||
|
||||
@@ -57,20 +48,20 @@ function time.update_players_dps()
|
||||
local new_total_dps = 0;
|
||||
for _, _player in pairs(player.list) do
|
||||
if _player.join_time == -1 then
|
||||
_player.join_time = time.total_elapsed_script_seconds;
|
||||
_player.join_time = time.total_elapsed_seconds;
|
||||
end
|
||||
|
||||
if cached_config.dps_mode == "Quest Time" then
|
||||
if time.total_elapsed_script_seconds > 0 then
|
||||
_player.dps = _player.display.total_damage / time.total_elapsed_script_seconds;
|
||||
if time.total_elapsed_seconds > 0 then
|
||||
_player.dps = _player.display.total_damage / time.total_elapsed_seconds;
|
||||
end
|
||||
elseif cached_config.dps_mode == "Join Time" then
|
||||
if time.total_elapsed_script_seconds - _player.join_time > 0 then
|
||||
_player.dps = _player.display.total_damage / (time.total_elapsed_script_seconds - _player.join_time);
|
||||
if time.total_elapsed_seconds - _player.join_time > 0 then
|
||||
_player.dps = _player.display.total_damage / (time.total_elapsed_seconds - _player.join_time);
|
||||
end
|
||||
elseif cached_config.dps_mode == "First Hit" then
|
||||
if time.total_elapsed_script_seconds - _player.first_hit_time > 0 then
|
||||
_player.dps = _player.display.total_damage / (time.total_elapsed_script_seconds - _player.first_hit_time);
|
||||
if time.total_elapsed_seconds - _player.first_hit_time > 0 then
|
||||
_player.dps = _player.display.total_damage / (time.total_elapsed_seconds - _player.first_hit_time);
|
||||
end
|
||||
else
|
||||
end
|
||||
@@ -81,20 +72,12 @@ function time.update_players_dps()
|
||||
player.total.dps = new_total_dps;
|
||||
end
|
||||
|
||||
function time.update_small_monsters()
|
||||
|
||||
for enemy, monster in pairs(small_monster.list) do
|
||||
small_monster.update(enemy, monster);
|
||||
end
|
||||
end
|
||||
|
||||
function time.init_module()
|
||||
player = require("MHR_Overlay.Damage_Meter.player");
|
||||
singletons = require("MHR_Overlay.Game_Handler.singletons");
|
||||
customization_menu = require("MHR_Overlay.UI.customization_menu");
|
||||
time = require("MHR_Overlay.Game_Handler.time");
|
||||
config = require("MHR_Overlay.Misc.config");
|
||||
small_monster = require("MHR_Overlay.Monsters.small_monster");
|
||||
end
|
||||
|
||||
return time;
|
||||
@@ -29,8 +29,7 @@ function config.init()
|
||||
},
|
||||
|
||||
performance = {
|
||||
max_monster_updates_per_tick = 2,
|
||||
prioritize_large_monsters = false,
|
||||
update_rate = 60
|
||||
},
|
||||
|
||||
module_visibility = {
|
||||
|
||||
@@ -376,7 +376,9 @@ language.default_language = {
|
||||
hide_other_players = "Hide Other Players",
|
||||
hide_total_damage = "Hide Total Damage",
|
||||
|
||||
player_name_size_limit = "Player Name Size Limit"
|
||||
player_name_size_limit = "Player Name Size Limit",
|
||||
|
||||
update_rate = "Update Rate"
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -820,14 +820,9 @@ function customization_menu.draw()
|
||||
end
|
||||
|
||||
if imgui.tree_node(language.current_language.customization_menu.performance) then
|
||||
changed, config.current_config.global_settings.performance.max_monster_updates_per_tick = imgui.slider_int(language.current_language
|
||||
.customization_menu.max_monster_updates_per_tick,
|
||||
config.current_config.global_settings.performance.max_monster_updates_per_tick, 1, 150);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed, config.current_config.global_settings.performance.prioritize_large_monsters = imgui.checkbox(
|
||||
language.current_language.customization_menu.prioritize_large_monsters,
|
||||
config.current_config.global_settings.performance.prioritize_large_monsters);
|
||||
changed, config.current_config.global_settings.performance.update_rate = imgui.slider_int(language.current_language
|
||||
.customization_menu.update_rate,
|
||||
config.current_config.global_settings.performance.update_rate, 1, 400);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
imgui.tree_pop();
|
||||
|
||||
@@ -140,7 +140,6 @@
|
||||
"loss_health_percentage": "Sever Health Percentage",
|
||||
"master_rank": "Master Rank",
|
||||
"max_distance": "Max Distance",
|
||||
"max_monster_updates_per_tick": "Max Monster Updates per Tick",
|
||||
"me": "Me",
|
||||
"menu_font": "Menu Font",
|
||||
"menu_font_change_disclaimer": "Changing Language and Menu Font Size several times will cause a crash!",
|
||||
@@ -177,7 +176,6 @@
|
||||
"poison_damage": "Poison Damage",
|
||||
"position": "Position",
|
||||
"press_any_key": "Press any key...",
|
||||
"prioritize_large_monsters": "Large Monsters on High Priority",
|
||||
"quest_result_screen": "Quest Result Screen",
|
||||
"quest_time": "Quest Time",
|
||||
"rage": "Rage",
|
||||
@@ -222,6 +220,7 @@
|
||||
"tracked_monster_types": "Tracked Monster Types",
|
||||
"training_area": "Training Area",
|
||||
"type": "Type",
|
||||
"update_rate": "Update Rate",
|
||||
"value_label": "Value Label",
|
||||
"vertical": "Vertical",
|
||||
"viewport_offset": "Viewport Offset",
|
||||
|
||||
@@ -140,7 +140,6 @@
|
||||
"loss_health_percentage": "절단 수치 비율",
|
||||
"master_rank": "마스터 랭크",
|
||||
"max_distance": "최대 거리",
|
||||
"max_monster_updates_per_tick": "틱당 갱신할 최대 몬스터",
|
||||
"me": "나",
|
||||
"menu_font": "메뉴 글꼴",
|
||||
"menu_font_change_disclaimer": "언어 및 메뉴 글꼴 크기를 여러 번 변경하면 뻗을 수 있습니다!",
|
||||
@@ -177,7 +176,6 @@
|
||||
"poison_damage": "독 대미지",
|
||||
"position": "위치",
|
||||
"press_any_key": "설정할 키를 누르세요...",
|
||||
"prioritize_large_monsters": "대형 몬스터를 우선적으로",
|
||||
"quest_result_screen": "퀘스트 결과 화면",
|
||||
"quest_time": "퀘스트 시간",
|
||||
"rage": "분노",
|
||||
@@ -222,6 +220,7 @@
|
||||
"tracked_monster_types": "추적할 몬스터 타입",
|
||||
"training_area": "훈련장",
|
||||
"type": "순으로",
|
||||
"update_rate": "Update Rate",
|
||||
"value_label": "값 라벨",
|
||||
"vertical": "세로",
|
||||
"viewport_offset": "뷰포트 간격",
|
||||
|
||||
@@ -140,7 +140,6 @@
|
||||
"loss_health_percentage": "Отсечение части в процентах",
|
||||
"master_rank": "Ранг мастера",
|
||||
"max_distance": "Макс. расстояние",
|
||||
"max_monster_updates_per_tick": "Макс. кол-во обновлений за тик",
|
||||
"me": "Я",
|
||||
"menu_font": "Шрифт меню",
|
||||
"menu_font_change_disclaimer": "Изменение языка и размера шрифта меню несколько раз приведёт к вылету!",
|
||||
@@ -177,7 +176,6 @@
|
||||
"poison_damage": "Урон от отравления",
|
||||
"position": "Расположение",
|
||||
"press_any_key": "Нажмите любую клавишу...",
|
||||
"prioritize_large_monsters": "Большие монстры в приоритете",
|
||||
"quest_result_screen": "Экран результатов квеста",
|
||||
"quest_time": "Время квеста",
|
||||
"rage": "Ярость",
|
||||
@@ -222,6 +220,7 @@
|
||||
"tracked_monster_types": "Отслеживаемые типы монстров",
|
||||
"training_area": "Тренировочная зона",
|
||||
"type": "Тип",
|
||||
"update_rate": "Update Rate",
|
||||
"value_label": "Метка значений",
|
||||
"vertical": "Вертикально",
|
||||
"viewport_offset": "Сдвиг в экранном пространстве",
|
||||
|
||||
@@ -140,7 +140,6 @@
|
||||
"loss_health_percentage": "Sever Health Percentage",
|
||||
"master_rank": "Master Rank",
|
||||
"max_distance": "最大距离",
|
||||
"max_monster_updates_per_tick": "每次更新的最大怪物数量",
|
||||
"me": "我",
|
||||
"menu_font": "菜单字体",
|
||||
"menu_font_change_disclaimer": "Changing Language and Menu Font Size several times will cause a crash!",
|
||||
@@ -177,7 +176,6 @@
|
||||
"poison_damage": "中毒伤害",
|
||||
"position": "位置",
|
||||
"press_any_key": "按任意键...",
|
||||
"prioritize_large_monsters": "大型怪物优先",
|
||||
"quest_result_screen": "任务结果页",
|
||||
"quest_time": "任务时间",
|
||||
"rage": "愤怒",
|
||||
@@ -222,6 +220,7 @@
|
||||
"tracked_monster_types": "跟踪的怪物类型",
|
||||
"training_area": "训练场",
|
||||
"type": "类型",
|
||||
"update_rate": "Update Rate",
|
||||
"value_label": "数字",
|
||||
"vertical": "垂直",
|
||||
"viewport_offset": "窗口偏移",
|
||||
|
||||
@@ -140,7 +140,6 @@
|
||||
"loss_health_percentage": "Sever Health Percentage",
|
||||
"master_rank": "Master Rank",
|
||||
"max_distance": "最大距離",
|
||||
"max_monster_updates_per_tick": "每次更新的最大魔物數量",
|
||||
"me": "我",
|
||||
"menu_font": "選單字體大小",
|
||||
"menu_font_change_disclaimer": "Changing Language and Menu Font Size several times will cause a crash!",
|
||||
@@ -177,7 +176,6 @@
|
||||
"poison_damage": "毒傷害",
|
||||
"position": "位置",
|
||||
"press_any_key": "輸入任意鍵...",
|
||||
"prioritize_large_monsters": "大型魔物優先",
|
||||
"quest_result_screen": "任務結算頁",
|
||||
"quest_time": "任務時間",
|
||||
"rage": "憤怒度",
|
||||
@@ -222,6 +220,7 @@
|
||||
"tracked_monster_types": "追蹤的魔物類型",
|
||||
"training_area": "訓練場",
|
||||
"type": "類型",
|
||||
"update_rate": "Update Rate",
|
||||
"value_label": "數字",
|
||||
"vertical": "垂直",
|
||||
"viewport_offset": "視窗的位置",
|
||||
|
||||
Reference in New Issue
Block a user