mirror of
https://github.com/GreenComfyTea/MHR-Overlay.git
synced 2026-01-25 04:48:22 -08:00
Add Cart Count, fix Script Time;
This commit is contained in:
@@ -29,44 +29,15 @@ local get_condition_type3_method = enemy_calc_damage_info_type_def:get_method("g
|
|||||||
|
|
||||||
local stock_mystery_core_break_damage_type_def = sdk.find_type_definition("snow.enemy.EnemyCharacterBase.stockMysteryCoreBreakDamage");
|
local stock_mystery_core_break_damage_type_def = sdk.find_type_definition("snow.enemy.EnemyCharacterBase.stockMysteryCoreBreakDamage");
|
||||||
|
|
||||||
|
local quest_manager_type_def = sdk.find_type_definition("snow.QuestManager");
|
||||||
|
|
||||||
local types = {
|
local not_host_cart_method = quest_manager_type_def:get_method("netRecvForfeit");
|
||||||
[0] = "PlayerWeapon",
|
local host_cart_method = quest_manager_type_def:get_method("netSendForfeit");
|
||||||
[1] = "BarrelBombLarge",
|
local offline_cart_method = quest_manager_type_def:get_method("notifyDeath");
|
||||||
[2] = "Makimushi",
|
|
||||||
[3] = "Nitro",
|
local packet_quest_forfeit_type_def = sdk.find_type_definition("snow.QuestManager.PacketQuestForfeit");
|
||||||
[4] = "OnibiMine",
|
local dead_player_id_field = packet_quest_forfeit_type_def:get_field("_DeadPlIndex");
|
||||||
[5] = "BallistaHate",
|
local is_from_host_field = packet_quest_forfeit_type_def:get_field("_IsFromQuestHostPacket");
|
||||||
[6] = "CaptureSmokeBomb",
|
|
||||||
[7] = "CaptureBullet",
|
|
||||||
[8] = "BarrelBombSmall",
|
|
||||||
[9] = "Kunai",
|
|
||||||
[10] = "WaterBeetle",
|
|
||||||
[11] = "DetonationGrenade",
|
|
||||||
[12] = "Kabutowari",
|
|
||||||
[13] = "FlashBoll", -- Flash Bomb
|
|
||||||
[14] = "HmBallista",
|
|
||||||
[15] = "HmCannon",
|
|
||||||
[16] = "HmGatling",
|
|
||||||
[17] = "HmTrap",
|
|
||||||
[18] = "HmNpc",
|
|
||||||
[19] = "HmFlameThrower",
|
|
||||||
[20] = "HmDragnator",
|
|
||||||
[21] = "Otomo",
|
|
||||||
[22] = "OtAirouShell014",
|
|
||||||
[23] = "OtAirouShell102",
|
|
||||||
[24] = "Fg005",
|
|
||||||
[25] = "EcBatExplode",
|
|
||||||
[26] = "EcWallTrapBugExplode",
|
|
||||||
[27] = "EcPiranha",
|
|
||||||
[28] = "EcFlash",
|
|
||||||
[29] = "EcSandWallShooter",
|
|
||||||
[30] = "EcForestWallShooter",
|
|
||||||
[31] = "EcSwampLeech",
|
|
||||||
[32] = "EcPenetrateFish",
|
|
||||||
[33] = "Max",
|
|
||||||
[34] = "Invalid"
|
|
||||||
}
|
|
||||||
|
|
||||||
function damage_hook.get_damage_source_type(damage_source_type_id, is_marionette_attack)
|
function damage_hook.get_damage_source_type(damage_source_type_id, is_marionette_attack)
|
||||||
if is_marionette_attack then
|
if is_marionette_attack then
|
||||||
@@ -213,8 +184,33 @@ function damage_hook.update_damage(enemy, enemy_calc_damage_info)
|
|||||||
player.update_damage(attacking_player, damage_source_type, is_large_monster, damage_object);
|
player.update_damage(attacking_player, damage_source_type, is_large_monster, damage_object);
|
||||||
end
|
end
|
||||||
|
|
||||||
function damage_hook.on_mystery_core_break(enemy)
|
--function damage_hook.on_mystery_core_break(enemy)
|
||||||
|
|
||||||
|
--end
|
||||||
|
|
||||||
|
-- Coavins code
|
||||||
|
function damage_hook.cart(type, args)
|
||||||
|
if not quest_status.is_online then --We reach here with notifyDeath when player is offline
|
||||||
|
player.myself.cart_count = player.myself.cart_count + 1;
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if player.myself.id == 0 then -- If player is host, netSendForfeit is always correct
|
||||||
|
if type == "host" then
|
||||||
|
local player_id = sdk.to_int64(args[3]);
|
||||||
|
player.list[player_id].cart_count = player.list[player_id].cart_count + 1;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if type == "not host" then
|
||||||
|
local packet_quest_forfeit = sdk.to_managed_object(args[3]);
|
||||||
|
local player_id = dead_player_id_field:get_data(packet_quest_forfeit);
|
||||||
|
local is_from_host = is_from_host_field:get_data(packet_quest_forfeit)
|
||||||
|
|
||||||
|
if is_from_host then -- Data is sent twice, 1 from host and 1 from dead player. Check if from host to only add 1
|
||||||
|
player.list[player_id].cart_count = player.list[player_id].cart_count + 1;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function damage_hook.init_module()
|
function damage_hook.init_module()
|
||||||
@@ -230,11 +226,29 @@ function damage_hook.init_module()
|
|||||||
return retval;
|
return retval;
|
||||||
end);
|
end);
|
||||||
|
|
||||||
sdk.hook(stock_mystery_core_break_damage_type_def, function(args)
|
sdk.hook(not_host_cart_method, function(args)
|
||||||
pcall(damage_hook.on_mystery_core_break, sdk.to_managed_object(args[2]));
|
pcall(damage_hook.cart, "not host", args);
|
||||||
end, function(retval)
|
end, function(retval)
|
||||||
return retval;
|
return retval;
|
||||||
end);
|
end);
|
||||||
|
|
||||||
|
sdk.hook(host_cart_method, function(args)
|
||||||
|
pcall(damage_hook.cart, "host", args);
|
||||||
|
end, function(retval)
|
||||||
|
return retval;
|
||||||
|
end);
|
||||||
|
|
||||||
|
sdk.hook(offline_cart_method, function(args)
|
||||||
|
pcall(damage_hook.cart, "offline", args);
|
||||||
|
end, function(retval)
|
||||||
|
return retval;
|
||||||
|
end);
|
||||||
|
|
||||||
|
--sdk.hook(stock_mystery_core_break_damage_type_def, function(args)
|
||||||
|
-- pcall(damage_hook.on_mystery_core_break, sdk.to_managed_object(args[2]));
|
||||||
|
--end, function(retval)
|
||||||
|
-- return retval;
|
||||||
|
--end);
|
||||||
end
|
end
|
||||||
|
|
||||||
return damage_hook;
|
return damage_hook;
|
||||||
@@ -3,6 +3,7 @@ local singletons;
|
|||||||
local customization_menu;
|
local customization_menu;
|
||||||
local player;
|
local player;
|
||||||
local config;
|
local config;
|
||||||
|
local small_monster;
|
||||||
|
|
||||||
local quest_manager_type_def = sdk.find_type_definition("snow.QuestManager");
|
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");
|
local get_quest_elapsed_time_min_method = quest_manager_type_def:get_method("getQuestElapsedTimeMin");
|
||||||
@@ -12,9 +13,16 @@ time.total_elapsed_seconds = 0;
|
|||||||
time.elapsed_minutes = 0;
|
time.elapsed_minutes = 0;
|
||||||
time.elapsed_seconds = 0;
|
time.elapsed_seconds = 0;
|
||||||
|
|
||||||
time.last_elapsed_seconds = 0;
|
time.total_elapsed_script_seconds = 0;
|
||||||
|
time.last_elapsed_script_seconds = 0;
|
||||||
|
|
||||||
|
function time.update_script_time()
|
||||||
|
time.total_elapsed_script_seconds = os.clock();
|
||||||
|
end
|
||||||
|
|
||||||
function time.tick()
|
function time.tick()
|
||||||
|
time.update_script_time();
|
||||||
|
|
||||||
if singletons.quest_manager == nil then
|
if singletons.quest_manager == nil then
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
@@ -36,9 +44,10 @@ function time.tick()
|
|||||||
time.total_elapsed_seconds = quest_time_total_elapsed_seconds;
|
time.total_elapsed_seconds = quest_time_total_elapsed_seconds;
|
||||||
time.elapsed_seconds = quest_time_total_elapsed_seconds - quest_time_elapsed_minutes * 60;
|
time.elapsed_seconds = quest_time_total_elapsed_seconds - quest_time_elapsed_minutes * 60;
|
||||||
|
|
||||||
if time.total_elapsed_seconds - time.last_elapsed_seconds > 60 / config.current_config.global_settings.performance.updates_rate then
|
if time.total_elapsed_script_seconds - time.last_elapsed_script_seconds > config.current_config.global_settings.performance.update_rate then
|
||||||
time.last_elapsed_seconds = time.total_elapsed_seconds;
|
time.last_elapsed_script_seconds = time.total_elapsed_script_seconds;
|
||||||
time.update_players_dps();
|
time.update_players_dps();
|
||||||
|
time.update_small_monsters();
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -48,20 +57,20 @@ function time.update_players_dps()
|
|||||||
local new_total_dps = 0;
|
local new_total_dps = 0;
|
||||||
for _, _player in pairs(player.list) do
|
for _, _player in pairs(player.list) do
|
||||||
if _player.join_time == -1 then
|
if _player.join_time == -1 then
|
||||||
_player.join_time = time.total_elapsed_seconds;
|
_player.join_time = time.total_elapsed_script_seconds;
|
||||||
end
|
end
|
||||||
|
|
||||||
if cached_config.dps_mode == "Quest Time" then
|
if cached_config.dps_mode == "Quest Time" then
|
||||||
if time.total_elapsed_seconds > 0 then
|
if time.total_elapsed_script_seconds > 0 then
|
||||||
_player.dps = _player.display.total_damage / time.total_elapsed_seconds;
|
_player.dps = _player.display.total_damage / time.total_elapsed_script_seconds;
|
||||||
end
|
end
|
||||||
elseif cached_config.dps_mode == "Join Time" then
|
elseif cached_config.dps_mode == "Join Time" then
|
||||||
if time.total_elapsed_seconds - _player.join_time > 0 then
|
if time.total_elapsed_script_seconds - _player.join_time > 0 then
|
||||||
_player.dps = _player.display.total_damage / (time.total_elapsed_seconds - _player.join_time);
|
_player.dps = _player.display.total_damage / (time.total_elapsed_script_seconds - _player.join_time);
|
||||||
end
|
end
|
||||||
elseif cached_config.dps_mode == "First Hit" then
|
elseif cached_config.dps_mode == "First Hit" then
|
||||||
if time.total_elapsed_seconds - _player.first_hit_time > 0 then
|
if time.total_elapsed_script_seconds - _player.first_hit_time > 0 then
|
||||||
_player.dps = _player.display.total_damage / (time.total_elapsed_seconds - _player.first_hit_time);
|
_player.dps = _player.display.total_damage / (time.total_elapsed_script_seconds - _player.first_hit_time);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
end
|
end
|
||||||
@@ -72,12 +81,19 @@ function time.update_players_dps()
|
|||||||
player.total.dps = new_total_dps;
|
player.total.dps = new_total_dps;
|
||||||
end
|
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()
|
function time.init_module()
|
||||||
player = require("MHR_Overlay.Damage_Meter.player");
|
player = require("MHR_Overlay.Damage_Meter.player");
|
||||||
singletons = require("MHR_Overlay.Game_Handler.singletons");
|
singletons = require("MHR_Overlay.Game_Handler.singletons");
|
||||||
customization_menu = require("MHR_Overlay.UI.customization_menu");
|
customization_menu = require("MHR_Overlay.UI.customization_menu");
|
||||||
time = require("MHR_Overlay.Game_Handler.time");
|
time = require("MHR_Overlay.Game_Handler.time");
|
||||||
config = require("MHR_Overlay.Misc.config");
|
config = require("MHR_Overlay.Misc.config");
|
||||||
|
small_monster = require("MHR_Overlay.Monsters.small_monster");
|
||||||
end
|
end
|
||||||
|
|
||||||
return time;
|
return time;
|
||||||
@@ -3777,6 +3777,7 @@ function config.init()
|
|||||||
myself = {
|
myself = {
|
||||||
master_rank = true,
|
master_rank = true,
|
||||||
hunter_rank = true,
|
hunter_rank = true,
|
||||||
|
cart_count = false,
|
||||||
word_player = false,
|
word_player = false,
|
||||||
player_id = false,
|
player_id = false,
|
||||||
player_name = true
|
player_name = true
|
||||||
@@ -3785,6 +3786,7 @@ function config.init()
|
|||||||
others = {
|
others = {
|
||||||
master_rank = true,
|
master_rank = true,
|
||||||
hunter_rank = true,
|
hunter_rank = true,
|
||||||
|
cart_count = false,
|
||||||
word_player = false,
|
word_player = false,
|
||||||
player_id = false,
|
player_id = false,
|
||||||
player_name = true
|
player_name = true
|
||||||
@@ -3840,6 +3842,26 @@ function config.init()
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
cart_count_label = {
|
||||||
|
visibility = false,
|
||||||
|
|
||||||
|
text = "x%d",
|
||||||
|
offset = {
|
||||||
|
x = 315,
|
||||||
|
y = 0
|
||||||
|
},
|
||||||
|
color = 0xFFCCF4E1,
|
||||||
|
|
||||||
|
shadow = {
|
||||||
|
visibility = true,
|
||||||
|
offset = {
|
||||||
|
x = 1,
|
||||||
|
y = 1
|
||||||
|
},
|
||||||
|
color = 0xFF000000
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
dps_label = {
|
dps_label = {
|
||||||
visibility = true,
|
visibility = true,
|
||||||
text = "%.1f",
|
text = "%.1f",
|
||||||
|
|||||||
@@ -378,7 +378,9 @@ language.default_language = {
|
|||||||
|
|
||||||
player_name_size_limit = "Player Name Size Limit",
|
player_name_size_limit = "Player Name Size Limit",
|
||||||
|
|
||||||
update_rate = "Update Rate"
|
update_rate = "Update Rate",
|
||||||
|
cart_count = "Cart Count",
|
||||||
|
cart_count_label = "Cart Count Label",
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -337,7 +337,6 @@ function body_part.draw_static(monster, parts_position_on_screen, opacity_scale)
|
|||||||
and ((part.loss_health == part.loss_max_health and not part.is_severed) or part.loss_max_health < 0) then
|
and ((part.loss_health == part.loss_max_health and not part.is_severed) or part.loss_max_health < 0) then
|
||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
if (not part.body_part_static_UI.flinch_visibility or part.max_health < 0)
|
if (not part.body_part_static_UI.flinch_visibility or part.max_health < 0)
|
||||||
and (not part.body_part_static_UI.break_visibility or part.break_max_health < 0 or part.break_count >= part.break_max_count)
|
and (not part.body_part_static_UI.break_visibility or part.break_max_health < 0 or part.break_count >= part.break_max_count)
|
||||||
and (not part.body_part_static_UI.loss_visibility or part.loss_max_health < 0 or part.is_severed) then
|
and (not part.body_part_static_UI.loss_visibility or part.loss_max_health < 0 or part.is_severed) then
|
||||||
@@ -348,6 +347,7 @@ function body_part.draw_static(monster, parts_position_on_screen, opacity_scale)
|
|||||||
goto continue;
|
goto continue;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
table.insert(displayed_parts, part);
|
table.insert(displayed_parts, part);
|
||||||
::continue::
|
::continue::
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -89,7 +89,6 @@ function large_monster_UI.draw(dynamic_enabled, static_enabled, highlighted_enab
|
|||||||
if static_enabled then
|
if static_enabled then
|
||||||
large_monster_UI.draw_static(displayed_monsters, highlighted_monster);
|
large_monster_UI.draw_static(displayed_monsters, highlighted_monster);
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function large_monster_UI.draw_dynamic(displayed_monsters, highlighted_monster)
|
function large_monster_UI.draw_dynamic(displayed_monsters, highlighted_monster)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ local config;
|
|||||||
local player;
|
local player;
|
||||||
local language;
|
local language;
|
||||||
|
|
||||||
function damage_UI_entity.new(bar, highlighted_bar, player_name_label, dps_label, hunter_rank_label, value_label, percentage_label)
|
function damage_UI_entity.new(bar, highlighted_bar, player_name_label, dps_label, hunter_rank_label, value_label, percentage_label, cart_count_label)
|
||||||
local entity = {};
|
local entity = {};
|
||||||
|
|
||||||
local global_scale_modifier = config.current_config.global_settings.modifiers.global_scale_modifier;
|
local global_scale_modifier = config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||||
@@ -16,6 +16,7 @@ function damage_UI_entity.new(bar, highlighted_bar, player_name_label, dps_label
|
|||||||
entity.player_name_label = table_helpers.deep_copy(player_name_label);
|
entity.player_name_label = table_helpers.deep_copy(player_name_label);
|
||||||
entity.dps_label = table_helpers.deep_copy(dps_label);
|
entity.dps_label = table_helpers.deep_copy(dps_label);
|
||||||
entity.hunter_rank_label = table_helpers.deep_copy(hunter_rank_label);
|
entity.hunter_rank_label = table_helpers.deep_copy(hunter_rank_label);
|
||||||
|
entity.cart_count_label = table_helpers.deep_copy(cart_count_label);
|
||||||
entity.value_label = table_helpers.deep_copy(value_label);
|
entity.value_label = table_helpers.deep_copy(value_label);
|
||||||
entity.percentage_label = table_helpers.deep_copy(percentage_label);
|
entity.percentage_label = table_helpers.deep_copy(percentage_label);
|
||||||
|
|
||||||
@@ -40,6 +41,9 @@ function damage_UI_entity.new(bar, highlighted_bar, player_name_label, dps_label
|
|||||||
entity.hunter_rank_label.offset.x = entity.hunter_rank_label.offset.x * global_scale_modifier;
|
entity.hunter_rank_label.offset.x = entity.hunter_rank_label.offset.x * global_scale_modifier;
|
||||||
entity.hunter_rank_label.offset.y = entity.hunter_rank_label.offset.y * global_scale_modifier;
|
entity.hunter_rank_label.offset.y = entity.hunter_rank_label.offset.y * global_scale_modifier;
|
||||||
|
|
||||||
|
entity.cart_count_label.offset.x = entity.cart_count_label.offset.x * global_scale_modifier;
|
||||||
|
entity.cart_count_label.offset.y = entity.cart_count_label.offset.y * global_scale_modifier;
|
||||||
|
|
||||||
entity.value_label.offset.x = entity.value_label.offset.x * global_scale_modifier;
|
entity.value_label.offset.x = entity.value_label.offset.x * global_scale_modifier;
|
||||||
entity.value_label.offset.y = entity.value_label.offset.y * global_scale_modifier;
|
entity.value_label.offset.y = entity.value_label.offset.y * global_scale_modifier;
|
||||||
|
|
||||||
@@ -67,6 +71,11 @@ function damage_UI_entity.draw(_player, position_on_screen, opacity_scale, top_d
|
|||||||
player_name_text = string.format("[%d] ", _player.hunter_rank);
|
player_name_text = string.format("[%d] ", _player.hunter_rank);
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if player_include.cart_count then
|
||||||
|
player_name_text = player_name_text .. string.format("x%d ", _player.cart_count);
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
if player_include.word_player then
|
if player_include.word_player then
|
||||||
player_name_text = player_name_text .. language.current_language.UI.player .. " ";
|
player_name_text = player_name_text .. language.current_language.UI.player .. " ";
|
||||||
end
|
end
|
||||||
@@ -125,12 +134,15 @@ function damage_UI_entity.draw(_player, position_on_screen, opacity_scale, top_d
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if _player.damage_UI.player_name_size_limit ~= 0 then
|
||||||
player_name_text = drawing.limit_text_size(player_name_text, _player.damage_UI.player_name_size_limit);
|
player_name_text = drawing.limit_text_size(player_name_text, _player.damage_UI.player_name_size_limit);
|
||||||
|
end
|
||||||
|
|
||||||
drawing.draw_label(_player.damage_UI.player_name_label, position_on_screen, opacity_scale, player_name_text);
|
drawing.draw_label(_player.damage_UI.player_name_label, position_on_screen, opacity_scale, player_name_text);
|
||||||
drawing.draw_label(_player.damage_UI.value_label, position_on_screen, opacity_scale, _player.display.total_damage);
|
drawing.draw_label(_player.damage_UI.value_label, position_on_screen, opacity_scale, _player.display.total_damage);
|
||||||
drawing.draw_label(_player.damage_UI.percentage_label, position_on_screen, opacity_scale, 100 * player_damage_percentage);
|
drawing.draw_label(_player.damage_UI.percentage_label, position_on_screen, opacity_scale, 100 * player_damage_percentage);
|
||||||
drawing.draw_label(_player.damage_UI.dps_label, position_on_screen, opacity_scale, _player.dps);
|
drawing.draw_label(_player.damage_UI.dps_label, position_on_screen, opacity_scale, _player.dps);
|
||||||
|
drawing.draw_label(_player.damage_UI.cart_count_label, position_on_screen, opacity_scale, _player.cart_count);
|
||||||
end
|
end
|
||||||
|
|
||||||
function damage_UI_entity.init_module()
|
function damage_UI_entity.init_module()
|
||||||
|
|||||||
@@ -15249,6 +15249,12 @@ function customization_menu.draw()
|
|||||||
config_changed = config_changed or changed;
|
config_changed = config_changed or changed;
|
||||||
damage_meter_UI_changed = damage_meter_UI_changed or changed;
|
damage_meter_UI_changed = damage_meter_UI_changed or changed;
|
||||||
|
|
||||||
|
changed, config.current_config.damage_meter_UI.player_name_label.include.myself.cart_count = imgui.checkbox(
|
||||||
|
language.current_language.customization_menu.cart_count,
|
||||||
|
config.current_config.damage_meter_UI.player_name_label.include.myself.cart_count);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
damage_meter_UI_changed = damage_meter_UI_changed or changed;
|
||||||
|
|
||||||
changed, config.current_config.damage_meter_UI.player_name_label.include.myself.word_player = imgui.checkbox(
|
changed, config.current_config.damage_meter_UI.player_name_label.include.myself.word_player = imgui.checkbox(
|
||||||
language.current_language.customization_menu.word_player,
|
language.current_language.customization_menu.word_player,
|
||||||
config.current_config.damage_meter_UI.player_name_label.include.myself.word_player);
|
config.current_config.damage_meter_UI.player_name_label.include.myself.word_player);
|
||||||
@@ -15283,6 +15289,12 @@ function customization_menu.draw()
|
|||||||
config_changed = config_changed or changed;
|
config_changed = config_changed or changed;
|
||||||
damage_meter_UI_changed = damage_meter_UI_changed or changed;
|
damage_meter_UI_changed = damage_meter_UI_changed or changed;
|
||||||
|
|
||||||
|
changed, config.current_config.damage_meter_UI.player_name_label.include.others.cart_count = imgui.checkbox(
|
||||||
|
language.current_language.customization_menu.cart_count,
|
||||||
|
config.current_config.damage_meter_UI.player_name_label.include.others.cart_count);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
damage_meter_UI_changed = damage_meter_UI_changed or changed;
|
||||||
|
|
||||||
changed, config.current_config.damage_meter_UI.player_name_label.include.others.word_player = imgui.checkbox(
|
changed, config.current_config.damage_meter_UI.player_name_label.include.others.word_player = imgui.checkbox(
|
||||||
language.current_language.customization_menu.word_player,
|
language.current_language.customization_menu.word_player,
|
||||||
config.current_config.damage_meter_UI.player_name_label.include.others.word_player);
|
config.current_config.damage_meter_UI.player_name_label.include.others.word_player);
|
||||||
@@ -15478,6 +15490,77 @@ function customization_menu.draw()
|
|||||||
imgui.tree_pop();
|
imgui.tree_pop();
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.cart_count_label) then
|
||||||
|
changed, config.current_config.damage_meter_UI.cart_count_label.visibility = imgui.checkbox(language.current_language
|
||||||
|
.customization_menu.visible,
|
||||||
|
config.current_config.damage_meter_UI.cart_count_label.visibility);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
damage_meter_UI_changed = damage_meter_UI_changed or changed;
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.offset) then
|
||||||
|
changed, config.current_config.damage_meter_UI.cart_count_label.offset.x = imgui.drag_float(language.current_language
|
||||||
|
.customization_menu.x,
|
||||||
|
config.current_config.damage_meter_UI.cart_count_label.offset.x, 0.1, -screen.width, screen.width, "%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
damage_meter_UI_changed = damage_meter_UI_changed or changed;
|
||||||
|
|
||||||
|
changed, config.current_config.damage_meter_UI.cart_count_label.offset.y = imgui.drag_float(language.current_language
|
||||||
|
.customization_menu.y,
|
||||||
|
config.current_config.damage_meter_UI.cart_count_label.offset.y, 0.1, -screen.height, screen.height, "%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
damage_meter_UI_changed = damage_meter_UI_changed or changed;
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.color) then
|
||||||
|
changed, config.current_config.damage_meter_UI.cart_count_label.color = imgui.color_picker_argb("",
|
||||||
|
config.current_config.damage_meter_UI.cart_count_label.color, customization_menu.color_picker_flags);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
damage_meter_UI_changed = damage_meter_UI_changed or changed;
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.shadow) then
|
||||||
|
changed, config.current_config.damage_meter_UI.cart_count_label.shadow.visibility = imgui.checkbox(language.current_language
|
||||||
|
.customization_menu.visible,
|
||||||
|
config.current_config.damage_meter_UI.cart_count_label.shadow.visibility);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
damage_meter_UI_changed = damage_meter_UI_changed or changed;
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.offset) then
|
||||||
|
changed, config.current_config.damage_meter_UI.cart_count_label.shadow.offset.x = imgui.drag_float(language.current_language
|
||||||
|
.customization_menu.x,
|
||||||
|
config.current_config.damage_meter_UI.cart_count_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
damage_meter_UI_changed = damage_meter_UI_changed or changed;
|
||||||
|
|
||||||
|
changed, config.current_config.damage_meter_UI.cart_count_label.shadow.offset.y = imgui.drag_float(language.current_language
|
||||||
|
.customization_menu.y,
|
||||||
|
config.current_config.damage_meter_UI.cart_count_label.shadow.offset.y, 0.1, -screen.height, screen.height,
|
||||||
|
"%.1f");
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
damage_meter_UI_changed = damage_meter_UI_changed or changed;
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
if imgui.tree_node(language.current_language.customization_menu.color) then
|
||||||
|
changed, config.current_config.damage_meter_UI.cart_count_label.shadow.color = imgui.color_picker_argb("",
|
||||||
|
config.current_config.damage_meter_UI.cart_count_label.shadow.color, customization_menu.color_picker_flags);
|
||||||
|
config_changed = config_changed or changed;
|
||||||
|
damage_meter_UI_changed = damage_meter_UI_changed or changed;
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
|
imgui.tree_pop();
|
||||||
|
end
|
||||||
|
|
||||||
if imgui.tree_node(language.current_language.customization_menu.dps_label) then
|
if imgui.tree_node(language.current_language.customization_menu.dps_label) then
|
||||||
changed, config.current_config.damage_meter_UI.dps_label.visibility = imgui.checkbox(language.current_language.customization_menu
|
changed, config.current_config.damage_meter_UI.dps_label.visibility = imgui.checkbox(language.current_language.customization_menu
|
||||||
.visible,
|
.visible,
|
||||||
|
|||||||
@@ -67,6 +67,8 @@
|
|||||||
"buildup_percentage_label": "Buildup Percentage Label",
|
"buildup_percentage_label": "Buildup Percentage Label",
|
||||||
"buildup_value_label": "Buildup Value Label",
|
"buildup_value_label": "Buildup Value Label",
|
||||||
"capture_line": "Capture Line",
|
"capture_line": "Capture Line",
|
||||||
|
"cart_count": "Cart Count",
|
||||||
|
"cart_count_label": "Cart Count Label",
|
||||||
"color": "Color",
|
"color": "Color",
|
||||||
"colors": "Colors",
|
"colors": "Colors",
|
||||||
"creature_name_label": "Creature Name Label",
|
"creature_name_label": "Creature Name Label",
|
||||||
@@ -140,6 +142,7 @@
|
|||||||
"loss_health_percentage": "Sever Health Percentage",
|
"loss_health_percentage": "Sever Health Percentage",
|
||||||
"master_rank": "Master Rank",
|
"master_rank": "Master Rank",
|
||||||
"max_distance": "Max Distance",
|
"max_distance": "Max Distance",
|
||||||
|
"max_monster_updates_per_tick": "Max Monster Updates per Tick",
|
||||||
"me": "Me",
|
"me": "Me",
|
||||||
"menu_font": "Menu Font",
|
"menu_font": "Menu Font",
|
||||||
"menu_font_change_disclaimer": "Changing Language and Menu Font Size several times will cause a crash!",
|
"menu_font_change_disclaimer": "Changing Language and Menu Font Size several times will cause a crash!",
|
||||||
@@ -176,6 +179,7 @@
|
|||||||
"poison_damage": "Poison Damage",
|
"poison_damage": "Poison Damage",
|
||||||
"position": "Position",
|
"position": "Position",
|
||||||
"press_any_key": "Press any key...",
|
"press_any_key": "Press any key...",
|
||||||
|
"prioritize_large_monsters": "Large Monsters on High Priority",
|
||||||
"quest_result_screen": "Quest Result Screen",
|
"quest_result_screen": "Quest Result Screen",
|
||||||
"quest_time": "Quest Time",
|
"quest_time": "Quest Time",
|
||||||
"rage": "Rage",
|
"rage": "Rage",
|
||||||
|
|||||||
@@ -67,6 +67,8 @@
|
|||||||
"buildup_percentage_label": "누적치 비율 라벨",
|
"buildup_percentage_label": "누적치 비율 라벨",
|
||||||
"buildup_value_label": "누적치 값 라벨",
|
"buildup_value_label": "누적치 값 라벨",
|
||||||
"capture_line": "포획 표시선",
|
"capture_line": "포획 표시선",
|
||||||
|
"cart_count": "Cart Count",
|
||||||
|
"cart_count_label": "Cart Count Label",
|
||||||
"color": "색상",
|
"color": "색상",
|
||||||
"colors": "색상",
|
"colors": "색상",
|
||||||
"creature_name_label": "환경생물 이름 라벨",
|
"creature_name_label": "환경생물 이름 라벨",
|
||||||
@@ -140,6 +142,7 @@
|
|||||||
"loss_health_percentage": "절단 수치 비율",
|
"loss_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": "언어 및 메뉴 글꼴 크기를 여러 번 변경하면 뻗을 수 있습니다!",
|
"menu_font_change_disclaimer": "언어 및 메뉴 글꼴 크기를 여러 번 변경하면 뻗을 수 있습니다!",
|
||||||
@@ -176,6 +179,7 @@
|
|||||||
"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": "분노",
|
||||||
|
|||||||
@@ -67,6 +67,8 @@
|
|||||||
"buildup_percentage_label": "Метка накопления в процентах",
|
"buildup_percentage_label": "Метка накопления в процентах",
|
||||||
"buildup_value_label": "Метка значения накопления",
|
"buildup_value_label": "Метка значения накопления",
|
||||||
"capture_line": "Линия здоровья захвата",
|
"capture_line": "Линия здоровья захвата",
|
||||||
|
"cart_count": "Cart Count",
|
||||||
|
"cart_count_label": "Cart Count Label",
|
||||||
"color": "Цвет",
|
"color": "Цвет",
|
||||||
"colors": "Цвета",
|
"colors": "Цвета",
|
||||||
"creature_name_label": "Метка имени существа",
|
"creature_name_label": "Метка имени существа",
|
||||||
@@ -140,6 +142,7 @@
|
|||||||
"loss_health_percentage": "Отсечение части в процентах",
|
"loss_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": "Изменение языка и размера шрифта меню несколько раз приведёт к вылету!",
|
"menu_font_change_disclaimer": "Изменение языка и размера шрифта меню несколько раз приведёт к вылету!",
|
||||||
@@ -176,6 +179,7 @@
|
|||||||
"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": "Ярость",
|
||||||
|
|||||||
@@ -67,6 +67,8 @@
|
|||||||
"buildup_percentage_label": "积累值百分比标签",
|
"buildup_percentage_label": "积累值百分比标签",
|
||||||
"buildup_value_label": "积累值标签",
|
"buildup_value_label": "积累值标签",
|
||||||
"capture_line": "可捕捉线",
|
"capture_line": "可捕捉线",
|
||||||
|
"cart_count": "Cart Count",
|
||||||
|
"cart_count_label": "Cart Count Label",
|
||||||
"color": "颜色",
|
"color": "颜色",
|
||||||
"colors": "颜色",
|
"colors": "颜色",
|
||||||
"creature_name_label": "生物名标签",
|
"creature_name_label": "生物名标签",
|
||||||
@@ -140,6 +142,7 @@
|
|||||||
"loss_health_percentage": "Sever Health Percentage",
|
"loss_health_percentage": "Sever Health Percentage",
|
||||||
"master_rank": "Master Rank",
|
"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!",
|
"menu_font_change_disclaimer": "Changing Language and Menu Font Size several times will cause a crash!",
|
||||||
@@ -176,6 +179,7 @@
|
|||||||
"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": "愤怒",
|
||||||
|
|||||||
@@ -67,6 +67,8 @@
|
|||||||
"buildup_percentage_label": "累積值百分比文字",
|
"buildup_percentage_label": "累積值百分比文字",
|
||||||
"buildup_value_label": "累積值文字",
|
"buildup_value_label": "累積值文字",
|
||||||
"capture_line": "可捕捉標記線",
|
"capture_line": "可捕捉標記線",
|
||||||
|
"cart_count": "Cart Count",
|
||||||
|
"cart_count_label": "Cart Count Label",
|
||||||
"color": "調色盤",
|
"color": "調色盤",
|
||||||
"colors": "調色盤",
|
"colors": "調色盤",
|
||||||
"creature_name_label": "環境生物名稱",
|
"creature_name_label": "環境生物名稱",
|
||||||
@@ -140,6 +142,7 @@
|
|||||||
"loss_health_percentage": "Sever Health Percentage",
|
"loss_health_percentage": "Sever Health Percentage",
|
||||||
"master_rank": "Master Rank",
|
"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!",
|
"menu_font_change_disclaimer": "Changing Language and Menu Font Size several times will cause a crash!",
|
||||||
@@ -176,6 +179,7 @@
|
|||||||
"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": "憤怒度",
|
||||||
|
|||||||
Reference in New Issue
Block a user