pre cw with probe and a bunch script to read game behavior

This commit is contained in:
CAtlas0784 committed 2026-10-21 20:40:13 +07:00
1 parent 5120219ae2
commit da8a32f60d
310 files changed
+219693 -872

No files matched your search

+41
View File
@@ -0,0 +1,41 @@
-- Current loaded props only; table IDs substituted from captured room config.
do
local ids=__PROP_IDS__
local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_TABLE_STATE] '..tostring(v))end
_G.__gacCwTableState2=_G.__gacCwTableState2 or {index=0,hits=0}
local state=_G.__gacCwTableState2
if not state.done then
local ok,err=pcall(function()
local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60)
if not state.rows then
local map=CS.RPG.Client.GlobalVars.s_ModuleManager.AdventureModule.MapDef
local collection=map.AllMapEntityDefs
state.rows=collection:GetType():GetField('BPPKNKJBABP',flags):GetValue(collection)
log('BEGIN '..state.rows.Count)
for _,id in ipairs(ids)do
local row=CS.RPG.GameCore.PropExcelTable.GetData(id)
log('PROP_ROW '..row.ID..' path='..tostring(row.JsonPath)..' states='..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row.PropStateList))
end
end
for i=state.index,math.min(state.index+31,state.rows.Count-1)do
local p=state.rows[i]
for _,id in ipairs(ids)do if p.PropID==id then
state.hits=state.hits+1
log('MATCH '..p.PropID)
for _,name in ipairs({'ID','GroupID','InstID','EntityID','PropState','State','IsActive','IsClientOnly','IsLoaded','IsDelete'})do
local good,value=pcall(function()return p[name]end)
if good and type(value)~='userdata' and type(value)~='table' then log('VALUE '..name..' '..tostring(value))end
end
local methods=p:GetType():GetMethods(flags)
for j=0,methods.Length-1 do
local m=methods[j]
if m.DeclaringType==p:GetType() and (m.Name:find('State')or m.Name:find('Entity')or m.Name:find('Active'))then log('METHOD '..tostring(m))end
end
end end
end
state.index=state.index+32
if state.index>=state.rows.Count then state.done=true;log('END hits='..state.hits)end
end)
if not ok then state.done=true;log('ERROR '..tostring(err))end
end
end