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

获得物品的价格的演示

[复制链接]
发表于 2012-1-11 02:13:12 | 显示全部楼层 |阅读模式
这方法其实很老了,今天看到有人问于是顺便做了个。

阿克蒙德拾取物品后会显示物品的价格。需要多少金币和木材。当然,默认状况下,物品都不需要木材。我这里修改了国王之冠,让他消耗100木材,这是为了让测试更明显。

未命名.jpg


虽然我们可以通过common.ai里的函数来获得单位的价格,但是却无法直接获得物品的价格,所以要获得物品价格其实最合适的法子还是直接让个隐藏商店直接卖个这种物品试试看要多少钱。虽然我们可以使用让英雄向商店典当物品的法子,但问题是不同的地图,典当金额和原金额的比例可能会有所不同(这个值是可以在平衡性常数里修改的)


[trigger]
ItemCost
    Events
        Unit - A unit Acquires an item
    Conditions
    Actions
        Player - Set BuyerPlayer Current gold to 1000000
        Player - Set BuyerPlayer Current lumber to 1000000
        Set ItemType = (Item-type of (Item being manipulated))
        Neutral Building - Add ItemType to Shop with 1 in stock and a max stock of 1
        Custom script:   call IssueNeutralImmediateOrderById(udg_BuyerPlayer, udg_Shop, udg_ItemType )
        Item - Pick every item in Region 000 <gen> and do (Actions)
            Loop - Actions
                Item - Remove (Picked item)
        Neutral Building - Remove ItemType from Shop
        Set GoldCost = (1000000 - (BuyerPlayer Current gold))
        Set LumberCost = (1000000 - (BuyerPlayer Current lumber))
        Game - Display to (All players) the text: (Name of (Item being manipulated))
        Game - Display to (All players) the text: (G: + (String(GoldCost)))
        Game - Display to (All players) the text: (L: + (String(LumberCost)))
[/trigger]

当然,这个演示对临时卖出来用于估价的物品是直接删除之。因为商店直接出售物品却没有指定购买物品的英雄时,物品是直接掉在地上并不触发物品出售事件。所以这里方便起见在隐藏商店边上画了个小区域直接删除了里面的物品。

当然,最保险的法子其实是指定个购买者,这样就会触发物品出售事件,并通过“被出售的物品”来获得卖出的临时物品,这样删除起临时物品来就更精确,不会误伤到正好落入这个区域的物品了。

指定购买者并直接向其出售物品的方法可以参考我以前的商店法演示(这个连接的7楼)
http://bbs.islga.org/read-htm-tid-27428.html
但在这里由于不是这个演示的关键内容,所以没有指定购买者,因为会增加额外的自定义脚本,很容易导致看演示的人丢失重点:

12345.w3x

18 KB, 下载次数: 40

评分

参与人数 1威望 +31 收起 理由
希瓦 + 31 虽然看不懂,但是感觉好厉害啊

查看全部评分

发表于 2012-1-11 05:19:42 | 显示全部楼层
虽然看不懂,但是感觉好厉害啊
回复

使用道具 举报

 楼主| 发表于 2012-1-11 09:29:34 | 显示全部楼层
不用管那么多,其实就是一个水
回复

使用道具 举报

发表于 2012-1-11 11:40:45 | 显示全部楼层
虽然是个水,但是感觉好厉害啊
回复

使用道具 举报

发表于 2012-1-11 13:13:33 | 显示全部楼层
虽然没有看,但是感觉好厉害啊
回复

使用道具 举报

发表于 2012-1-11 16:37:25 | 显示全部楼层
如果是通过购买来计算的话,要给商店加好多东西,用卖 的比较合适,只要弄个变量来对卖出的商品进行反向计算就可心了
回复

使用道具 举报

发表于 2012-1-11 18:04:31 | 显示全部楼层
....话说,为什么不预先储存了....
  三个数组解决所有问题.....
回复

使用道具 举报

发表于 2012-4-4 09:56:15 | 显示全部楼层
好贴,绝对要支持下!!~~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-4 01:28 , Processed in 0.316938 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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