kfdd001 发表于 2023-5-18 10:01:20

重要 建议增加角色交易 过户

本帖最后由 kfdd001 于 2023-7-15 07:17 编辑

建议增加角色交易

相当于将一个角色完整过户给某账号
对方账号必须空着一个角色位置

这个功能非常重要,是角色保值的不二法门。
希望能够增加一下。

也可以是角色过户,过户至对应的账号下
过户后 角色自动退出 并被删除

具体可使用脚本命令配合

脚本如下:(脚本复制自某8引擎,我相信特戒可以做到更好,因为可以更好的查看,所以以下命令仅供参考)
角色出售、角色交易系统
功能:角色交易功能说明


查看详细信息脚本:
查看角色属性栏最下面的“其他”读取的是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

;-------------------------------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触发,一般用于检测
以上为简单脚本,各种检测 需GM自己完善,已经成功后触发需要解除什么关系的 需GM自己加

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

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

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

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

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

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



kfdd001 发表于 2023-7-12 20:34:21

关注关注 持续关注
增加角色过户 这个功能非常实用

kfdd001 发表于 2023-8-8 08:13:07


关注关注 持续关注
增加角色过户 这个功能非常实用
页: [1]
查看完整版本: 重要 建议增加角色交易 过户