Files
2026-04-30 17:13:04 +02:00

897 lines
34 KiB
Plaintext

[gd_scene format=3 uid="uid://cxf3yenlgvupj"]
[ext_resource type="Theme" uid="uid://qmw85rumbdxu" path="res://EditorTheme.tres" id="1_3p2gp"]
[ext_resource type="Script" uid="uid://c57yqopmolu8o" path="res://Scripts/Gdscript/Ban/main.gd" id="1_bjd11"]
[ext_resource type="PackedScene" uid="uid://bxpr2nb1hydpi" path="res://scenes/punish_showcase.tscn" id="2_qmy6f"]
[ext_resource type="Texture2D" uid="uid://o2sjogt3b0ht" path="res://Textures/tf2logo.png" id="3_mwfav"]
[ext_resource type="Texture2D" uid="uid://dppihj7ptidog" path="res://Textures/Plus.png" id="4_3p2gp"]
[ext_resource type="Texture2D" uid="uid://c7r26dxgqkklc" path="res://Textures/Minus.png" id="5_cvmbd"]
[ext_resource type="Script" uid="uid://c5ihhdkosauvw" path="res://Scripts/Gdscript/Ban/punish_list_parser.gd" id="6_ft6cd"]
[ext_resource type="Texture2D" uid="uid://decrh4ixlnkgd" path="res://Textures/Close.svg" id="6_mwfav"]
[ext_resource type="Script" uid="uid://caaljvxo8tja5" path="res://Scripts/Gdscript/Ban/ban_list_exporter.gd" id="7_bb450"]
[ext_resource type="PackedScene" uid="uid://dy18m2uq557to" path="res://scenes/windwos/edit_window.tscn" id="8_nfivy"]
[ext_resource type="PackedScene" uid="uid://burukk5374yyu" path="res://scenes/windwos/MoreOptionsWindow.tscn" id="9_1nqs0"]
[ext_resource type="PackedScene" uid="uid://gah2g6nabyf4" path="res://scenes/windwos/statistics.tscn" id="10_1iba3"]
[ext_resource type="Script" uid="uid://bt5wd8qjaevk0" path="res://Scripts/Gdscript/Ban/search.gd" id="11_yxlcp"]
[ext_resource type="Script" uid="uid://3gmapu83dglo" path="res://Scripts/Gdscript/Ban/save_file_parser.gd" id="12_ebg2g"]
[ext_resource type="Script" uid="uid://dv74d87a31oyx" path="res://Scripts/Csharp/GitIntegration.cs" id="13_qmy6f"]
[ext_resource type="Script" uid="uid://byl0odlgqrjri" path="res://scenes/loadout_overrides.gd" id="14_bb450"]
[ext_resource type="Script" uid="uid://cg2feh2v1snlb" path="res://Scripts/Gdscript/LoadoutOverrides/override_parser.gd" id="14_cvmbd"]
[ext_resource type="Script" uid="uid://d4kekhtba3d0u" path="res://scenes/ServerStatGetter.cs" id="16_nfivy"]
[ext_resource type="Script" uid="uid://b05psfj22ka2f" path="res://Scripts/Gdscript/ServerStats/server_stat_parser.gd" id="17_1nqs0"]
[ext_resource type="PackedScene" uid="uid://ct2d3yftjk212" path="res://scenes/stats/PlayerDisplay.tscn" id="17_ebg2g"]
[ext_resource type="Script" uid="uid://chmb3e61opk14" path="res://Scripts/Gdscript/UsersAndGroups/PeopleParser.gd" id="17_ft6cd"]
[ext_resource type="Script" uid="uid://badgostgh6rpx" path="res://scenes/stats/maps.gd" id="17_yxlcp"]
[ext_resource type="PackedScene" uid="uid://b2e21u6c0mjxy" path="res://scenes/stats/NameDisplay.tscn" id="18_ebg2g"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3p2gp"]
content_margin_left = 0.0
content_margin_top = 0.0
content_margin_right = 0.0
content_margin_bottom = 0.0
bg_color = Color(0.15294118, 0.15294118, 0.13725491, 0.32156864)
corner_radius_top_left = 3
corner_radius_top_right = 3
corner_radius_bottom_right = 3
corner_radius_bottom_left = 3
corner_detail = 5
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_cvmbd"]
bg_color = Color(0.1764706, 0.13725491, 0.06666667, 0.627451)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_bb450"]
content_margin_left = 10.0
content_margin_top = 4.0
content_margin_right = 10.0
content_margin_bottom = 4.0
bg_color = Color(0.19076231, 0.19076234, 0.19076231, 0.6)
border_width_top = 25
border_color = Color(0.12225237, 0.1222522, 0.12225225, 1)
border_blend = true
corner_detail = 1
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_nfivy"]
content_margin_left = 10.0
content_margin_top = 4.0
content_margin_right = 10.0
content_margin_bottom = 4.0
bg_color = Color(0.16078432, 0.16078432, 0.16078432, 1)
border_width_top = 12
border_color = Color(0.45452452, 0.45452416, 0.4545244, 1)
border_blend = true
corner_detail = 1
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ft6cd"]
content_margin_left = 20.0
content_margin_top = 4.0
content_margin_right = 20.0
content_margin_bottom = 4.0
bg_color = Color(0.23921569, 0.23137255, 0.2784314, 1)
border_width_top = 18
border_color = Color(0.6392157, 0.69411767, 0.7607843, 1)
border_blend = true
corner_radius_top_left = 6
corner_radius_top_right = 6
shadow_color = Color(0.051970966, 0.05197096, 0.05197095, 0.6)
shadow_size = 6
shadow_offset = Vector2(0, -2.025)
[sub_resource type="LabelSettings" id="LabelSettings_lgr22"]
font_size = 26
outline_size = 11
outline_color = Color(0, 0, 0, 1)
shadow_size = 11
shadow_color = Color(0, 0, 0, 0.3254902)
shadow_offset = Vector2(12.105, 8.315)
stacked_outline_count = 3
stacked_outline_0/size = 4
stacked_outline_0/color = Color(1, 0, 0, 1)
stacked_outline_1/size = 4
stacked_outline_1/color = Color(0.8099345, 0.9946762, 7.70092e-07, 1)
stacked_outline_2/size = 4
stacked_outline_2/color = Color(0.32855865, 0.41260794, 1, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_mwfav"]
content_margin_left = 0.0
content_margin_top = 0.0
content_margin_right = 0.0
content_margin_bottom = 0.0
bg_color = Color(0.5446172, 0.24615589, 0.017454231, 0.6)
corner_radius_top_left = 3
corner_radius_top_right = 3
corner_radius_bottom_right = 3
corner_radius_bottom_left = 3
corner_detail = 5
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1nqs0"]
content_margin_left = 0.0
content_margin_top = 0.0
content_margin_right = 0.0
content_margin_bottom = 0.0
bg_color = Color(0.19708219, 0.2543668, 0.21419287, 0.6)
border_width_left = 2
border_width_top = 2
border_width_right = 2
border_width_bottom = 2
border_color = Color(0.65549743, 0.90003556, 0.5985833, 0.45882353)
corner_radius_top_left = 3
corner_radius_top_right = 3
corner_radius_bottom_right = 3
corner_radius_bottom_left = 3
corner_detail = 5
[sub_resource type="Theme" id="Theme_1iba3"]
Panel/styles/panel = SubResource("StyleBoxFlat_1nqs0")
[sub_resource type="LabelSettings" id="LabelSettings_1iba3"]
font_size = 30
shadow_size = 3
shadow_color = Color(0, 0, 0, 0.7176471)
shadow_offset = Vector2(2.55, 2.675)
[sub_resource type="LabelSettings" id="LabelSettings_nfivy"]
font_size = 28
font_color = Color(0.89, 0.89, 0.89, 1)
[sub_resource type="LabelSettings" id="LabelSettings_1nqs0"]
font_size = 30
[sub_resource type="GDScript" id="GDScript_1nqs0"]
script/source = "extends Label
@export var server_stat_parser: ServerStatParser
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
text = str(server_stat_parser.users_month)
"
[sub_resource type="GDScript" id="GDScript_1iba3"]
script/source = "extends Label
@export var server_stat_parser: ServerStatParser
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
server_stat_parser.just_parsed.connect(update)
func update():
var maps:Dictionary = server_stat_parser.maps_month.duplicate()
var highest:int = -1
var current_map:String
for key in maps.keys():
if maps[key] > highest:
current_map = key
highest = maps[key]
text = current_map
"
[sub_resource type="GDScript" id="GDScript_yxlcp"]
script/source = "extends Label
@export var server_stat_parser: ServerStatParser
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
server_stat_parser.just_parsed.connect(update)
func update():
var gamemodes:Dictionary = server_stat_parser.gamemodes_month.duplicate()
var highest:int = -1
var current_gamemode:String
for key in gamemodes.keys():
if gamemodes[key] > highest:
current_gamemode = key
highest = gamemodes[key]
text = current_gamemode
"
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1iba3"]
content_margin_left = 0.0
content_margin_top = 0.0
content_margin_right = 0.0
content_margin_bottom = 0.0
bg_color = Color(0.26416862, 0.30574214, 0.21699286, 0.5411765)
corner_radius_top_left = 7
corner_radius_top_right = 7
corner_radius_bottom_right = 7
corner_radius_bottom_left = 7
corner_detail = 5
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_yxlcp"]
bg_color = Color(0.1, 0.1, 0.1, 0.22745098)
[sub_resource type="GDScript" id="GDScript_ebg2g"]
script/source = "@tool
extends HBoxContainer
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
var children:Array = get_children()
for child:int in range(get_children().size()):
children[child].size.x = get_parent().size.x / get_children().size()
children[child].position.x = (get_parent().size.x / get_children().size() ) * child
"
[sub_resource type="GDScript" id="GDScript_xa025"]
script/source = "extends LineEdit
@export var player_c_ontainer: VBoxContainer
func _ready() -> void:
text_changed.connect(hoho)
func hoho(_txt:String):
if text == \"\":
for child:Control in player_c_ontainer.get_children():
child.show()
else:
for child:PlayerStatDisplay in player_c_ontainer.get_children():
child.hide()
for child:PlayerStatDisplay in player_c_ontainer.get_children():
if child.name_lbl.text.to_lower().contains(text.to_lower()):
child.show()
if child.uid.text.to_lower().contains(text.to_lower()):
child.show()
"
[sub_resource type="GDScript" id="GDScript_2ofn6"]
script/source = "extends VBoxContainer
@export var server_stat_parser: ServerStatParser
@export var player_display: PackedScene
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
server_stat_parser.just_parsed.connect(parse)
func parse():
var sorted_players:Array[PlayerInfo] = server_stat_parser.players_total.duplicate()
sorted_players.sort_custom(sort_ascending)
var root_display:PlayerStatDisplay = player_display.instantiate()
add_child(root_display)
for player:PlayerInfo in sorted_players:
var display:PlayerStatDisplay = player_display.instantiate()
add_child(display)
display.kd.text = str(roundf((float(player.total_kills) / float(player.total_deaths))*100)/100)
display.name_lbl.text = player.username
display.plays.text = str(player.times_played)
display.uid.text = player.uid
func sort_ascending(a:PlayerInfo, b:PlayerInfo):
if a.times_played > b.times_played:
return true
return false
"
[sub_resource type="GDScript" id="GDScript_36rkl"]
script/source = "extends VBoxContainer
@export var name_display: PackedScene
@export var server_stat_parser: ServerStatParser
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
server_stat_parser.just_parsed.connect(reparse)
func reparse():
for child in get_children():
child.queue_free()
var root_display:NameDisplaye = name_display.instantiate()
root_display.label.text = \"Gamemode\"
root_display.label_2.text = \"Times Played\"
add_child(root_display)
var maps:Dictionary = {}
for key in server_stat_parser.gamemodes_month.keys():
if maps.has(server_stat_parser.gamemodes_month[key]):
if maps[server_stat_parser.gamemodes_month[key]] is Array:
#var new_arr
maps[server_stat_parser.gamemodes_month[key]].append(key)
else:
maps[server_stat_parser.gamemodes_month[key]] = [maps[server_stat_parser.gamemodes_month[key]],key]
else:
maps[server_stat_parser.gamemodes_month[key]] = key
maps.sort()
print(maps,\" gi\")
var keys = maps.keys()
keys.reverse()
for amount in keys:
var display:NameDisplaye = name_display.instantiate()
display.label_2.text = str(amount)
var gotten = maps[amount]
var new_string:String = \"\"
if gotten is Array:
for piece in gotten.size():
if gotten[piece]:
new_string += gotten[piece] + (\", \" if piece != gotten.size()-1 else \"\")
else:
new_string = gotten
display.label.text = str(new_string)
add_child(display)
"
[node name="Control" type="Control" unique_id=2276929 node_paths=PackedStringArray("edit_window", "punish_list_parser", "PunishContainer", "new_punish_btn", "new_btn", "exporter", "save_file_parser", "quit_confirmation", "ban_counter", "plus", "minus", "more_btn", "options_window", "git", "commit", "save_label")]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_3p2gp")
script = ExtResource("1_bjd11")
edit_window = NodePath("Tabs/Banlist/EditWindow")
punish_list_parser = NodePath("Tabs/Banlist/BanListParser")
PunishContainer = NodePath("Tabs/Banlist/MarginContainer/VBoxContainer/ScrollContainer/Tree")
punish_scene = ExtResource("2_qmy6f")
new_punish_btn = NodePath("Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer/Punish")
new_btn = NodePath("Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer/Punish")
exporter = NodePath("Tabs/Banlist/BanListExporter")
save_file_parser = NodePath("SaveFileParser")
quit_confirmation = NodePath("ConfirmationDialog")
ban_counter = NodePath("Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer/BanCounter")
plus = NodePath("Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer/BanCounter/Plus")
minus = NodePath("Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer/BanCounter/Minus")
more_btn = NodePath("Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer/More")
options_window = NodePath("Tabs/Banlist/OptionsWindow")
git = NodePath("Git")
commit = NodePath("Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer2/Commit")
save_label = NodePath("Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer2/Label")
[node name="TextureRect" type="TextureRect" parent="." unique_id=1516457942]
modulate = Color(0.74558026, 0.7455802, 0.7455802, 1)
z_index = -1
layout_mode = 1
anchors_preset = -1
offset_left = -119.0
offset_top = -214.0
offset_right = 405.0
offset_bottom = 526.0
mouse_filter = 2
texture = ExtResource("3_mwfav")
expand_mode = 5
stretch_mode = 5
[node name="Tabs" type="TabContainer" parent="." unique_id=1219388433]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_3p2gp")
theme_override_styles/tabbar_background = SubResource("StyleBoxFlat_cvmbd")
theme_override_styles/tab_unselected = SubResource("StyleBoxFlat_bb450")
theme_override_styles/tab_hovered = SubResource("StyleBoxFlat_nfivy")
theme_override_styles/tab_selected = SubResource("StyleBoxFlat_ft6cd")
current_tab = 2
[node name="Banlist" type="Control" parent="Tabs" unique_id=990971830]
visible = false
layout_mode = 2
metadata/_tab_index = 0
[node name="BanListParser" type="Node" parent="Tabs/Banlist" unique_id=951623750]
script = ExtResource("6_ft6cd")
[node name="BanListExporter" type="Node" parent="Tabs/Banlist" unique_id=1531169139]
script = ExtResource("7_bb450")
[node name="EditWindow" parent="Tabs/Banlist" unique_id=211137631 instance=ExtResource("8_nfivy")]
[node name="OptionsWindow" parent="Tabs/Banlist" unique_id=1485451151 instance=ExtResource("9_1nqs0")]
initial_position = 4
[node name="Statistics" parent="Tabs/Banlist" unique_id=1932979201 node_paths=PackedStringArray("root", "PunishContainer", "search_bar") instance=ExtResource("10_1iba3")]
root = NodePath("../../..")
PunishContainer = NodePath("../MarginContainer/VBoxContainer/ScrollContainer/Tree")
search_bar = NodePath("../MarginContainer/VBoxContainer/SearchBar")
[node name="Search" type="Node" parent="Tabs/Banlist" unique_id=170590161 node_paths=PackedStringArray("search_bar", "punish_container", "name_check", "uid_check", "description_check")]
script = ExtResource("11_yxlcp")
search_bar = NodePath("../MarginContainer/VBoxContainer/SearchBar")
punish_container = NodePath("../MarginContainer/VBoxContainer/ScrollContainer/Tree")
name_check = NodePath("../MarginContainer/VBoxContainer/HBoxContainer3/NameCheck")
uid_check = NodePath("../MarginContainer/VBoxContainer/HBoxContainer3/UIDCheck")
description_check = NodePath("../MarginContainer/VBoxContainer/HBoxContainer3/DescriptionCheck")
[node name="ColorRect" type="ColorRect" parent="Tabs/Banlist" unique_id=1789999219]
z_index = -2
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
color = Color(0.2834887, 0.26999918, 0.23374343, 1)
[node name="MarginContainer" type="MarginContainer" parent="Tabs/Banlist" unique_id=1863119132]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 5
theme_override_constants/margin_top = 5
theme_override_constants/margin_right = 5
theme_override_constants/margin_bottom = 5
[node name="VBoxContainer" type="VBoxContainer" parent="Tabs/Banlist/MarginContainer" unique_id=1186401858]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="HBoxContainer" type="FlowContainer" parent="Tabs/Banlist/MarginContainer/VBoxContainer" unique_id=550324332]
layout_mode = 2
[node name="Label" type="Label" parent="Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer" unique_id=388690639]
layout_mode = 2
size_flags_horizontal = 3
text = "TFVR punishlist maker 2000™"
label_settings = SubResource("LabelSettings_lgr22")
[node name="BanCounter" type="Label" parent="Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer" unique_id=589605427]
layout_mode = 2
text = "Unique Bans: "
[node name="Plus" type="CPUParticles2D" parent="Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer/BanCounter" unique_id=93983186]
position = Vector2(76, 8)
emitting = false
texture = ExtResource("4_3p2gp")
lifetime = 3.9
one_shot = true
explosiveness = 1.0
emission_shape = 1
emission_sphere_radius = 7.85
spread = 180.0
initial_velocity_min = 0.8
initial_velocity_max = 74.87
[node name="Minus" type="CPUParticles2D" parent="Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer/BanCounter" unique_id=2092945034]
position = Vector2(76, 8)
emitting = false
amount = 3
texture = ExtResource("5_cvmbd")
lifetime = 3.9
one_shot = true
explosiveness = 1.0
emission_shape = 1
emission_sphere_radius = 7.85
spread = 180.0
initial_velocity_min = 0.8
initial_velocity_max = 74.87
[node name="ignore that up there" type="Node" parent="Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer/BanCounter" unique_id=661846832]
[node name="Punish" type="Button" parent="Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer" unique_id=100050923]
layout_mode = 2
size_flags_horizontal = 8
text = "new punishment"
[node name="Stats" type="Button" parent="Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer" unique_id=1256562107]
visible = false
layout_mode = 2
size_flags_horizontal = 8
text = "Stats"
[node name="More" type="Button" parent="Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer" unique_id=804757173]
layout_mode = 2
size_flags_horizontal = 8
text = "More"
[node name="SearchBar" type="LineEdit" parent="Tabs/Banlist/MarginContainer/VBoxContainer" unique_id=2022677611]
layout_mode = 2
placeholder_text = "Search..."
[node name="HBoxContainer3" type="HBoxContainer" parent="Tabs/Banlist/MarginContainer/VBoxContainer" unique_id=355358061]
custom_minimum_size = Vector2(0, 36)
layout_mode = 2
[node name="Label" type="Label" parent="Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer3" unique_id=400647282]
layout_mode = 2
text = "Filter by:"
[node name="NameCheck" type="CheckButton" parent="Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer3" unique_id=422637912]
layout_mode = 2
button_pressed = true
text = "Name"
[node name="UIDCheck" type="CheckButton" parent="Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer3" unique_id=1437120434]
layout_mode = 2
button_pressed = true
text = "UID"
[node name="DescriptionCheck" type="CheckButton" parent="Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer3" unique_id=1216809809]
layout_mode = 2
button_pressed = true
text = "Description"
[node name="HSeparator" type="HSeparator" parent="Tabs/Banlist/MarginContainer/VBoxContainer" unique_id=1970903622]
layout_mode = 2
[node name="ScrollContainer" type="ScrollContainer" parent="Tabs/Banlist/MarginContainer/VBoxContainer" unique_id=1423908622]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="Tree" type="VBoxContainer" parent="Tabs/Banlist/MarginContainer/VBoxContainer/ScrollContainer" unique_id=200799914]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="HSeparator2" type="HSeparator" parent="Tabs/Banlist/MarginContainer/VBoxContainer" unique_id=1677426181]
layout_mode = 2
[node name="HBoxContainer2" type="FlowContainer" parent="Tabs/Banlist/MarginContainer/VBoxContainer" unique_id=1760266968]
layout_mode = 2
alignment = 2
last_wrap_alignment = 2
[node name="Label" type="Label" parent="Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer2" unique_id=1462249568]
visible = false
layout_mode = 2
text = "*"
[node name="Commit" type="Button" parent="Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer2" unique_id=533267664]
layout_mode = 2
tooltip_text = "Send your changes to github, make sure you have saved your changes before doing this!"
text = "Commit changes"
[node name="Pull" type="Button" parent="Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer2" unique_id=127094888]
layout_mode = 2
tooltip_text = "Use this when updating your local copy to the one on github. If you have local changes this wont override them"
text = "Pull changes"
[node name="Base" type="Control" parent="Tabs/Banlist/MarginContainer" unique_id=1265704529]
visible = false
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 8
[node name="Control" type="Control" parent="Tabs/Banlist/MarginContainer/Base" unique_id=419756343]
anchors_preset = 0
offset_left = -250.0
offset_top = -163.0
offset_bottom = -35.0
[node name="ColorRect" type="Panel" parent="Tabs/Banlist/MarginContainer/Base/Control" unique_id=1808786583]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_mwfav")
[node name="VBoxContainer" type="VBoxContainer" parent="Tabs/Banlist/MarginContainer/Base/Control" unique_id=1967441013]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="HBoxContainer" type="HBoxContainer" parent="Tabs/Banlist/MarginContainer/Base/Control/VBoxContainer" unique_id=984310582]
layout_mode = 2
[node name="Warning" type="Label" parent="Tabs/Banlist/MarginContainer/Base/Control/VBoxContainer/HBoxContainer" unique_id=514469174]
layout_mode = 2
size_flags_horizontal = 3
text = "Error:"
[node name="Button" type="Button" parent="Tabs/Banlist/MarginContainer/Base/Control/VBoxContainer/HBoxContainer" unique_id=1955287259]
layout_mode = 2
icon = ExtResource("6_mwfav")
flat = true
[node name="Label" type="Label" parent="Tabs/Banlist/MarginContainer/Base/Control/VBoxContainer" unique_id=289973316]
custom_minimum_size = Vector2(100, 100)
layout_mode = 2
size_flags_vertical = 3
autowrap_mode = 2
[node name="Loadout overrides" type="Control" parent="Tabs" unique_id=1214307614 node_paths=PackedStringArray("user_parser", "override_parser")]
visible = false
layout_mode = 2
script = ExtResource("14_bb450")
user_parser = NodePath("../../UserParser")
override_parser = NodePath("OverrideParser")
metadata/_tab_index = 1
[node name="ColorRect" type="ColorRect" parent="Tabs/Loadout overrides" unique_id=1845085689]
z_index = -2
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
color = Color(0.2958, 0.32674, 0.34, 1)
[node name="OverrideParser" type="Node" parent="Tabs/Loadout overrides" unique_id=48398298]
script = ExtResource("14_cvmbd")
[node name="Server Statistics" type="Control" parent="Tabs" unique_id=1942261180]
layout_mode = 2
theme = SubResource("Theme_1iba3")
metadata/_tab_index = 2
[node name="ServerStatGetter" type="Node" parent="Tabs/Server Statistics" unique_id=1152887726]
script = ExtResource("16_nfivy")
[node name="ColorRect" type="ColorRect" parent="Tabs/Server Statistics" unique_id=1355809081]
z_index = -2
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
size_flags_vertical = 3
color = Color(0.1719254, 0.2944815, 0.30498523, 0.37254903)
[node name="VBoxContainer" type="VBoxContainer" parent="Tabs/Server Statistics" unique_id=257261483]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="HeadlinerStats" type="VBoxContainer" parent="Tabs/Server Statistics/VBoxContainer" unique_id=1019416167]
z_as_relative = false
layout_mode = 2
[node name="Label" type="Label" parent="Tabs/Server Statistics/VBoxContainer/HeadlinerStats" unique_id=2078760808]
layout_mode = 2
text = "In the last 30 days..."
label_settings = SubResource("LabelSettings_1iba3")
[node name="TopBar" type="HBoxContainer" parent="Tabs/Server Statistics/VBoxContainer/HeadlinerStats" unique_id=1694414121]
custom_minimum_size = Vector2(0, 120)
layout_mode = 2
[node name="MonthlyPlayers" type="Panel" parent="Tabs/Server Statistics/VBoxContainer/HeadlinerStats/TopBar" unique_id=881796597]
layout_mode = 2
size_flags_horizontal = 3
[node name="VBoxContainer" type="VBoxContainer" parent="Tabs/Server Statistics/VBoxContainer/HeadlinerStats/TopBar/MonthlyPlayers" unique_id=1282225763]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Label" type="Label" parent="Tabs/Server Statistics/VBoxContainer/HeadlinerStats/TopBar/MonthlyPlayers/VBoxContainer" unique_id=758988801]
custom_maximum_size = Vector2(500, -1)
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 3
text = "Players:"
label_settings = SubResource("LabelSettings_nfivy")
autowrap_mode = 1
clip_text = true
text_overrun_behavior = 1
[node name="Label2" type="Label" parent="Tabs/Server Statistics/VBoxContainer/HeadlinerStats/TopBar/MonthlyPlayers/VBoxContainer" unique_id=1646811151 node_paths=PackedStringArray("server_stat_parser")]
custom_maximum_size = Vector2(500, -1)
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 3
text = "353"
label_settings = SubResource("LabelSettings_1nqs0")
horizontal_alignment = 2
vertical_alignment = 2
autowrap_mode = 1
clip_text = true
text_overrun_behavior = 1
script = SubResource("GDScript_1nqs0")
server_stat_parser = NodePath("../../../../../../ServerStatParser")
[node name="MonthlyMap" type="Panel" parent="Tabs/Server Statistics/VBoxContainer/HeadlinerStats/TopBar" unique_id=489519187]
layout_mode = 2
size_flags_horizontal = 3
[node name="VBoxContainer" type="VBoxContainer" parent="Tabs/Server Statistics/VBoxContainer/HeadlinerStats/TopBar/MonthlyMap" unique_id=267062023]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Label" type="Label" parent="Tabs/Server Statistics/VBoxContainer/HeadlinerStats/TopBar/MonthlyMap/VBoxContainer" unique_id=1076988465]
custom_minimum_size = Vector2(0, 38.415)
custom_maximum_size = Vector2(500, -1)
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 1
text = "Most Played Map:"
label_settings = SubResource("LabelSettings_nfivy")
autowrap_mode = 1
clip_text = true
text_overrun_behavior = 1
[node name="Label2" type="Label" parent="Tabs/Server Statistics/VBoxContainer/HeadlinerStats/TopBar/MonthlyMap/VBoxContainer" unique_id=360141428 node_paths=PackedStringArray("server_stat_parser")]
layout_mode = 2
size_flags_vertical = 3
text = "placeholder"
label_settings = SubResource("LabelSettings_1nqs0")
horizontal_alignment = 2
vertical_alignment = 2
autowrap_mode = 1
clip_text = true
text_overrun_behavior = 3
script = SubResource("GDScript_1iba3")
server_stat_parser = NodePath("../../../../../../ServerStatParser")
[node name="PopGamemode" type="Panel" parent="Tabs/Server Statistics/VBoxContainer/HeadlinerStats/TopBar" unique_id=1033509599]
layout_mode = 2
size_flags_horizontal = 3
[node name="VBoxContainer" type="VBoxContainer" parent="Tabs/Server Statistics/VBoxContainer/HeadlinerStats/TopBar/PopGamemode" unique_id=142037385]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Label" type="Label" parent="Tabs/Server Statistics/VBoxContainer/HeadlinerStats/TopBar/PopGamemode/VBoxContainer" unique_id=123988698]
custom_maximum_size = Vector2(500, -1)
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 3
text = "Most Popular Gamemode:"
label_settings = SubResource("LabelSettings_nfivy")
autowrap_mode = 1
clip_text = true
text_overrun_behavior = 1
[node name="Label2" type="Label" parent="Tabs/Server Statistics/VBoxContainer/HeadlinerStats/TopBar/PopGamemode/VBoxContainer" unique_id=689478046 node_paths=PackedStringArray("server_stat_parser")]
custom_maximum_size = Vector2(500, -1)
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 3
text = "koth of the hill"
label_settings = SubResource("LabelSettings_1nqs0")
horizontal_alignment = 2
vertical_alignment = 2
autowrap_mode = 1
clip_text = true
text_overrun_behavior = 1
script = SubResource("GDScript_yxlcp")
server_stat_parser = NodePath("../../../../../../ServerStatParser")
[node name="TabContainer" type="TabContainer" parent="Tabs/Server Statistics/VBoxContainer" unique_id=578447304]
layout_mode = 2
size_flags_vertical = 3
theme_override_styles/panel = SubResource("StyleBoxFlat_1iba3")
theme_override_styles/tabbar_background = SubResource("StyleBoxFlat_yxlcp")
current_tab = 3
[node name="Weapons" type="VBoxContainer" parent="Tabs/Server Statistics/VBoxContainer/TabContainer" unique_id=1628442051]
visible = false
layout_mode = 2
metadata/_tab_index = 0
[node name="HBoxContainer" type="HBoxContainer" parent="Tabs/Server Statistics/VBoxContainer/TabContainer/Weapons" unique_id=2092838805]
custom_minimum_size = Vector2(0, 40)
layout_mode = 2
script = SubResource("GDScript_ebg2g")
[node name="Label" type="Label" parent="Tabs/Server Statistics/VBoxContainer/TabContainer/Weapons/HBoxContainer" unique_id=1363333016]
custom_minimum_size = Vector2(1, 0)
layout_mode = 2
text = "Weapon name"
horizontal_alignment = 1
clip_text = true
text_overrun_behavior = 1
[node name="Label2" type="Label" parent="Tabs/Server Statistics/VBoxContainer/TabContainer/Weapons/HBoxContainer" unique_id=1324679732]
custom_minimum_size = Vector2(1, 0)
layout_mode = 2
text = "Average K/D"
horizontal_alignment = 1
clip_text = true
text_overrun_behavior = 1
[node name="Label3" type="Label" parent="Tabs/Server Statistics/VBoxContainer/TabContainer/Weapons/HBoxContainer" unique_id=920702989]
custom_minimum_size = Vector2(1, 0)
layout_mode = 2
text = "Total usage time"
horizontal_alignment = 1
clip_text = true
text_overrun_behavior = 1
[node name="Players" type="ScrollContainer" parent="Tabs/Server Statistics/VBoxContainer/TabContainer" unique_id=1039046594]
visible = false
layout_mode = 2
metadata/_tab_index = 1
[node name="VBoxContainer2" type="VBoxContainer" parent="Tabs/Server Statistics/VBoxContainer/TabContainer/Players" unique_id=1320520304]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="LineEdit" type="LineEdit" parent="Tabs/Server Statistics/VBoxContainer/TabContainer/Players/VBoxContainer2" unique_id=652935929 node_paths=PackedStringArray("player_c_ontainer")]
layout_mode = 2
placeholder_text = "Search..."
script = SubResource("GDScript_xa025")
player_c_ontainer = NodePath("../PlayerCOntainer")
[node name="PlayerCOntainer" type="VBoxContainer" parent="Tabs/Server Statistics/VBoxContainer/TabContainer/Players/VBoxContainer2" unique_id=1079726598 node_paths=PackedStringArray("server_stat_parser")]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
script = SubResource("GDScript_2ofn6")
server_stat_parser = NodePath("../../../../../ServerStatParser")
player_display = ExtResource("17_ebg2g")
[node name="Maps" type="ScrollContainer" parent="Tabs/Server Statistics/VBoxContainer/TabContainer" unique_id=915666381]
visible = false
layout_mode = 2
metadata/_tab_index = 2
[node name="Maps" type="VBoxContainer" parent="Tabs/Server Statistics/VBoxContainer/TabContainer/Maps" unique_id=2010905860 node_paths=PackedStringArray("server_stat_parser")]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
script = ExtResource("17_yxlcp")
name_display = ExtResource("18_ebg2g")
server_stat_parser = NodePath("../../../../ServerStatParser")
[node name="Gamemodes" type="ScrollContainer" parent="Tabs/Server Statistics/VBoxContainer/TabContainer" unique_id=1012624817]
layout_mode = 2
metadata/_tab_index = 3
[node name="Gamemodes" type="VBoxContainer" parent="Tabs/Server Statistics/VBoxContainer/TabContainer/Gamemodes" unique_id=97195990 node_paths=PackedStringArray("server_stat_parser")]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
script = SubResource("GDScript_36rkl")
name_display = ExtResource("18_ebg2g")
server_stat_parser = NodePath("../../../../ServerStatParser")
[node name="ServerStatParser" type="Node" parent="Tabs/Server Statistics" unique_id=1363475987 node_paths=PackedStringArray("server_stat_getter")]
script = ExtResource("17_1nqs0")
server_stat_getter = NodePath("../ServerStatGetter")
[node name="SaveFileParser" type="Node" parent="." unique_id=930223611 node_paths=PackedStringArray("options_window")]
script = ExtResource("12_ebg2g")
options_window = NodePath("../Tabs/Banlist/OptionsWindow")
[node name="ConfirmationDialog" type="ConfirmationDialog" parent="." unique_id=416398003]
oversampling_override = 1.0
initial_position = 4
size = Vector2i(305, 100)
always_on_top = true
force_native = true
ok_button_text = "Save and quit"
dialog_text = "You have unsaved changes!"
cancel_button_text = "Quit without saving"
[node name="Git" type="Node" parent="." unique_id=737987824 node_paths=PackedStringArray("commit_button", "options_window", "Main", "Push_error", "Push_Base", "pull_button")]
script = ExtResource("13_qmy6f")
commit_button = NodePath("../Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer2/Commit")
options_window = NodePath("../Tabs/Banlist/OptionsWindow")
Main = NodePath("..")
Push_error = NodePath("../Tabs/Banlist/MarginContainer/Base/Control/VBoxContainer/Label")
Push_Base = NodePath("../Tabs/Banlist/MarginContainer/Base")
pull_button = NodePath("../Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer2/Pull")
[node name="UserParser" type="Node" parent="." unique_id=1676525800]
script = ExtResource("17_ft6cd")
[connection signal="pressed" from="Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer/Stats" to="Tabs/Banlist/Statistics" method="grab_focus"]
[connection signal="pressed" from="Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer/Stats" to="Tabs/Banlist/Statistics" method="show"]
[connection signal="pressed" from="Tabs/Banlist/MarginContainer/VBoxContainer/HBoxContainer/More" to="Tabs/Banlist/OptionsWindow" method="grab_focus"]
[connection signal="pressed" from="Tabs/Banlist/MarginContainer/Base/Control/VBoxContainer/HBoxContainer/Button" to="Tabs/Banlist/MarginContainer/Base" method="hide"]