Previous topicNext topic
Help > BLUE引擎2021更新 >
增加NPC支持物品框

变量:

获取放入OK框内的道具变量如下:仅AC支持此功能  脚本展示
==================================================================================== =
增加变量:<$BoxItemID0~19>                  //物品框0~19的物品ID,当取下物品框物品时,对应物品框的物品ID为0
增加变量:<$BoxItemName0~19>                //物品框0~19的物品名,当取下物品框物品时,对应物品框的物品名为空
增加变量:<$BoxItemCount0~19>               //物品框0~19的物品数量,当取下物品框物品时,对应物品框的物品数量为0
增加变量:<$STR(S_RemovedBoxItemID0~19)>    //移除物品框0~19的物品ID,即时变量,只能在LABEL=@ItemBox0~19里使用
增加变量:<$STR(S_RemovedBoxItemName0~19)>  //移除物品框0~19的物品名,同上
增加变量:<$STR(M_RemovedBoxItemCount0~19)> //移除物品框0~19的物品数量,同上
以上变量可以不通过 GetEquipProps 而直接使用
=====================================================================================
关于装备位置 GetEquipProps可以获取到属性,注意装备属性也将变得有效

GetEquipProps 位置 @自定义成功跳转字段[可选]

注意必须配合[@OnGetEquipProps]或[@自定义成功跳转字段]来读取属性,因为物品无效时不会触发字段、调用的EQUIP系列变量可能是上次的!
非装备类物品也可以触发此字段,但有效属性仅限于上面提及的几个通用属性!该字段下的<$PARAM(n)>变量参考之前说明。
=====================================================================================
<$STR(S_EQUIP[位置]_ID)>             //物品ID
<$STR(S_EQUIP[位置]_NAME)>           //物品名称
<$STR(M_EQUIP[位置]_SHAPE)>          //物品Shape
<$STR(M_EQUIP[位置]_STDMODE)>        //物品StdMode
<$STR(M_EQUIP[位置]_ANICOUNT)>       //物品AniCount
<$STR(M_EQUIP[位置]_LOOKS)>          //物品Looks
<$STR(M_EQUIP[位置]_COUNT)>          //物品数量(非重叠物品为1)
<$STR(M_EQUIP[位置]_OVERLAP_TYPE)>   //重叠物品类型(0非重叠,1或2是重叠物品)
<$STR(M_EQUIP[位置]_OVERLAP_TYPE)>   //重叠物品类型(0非重叠,1或2是重叠物品)
<$STR(M_EQUIP[位置]_DURA)>           //物品持久、对于重叠物品,就是数量
<$STR(M_EQUIP[位置]_PRICE)>          //HeroDB价格
<$STR(M_EQUIP[位置]_BUYING_PRICE)>   //执行NPC需要是商人(可带价格倍率调整),才能获取到正确的价格,否则为0
<$STR(M_EQUIP[位置]_SELLING_PRICE)>  //同上
====================================================================================
命令:RetBoxItem 0~9 // 将物品框物品返回背包
=====================================================================================
<ITEMBOX=0~9,prguse,1241,1,0,0,0,8,11,22,100 LABEL=@ItemBox0 HINT=请放上装备>,其中:0~9  // 是物品框序号,范围0~9
   prguse     //wzl文件名
   1241       //wzl图片索引
   1,0,0      //图片数,是否循环,是否透明
   0,8        //偏移X,偏移Y
   55,66      //绝对X,绝对Y(不参与自动换行计算)
   100        //帧间隔(毫秒)
   @ItemBox0  //放上或取下物品将触发[@ItemBox0]字段(仅限于鼠标操作,直接关闭窗口物品返回背包并不会触发)
  注意:本功能需要配套更新AC游戏网关,防止部分操作被过滤!
=====================================================================================
举列一:GetEquipProps、UpgradeItem、UpgradeItemEx支持位置20000~20009,可用于操作对应物品框0~9的物品
=====================================================================================
#SAY
ITEMBOX:<ITEMBOX=0,prguse,1241,1,0,0,0,8,055,0,100 LABEL=@itembox0 HINT=请放上装备>
ITEMBOX:<ITEMBOX=1,prguse,1241,1,0,0,0,8,111,0,100 LABEL=@itembox1 HINT=请放上回收物品>\
    
 [@itembox0]
 #if
 ;是否已放上物品
  CompVal <$BoxItemID0> = 0
  #act
  sendmsg 7 移除的物品ID:<$STR(S_RemovedBoxItemID0)>,物品名:<$STR(S_RemovedBoxItemName0)>,数量:<$STR(M_RemovedBoxItemCount0)>
  #elseact
  GetEquipProps 20000

  [@itembox1]
   #if
   ;是否已放上物品
   CompVal <$BoxItemID1> = 0
   #act
   endmsg 7 移除的物品ID:<$STR(S_RemovedBoxItemID1)>,物品名:<$STR(S_RemovedBoxItemName1)>,数量:<$STR(M_RemovedBoxItemCount1)>
   #elseact
   ;取走物品
   Take <$BoxItemID1> 1
    
   [@OnGetEquipProps]
   #act
   ;$PARAM(3)是位置
   Calc "<$PARAM(3)> - 20000" M_物品框序列号
   sendmsg 7 物品框<$STR(M_物品框序列号)>的物品名:<$STR(S_EQUIP[<$PARAM(3)>]_NAME)>,物品ID:<$STR(S_EQUIP[<$PARAM(3)>]_ID)>