找回密码
 点一下
查看: 1476|回复: 7

NativeLib的一个错误

[复制链接]
发表于 2010-6-3 09:56:37 | 显示全部楼层 |阅读模式
原函数CostOfAbility:

fixed libNtve_gf_CostOfAbility (string lp_ability, string lp_costType) {
    // Variable Declarations
    string lv_value;
    string lv_field;

    // Variable Initialization
    lv_value = "";
    lv_field = "";

    // Implementation
    if (((lp_costType == "Minerals") || (lp_costType == "Gas"))) {
        lv_field = ("Cost." + lp_costType);
    }
    else if (((lp_costType == "Energy") || (lp_costType == "Life") || (lp_costType == "Shields"))) {
        lv_field = ("Cost.Vital[" + lp_costType + "]");
    }

    lv_value = CatalogFieldValueGet(c_gameCatalogAbil, lp_ability, lv_field, 1);
    return StringToFixed(lv_value);
}


其中Cost子域格式错误,应加上脚标,否则无法读取Catalog数据;

修正后

if (((lp_costType == "Minerals") || (lp_costType == "Gas"))) {
        lv_field = ("Cost[0]." + lp_costType);
    }
    else if (((lp_costType == "Energy") || (lp_costType == "Life") || (lp_costType == "Shields"))) {
        lv_field = ("Cost[0].Vital[" + lp_costType + "]");
    }


Cost array似乎只有[0]起作用,添加额外的cost数据没有效果
难道这是BLZ的坑?这个错误花了我3个小时找原因。。。。
不过data里的数据都可以通过此类函数在trigger中调用了
发表于 2010-6-3 10:10:07 | 显示全部楼层
Cost array当然有用的~~你如果看过我那个演示的话就知道0以后是做啥的了~~

因为技能有等级~~因此你可以为不同等级分配不同法力消耗~~
回复

使用道具 举报

 楼主| 发表于 2010-6-3 10:12:50 | 显示全部楼层
那blz提供的這個CostOfAbility 岂不是废的。。。。
回复

使用道具 举报

发表于 2010-6-3 10:19:55 | 显示全部楼层
本来你就只需要CatalogFieldValueGet这东西就可以老

----------- 帖子于 10:19 更新 --------- 之前内容发布于 10:15 ------------

不过其实我记得早先不写下标也能读出值来,难道新版改了?

至少在早先版本,Cost这个东西是这样的,如果你没有强行指定index,那么你设置的Cost值就会应用到所有等级去。不需要每个等级设一次,这时候你直接读取Cost不写下标就是这个通用法力消耗。

如果你指定了下标,那么则可以给每个等级设定法力消耗这样。


新版本改了么?我也不大清楚,因为我上次测试的时候编辑器都还没出呢。不过不管怎样,读取的时候写下标肯定有效就是了。
回复

使用道具 举报

 楼主| 发表于 2010-6-3 12:44:16 | 显示全部楼层
刚才把地图发BN測試了下,結果杯具了,所有數據都在服務器端計算,延遲啊延遲,卡死了。。。
回复

使用道具 举报

发表于 2010-6-3 12:47:37 | 显示全部楼层
不知道你有没有看见按钮事件下面那行字。

在多人环境下会产生大量网络通讯。
回复

使用道具 举报

 楼主| 发表于 2010-6-3 12:53:25 | 显示全部楼层
引用第5楼有意见就枪毙于2010-06-03 12:47发表的  :
不知道你有没有看见按钮事件下面那行字。

在多人环境下会产生大量网络通讯。

不是数据量。。而是延迟。。
我進別人的图也卡。。美服。
回复

使用道具 举报

发表于 2010-6-3 13:04:41 | 显示全部楼层
如果你是说lag~~你要知道现在是beta服务器。

只有几个服务器在运转,而现在已经是压力测试阶段,BN上有2万人了。你国内连过去自然就慢了~~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-29 19:10 , Processed in 0.165920 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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