饥荒mod开发——打破标签数量上限

代码中使用的部分函数来自饥荒Mod工具函数,该函数也记录在utils/initwork中,使用请下载工具包直接使用即可,下面仅演示实现思路。

1. 思路

关键两点:

  1. 主客机用表存储标签,通过网络变量保持主客机数据一致
  2. 覆盖AddTag、RemoveTag等几个操作标签的方法

2. 代码

代码解释:

  1. inst[TAG_VAR].tags:主客机都有的键值表,表示标签
  2. inst[TAG_VAR].tagDirty:主客机通信使用,类似RPC,添加标签或移除标签时就会通过网络变量通信
  3. inst[TAG_VAR].canche:标签缓存表,每次添加或移除标签时不能直接调用set更新网络变量,因为同一帧下客户端只会收到一次值,每帧把数据缓存起来,每帧统一发送
  4. PushTag函数:调用网络变量的set,相当于通信一次,函数里面还均衡了一下,每次最多只发送100个标签数据
posted @ 2024-04-30 10:01  高价领主  阅读(174)  评论(0)    收藏  举报