功能说明:角色出售、角色交易系统; 查看详细信息脚本: 查看角色属性栏最下面的“其他”读取的是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-功能设置-脱机登录 勾选上“ 怪物不攻击脱机人物”)******************** |