在传奇GOM引擎中,装备投保功能是一项重要的游戏机制,它允许玩家在装备可能因角色死亡而掉落时,通过投保来避免装备的实际损失。本文将详细介绍如何在GOM引擎中设置和使用装备投保功能。
装备投保功能设置:
为了启用装备投保功能,需要在物品数据库StdItems.DB中添加两个新的字段:InsuranceGold和InsuranceCurrency,字段类型为INTEGER。
InsuranceGold:投保金额,设置大于0时,登陆器将显示该装备是否已投保。
InsuranceCurrency:保金类型,包括:
0:元宝
1:金币
2:泡点
3:金刚石
4:灵符
QF脚本触发:
当角色死亡并触发装备掉落时,如果装备已投保,将执行[@DropUseItemsX]脚本,其中X表示装备位置(0-18)。此脚本将检查InsuranceGold字段是否大于0,以及投保次数是否大于0。每次触发后,投保次数将自动减少1。
相关常量:
OK框的常量:
保金类型:<$BOXITEM[X].INSURANCECURRENCY>
投保次数:<$BOXITEM[X].INSURANCECOUNT>
投保金额:<$BOXITEM[X].INSURANCEGOLD>
在[@DropUseItemsX]触发中有效的常量:
当前掉落前装备的剩余投保次数:<$INSURANCECOUNT>
当前掉落前装备的保金类型:<$INSURANCECURRENCY>
当前掉落前装备的投保金额:<$INSURANCEGOLD>
当前掉落前装备的名称:<$INSURANCEITEMNAME>
相关脚本命令:
检测装备投保次数:
CHECKINSURANCECOUNT 位置(0-18,-1表示OK框) 检测符(>,<,=) 次数(0-65536)
调整装备投保次数:
CHANGEINSURANCECOUNT 位置(0-18,-1表示OK框) 调整符(+,-,=) 次数(0-65536)
装备投保功能:在人物死亡掉装备的时候,如果该装备做过投保,就不会掉落该装备,而是扣除投保时的元宝
需要在物品DB StdItems.DB 里增加2个字段 InsuranceGold 和 InsuranceCurrency 字段类型选择: INTEGER
InsuranceGold 投保金额 设置大于0时 登陆器才会显示该装备是否已经投保
InsuranceCurrency 保金类型 0元宝 1金币 2泡点 3金刚石 4灵符
QF脚本触发,人物死亡掉装备触发 [@DropUseItemsX] X表示装备位置 0-18
这个须是InsuranceGold字段大于0,投保次数大于0,人物死亡掉装备才会触发。投保次数,每次人物死亡掉装备自动减1
相关常量:
OK框的常量 保金类型:<$BOXITEM[X].INSURANCECURRENCY> 投保次数:<$BOXITEM[X].INSURANCECOUNT> 投保金额:<$BOXITEM[X].INSURANCEGOLD>
以下常量须在 [@DropUseItemsX]触发里才会有效
当前掉落前装备的 剩余投保次数:<$INSURANCECOUNT>
当前掉落前装备的 保金类型:<$INSURANCECURRENCY>
当前掉落前装备的 投保金额:<$INSURANCEGOLD>
当前掉落前装备的 名称: <$INSURANCEITEMNAME>
相关脚本命令:
检测装备投保次数
CHECKINSURANCECOUNT 位置(0-18,-1表示OK框) 检测符(>,<,=) 次数(0-65536)
调整装备投保次数
CHANGEINSURANCECOUNT 位置(0-18,-1表示OK框) 调整符(+,-,=) 次数(0-65536)
QF脚本触发:
[@DropUseItems0]
#IF
#ACT
MOV M1 0
#IF
Equal <$INSURANCECURRENCY> 0
#ACT
MOV M1 1
MOV S1 <$INSURANCEGOLD>
INC S1 元宝
#IF
Equal <$INSURANCECURRENCY> 1
#ACT
MOV M1 1
MOV S1 <$INSURANCEGOLD>
INC S1 金币
#IF
Equal <$INSURANCECURRENCY> 2
#ACT
MOV M1 1
MOV S1 <$INSURANCEGOLD>
INC S1 泡点
#IF
Equal M1 1
#ACT
ThrowItem <$MAP> <$X> <$Y> 10 <$STR(S1)> 1|60 0 1
SENDMSG 6 你的衣服【<$INSURANCEITEMNAME>】有保险,没有掉,掉落<$STR(S1)>。剩余投保次数(<$INSURANCECOUNT>)保金类型(<$INSURANCECURRENCY>)投保金额(<$INSURANCEGOLD>)
;#ELSEACT
;SENDMSG 6 未知投保类型