当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇HeroM2检查人物性别脚本命令详解与实战写法

热度:
一、核心命令: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或通过变量间接获取。
[顶部]