Goods商店详解

[Goods]商品列表说明:

示例:

[GOODS] +5,10,11 %120

;格式:物品名称 总库存 刷新时间 其他附加选项

万年雪霜 99999 10010 金币:1000 SELLHOUR:12 PILE:10

天神法杖 99999 10001 积分:1000 IDX:1

龙马戒指 99999 10001 牙齿:1000 SELLHOUR:12 IDX:2


说明:

1. +5,10,11限定售卖和回收的类型

2. %120为按120%价格售卖

3. 刷新时间大于10000则刷新时间为分钟,如10010为10分钟刷新一次,当为0时表示永不刷新

4.其他附加选项包括:

  自定义货币:n 默认金币,缺省则与数据库价格有关否则以指定的金币价格售卖,可以是其他货币如积分:100,CUSINT1:100, FAME:100, 也可以为物品类型如牙齿:1000

   SELLHOUR:n 开放n小时后可购买,缺省为0

  PILE:n 一堆n个就是一次性购买n个, 缺省为1

  IDX:n  第几个商店, 取值0-15分别对应16个商店, 如果省略则与此goods列表的顺序有关

5.也可以将不同的商店写到不同的goods列表内,示例的3个商品等价于下面的写法(无需指定IDX, 按照顺序即为不同的IDX)

  [GOODS] +5,10,11 %120

  万年雪霜 99999 10010 SELLHOUR:12 PILE:10


  [GOODS] +5,10,11 %120

  天神法杖 99999 10001 积分:1000


  [GOODS] +5,10,11 %120

  龙马戒指 99999 10001 牙齿:1000 SELLHOUR:12


  这种分开写的好处是可以不同商店不同的售卖类型和折扣

6.一个列表最大200个物品

7.商品分类当stdmode=3时shape=1,2,3,5,25为杂货,其他都为药剂

8.可以将不同goods写到不同文件txt,但是如果调用要注意顺序,若未指定idx为相应顺序的idx

9.刷新NPC时将保留库存,如果要某个库存刷新可以将其顺序更换

 


调用商店2种方法:

方法一:使用脚本命令打开,优点是可以无菜单显示商店窗口,可以使用道具开启随身商店

[@main]

#SAY

<金币商店/@Shop(0)>\

<元宝商店/@Shop(1)>\

<综合商店/@Shop(2)>\[@Shop()]

#Act

Mov GOODSIDX %ARG(1)

Mov GOODSCOLTYPE 1

Mov GOODSSABUKOFF 70 ;;强制打7折一般用于VIP

Buy 1


说明:

1. GOODSIDX 表示打开第几个商店,即对应示例goods列表中的IDX, 更改NPC时此变量将会重置为0

2. GOODSCOLTYPE 表示商店属性, 默认可出售可购买, 1可购买, 2可出售,4禁止修理,8强制普通修理,16强制特殊修理,可以相加组合如19= 1+2+16则为可购买和出售并且强制特殊修理,如果不强制修理则按照配置设置 更改NPC时此变量将会重置为0

3. GOODSSABUKOFF  强制折扣,不论是否在沙巴克地图,当不指定或者更改NPC时则会恢复,最大255

4. Buy可以指定默认打开的商店的栏,也可以指定打开第几个商店, 示例中为打开第2栏即武器栏, 可以参考 Buy命令  


方法二:使用菜单按钮打开,优点是可以无需各种命令设置更简单

<购买/@buy>\  ;默认打开

<购买/@buy(1)>\  ;打开第2栏,等价于BUY 1

<购买/@buy(1,2)>\    ;打开第2栏,第2个商店,等价于MOV GOODSIDX 2, BUY 1

<出售/@sell>\  ;将直接显示购回界面