(@@InPutInteger @@InPutString)
%100
;注意:改名脚本不可以使用自定义输入框。
只可以使用默认的变量输入框。。
;改名如果新名字的角色在线,也会触发QF[@chgname_fail_name_used]
;ReplaceKey
原Key 新Key // 替换key,保持内容不变,用于角色改名后的支持,key严格按此两种格式定义:角色名.XX 或
角色名_XX,才支持替换!
[@MAIN]
<COLOR=$00848C8C
------------------------------------------------------------->\
<COLOR=$0000FF
人物改名须知:>\
1.行会成员需要先退出行会\
2.更改名字前需要收回英雄\ \
<COLOR=$0000FF
英雄改名须知:>\
1.需召唤英雄在线才可进行\
<COLOR=$00848C8C
------------------------------------------------------------->\
<更改人物名字/@@InputString35>
<更改英雄名字/@@InputString36> <COLOR=$00FF00
Ps:变更姓名需要改名卡一张>\
[@@InPutString35]
#if
;检测输入的名字是不是自己现有的角色名字
Compval
<$username> = <$str(S35)>
#Act
Messagebox
请不要输入自己之前的名字
break
#IF
;检测是否有行会,如果有行会需要退成行会
HAVEGUILD
#say
改名失败,行会成员不能使用此功能!\
\
<关闭/@exit>
#ACT
SENDMSG 5 提示:行会成员不能变更角色名!
BREAK
#if
;检测是否有英雄,英雄是否在线。
haveHero
checkHeroOnline
#say
改名失败,英雄需下线才能改名!\
\
<关闭/@exit>
#act
SENDMSG 5 提示:英雄需下线才能改名!
break
#if
;检测是否结婚
checkposemarry
#say
失败,请离婚之后再来!\
\
<返回/@main>
#act
sendmsg 7 失败,请离婚之后再来!
break
#IF
;检测要扣掉的物品 也可以检测元宝或其他物品
CheckItem 改名卡
1
#ACT
;扣掉物品。
TAKE 改名卡 1
;给予玩家临时变量,以便改名失败返回所扣物品.比如SetAbility
99。如果占用可以更改为其他的
SetAbility 99 1 2
;开始锁定角色.防止玩家利用改名成功1秒内操作角色
SetAbility 20 1
99999999
SetAbility 21 1 99999999
SetAbility 22 1 99999999
SetAbility
23 1 99999999
SetAbility 24 1 99999999
SetAbility 25 1
99999999
SetAbility 26 1 99999999
SetAbility 27 1 99999999
SetAbility
29 1 99999999
SetAbility 30 1 99999999
SetAbility 31 1
99999999
SetAbility 46 1 99999999
SetAbility 47 1 99999999
SetAbility
48 1 99999999
SetAbility 49 1 99999999
Lockdown
1
#Elseact
MESSAGEBOX 你没有改名卡
break
#if
True
#Act
;人物开始操作改名
changeCharName
<$STR(S35)>
[@@InPutString36]
#if
!haveHero
;检测是否有英雄
#act
sendmsg
7 你还没有英雄!
break
#if
!checkHeroOnline
;检测英雄是否在线
#act
sendmsg
7 失败,英雄在线才能更名!
break
#if
Compval <$h.username> =
<$str(S36)>
;检测输入的名字是不是自己英雄现有的角色名字
#Act
Messagebox
请不要输入自己英雄之前的名字
break
#IF
CheckItem 改名卡 1
#Act
TAKE 改名卡
1
;给予玩家临时变量,以便改名失败返回所扣物品。比如SetAbility 99。如果占用可以更改为其他的
SetAbility 99 1
2
#ELSEACT
MESSAGEBOX 你没有改名卡
BREAK
#IF
True
#ACT
;英雄开始改名
h.changeCharName
<$STR(S36)>
BREAK
[@chgname_success]
#IF
COMPVAL
<$PARAMSTR(0)> =
#act
;人物改名成功之后执行文本变量转换。如果没有可以删掉。
STRINGSREPLACE ..\QUESTDIARY\数据文件\变量数据.INI
<$PARAMSTR(1)> <$PARAMSTR(2)> 0 HARDDISK
HASH H_角色 REPLACEKEY
<$PARAM(1)>_灵符 <$PARAM(2)>_灵符
HASH H_角色 REPLACEKEY
<$PARAM(1)>_金币 <$PARAM(2)>_金币
HASH H_角色 REPLACEKEY
<$PARAM(1)>_元宝 <$PARAM(2)>_元宝
HASH H_角色 REPLACEKEY
<$PARAM(1)>_灵符 <$PARAM(2)>_灵符
HASH H_角色 REPLACEKEY
<$PARAM(1)>_泡点 <$PARAM(2)>_泡点
HASH H_角色 REPLACEKEY
<$PARAM(1)>_金刚石 <$PARAM(2)>_金刚石
HASH H_角色 REPLACEKEY
<$PARAM(1)>_声望 <$PARAM(2)>_声望
SENDMSG 0
恭喜【<$PARAMSTR(1)>】成功更改名字为【<$PARAMSTR(2)>】
BREAK
#ELSEACT
;英雄改名成功后
清理掉临时变量。以免玩家利用空隙进行其他操作
SetAbility 99 1 0
SENDMSG 0
恭喜【<$PARAMSTR(1)>】的英雄,成功更改名字为【<$PARAMSTR(2)>】
BREAK
[@chgname_fail_name_used_0]
;如果输入的角色名字与在线的人物或英雄同名则跳入此段
#if
Compval <$ABILITIES99> >
0
#Act
;清理临时变量
SetAbility 99 1 0
;返回改名需要的物品
Give 改名卡
1
;取消玩家锁定状态。方便玩家继续操作
SetAbility 20 0 0
SetAbility 21 0 0
SetAbility
22 0 0
SetAbility 23 0 0
SetAbility 24 0 0
SetAbility 25 0
0
SetAbility 26 0 0
SetAbility 27 0 0
SetAbility 29 0 0
SetAbility
30 0 0
SetAbility 31 0 0
SetAbility 46 0 0
SetAbility 47 0
0
SetAbility 48 0 0
SetAbility 49 0 0
Lockdown 0
;因为默认已经有弹窗
所以这里就不做弹窗了
[@chgname_fail_name_used]
;如果输入的角色名字在数据库中存在则跳入此段
#if
Compval <$ABILITIES99> >
0
#Act
;清理临时变量
SetAbility 99 1 0
;返回改名需要的物品
Give 改名卡
1
;取消玩家锁定状态。方便玩家继续操作
SetAbility 20 0 0
SetAbility 21 0 0
SetAbility
22 0 0
SetAbility 23 0 0
SetAbility 24 0 0
SetAbility 25 0
0
SetAbility 26 0 0
SetAbility 27 0 0
SetAbility 29 0 0
SetAbility
30 0 0
SetAbility 31 0 0
SetAbility 46 0 0
SetAbility 47 0
0
SetAbility 48 0 0
SetAbility 49 0 0
Lockdown
0
#if
True
#say
<$PARAMSTR(0)>失败,新角色名已被使用!\
\
<关闭/@exit>
[@chgname_fail_name_wrong_format]
;如果输入的角色名字存在屏蔽的字符则跳入此段
#if
Compval <$ABILITIES99> >
0
#Act
;清理临时变量
SetAbility 99 1 0
;返回改名需要的物品
Give 改名卡
1
;取消玩家锁定状态。方便玩家继续操作
SetAbility 20 0 0
SetAbility 21 0 0
SetAbility
22 0 0
SetAbility 23 0 0
SetAbility 24 0 0
SetAbility 25 0
0
SetAbility 26 0 0
SetAbility 27 0 0
SetAbility 29 0 0
SetAbility
30 0 0
SetAbility 31 0 0
SetAbility 46 0 0
SetAbility 47 0
0
SetAbility 48 0 0
SetAbility 49 0 0
Lockdown
0
#if
True
#say
<$PARAMSTR(0)>失败,新角色名包含了过滤字符!\
\
<关闭/@exit>
[@chgname_fail_no_character]
#if
Compval
<$ABILITIES99> > 0
#Act
SetAbility 99 1 0
Give 改名卡
1
SetAbility 20 0 0
SetAbility 21 0 0
SetAbility 22 0 0
SetAbility
23 0 0
SetAbility 24 0 0
SetAbility 25 0 0
SetAbility 26 0
0
SetAbility 27 0 0
SetAbility 29 0 0
SetAbility 30 0 0
SetAbility
31 0 0
SetAbility 46 0 0
SetAbility 47 0 0
SetAbility 48 0
0
SetAbility 49 0 0
Lockdown
0
#if
True
#say
<$PARAMSTR(0)>失败,查询不到角色!\
\
<关闭/@exit>
[@chgname_fail_incomplete_data]
#if
Compval
<$ABILITIES99> > 0
#Act
SetAbility 99 1 0
Give 改名卡
1
SetAbility 20 0 0
SetAbility 21 0 0
SetAbility 22 0 0
SetAbility
23 0 0
SetAbility 24 0 0
SetAbility 25 0 0
SetAbility 26 0
0
SetAbility 27 0 0
SetAbility 29 0 0
SetAbility 30 0 0
SetAbility
31 0 0
SetAbility 46 0 0
SetAbility 47 0 0
SetAbility 48 0
0
SetAbility 49 0 0
Lockdown
0
#if
True
#say
<$PARAMSTR(0)>失败,数据错误!\
\
<关闭/@exit>
[@chgname_fail_unknow]
#if
Compval
<$ABILITIES99> > 0
#Act
SetAbility 99 1 0
Give 改名卡
1
SetAbility 20 0 0
SetAbility 21 0 0
SetAbility 22 0 0
SetAbility
23 0 0
SetAbility 24 0 0
SetAbility 25 0 0
SetAbility 26 0
0
SetAbility 27 0 0
SetAbility 29 0 0
SetAbility 30 0 0
SetAbility
31 0 0
SetAbility 46 0 0
SetAbility 47 0 0
SetAbility 48 0
0
SetAbility 49 0 0
Lockdown
0
#if
True
#say
<$PARAMSTR(0)>失败,未知错误!\
\
<关闭/@exit>
[@IsInFilterList]
;如果输入的角色名字存在屏蔽的字符则跳入此段
#if
Compval <$ABILITIES99> >
0
#Act
;清理临时变量
SetAbility 99 1 0
;返回改名需要的物品
Give 改名卡
1
;取消玩家锁定状态。方便玩家继续操作
SetAbility 20 0 0
SetAbility 21 0 0
SetAbility
22 0 0
SetAbility 23 0 0
SetAbility 24 0 0
SetAbility 25 0
0
SetAbility 26 0 0
SetAbility 27 0 0
SetAbility 29 0 0
SetAbility
30 0 0
SetAbility 31 0 0
SetAbility 46 0 0
SetAbility 47 0
0
SetAbility 48 0 0
SetAbility 49 0 0
Lockdown
0
#if
True
#say
失败,输入文字中包含了过滤字符!\ \
<关闭/@exit>
[@chgname_fail_wrong_format]
;如果输入的角色名字存在屏蔽的字符则跳入此段
#if
Compval <$ABILITIES99> >
0
#Act
;清理临时变量
SetAbility 99 1 0
;返回改名需要的物品
Give 改名卡
1
;取消玩家锁定状态。方便玩家继续操作
SetAbility 20 0 0
SetAbility 21 0 0
SetAbility
22 0 0
SetAbility 23 0 0
SetAbility 24 0 0
SetAbility 25 0
0
SetAbility 26 0 0
SetAbility 27 0 0
SetAbility 29 0 0
SetAbility
30 0 0
SetAbility 31 0 0
SetAbility 46 0 0
SetAbility 47 0
0
SetAbility 48 0 0
SetAbility 49 0 0
Lockdown
0
#if
True
#say
失败,输入文字中包含了过滤字符!\
\
<关闭/@exit>