如果我们在服务端不用 precache_model 然后直接在客户端缓存
那么就不大会收到 512 资源列表上限 的影响
但是客户端加载模型 即使用 Mod_ForName
加载的模型无法添加到资源列表进去
那么 由于无法在资源列表中查找到你在客户端加载模型
将导致 gEngfuncs.pEventAPI->EV_FindModelIndex( 客户端加载的模型的名字 ) 返回0
如何解决这个问题呢?
首先 Hook gEngfuncs.pEventAPI->EV_FindModelIndex
将其地址改到一个新函数去 EV_FindModelIndex
在 EV_FindModelIndex 这个函数中
调用原来的 gEngfuncs.pEventAPI->EV_FindModelIndex 的地址
如果 gEngfuncs.pEventAPI->EV_FindModelIndex 返回 0
那么我们就将所请求获得索引值的那个模型添加到我们新建的一个列表进去
然后返回一个很大的数字 9999 以上, 作为索引值
那么就不大会收到 512 资源列表上限 的影响
但是客户端加载模型 即使用 Mod_ForName
加载的模型无法添加到资源列表进去
那么 由于无法在资源列表中查找到你在客户端加载模型
将导致 gEngfuncs.pEventAPI->EV_FindModelIndex( 客户端加载的模型的名字 ) 返回0
如何解决这个问题呢?
首先 Hook gEngfuncs.pEventAPI->EV_FindModelIndex
将其地址改到一个新函数去 EV_FindModelIndex
在 EV_FindModelIndex 这个函数中
调用原来的 gEngfuncs.pEventAPI->EV_FindModelIndex 的地址
如果 gEngfuncs.pEventAPI->EV_FindModelIndex 返回 0
那么我们就将所请求获得索引值的那个模型添加到我们新建的一个列表进去
然后返回一个很大的数字 9999 以上, 作为索引值