传奇行会一键收人脚本(HeroM2/Sky引擎)

来源: 作者: 点击:
针对HeroM2(Sky)引擎,实现“按一个键直接收人”主要依赖AddToGuild命令。该功能通常通过修改游戏命令或NPC对话脚本实现,以下是两种具体的实现方案。

方案一:修改游戏命令(最接近“按一个键”)

此方案通过修改Command.ini文件,将某个聊天命令(如@加入行会)绑定到快捷键,实现一键收人。

1.服务端修改:找到MirServer\Mir200\Command.ini文件,添加或修改以下行:
JoinGuild=加入行会

◦JoinGuild是命令标识,加入行会是玩家在聊天框输入的内容。

2.脚本触发:在QFunction-0.txt(功能脚本)中编写触发逻辑:
[@UserCmdJoinGuild]
#IF
ISGUILDMASTER;检测是否为掌门
CheckInMapRange3330320340330;限制仅在土城安全区附近使用(可选)
#ACT
AddToGuild你的行会名称;核心命令:将点击者加入指定行会
SendMsg5“一键收人成功!”
#ELSESAY
你不是掌门或不在安全区,无法使用该命令。

注意:你的行会名称必须与游戏内已创建的行会名称完全一致。

3.客户端设置:在登录器或游戏内设置中,将@加入行会命令拖到技能栏快捷键上,即可实现“按一个键”收人。

方案二:NPC对话脚本(更稳定,带条件检测)

如果不想修改命令文件,可以创建一个NPC,玩家点击即可加入行会。
[@main]
欢迎使用行会招募员。\\
<一键加入行会/@加入>

[@加入]
#IF
HAVEGUILD;检测玩家是否已有行会
#ACT
SendMsg5“你已经有行会了,请先退出。”
Break
#IF
CheckLevel>20;限制等级大于20级
#ACT
AddToGuild天下第一行会;加入行会
GuildNoticeMsg11249“玩家【%s】通过一键招募加入了行会!”;行会公告
SendMsg5“加入成功!”
#ELSESAY
等级不足20级,无法加入。


核心命令详解

•AddToGuild:HeroM2引擎的收人命令,参数为行会名称。该命令执行后,点击NPC的玩家会自动加入指定行会。

*ISGUILDMASTER:条件检测,判断当前玩家是否为行会掌门(用于方案一,防止普通成员乱收人)。
*HAVEGUILD:条件检测,判断玩家是否已加入行会(用于方案二,避免重复加入)。

常见问题与排查

1.脚本不生效:
◦检查行会名称是否与游戏内完全一致(包括空格、符号)。

*确认脚本文件编码为ANSI,而非UTF-8(否则游戏内显示乱码或无法触发)。
*修改脚本后,在M2控制台点击“重新加载NPC”或“重读QF脚本”生效。

2.权限不足:
◦方案一中,ISGUILDMASTER条件必须满足,即只有掌门才能触发收人。若想允许长老收人,需改用变量检测职位。

3.行会不存在:
◦AddToGuild命令不会自动创建行会。必须先在游戏中(通过沃玛号角)创建好对应的行会,脚本才能将人加进去。

总结:最快捷的方式是方案一,配合客户端快捷键设置,真正实现“按一个键收人”。若追求稳定和条件控制(如等级限制、公告提示),则推荐使用方案二的NPC脚本。
[顶部]