一、核心命令:GENDER
HeroM2引擎(及Blue/LEG等衍生版)检查当前触发脚本的人物性别,使用的脚本命令是GENDER。它属于条件检测指令,必须放在#IF段后使用。
基础语法格式:
#IF
GENDER性别参数
#ACT
;条件成立时执行的命令
#ELSESAY
;条件不成立时的提示
参数说明(支持两种写法):
•MAN或男:匹配男性角色。
•WOMAN或女:匹配女性角色。
二、脚本实战:检测与分支逻辑
1.NPC对话中的性别检测
常用于发放性别专属装备(如男女衣服)或限制任务接取。
[@GetCloth]
#IF
GENDERMAN
#ACT
Give战神盔甲(男)1
SendMsg6男性盔甲已发放。
Break
#ELSESAY
#IF
GENDERWOMAN
#ACT
Give天师长袍(女)1
SendMsg6女性长袍已发放。
Break
#ELSESAY
性别检测异常,无法发放装备。
2.物品使用触发(StdModeFunc)
在物品数据库设置功能编号(如150),脚本中检测使用者性别。
[@StdModeFunc150];双击物品触发
#IF
GENDERMAN
#ACT
Take性别转换卡1
CHANGEGENDER1;变为女性
SendMsg6性别已转换为女性。
Break
三、进阶:检查“对面”或“指定”人物性别
GENDER命令只能检测当前正在执行脚本的人物(即自己)。若需检测对面站立的玩家或指定目标,需使用其他命令:
1.检查面对面玩家性别:使用CHECKPOSEGENDER。
#IF
CHECKPOSEGENDERMAN;检测对面玩家是否为男性
#ACT
SendMsg6对面是一位男性玩家。
注意:此命令通常要求两人面对面站立。
2.检查英雄性别:使用Hero.GENDER或变量<$HEROGENDER>。
#IF
Hero.GENDERMAN
#ACT
SendMsg6你的英雄是男性。
四、常见错误与排查
1.命令拼写错误:HeroM2引擎严格区分大小写。必须写GENDER,写成Gender或gender会导致M2报错或条件永远不成立。
2.参数错误:参数只能是MAN/男或WOMAN/女。若写成MALE或FEMALE将无法识别。
3.作用对象混淆:在NPC脚本中,GENDER检测的是点击NPC的玩家。无法直接用GENDER检测NPC自身或未触发脚本的第三方玩家。
总结:HeroM2检查性别的基础命令是GENDER,配合MAN/WOMAN参数使用。检测他人需换用CHECKPOSEGENDER或通过变量间接获取。
HeroM2引擎(及Blue/LEG等衍生版)检查当前触发脚本的人物性别,使用的脚本命令是GENDER。它属于条件检测指令,必须放在#IF段后使用。
基础语法格式:
#IF
GENDER性别参数
#ACT
;条件成立时执行的命令
#ELSESAY
;条件不成立时的提示
参数说明(支持两种写法):
•MAN或男:匹配男性角色。
•WOMAN或女:匹配女性角色。
二、脚本实战:检测与分支逻辑
1.NPC对话中的性别检测
常用于发放性别专属装备(如男女衣服)或限制任务接取。
[@GetCloth]
#IF
GENDERMAN
#ACT
Give战神盔甲(男)1
SendMsg6男性盔甲已发放。
Break
#ELSESAY
#IF
GENDERWOMAN
#ACT
Give天师长袍(女)1
SendMsg6女性长袍已发放。
Break
#ELSESAY
性别检测异常,无法发放装备。
2.物品使用触发(StdModeFunc)
在物品数据库设置功能编号(如150),脚本中检测使用者性别。
[@StdModeFunc150];双击物品触发
#IF
GENDERMAN
#ACT
Take性别转换卡1
CHANGEGENDER1;变为女性
SendMsg6性别已转换为女性。
Break
三、进阶:检查“对面”或“指定”人物性别
GENDER命令只能检测当前正在执行脚本的人物(即自己)。若需检测对面站立的玩家或指定目标,需使用其他命令:
1.检查面对面玩家性别:使用CHECKPOSEGENDER。
#IF
CHECKPOSEGENDERMAN;检测对面玩家是否为男性
#ACT
SendMsg6对面是一位男性玩家。
注意:此命令通常要求两人面对面站立。
2.检查英雄性别:使用Hero.GENDER或变量<$HEROGENDER>。
#IF
Hero.GENDERMAN
#ACT
SendMsg6你的英雄是男性。
四、常见错误与排查
1.命令拼写错误:HeroM2引擎严格区分大小写。必须写GENDER,写成Gender或gender会导致M2报错或条件永远不成立。
2.参数错误:参数只能是MAN/男或WOMAN/女。若写成MALE或FEMALE将无法识别。
3.作用对象混淆:在NPC脚本中,GENDER检测的是点击NPC的玩家。无法直接用GENDER检测NPC自身或未触发脚本的第三方玩家。
总结:HeroM2检查性别的基础命令是GENDER,配合MAN/WOMAN参数使用。检测他人需换用CHECKPOSEGENDER或通过变量间接获取。

