翎风引擎角色出售、角色交易系统功能说明

2023-12-6 22:30| 发布者: 积木GM论坛| 查看: 1299| 评论: 0

摘要: 功能说明:角色出售、角色交易系统;查看详细信息脚本:查看角色属性栏最下面的“其他”读取的是SellPlayerInfo.txt文本,手动创建后复制下面的脚本即可!SellPlayerInfo.txt 是显示出售角色信息中的“其他”中的内 ...


功能说明:角色出售、角色交易系统;
查看详细信息脚本:
查看角色属性栏最下面的“其他”读取的是SellPlayerInfo.txt文本,手动创建后复制下面的脚本即可!
SellPlayerInfo.txt 是显示出售角色信息中的“其他”中的内容,置于 Mir200\Envir\ 目录下。
和npc写法相同,不要任何标签和[@main],不支持触发<触发/@不支持>,主要用于显示一些角色信息无法显示的各种变量属性

下方为 SellPlayerInfo.txt 文本内容示范:

用户名:<$UserName>\
等级:<$Level>\
转生等级:<$ReLevel>\

;分界线*****************

功能操作命令:

检测自己是否在出售中:
CheckIsSellPlayer

检测自己是否为角色出售委托人
CheckIsSellPlayDelegator

打开角色出售对话框:
OpenAddSellPlayerDlg

获取委托自己出售的角色数量
GetSellPlayerCount

取消某个委托自己出售的角色
DelSellPlayer 角色名

打开取消角色出售对话框
OpenDelSellPlayerDlg

打开角色出售商店
OpenSellPlayerShopDlg

中止添加角色出售 (仅用于 QFunction-[@PlayerSelling]或[@BeforePlayerSelling]中使用)
BreakAddSellPlayer
;-------------------------------Npc示范脚本:----------------------------

<我要出售角色/@我要出售角色> <取消角色出售委托/@取消角色出售委托> \ \
<我要购买角色/@我要购买角色>

[@我要出售角色]
#if
CheckIsSellPlayer
#act
SendMsg 6 您已经在出售中
break

#if
CheckIsSellPlayDelegator
#act
SendMsg 6 您是别人的委托人,不能出售,如果要出售请先取消委托
break

#if
#act
;打出角色出售对话框,在此前可以加出售条件判断
; 此前加的条件可能会被构造的非法封包绕过,建议在QFunction-[@PlayerSelling]或[@BeforePlayerSelling]触发中检测
OpenAddSellPlayerDlg

[@取消角色出售委托]
#if 
#act
GetSellPlayerCount n0
;获取正在委托自己出手的信息到变量中,N0修改为服务端没用到其他N变量

#if 
Equal n0 0
;判断上面的变量是否为0,如上面N0修改了,本项N0同步修改
#act
SendMsg 6 没有委托您出售的角色
break
#elseact
OpenDelSellPlayerDlg

[@我要购买角色]
#if 
#act
OpenSellPlayerShopDlg

;-------------------------------触发:QFunction ----------------------------

QFunction触发字段说明:
1、添加出售角色委托人同意之后触发:@PlayerSelling 
2、添加出售在询问委托人确认前触发:@BeforePlayerSelling 
3、角色出售成功触发:@PlayerSold 

4、购买角色成功触发:@PlayerBuyIn 

;-------------------------------QFunction触发示例----------------------------

[@PlayerSold]
#act
;交易成功后将售出的角色强行离婚
unmarry requestunmarry force
break

[@BeforePlayerSelling]
#if
#act
SendMsg 6 委托人:<$SellPlayDelegater>
SendMsg 6 出售货币:<$SellPlayMoneyType>
;(1:元宝;2:游戏点;3:金币;4:金刚石;5:灵符)
SendMsg 6 出售价格:<$SellPlayMoneyValue>

#if
not checklevel 300
#act
BreakAddSellPlayer
SendMsg 6 您的等级不够,不能出售
break


说明:
@PlayerSelling出售前最后一个触发,可用于检测一些特殊项,至于检测什么自己决定
@BeforePlayerSelling 为向委托人发送请求前触发,比如检查等级,出售价格等,如果在 @PlayerSelling 中触发,感觉不太友好,因为折腾半天到最后一步提示条件不足,不够优雅,简单检测可以用在@BeforePlayerSelling 中进行

委托人是他人或自己另外个角色都会进行触发,因为触发为出售人的QF触发,一般用于检测

;-------------------------------购买角色成功QFunction触发示例----------------------------

变量(仅@PlayerBuyIn中可用):

购买的角色名:<$PlayerBuyUser>
角色出售委托人:<$PlayerBuyUserDelegater>
角色出售价格:<$PlayerBuyPrices>
角色出售货币类型文本:<$PlayerBuyMoneyType>
角色出售货币类型值:<$PlayerBuyMoneyTypeValue>;0:元宝; 1:游戏点; 2:金币;3:金钢石; 4:灵符

[@PlayerBuyIn]
#ACT
SendMsg 6 购买角色“<$PlayerBuyUser>”(委托人:<$PlayerBuyUserDelegater>)成功触发;价格:<$PlayerBuyPrices><$PlayerBuyMoneyType>(货币类型值:<$PlayerBuyMoneyTypeValue>)

以上为简单脚本,各种检测 需GM自己完善,已经成功后触发需要解除什么关系的 需GM自己加

如需下架指定出售角色命令请查阅GM命令

角色交易系统可和修改指定账号的注册信息命令配合使用

;******************************************分界线******************************************

角色出售 默认为本账号下另外个角色进行委托,如果不想账号下另外个角色,可以委托指定在线玩家帮忙代售,交易成功后货币直接进入委托人角色上!

角色出售 出售给指定玩家,意思是出售的角色在角色购买栏只有指定的这个玩家才看得到,其他玩家无法看到~~~~

为防止PK期间被人恶意输入委托人弹出对话框,角色交易采用委托在线其他玩家代售,则需要代售玩家使用命令@角色交易(此命令在M2上玩家命令中可自行修改) 打开和关闭是否允许接受委托,上线默认禁止

角色交易UI默认使用13周年UI,可在自定义UI中选择替换UI读取路径为你服的UI界面

********************出售角色默认都是离线挂机状态,M2剔除离线挂机无法剔除这些出售中的角色。因为不是离线挂机状态无法查看角色属性,仓库,背包之类 ,可脚本给予无敌模式、观察模式或必须在或者不允许PK地图进行交易(M2-功能设置-脱机登录 勾选上“ 怪物不攻击脱机人物”)********************

相关阅读

最新评论