脚本示例
创建英雄脚本
创建/删除英雄的完整脚本:六职业性别分支、回调字段与失败提示。
用途
创建英雄与删除英雄:玩家输入英雄名后按职业性别创建,脚本给出创建中、已有英雄、名字重复、名字不合法、数量超限等全部回调分支,并支持删除英雄。
参考脚本
(@@BuHero)
[@main]
创建英雄:<英雄取名/@@buHero>\ \
删除英雄:<删除英雄/@DelMyHero>\ \
<退出/@exit>
[@@buHero]
#ACT
DELAYCALL 10 ~$CREATEHERO
[~$CREATEHERO]
//CREATEHERO 职业 性别
请创建英雄:\ \
<男战士/@CREATEHERO_WARR_MAN> <女战士/@CREATEHERO_WARR_WOM>\
<男法师/@CREATEHERO_WIZA_MAN> <女法师/@CREATEHERO_WIZA_WOM>\
<男道士/@CREATEHERO_TAOS_MAN> <女道士/@CREATEHERO_TAOS_WOM>\ \
<关闭/@exit>
[@CREATEHERO_WARR_MAN]
#ACT
CREATEHERO 0 0
[@CREATEHERO_WARR_WOM]
#ACT
CREATEHERO 0 1
[@CREATEHERO_WIZA_MAN]
#ACT
CREATEHERO 1 0
[@CREATEHERO_WIZA_WOM]
#ACT
CREATEHERO 1 1
[@CREATEHERO_TAOS_MAN]
#ACT
CREATEHERO 2 0
[@CREATEHERO_TAOS_WOM]
#ACT
CREATEHERO 2 1
//返回消息
[@CreateingHero]
系统正在接受申请,请稍候……\ \
<关闭/@exit>
[@HaveHero]
您已经有英雄了。\ \
<关闭/@exit>
[@SetHeroName]
请先给您的英雄取名字。\ \
<关闭/@exit>
[@CreateingHero]
#ACT
EnableCharacter <$PARAM(0)> 0
MESSAGEBOX 删除英雄成功2
[@HaveHero]
您已经有英雄了。\ \
<关闭/@exit>
[@DelMyHero]
#ACT
//返回消息
[@NotHaveHero]
你没有英雄。\ \
<关闭/@exit>
[@LogOutHeroFirst]
请将英雄设置下线!\ \
<关闭/@exit>
[@DeleteHeroOK]
;@DeleteHeroOK、@CreateingHero字段下$PARAM(0)是英雄名,删除英雄时可以结合“EnableCharacter <$PARAM(0)> 0”命令使用
#ACT
EnableCharacter <$PARAM(0)> 0
MESSAGEBOX 删除英雄成功
BREAK
;注意:QFunction 添加如下设置
[@@RECALLPLAYER]
#IF
CHECKHEROONLINE
#ACT
CLOSE
MESSAGEBOX 请先设置您的英雄下线!
#ELSEACT
CLOSE
RECALLPLAYER
[@HERONAMEFILTER]
英雄名字中包含禁用字符\<关闭/@EXIT>
[@CREATEHEROOK]
#IF
#ACT
GIVE 火龙之心 1
SENDMSG 0 恭喜:玩家「<$USERNAME>」成功带领英雄。
#SAY
创建英雄成功\<关闭/@EXIT>
[@HERONAMEEXISTS]
英雄名字已经存在\<关闭/@EXIT>
[@HEROOVERCHRCOUNT]
你的账号角色过多\<关闭/@EXIT>
[@CREATEHEROFAIL]
创建英雄失败\<关闭/@EXIT>
[@CREATEHEROFAILEX]
创建英雄失败,请稍候重试\<关闭/@EXIT>
关键点
- NPC 顶部声明
(@@BuHero)用于接收英雄名;[@main]提供“英雄取名”与“删除英雄”两个入口。 - 六个职业性别分支:
[@CREATEHERO_WARR_MAN]、[@CREATEHERO_WARR_WOM]、[@CREATEHERO_WIZA_MAN]、[@CREATEHERO_WIZA_WOM]、[@CREATEHERO_TAOS_MAN]、[@CREATEHERO_TAOS_WOM]。 - 回调字段:
[@CreateingHero](创建中)、[@HaveHero](已有英雄)、[@CREATEHEROOK](成功)、[@HERONAMEFILTER](名字非法)、[@HERONAMEEXISTS](名字已存在)、[@HEROOVERCHRCOUNT](角色数超限)、[@CREATEHEROFAIL]/[@CREATEHEROFAILEX](创建失败)。 - 删除英雄段:
[@DelMyHero]、[@NotHaveHero]、[@LogOutHeroFirst]、[@DeleteHeroOK];源注释说明[@DeleteHeroOK]、[@CreateingHero]字段下<$PARAM(0)>是英雄名,可结合EnableCharacter <$PARAM(0)> 0使用。 - 源注释还提示:
QFunction需要添加对应设置(脚本中[@HERONAMEFILTER]等字段即为 QFunction 侧回调)。
