蓓6264 发表于 2023-5-23 21:11:35

传奇版本里如何获取物品原始各项数据库字段值参数

传奇版本里如何获取物品原始各项数据库字段值参数

说明:获取物品原始各项数据库字段值参数

格式:通过物品名字取数据库字段值 GetDBItemFieldValue 物品名称 字段名 变量
格式:通过 IDX 字段取数据库字段值 GetDBIdxItemFieldValue idx 字段名 变量
---------------------------------------------------------------------------------------------
示范脚本:

[@循环]
#ACT
GetDBItemFieldValue 屠龙 idx <$STR(N1)>
GetDBItemFieldValue 屠龙 stdmode <$STR(N2)>
sendmsg 6 idx :<$STR(N1)> ,stdmode:<$STR(N2)>
===========================================================================================================================
详细参考示范脚本:

;以下所有内容大家都可以自己选择任何设置方式和应用,不一定非是商铺,可以很多方式也可以很多应用
;只拿【商铺来购买金币物品】进行举例,如有不足还请见谅,毕竟脚本这个东西需要脑子去无数次的想!
;本脚本由群友提供有问题可以私密,QQ:815915131 大叔
;切记!!将下列脚本内容放入到MirServer\Mir200\Envir\Market_Def\QFunction-0.txt中去!
;——————————————————————————————商城购物触发字段
[@BuyShopItem]
#if
;——————————————————————————————检测当前购入的物品是否在你设置允许批量购买的路径名单中
CHECKTEXTLIST ..\QuestDiary\商城批量购物\金币物品.txt <$STR(S0)>
#act
;——————————————————————————————清理之前购买的物品名和价格(保完全,可以不用)
MOV S$商城当前购入物品名
MOV N$商城当前购入物品单 0
;——————————————————————————————将当前价格写入变量
MOV S$商城当前购入物品名 <$STR(S0)>
MOV N$商城当前购入物品单价 <$STR(M0)>
;——————————————————————————————如果你当前购入的物品是你允许批量购买的物品时,则提取IDX
GetDBItemFieldValue <$STR(S$商城当前购入物品名)> idx N$商铺购买物品代码
;——————————————————————————————转向下段脚本
goto @在线_商铺批量购买
break

;————————————————————————————————————————————————————————金币类批量购买
[@在线_商铺批量购买]
#act
;——————————————————————————————设置自定义对话框
OPENMERCHANTBIGDLG 176 19 1 0 10 70 1 190 8 1
;——————————————————————————————将单价乘以数量后写入总价格
MUL N$批量商铺购买物品总金额 <$STR(N$商城当前购入物品单价)> <$STR(N$批量商铺购买物品数量)>
#say
;——————————————————————————————触发对话,并且调用之前已经提取号的IDX变量
<ItemShow:<$STR(N$商铺购买物品代码)>:0:16:53:1> \
 \
 \
      名称:<$STR(S$商城当前购入物品名)>\
      单价:<$STR(N$商城当前购入物品单价)>金币\
      说明:@关闭批量\
 \
 \
 \
;——————————————————————————————修改批量购买商铺物品的数量,输入后会自动计算!
       <$STR(N$批量商铺购买物品数量)>个<(修改数量)/@@InPutInteger300>\
 \
       <$STR(N$批量商铺购买物品总金额)>金币\
 \
  <批量购入/@批量购买>  <放弃购入/@放弃购入>


;——————————————————————————————修改批量物品数量后触发的字段
[@InPutInteger300]
#if
EQUAL N300 0
#act
;——————————————————————————————将单价乘以数量后写入总价格
MUL N$批量商铺购买物品总金额 <$STR(N$商城当前购入物品单价)> <$STR(N$批量商铺购买物品数量)>
;——————————————————————————————设置自定义对话框
OPENMERCHANTBIGDLG 176 19 1 0 10 70 1 190 8 1
#say
;——————————————————————————————触发对话,并且调用之前已经提取号的IDX变量
<ItemShow:<$STR(N$商铺购买物品代码)>:0:16:53:1> \
 \
 \
      名称:<$STR(S$商城当前购入物品名)>\
      单价:<$STR(N$商城当前购入物品单价)>金币\
      说明:@关闭批量\
 \
 \
 \
;——————————————————————————————修改批量购买商铺物品的数量,输入后会自动计算!
       <$STR(N$批量商铺购买物品数量)>个<(修改数量)/@@InPutInteger300>\
 \
       <$STR(N$批量商铺购买物品总金额)>金币\
 \
  <批量购入/@批量购买>  <放弃购入/@放弃购入>


;——————————————————————————————所有条件满足开始执行批量购买
[@批量购买]
#IF
;——————————————————————————————检测人物当前是否有足够的金币来购买,当然你也可以换成任何其他货币如元宝之类的
checkgold <$STR(N$批量商铺购买物品总金额)>
#ACT
take 金币 <$STR(N$批量商铺购买物品总金额)>
;——————————————————————————————给予人物购买的物品名+数量
give <$STR(S$商城当前购入物品名)> <$STR(N$批量商铺购买物品数量)>
#ELSEACT
;——————————————————————————————不满足输入条件时候触发字段
MessageBox 缺少“<$STR(N$批量商铺购买物品总金额)>”个金币无法购买!

[@放弃购入]
#act
;——————————————————————————————结束批量购入对话和其他对话,因为之前已经调用了自定义,
;——————————————————————————————为避免直接点击其他NPC出错我们则用引擎说明书中的关闭命令来关闭,
;——————————————————————————————最后指向正常的脚本结束语
CloseBigDialogBox
CLOSEMERCHANTBIGDLG
;——————————————————————————————指向普通脚本结束语
close

风云合击 发表于 2023-11-20 16:51:30

谢谢楼主!喜欢这里的东西,方便又好用!

星王合击 发表于 2023-11-20 18:56:14

比较全的传奇教程分享网站,站长辛苦了。

迷失沉默 发表于 2023-11-20 23:40:47

感谢楼主提供这么好的论坛!

逍遥微变 发表于 2023-11-21 05:19:42

楼主发贴辛苦了,谢谢楼主分享!

金币合击 发表于 2023-11-21 10:46:36

很多架设问题在这里可以找到,真是太好啦。

万劫连击 发表于 2023-11-21 14:22:26

楼主发贴辛苦了,谢谢楼主分享!

专属单职业 发表于 2023-11-21 19:18:44

这个帖子不回对不起自己!

独家迷失 发表于 2023-11-22 01:38:02

比较全的传奇教程分享网站,站长辛苦了。

天封专属 发表于 2023-11-22 07:27:08

楼主发贴辛苦了,谢谢楼主分享!
页: [1] 2
查看完整版本: 传奇版本里如何获取物品原始各项数据库字段值参数