Skip to content

Commit af80cd0

Browse files
committed
v21.1.1.1
1 parent 56c0978 commit af80cd0

11 files changed

Lines changed: 5446 additions & 312 deletions

File tree

source/FIFA21.CETRAINER

Lines changed: 687 additions & 42 deletions
Large diffs are not rendered by default.
Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
require 'lua/consts';
2+
require 'lua/helpers';
3+
4+
local FormManager = require 'lua/imports/FormManager';
5+
6+
local thisFormManager = FormManager:new()
7+
8+
function thisFormManager:new(o)
9+
o = o or FormManager:new(o)
10+
setmetatable(o, self)
11+
self.__index = self
12+
13+
self.dirs = nil
14+
self.cfg = nil
15+
self.new_cfg = nil
16+
self.logger = nil
17+
18+
self.frm = nil
19+
self.name = ""
20+
21+
self.game_db_manager = nil
22+
self.memory_manager = nil
23+
24+
self.addr_list = nil
25+
self.fnSaveCfg = nil
26+
self.new_cfg = {}
27+
self.has_unsaved_changes = false
28+
self.selection_idx = 0
29+
30+
self.form_components_description = nil
31+
self.current_addrs = {}
32+
33+
self.found_teams = {}
34+
35+
return o;
36+
end
37+
38+
function thisFormManager:find_team_by_name(teamname)
39+
local arr_flds = {
40+
{
41+
name = "teamname",
42+
values = {teamname},
43+
is_string = true
44+
}
45+
}
46+
local addrs = self.game_db_manager:find_record_addr(
47+
"teams", arr_flds, 50
48+
)
49+
return addrs
50+
end
51+
52+
function thisFormManager:FindTeamSearchBtnOnClick(sender)
53+
local txt = self.frm.FindTeamEdit.Text
54+
local teamid = tonumber(txt)
55+
if teamid == nil then
56+
-- search for team name
57+
if string.len(txt) < 3 then
58+
showMessage("Input at least 3 characters or Team ID")
59+
return nil
60+
end
61+
self.found_teams = self:find_team_by_name(txt)
62+
for i=1, #self.found_teams do
63+
local addr = self.found_teams[i]
64+
local teamname = self.game_db_manager:get_table_record_field_value(addr, "teams", "teamname")
65+
local teamid = self.game_db_manager:get_table_record_field_value(addr, "teams", "teamid")
66+
team_string = string.format(
67+
'%s (ID: %d)',
68+
teamname,
69+
teamid
70+
)
71+
self.frm.FindTeamListBox.Items.Add(team_string)
72+
end
73+
else
74+
-- search for team id
75+
local team_addr = self:find_team_by_id(teamid)
76+
if team_addr <= 0 then
77+
local err_msg = string.format("Not found any team with ID %d", teamid)
78+
self.logger:error(err_msg, true)
79+
return nil
80+
else
81+
local team_editor_form_mgr = gCTManager:get_frm_mgr("teamseditor_form")
82+
team_editor_form_mgr:onShow(
83+
team_editor_form_mgr.frm,
84+
team_addr
85+
)
86+
self.frm.close()
87+
end
88+
end
89+
end
90+
91+
function thisFormManager:FindTeamOkBtnClick(sender)
92+
if self.frm.FindTeamListBox.Items.Count <= 0 or self.frm.FindTeamListBox.ItemIndex < 0 then
93+
return
94+
end
95+
96+
local team_addr = self.found_teams[self.frm.FindTeamListBox.ItemIndex+1]
97+
local team_editor_form_mgr = gCTManager:get_frm_mgr("teamseditor_form")
98+
team_editor_form_mgr:onShow(
99+
team_editor_form_mgr.frm,
100+
team_addr
101+
)
102+
self.frm.close()
103+
end
104+
105+
function thisFormManager:assign_current_form_events()
106+
self:assign_events()
107+
108+
self.frm.OnShow = function(sender)
109+
self.frm.FindTeamEdit.Text = "Enter team name or teamid..."
110+
self.frm.FindTeamListBox.clear()
111+
end
112+
113+
self.frm.FindTeamEdit.OnClick = function(sender)
114+
sender.Text = ""
115+
end
116+
self.frm.FindTeamSearchBtn.OnClick = function(sender)
117+
self.found_teams = {}
118+
self.frm.FindTeamListBox.clear()
119+
self:FindTeamSearchBtnOnClick(sender)
120+
end
121+
122+
self.frm.FindTeamOkBtn.OnClick = function(sender)
123+
self:FindTeamOkBtnClick(sender)
124+
end
125+
126+
self.frm.FindTeamOkBtn.OnMouseEnter = function(sender)
127+
self:onBtnMouseEnter(sender)
128+
end
129+
130+
self.frm.FindTeamOkBtn.OnMouseLeave = function(sender)
131+
self:onBtnMouseLeave(sender)
132+
end
133+
134+
self.frm.FindTeamOkBtn.OnPaint = function(sender)
135+
self:onPaintButton(sender)
136+
end
137+
end
138+
139+
function thisFormManager:setup(params)
140+
self.cfg = params.cfg
141+
self.logger = params.logger
142+
self.frm = params.frm_obj
143+
self.name = params.name
144+
self.logger:info(string.format("Setup Form Manager: %s", self.name))
145+
146+
self.found_teams = {}
147+
148+
self:assign_current_form_events()
149+
end
150+
151+
return thisFormManager;

source/lua/GUI/forms/mainform/manager.lua

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ function thisFormManager:load_images()
3333
local stream = self:load_headshot(41)
3434
self.frm.PlayersEditorImg.Picture.LoadFromStream(stream)
3535
stream.destroy()
36+
37+
stream = self:load_crest(1)
38+
self.frm.TeamsEditorImg.Picture.LoadFromStream(stream)
39+
stream.destroy()
3640
end
3741

3842
function thisFormManager:onSettingsClick()
@@ -43,7 +47,6 @@ function thisFormManager:onCEClick()
4347
self.ce_visible = not self.ce_visible
4448

4549
getMainForm().Visible = self.ce_visible
46-
4750
end
4851

4952
function thisFormManager:OnWindowCloseClick(sender)
@@ -133,6 +136,25 @@ function thisFormManager:assign_current_form_events()
133136
self:onPaintButton(sender)
134137
end
135138

139+
self.frm.TeamsEditorBtn.OnClick = function(sender)
140+
TeamsEditorForm.show()
141+
-- ShowMessage("Players Editor is not ready yet.\nWill be updated in one of the next updates.\nCheck Patreon/Discord to not miss it.")
142+
end
143+
144+
self.frm.TeamsEditorBtn.OnMouseEnter = function(sender)
145+
self:onBtnMouseEnter(sender)
146+
end
147+
148+
self.frm.TeamsEditorBtn.OnMouseLeave = function(sender)
149+
self:onBtnMouseLeave(sender)
150+
end
151+
152+
self.frm.TeamsEditorBtn.OnPaint = function(sender)
153+
self:onPaintButton(sender)
154+
end
155+
156+
157+
136158
end
137159

138160
function thisFormManager:setup(params)

source/lua/GUI/forms/playerseditorform/manager.lua

Lines changed: 11 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ function thisFormManager:new(o)
1212
self.__index = self
1313

1414
self.dirs = nil
15-
self.cfg = nil
16-
self.new_cfg = nil
1715
self.logger = nil
1816

1917
self.frm = nil
@@ -22,11 +20,7 @@ function thisFormManager:new(o)
2220
self.game_db_manager = nil
2321
self.memory_manager = nil
2422

25-
self.addr_list = nil
26-
self.fnSaveCfg = nil
27-
self.new_cfg = {}
2823
self.has_unsaved_changes = false
29-
self.selection_idx = 0
3024

3125
self.fill_timer = nil
3226
self.form_components_description = nil
@@ -104,31 +98,6 @@ function thisFormManager:find_player_club_team_record(playerid)
10498
return 0
10599
end
106100

107-
function thisFormManager:find_player_by_id(playerid)
108-
if type(playerid) == 'string' then
109-
playerid = tonumber(playerid)
110-
end
111-
112-
local arr_flds = {
113-
{
114-
name = "playerid",
115-
expr = "eq",
116-
values = {playerid}
117-
}
118-
}
119-
120-
local addr = self.game_db_manager:find_record_addr(
121-
"players", arr_flds, 1
122-
)
123-
for i=1, #addr do
124-
self.logger:debug(string.format("found: %X", addr[i]))
125-
end
126-
127-
writeQword("pPlayersTableCurrentRecord", addr[1])
128-
129-
return addr[1]
130-
end
131-
132101
function thisFormManager:update_total_stats()
133102
local sum = 0
134103
local attr_panel = self.frm.AttributesPanel
@@ -677,8 +646,7 @@ function thisFormManager:get_components_description()
677646
end
678647

679648
local fnCommonDBValGetter = function(addrs, table_name, field_name, raw)
680-
local addr = addrs[table_name]
681-
return self.game_db_manager:get_table_record_field_value(addr, table_name, field_name, raw)
649+
return self:fnCommonDBValGetter(addrs, table_name, field_name, raw)
682650
end
683651

684652
local AttributesTrackBarOnChange = function(sender)
@@ -2917,33 +2885,6 @@ function thisFormManager:get_components_description()
29172885
return components_description
29182886
end
29192887

2920-
function thisFormManager:TabClick(sender)
2921-
if self.frm[self.tab_panel_map[sender.Name]].Visible then return end
2922-
2923-
for key,value in pairs(self.tab_panel_map) do
2924-
if key == sender.Name then
2925-
sender.Color = '0x001D1618'
2926-
self.frm[value].Visible = true
2927-
else
2928-
self.frm[key].Color = '0x003F2F34'
2929-
self.frm[value].Visible = false
2930-
end
2931-
end
2932-
2933-
end
2934-
2935-
function thisFormManager:TabMouseEnter(sender)
2936-
if self.frm[self.tab_panel_map[sender.Name]].Visible then return end
2937-
2938-
sender.Color = '0x00271D20'
2939-
end
2940-
2941-
function thisFormManager:TabMouseLeave(sender)
2942-
if self.frm[self.tab_panel_map[sender.Name]].Visible then return end
2943-
2944-
sender.Color = '0x003F2F34'
2945-
end
2946-
29472888
function thisFormManager:onShow(sender)
29482889
self.logger:debug(string.format("onShow: %s", self.name))
29492890

@@ -3130,6 +3071,10 @@ function thisFormManager:fill_form(addrs, playerid)
31303071
::continue::
31313072
end
31323073

3074+
if gCTManager.cfg.flags.hide_players_potential then
3075+
self.frm.PotentialEdit.Text = "HIDDEN"
3076+
end
3077+
31333078
self.logger:debug("Update trackbars")
31343079
local trackbars = {
31353080
'AttackTrackBar',
@@ -3151,7 +3096,6 @@ function thisFormManager:fill_form(addrs, playerid)
31513096
ss_hs.destroy()
31523097
self.frm.Headshot.Picture.stretch=true
31533098
end
3154-
31553099
local team_record = self:find_player_club_team_record(playerid)
31563100
local teamid = 0
31573101
if team_record > 0 then
@@ -3258,7 +3202,7 @@ function thisFormManager:fill_form(addrs, playerid)
32583202
end
32593203

32603204
self.has_unsaved_changes = false
3261-
self.logger:debug(string.format("fill_form done", self.name))
3205+
self.logger:debug(string.format("fill_form %s done", self.name))
32623206
end
32633207

32643208
function thisFormManager:get_player_fitness_addr(playerid)
@@ -4115,7 +4059,11 @@ end
41154059

41164060

41174061
function thisFormManager:onApplyChangesBtnClick()
4118-
self.logger:info("Apply Changes")
4062+
self.logger:info("Apply Changes player")
4063+
4064+
if gCTManager.cfg.flags.hide_players_potential then
4065+
self.change_list["PotentialEdit"] = nil
4066+
end
41194067

41204068
self.logger:debug("Iterate change_list")
41214069
for key, value in pairs(self.change_list) do
@@ -6344,7 +6292,6 @@ function thisFormManager:assign_current_form_events()
63446292
end
63456293

63466294
function thisFormManager:setup(params)
6347-
self.cfg = params.cfg
63486295
self.logger = params.logger
63496296
self.frm = params.frm_obj
63506297
self.name = params.name

0 commit comments

Comments
 (0)