找回密码
 点一下
查看: 4408|回复: 16

缓存中:SyncStored系列做什么用的? (已解决)

[复制链接]
发表于 2006-4-21 18:30:10 | 显示全部楼层 |阅读模式
缓存中:
SyncStored系列做什么用的?

另SaveGameCache和ReloadGameCachesFromDisk是做什么的?

[ 本帖最后由 zyl910 于 2006-4-24 01:03 编辑 ]
发表于 2006-4-21 18:39:37 | 显示全部楼层
//SyncStored系列做什么用的?

用于多人模式下保存游戏缓存的
注意对于该函数的调用必须位于TriggerSyncStart、TriggerSyncReady之间
如:

  1. call StoreInteger(udg_gch, "dir", "key1", 1)
  2. call StoreInteger(udg_gch, "dir", "key2", 2)
  3. ……
  4. call TriggerSyncStart()
  5. call SyncStoredInteger(udg_gch, "dir", "key1")
  6. call SyncStoredInteger(udg_gch, "dir", "key2")
  7. ……
  8. call TriggerSyncReady()
复制代码




PS: 标题不要只写“问题”
回复

使用道具 举报

 楼主| 发表于 2006-4-22 11:49:34 | 显示全部楼层
不是太明白~
Store 和GetStored不就行了吗
这个是做什么的
回复

使用道具 举报

发表于 2006-4-22 12:16:34 | 显示全部楼层
原帖由 Red_Wolf 于 2006-4-22 11:49 发表
不是太明白~
Store 和GetStored不就行了吗
这个是做什么的


那只是修改内存中的数据

而这些函数将内存中的数据写入每个玩家的硬盘
用于多人模式下的数据记录
回复

使用道具 举报

发表于 2006-4-23 03:15:09 | 显示全部楼层
标题不详,语焉不详。特此警告。
回复

使用道具 举报

发表于 2006-4-24 01:03:18 | 显示全部楼层
已修改标题,以后请按照Jass区版规发帖子:
http://bbs.ourga.com/thread-947-1-1.html
Jass区导航贴
回复

使用道具 举报

发表于 2006-8-26 12:31:53 | 显示全部楼层
好东西啊...
今天我试验了下
结果还是失败了
在单人模式下能用
到多人的时候还是失败了
如果  zyl910  
弄个简单的看看就好了

把我今天试验的地图传上来好了,看看谁改改
回复

使用道具 举报

 楼主| 发表于 2006-8-26 13:59:41 | 显示全部楼层
没用的
单人模式根本什么都不做,游戏缓存就会保存在本地
而不是以上函数的作用
回复

使用道具 举报

发表于 2006-8-28 06:27:41 | 显示全部楼层
我来解答这个问题,实际上SyncStoredXXX()是用来同步不同玩家内存中的缓存值的。

有时候不同玩家在本机内存中所保留的同一个缓存变量的值并不同。这种不同通常由GetLocalPlayer ()造成。

比如玩家1内存中缓存A保存的内容可能是1,而玩家2是3。这些SyncStoredXXX()函数则可以强制他们同步为同一个值,通常这个值是该游戏主机内存中该缓存的值。但是这只是通常,偶尔也会以另一个玩家为基准进行同步,但是这类情况相当少。
回复

使用道具 举报

发表于 2006-8-28 06:51:50 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2006-8-28 07:33:02 | 显示全部楼层
当然可以,只是会不同步而已。

比如我用T在内存中Store了一个Integer,用来保存当前玩家的玩家号。
那么玩家1的该值就是0,玩家2的就是1,玩家3的就是2了。

SyncStoredXXX可以以主机玩家为基准同步它们,如果主机是玩家1,那么同步以后,所有玩家的缓存中的这个Integer就全部变成0了——这是一个判断谁是主机的好方法。

[ 本帖最后由 麦德三世B 于 2006-8-28 07:34 编辑 ]
回复

使用道具 举报

发表于 2006-8-28 08:35:25 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2006-8-28 08:44:23 | 显示全部楼层
但是就如上面说的,在很少情况下,会出现不以主机为同步标准的事情。

所以建议多试验几次,以察看每次获得的值的分布率。
回复

使用道具 举报

发表于 2006-8-28 09:31:10 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2006-8-28 09:37:37 | 显示全部楼层
饿,我说的是在同一张地图里用多次这个函数。

这样呢,看看哪个值出现的多就能精确的获得主机了。

并非要去测试正确获得主机的几率。
回复

使用道具 举报

发表于 2006-8-28 12:56:37 | 显示全部楼层
厉害,不愧是MD大人~~
回复

使用道具 举报

发表于 2008-1-10 09:44:28 | 显示全部楼层
其实这函数的作用是在还有别的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-5-22 13:53 , Processed in 0.041224 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表